@serverlessworkflow/sdk 1.0.1 → 1.0.3-alpha1

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 (701) hide show
  1. package/README.md +410 -368
  2. package/chunk.mjs +13 -0
  3. package/index.cjs +13463 -0
  4. package/index.cjs.map +1 -0
  5. package/index.d.cts +9319 -0
  6. package/index.d.cts.map +1 -0
  7. package/index.d.mts +9318 -0
  8. package/index.d.mts.map +1 -0
  9. package/index.mjs +13242 -0
  10. package/index.mjs.map +1 -0
  11. package/index.umd.js +22149 -0
  12. package/index.umd.js.map +1 -0
  13. package/index.umd.min.js +54 -0
  14. package/index.umd.min.js.map +1 -0
  15. package/package.json +61 -93
  16. package/esm/index.esm.js +0 -31288
  17. package/esm/index.esm.js.map +0 -1
  18. package/esm/index.esm.min.js +0 -10
  19. package/esm/index.esm.min.js.map +0 -1
  20. package/index.d.ts +0 -2
  21. package/index.d.ts.map +0 -1
  22. package/lib/builder.d.ts +0 -49
  23. package/lib/builder.d.ts.map +0 -1
  24. package/lib/generated/builders/all-event-consumption-strategy-builder.d.ts +0 -14
  25. package/lib/generated/builders/all-event-consumption-strategy-builder.d.ts.map +0 -1
  26. package/lib/generated/builders/all-event-consumption-strategy-configuration-builder.d.ts +0 -14
  27. package/lib/generated/builders/all-event-consumption-strategy-configuration-builder.d.ts.map +0 -1
  28. package/lib/generated/builders/any-event-consumption-strategy-builder.d.ts +0 -14
  29. package/lib/generated/builders/any-event-consumption-strategy-builder.d.ts.map +0 -1
  30. package/lib/generated/builders/any-event-consumption-strategy-configuration-builder.d.ts +0 -14
  31. package/lib/generated/builders/any-event-consumption-strategy-configuration-builder.d.ts.map +0 -1
  32. package/lib/generated/builders/any-event-consumption-strategy-until-builder.d.ts +0 -14
  33. package/lib/generated/builders/any-event-consumption-strategy-until-builder.d.ts.map +0 -1
  34. package/lib/generated/builders/any-event-until-consumed-builder.d.ts +0 -14
  35. package/lib/generated/builders/any-event-until-consumed-builder.d.ts.map +0 -1
  36. package/lib/generated/builders/async-api-arguments-builder.d.ts +0 -14
  37. package/lib/generated/builders/async-api-arguments-builder.d.ts.map +0 -1
  38. package/lib/generated/builders/authentication-policy-builder.d.ts +0 -14
  39. package/lib/generated/builders/authentication-policy-builder.d.ts.map +0 -1
  40. package/lib/generated/builders/authentication-policy-reference-builder.d.ts +0 -14
  41. package/lib/generated/builders/authentication-policy-reference-builder.d.ts.map +0 -1
  42. package/lib/generated/builders/basic-authentication-policy-builder.d.ts +0 -14
  43. package/lib/generated/builders/basic-authentication-policy-builder.d.ts.map +0 -1
  44. package/lib/generated/builders/basic-authentication-policy-configuration-builder.d.ts +0 -14
  45. package/lib/generated/builders/basic-authentication-policy-configuration-builder.d.ts.map +0 -1
  46. package/lib/generated/builders/basic-authentication-properties-builder.d.ts +0 -14
  47. package/lib/generated/builders/basic-authentication-properties-builder.d.ts.map +0 -1
  48. package/lib/generated/builders/bearer-authentication-policy-builder.d.ts +0 -14
  49. package/lib/generated/builders/bearer-authentication-policy-builder.d.ts.map +0 -1
  50. package/lib/generated/builders/bearer-authentication-policy-configuration-builder.d.ts +0 -14
  51. package/lib/generated/builders/bearer-authentication-policy-configuration-builder.d.ts.map +0 -1
  52. package/lib/generated/builders/bearer-authentication-properties-builder.d.ts +0 -14
  53. package/lib/generated/builders/bearer-authentication-properties-builder.d.ts.map +0 -1
  54. package/lib/generated/builders/call-async-api-builder.d.ts +0 -14
  55. package/lib/generated/builders/call-async-api-builder.d.ts.map +0 -1
  56. package/lib/generated/builders/call-function-builder.d.ts +0 -14
  57. package/lib/generated/builders/call-function-builder.d.ts.map +0 -1
  58. package/lib/generated/builders/call-grpc-builder.d.ts +0 -14
  59. package/lib/generated/builders/call-grpc-builder.d.ts.map +0 -1
  60. package/lib/generated/builders/call-http-builder.d.ts +0 -14
  61. package/lib/generated/builders/call-http-builder.d.ts.map +0 -1
  62. package/lib/generated/builders/call-open-api-builder.d.ts +0 -14
  63. package/lib/generated/builders/call-open-api-builder.d.ts.map +0 -1
  64. package/lib/generated/builders/call-task-builder.d.ts +0 -14
  65. package/lib/generated/builders/call-task-builder.d.ts.map +0 -1
  66. package/lib/generated/builders/catalog-builder.d.ts +0 -14
  67. package/lib/generated/builders/catalog-builder.d.ts.map +0 -1
  68. package/lib/generated/builders/catch-errors-builder.d.ts +0 -14
  69. package/lib/generated/builders/catch-errors-builder.d.ts.map +0 -1
  70. package/lib/generated/builders/constant-backoff-builder.d.ts +0 -14
  71. package/lib/generated/builders/constant-backoff-builder.d.ts.map +0 -1
  72. package/lib/generated/builders/container-builder.d.ts +0 -14
  73. package/lib/generated/builders/container-builder.d.ts.map +0 -1
  74. package/lib/generated/builders/container-environment-builder.d.ts +0 -14
  75. package/lib/generated/builders/container-environment-builder.d.ts.map +0 -1
  76. package/lib/generated/builders/container-lifetime-builder.d.ts +0 -14
  77. package/lib/generated/builders/container-lifetime-builder.d.ts.map +0 -1
  78. package/lib/generated/builders/container-ports-builder.d.ts +0 -14
  79. package/lib/generated/builders/container-ports-builder.d.ts.map +0 -1
  80. package/lib/generated/builders/container-volumes-builder.d.ts +0 -14
  81. package/lib/generated/builders/container-volumes-builder.d.ts.map +0 -1
  82. package/lib/generated/builders/digest-authentication-policy-builder.d.ts +0 -14
  83. package/lib/generated/builders/digest-authentication-policy-builder.d.ts.map +0 -1
  84. package/lib/generated/builders/digest-authentication-policy-configuration-builder.d.ts +0 -14
  85. package/lib/generated/builders/digest-authentication-policy-configuration-builder.d.ts.map +0 -1
  86. package/lib/generated/builders/digest-authentication-properties-builder.d.ts +0 -14
  87. package/lib/generated/builders/digest-authentication-properties-builder.d.ts.map +0 -1
  88. package/lib/generated/builders/do-task-builder.d.ts +0 -14
  89. package/lib/generated/builders/do-task-builder.d.ts.map +0 -1
  90. package/lib/generated/builders/document-builder.d.ts +0 -14
  91. package/lib/generated/builders/document-builder.d.ts.map +0 -1
  92. package/lib/generated/builders/duration-builder.d.ts +0 -14
  93. package/lib/generated/builders/duration-builder.d.ts.map +0 -1
  94. package/lib/generated/builders/duration-inline-builder.d.ts +0 -14
  95. package/lib/generated/builders/duration-inline-builder.d.ts.map +0 -1
  96. package/lib/generated/builders/emit-event-definition-builder.d.ts +0 -14
  97. package/lib/generated/builders/emit-event-definition-builder.d.ts.map +0 -1
  98. package/lib/generated/builders/emit-event-with-builder.d.ts +0 -14
  99. package/lib/generated/builders/emit-event-with-builder.d.ts.map +0 -1
  100. package/lib/generated/builders/emit-task-builder.d.ts +0 -14
  101. package/lib/generated/builders/emit-task-builder.d.ts.map +0 -1
  102. package/lib/generated/builders/emit-task-configuration-builder.d.ts +0 -14
  103. package/lib/generated/builders/emit-task-configuration-builder.d.ts.map +0 -1
  104. package/lib/generated/builders/endpoint-builder.d.ts +0 -14
  105. package/lib/generated/builders/endpoint-builder.d.ts.map +0 -1
  106. package/lib/generated/builders/endpoint-configuration-builder.d.ts +0 -14
  107. package/lib/generated/builders/endpoint-configuration-builder.d.ts.map +0 -1
  108. package/lib/generated/builders/endpoint-uri-builder.d.ts +0 -14
  109. package/lib/generated/builders/endpoint-uri-builder.d.ts.map +0 -1
  110. package/lib/generated/builders/error-builder.d.ts +0 -14
  111. package/lib/generated/builders/error-builder.d.ts.map +0 -1
  112. package/lib/generated/builders/error-filter-builder.d.ts +0 -14
  113. package/lib/generated/builders/error-filter-builder.d.ts.map +0 -1
  114. package/lib/generated/builders/error-instance-builder.d.ts +0 -14
  115. package/lib/generated/builders/error-instance-builder.d.ts.map +0 -1
  116. package/lib/generated/builders/error-type-builder.d.ts +0 -14
  117. package/lib/generated/builders/error-type-builder.d.ts.map +0 -1
  118. package/lib/generated/builders/event-consumption-strategy-builder.d.ts +0 -14
  119. package/lib/generated/builders/event-consumption-strategy-builder.d.ts.map +0 -1
  120. package/lib/generated/builders/event-data-builder.d.ts +0 -14
  121. package/lib/generated/builders/event-data-builder.d.ts.map +0 -1
  122. package/lib/generated/builders/event-dataschema-builder.d.ts +0 -14
  123. package/lib/generated/builders/event-dataschema-builder.d.ts.map +0 -1
  124. package/lib/generated/builders/event-filter-builder.d.ts +0 -14
  125. package/lib/generated/builders/event-filter-builder.d.ts.map +0 -1
  126. package/lib/generated/builders/event-filter-correlate-builder.d.ts +0 -14
  127. package/lib/generated/builders/event-filter-correlate-builder.d.ts.map +0 -1
  128. package/lib/generated/builders/event-source-builder.d.ts +0 -14
  129. package/lib/generated/builders/event-source-builder.d.ts.map +0 -1
  130. package/lib/generated/builders/event-time-builder.d.ts +0 -14
  131. package/lib/generated/builders/event-time-builder.d.ts.map +0 -1
  132. package/lib/generated/builders/exponential-back-off-builder.d.ts +0 -14
  133. package/lib/generated/builders/exponential-back-off-builder.d.ts.map +0 -1
  134. package/lib/generated/builders/export-as-builder.d.ts +0 -14
  135. package/lib/generated/builders/export-as-builder.d.ts.map +0 -1
  136. package/lib/generated/builders/export-builder.d.ts +0 -14
  137. package/lib/generated/builders/export-builder.d.ts.map +0 -1
  138. package/lib/generated/builders/extension-builder.d.ts +0 -14
  139. package/lib/generated/builders/extension-builder.d.ts.map +0 -1
  140. package/lib/generated/builders/extension-item-builder.d.ts +0 -14
  141. package/lib/generated/builders/extension-item-builder.d.ts.map +0 -1
  142. package/lib/generated/builders/external-resource-builder.d.ts +0 -14
  143. package/lib/generated/builders/external-resource-builder.d.ts.map +0 -1
  144. package/lib/generated/builders/external-script-builder.d.ts +0 -14
  145. package/lib/generated/builders/external-script-builder.d.ts.map +0 -1
  146. package/lib/generated/builders/flow-directive-builder.d.ts +0 -14
  147. package/lib/generated/builders/flow-directive-builder.d.ts.map +0 -1
  148. package/lib/generated/builders/for-task-builder.d.ts +0 -14
  149. package/lib/generated/builders/for-task-builder.d.ts.map +0 -1
  150. package/lib/generated/builders/for-task-configuration-builder.d.ts +0 -14
  151. package/lib/generated/builders/for-task-configuration-builder.d.ts.map +0 -1
  152. package/lib/generated/builders/fork-task-builder.d.ts +0 -14
  153. package/lib/generated/builders/fork-task-builder.d.ts.map +0 -1
  154. package/lib/generated/builders/fork-task-configuration-builder.d.ts +0 -14
  155. package/lib/generated/builders/fork-task-configuration-builder.d.ts.map +0 -1
  156. package/lib/generated/builders/function-arguments-builder.d.ts +0 -14
  157. package/lib/generated/builders/function-arguments-builder.d.ts.map +0 -1
  158. package/lib/generated/builders/grpc-arguments-builder.d.ts +0 -14
  159. package/lib/generated/builders/grpc-arguments-builder.d.ts.map +0 -1
  160. package/lib/generated/builders/http-arguments-builder.d.ts +0 -14
  161. package/lib/generated/builders/http-arguments-builder.d.ts.map +0 -1
  162. package/lib/generated/builders/http-body-builder.d.ts +0 -14
  163. package/lib/generated/builders/http-body-builder.d.ts.map +0 -1
  164. package/lib/generated/builders/http-headers-builder.d.ts +0 -14
  165. package/lib/generated/builders/http-headers-builder.d.ts.map +0 -1
  166. package/lib/generated/builders/http-query-builder.d.ts +0 -14
  167. package/lib/generated/builders/http-query-builder.d.ts.map +0 -1
  168. package/lib/generated/builders/index.d.ts +0 -161
  169. package/lib/generated/builders/index.d.ts.map +0 -1
  170. package/lib/generated/builders/inline-script-builder.d.ts +0 -14
  171. package/lib/generated/builders/inline-script-builder.d.ts.map +0 -1
  172. package/lib/generated/builders/input-builder.d.ts +0 -14
  173. package/lib/generated/builders/input-builder.d.ts.map +0 -1
  174. package/lib/generated/builders/input-from-builder.d.ts +0 -14
  175. package/lib/generated/builders/input-from-builder.d.ts.map +0 -1
  176. package/lib/generated/builders/linear-backoff-builder.d.ts +0 -14
  177. package/lib/generated/builders/linear-backoff-builder.d.ts.map +0 -1
  178. package/lib/generated/builders/listen-task-builder.d.ts +0 -14
  179. package/lib/generated/builders/listen-task-builder.d.ts.map +0 -1
  180. package/lib/generated/builders/listen-task-configuration-builder.d.ts +0 -14
  181. package/lib/generated/builders/listen-task-configuration-builder.d.ts.map +0 -1
  182. package/lib/generated/builders/oauth2-autenthication-data-audiences-builder.d.ts +0 -14
  183. package/lib/generated/builders/oauth2-autenthication-data-audiences-builder.d.ts.map +0 -1
  184. package/lib/generated/builders/oauth2-autenthication-data-builder.d.ts +0 -14
  185. package/lib/generated/builders/oauth2-autenthication-data-builder.d.ts.map +0 -1
  186. package/lib/generated/builders/oauth2-autenthication-data-client-builder.d.ts +0 -14
  187. package/lib/generated/builders/oauth2-autenthication-data-client-builder.d.ts.map +0 -1
  188. package/lib/generated/builders/oauth2-autenthication-data-scopes-builder.d.ts +0 -14
  189. package/lib/generated/builders/oauth2-autenthication-data-scopes-builder.d.ts.map +0 -1
  190. package/lib/generated/builders/oauth2-authentication-policy-builder.d.ts +0 -14
  191. package/lib/generated/builders/oauth2-authentication-policy-builder.d.ts.map +0 -1
  192. package/lib/generated/builders/oauth2-authentication-policy-configuration-builder.d.ts +0 -14
  193. package/lib/generated/builders/oauth2-authentication-policy-configuration-builder.d.ts.map +0 -1
  194. package/lib/generated/builders/oauth2-authentication-properties-endpoints-builder.d.ts +0 -14
  195. package/lib/generated/builders/oauth2-authentication-properties-endpoints-builder.d.ts.map +0 -1
  196. package/lib/generated/builders/oauth2-connect-authentication-properties-builder.d.ts +0 -14
  197. package/lib/generated/builders/oauth2-connect-authentication-properties-builder.d.ts.map +0 -1
  198. package/lib/generated/builders/oauth2-issuers-builder.d.ts +0 -14
  199. package/lib/generated/builders/oauth2-issuers-builder.d.ts.map +0 -1
  200. package/lib/generated/builders/oauth2-token-definition-builder.d.ts +0 -14
  201. package/lib/generated/builders/oauth2-token-definition-builder.d.ts.map +0 -1
  202. package/lib/generated/builders/oauth2-token-request-builder.d.ts +0 -14
  203. package/lib/generated/builders/oauth2-token-request-builder.d.ts.map +0 -1
  204. package/lib/generated/builders/one-event-consumption-strategy-builder.d.ts +0 -14
  205. package/lib/generated/builders/one-event-consumption-strategy-builder.d.ts.map +0 -1
  206. package/lib/generated/builders/open-api-arguments-builder.d.ts +0 -14
  207. package/lib/generated/builders/open-api-arguments-builder.d.ts.map +0 -1
  208. package/lib/generated/builders/open-id-connect-authentication-policy-builder.d.ts +0 -14
  209. package/lib/generated/builders/open-id-connect-authentication-policy-builder.d.ts.map +0 -1
  210. package/lib/generated/builders/open-id-connect-authentication-policy-configuration-builder.d.ts +0 -14
  211. package/lib/generated/builders/open-id-connect-authentication-policy-configuration-builder.d.ts.map +0 -1
  212. package/lib/generated/builders/open-id-connect-authentication-properties-builder.d.ts +0 -14
  213. package/lib/generated/builders/open-id-connect-authentication-properties-builder.d.ts.map +0 -1
  214. package/lib/generated/builders/output-as-builder.d.ts +0 -14
  215. package/lib/generated/builders/output-as-builder.d.ts.map +0 -1
  216. package/lib/generated/builders/output-builder.d.ts +0 -14
  217. package/lib/generated/builders/output-builder.d.ts.map +0 -1
  218. package/lib/generated/builders/raise-task-builder.d.ts +0 -14
  219. package/lib/generated/builders/raise-task-builder.d.ts.map +0 -1
  220. package/lib/generated/builders/raise-task-configuration-builder.d.ts +0 -14
  221. package/lib/generated/builders/raise-task-configuration-builder.d.ts.map +0 -1
  222. package/lib/generated/builders/raise-task-error-builder.d.ts +0 -14
  223. package/lib/generated/builders/raise-task-error-builder.d.ts.map +0 -1
  224. package/lib/generated/builders/referenceable-authentication-policy-builder.d.ts +0 -14
  225. package/lib/generated/builders/referenceable-authentication-policy-builder.d.ts.map +0 -1
  226. package/lib/generated/builders/retry-backoff-builder.d.ts +0 -14
  227. package/lib/generated/builders/retry-backoff-builder.d.ts.map +0 -1
  228. package/lib/generated/builders/retry-limit-attempt-builder.d.ts +0 -14
  229. package/lib/generated/builders/retry-limit-attempt-builder.d.ts.map +0 -1
  230. package/lib/generated/builders/retry-limit-builder.d.ts +0 -14
  231. package/lib/generated/builders/retry-limit-builder.d.ts.map +0 -1
  232. package/lib/generated/builders/retry-policy-builder.d.ts +0 -14
  233. package/lib/generated/builders/retry-policy-builder.d.ts.map +0 -1
  234. package/lib/generated/builders/retry-policy-jitter-builder.d.ts +0 -14
  235. package/lib/generated/builders/retry-policy-jitter-builder.d.ts.map +0 -1
  236. package/lib/generated/builders/run-container-builder.d.ts +0 -14
  237. package/lib/generated/builders/run-container-builder.d.ts.map +0 -1
  238. package/lib/generated/builders/run-script-builder.d.ts +0 -14
  239. package/lib/generated/builders/run-script-builder.d.ts.map +0 -1
  240. package/lib/generated/builders/run-shell-builder.d.ts +0 -14
  241. package/lib/generated/builders/run-shell-builder.d.ts.map +0 -1
  242. package/lib/generated/builders/run-task-builder.d.ts +0 -14
  243. package/lib/generated/builders/run-task-builder.d.ts.map +0 -1
  244. package/lib/generated/builders/run-task-configuration-builder.d.ts +0 -14
  245. package/lib/generated/builders/run-task-configuration-builder.d.ts.map +0 -1
  246. package/lib/generated/builders/run-workflow-builder.d.ts +0 -14
  247. package/lib/generated/builders/run-workflow-builder.d.ts.map +0 -1
  248. package/lib/generated/builders/runtime-expression-builder.d.ts +0 -14
  249. package/lib/generated/builders/runtime-expression-builder.d.ts.map +0 -1
  250. package/lib/generated/builders/schedule-builder.d.ts +0 -14
  251. package/lib/generated/builders/schedule-builder.d.ts.map +0 -1
  252. package/lib/generated/builders/schema-builder.d.ts +0 -14
  253. package/lib/generated/builders/schema-builder.d.ts.map +0 -1
  254. package/lib/generated/builders/schema-external-builder.d.ts +0 -14
  255. package/lib/generated/builders/schema-external-builder.d.ts.map +0 -1
  256. package/lib/generated/builders/schema-inline-builder.d.ts +0 -14
  257. package/lib/generated/builders/schema-inline-builder.d.ts.map +0 -1
  258. package/lib/generated/builders/script-builder.d.ts +0 -14
  259. package/lib/generated/builders/script-builder.d.ts.map +0 -1
  260. package/lib/generated/builders/secret-based-authentication-policy-builder.d.ts +0 -14
  261. package/lib/generated/builders/secret-based-authentication-policy-builder.d.ts.map +0 -1
  262. package/lib/generated/builders/set-task-builder.d.ts +0 -14
  263. package/lib/generated/builders/set-task-builder.d.ts.map +0 -1
  264. package/lib/generated/builders/set-task-configuration-builder.d.ts +0 -14
  265. package/lib/generated/builders/set-task-configuration-builder.d.ts.map +0 -1
  266. package/lib/generated/builders/shell-arguments-builder.d.ts +0 -14
  267. package/lib/generated/builders/shell-arguments-builder.d.ts.map +0 -1
  268. package/lib/generated/builders/shell-builder.d.ts +0 -14
  269. package/lib/generated/builders/shell-builder.d.ts.map +0 -1
  270. package/lib/generated/builders/shell-environment-builder.d.ts +0 -14
  271. package/lib/generated/builders/shell-environment-builder.d.ts.map +0 -1
  272. package/lib/generated/builders/subflow-configuration-builder.d.ts +0 -14
  273. package/lib/generated/builders/subflow-configuration-builder.d.ts.map +0 -1
  274. package/lib/generated/builders/subflow-input-builder.d.ts +0 -14
  275. package/lib/generated/builders/subflow-input-builder.d.ts.map +0 -1
  276. package/lib/generated/builders/subscription-iterator-builder.d.ts +0 -14
  277. package/lib/generated/builders/subscription-iterator-builder.d.ts.map +0 -1
  278. package/lib/generated/builders/switch-case-builder.d.ts +0 -14
  279. package/lib/generated/builders/switch-case-builder.d.ts.map +0 -1
  280. package/lib/generated/builders/switch-item-builder.d.ts +0 -14
  281. package/lib/generated/builders/switch-item-builder.d.ts.map +0 -1
  282. package/lib/generated/builders/switch-task-builder.d.ts +0 -14
  283. package/lib/generated/builders/switch-task-builder.d.ts.map +0 -1
  284. package/lib/generated/builders/switch-task-configuration-builder.d.ts +0 -14
  285. package/lib/generated/builders/switch-task-configuration-builder.d.ts.map +0 -1
  286. package/lib/generated/builders/task-base-builder.d.ts +0 -14
  287. package/lib/generated/builders/task-base-builder.d.ts.map +0 -1
  288. package/lib/generated/builders/task-base-if-builder.d.ts +0 -14
  289. package/lib/generated/builders/task-base-if-builder.d.ts.map +0 -1
  290. package/lib/generated/builders/task-builder.d.ts +0 -14
  291. package/lib/generated/builders/task-builder.d.ts.map +0 -1
  292. package/lib/generated/builders/task-item-builder.d.ts +0 -14
  293. package/lib/generated/builders/task-item-builder.d.ts.map +0 -1
  294. package/lib/generated/builders/task-list-builder.d.ts +0 -14
  295. package/lib/generated/builders/task-list-builder.d.ts.map +0 -1
  296. package/lib/generated/builders/task-metadata-builder.d.ts +0 -14
  297. package/lib/generated/builders/task-metadata-builder.d.ts.map +0 -1
  298. package/lib/generated/builders/task-timeout-builder.d.ts +0 -14
  299. package/lib/generated/builders/task-timeout-builder.d.ts.map +0 -1
  300. package/lib/generated/builders/timeout-builder.d.ts +0 -14
  301. package/lib/generated/builders/timeout-builder.d.ts.map +0 -1
  302. package/lib/generated/builders/try-task-builder.d.ts +0 -14
  303. package/lib/generated/builders/try-task-builder.d.ts.map +0 -1
  304. package/lib/generated/builders/try-task-catch-builder.d.ts +0 -14
  305. package/lib/generated/builders/try-task-catch-builder.d.ts.map +0 -1
  306. package/lib/generated/builders/try-task-catch-retry-builder.d.ts +0 -14
  307. package/lib/generated/builders/try-task-catch-retry-builder.d.ts.map +0 -1
  308. package/lib/generated/builders/uri-template-builder.d.ts +0 -14
  309. package/lib/generated/builders/uri-template-builder.d.ts.map +0 -1
  310. package/lib/generated/builders/use-authentications-builder.d.ts +0 -14
  311. package/lib/generated/builders/use-authentications-builder.d.ts.map +0 -1
  312. package/lib/generated/builders/use-builder.d.ts +0 -14
  313. package/lib/generated/builders/use-builder.d.ts.map +0 -1
  314. package/lib/generated/builders/use-catalogs-builder.d.ts +0 -14
  315. package/lib/generated/builders/use-catalogs-builder.d.ts.map +0 -1
  316. package/lib/generated/builders/use-errors-builder.d.ts +0 -14
  317. package/lib/generated/builders/use-errors-builder.d.ts.map +0 -1
  318. package/lib/generated/builders/use-extensions-builder.d.ts +0 -14
  319. package/lib/generated/builders/use-extensions-builder.d.ts.map +0 -1
  320. package/lib/generated/builders/use-functions-builder.d.ts +0 -14
  321. package/lib/generated/builders/use-functions-builder.d.ts.map +0 -1
  322. package/lib/generated/builders/use-retries-builder.d.ts +0 -14
  323. package/lib/generated/builders/use-retries-builder.d.ts.map +0 -1
  324. package/lib/generated/builders/use-secrets-builder.d.ts +0 -14
  325. package/lib/generated/builders/use-secrets-builder.d.ts.map +0 -1
  326. package/lib/generated/builders/use-timeouts-builder.d.ts +0 -14
  327. package/lib/generated/builders/use-timeouts-builder.d.ts.map +0 -1
  328. package/lib/generated/builders/wait-task-builder.d.ts +0 -14
  329. package/lib/generated/builders/wait-task-builder.d.ts.map +0 -1
  330. package/lib/generated/builders/with-event-builder.d.ts +0 -14
  331. package/lib/generated/builders/with-event-builder.d.ts.map +0 -1
  332. package/lib/generated/builders/with-grpc-arguments-builder.d.ts +0 -14
  333. package/lib/generated/builders/with-grpc-arguments-builder.d.ts.map +0 -1
  334. package/lib/generated/builders/with-grpc-service-builder.d.ts +0 -14
  335. package/lib/generated/builders/with-grpc-service-builder.d.ts.map +0 -1
  336. package/lib/generated/builders/with-open-api-parameters-builder.d.ts +0 -14
  337. package/lib/generated/builders/with-open-api-parameters-builder.d.ts.map +0 -1
  338. package/lib/generated/builders/workflow-builder.d.ts +0 -14
  339. package/lib/generated/builders/workflow-builder.d.ts.map +0 -1
  340. package/lib/generated/builders/workflow-metadata-builder.d.ts +0 -14
  341. package/lib/generated/builders/workflow-metadata-builder.d.ts.map +0 -1
  342. package/lib/generated/builders/workflow-tags-builder.d.ts +0 -14
  343. package/lib/generated/builders/workflow-tags-builder.d.ts.map +0 -1
  344. package/lib/generated/builders/workflow-timeout-builder.d.ts +0 -14
  345. package/lib/generated/builders/workflow-timeout-builder.d.ts.map +0 -1
  346. package/lib/generated/classes/all-event-consumption-strategy-configuration.d.ts +0 -38
  347. package/lib/generated/classes/all-event-consumption-strategy-configuration.d.ts.map +0 -1
  348. package/lib/generated/classes/all-event-consumption-strategy.d.ts +0 -39
  349. package/lib/generated/classes/all-event-consumption-strategy.d.ts.map +0 -1
  350. package/lib/generated/classes/any-event-consumption-strategy-configuration.d.ts +0 -38
  351. package/lib/generated/classes/any-event-consumption-strategy-configuration.d.ts.map +0 -1
  352. package/lib/generated/classes/any-event-consumption-strategy-until.d.ts +0 -39
  353. package/lib/generated/classes/any-event-consumption-strategy-until.d.ts.map +0 -1
  354. package/lib/generated/classes/any-event-consumption-strategy.d.ts +0 -39
  355. package/lib/generated/classes/any-event-consumption-strategy.d.ts.map +0 -1
  356. package/lib/generated/classes/any-event-until-consumed.d.ts +0 -39
  357. package/lib/generated/classes/any-event-until-consumed.d.ts.map +0 -1
  358. package/lib/generated/classes/async-api-arguments.d.ts +0 -44
  359. package/lib/generated/classes/async-api-arguments.d.ts.map +0 -1
  360. package/lib/generated/classes/authentication-policy-reference.d.ts +0 -44
  361. package/lib/generated/classes/authentication-policy-reference.d.ts.map +0 -1
  362. package/lib/generated/classes/authentication-policy.d.ts +0 -39
  363. package/lib/generated/classes/authentication-policy.d.ts.map +0 -1
  364. package/lib/generated/classes/basic-authentication-policy-configuration.d.ts +0 -44
  365. package/lib/generated/classes/basic-authentication-policy-configuration.d.ts.map +0 -1
  366. package/lib/generated/classes/basic-authentication-policy.d.ts +0 -39
  367. package/lib/generated/classes/basic-authentication-policy.d.ts.map +0 -1
  368. package/lib/generated/classes/basic-authentication-properties.d.ts +0 -44
  369. package/lib/generated/classes/basic-authentication-properties.d.ts.map +0 -1
  370. package/lib/generated/classes/bearer-authentication-policy-configuration.d.ts +0 -44
  371. package/lib/generated/classes/bearer-authentication-policy-configuration.d.ts.map +0 -1
  372. package/lib/generated/classes/bearer-authentication-policy.d.ts +0 -39
  373. package/lib/generated/classes/bearer-authentication-policy.d.ts.map +0 -1
  374. package/lib/generated/classes/bearer-authentication-properties.d.ts +0 -44
  375. package/lib/generated/classes/bearer-authentication-properties.d.ts.map +0 -1
  376. package/lib/generated/classes/call-async-api.d.ts +0 -39
  377. package/lib/generated/classes/call-async-api.d.ts.map +0 -1
  378. package/lib/generated/classes/call-function.d.ts +0 -39
  379. package/lib/generated/classes/call-function.d.ts.map +0 -1
  380. package/lib/generated/classes/call-grpc.d.ts +0 -39
  381. package/lib/generated/classes/call-grpc.d.ts.map +0 -1
  382. package/lib/generated/classes/call-http.d.ts +0 -39
  383. package/lib/generated/classes/call-http.d.ts.map +0 -1
  384. package/lib/generated/classes/call-open-api.d.ts +0 -39
  385. package/lib/generated/classes/call-open-api.d.ts.map +0 -1
  386. package/lib/generated/classes/call-task.d.ts +0 -39
  387. package/lib/generated/classes/call-task.d.ts.map +0 -1
  388. package/lib/generated/classes/catalog.d.ts +0 -39
  389. package/lib/generated/classes/catalog.d.ts.map +0 -1
  390. package/lib/generated/classes/catch-errors.d.ts +0 -39
  391. package/lib/generated/classes/catch-errors.d.ts.map +0 -1
  392. package/lib/generated/classes/constant-backoff.d.ts +0 -44
  393. package/lib/generated/classes/constant-backoff.d.ts.map +0 -1
  394. package/lib/generated/classes/container-environment.d.ts +0 -44
  395. package/lib/generated/classes/container-environment.d.ts.map +0 -1
  396. package/lib/generated/classes/container-lifetime.d.ts +0 -39
  397. package/lib/generated/classes/container-lifetime.d.ts.map +0 -1
  398. package/lib/generated/classes/container-ports.d.ts +0 -44
  399. package/lib/generated/classes/container-ports.d.ts.map +0 -1
  400. package/lib/generated/classes/container-volumes.d.ts +0 -44
  401. package/lib/generated/classes/container-volumes.d.ts.map +0 -1
  402. package/lib/generated/classes/container.d.ts +0 -39
  403. package/lib/generated/classes/container.d.ts.map +0 -1
  404. package/lib/generated/classes/digest-authentication-policy-configuration.d.ts +0 -44
  405. package/lib/generated/classes/digest-authentication-policy-configuration.d.ts.map +0 -1
  406. package/lib/generated/classes/digest-authentication-policy.d.ts +0 -39
  407. package/lib/generated/classes/digest-authentication-policy.d.ts.map +0 -1
  408. package/lib/generated/classes/digest-authentication-properties.d.ts +0 -44
  409. package/lib/generated/classes/digest-authentication-properties.d.ts.map +0 -1
  410. package/lib/generated/classes/do-task.d.ts +0 -39
  411. package/lib/generated/classes/do-task.d.ts.map +0 -1
  412. package/lib/generated/classes/document.d.ts +0 -39
  413. package/lib/generated/classes/document.d.ts.map +0 -1
  414. package/lib/generated/classes/duration-inline.d.ts +0 -44
  415. package/lib/generated/classes/duration-inline.d.ts.map +0 -1
  416. package/lib/generated/classes/duration.d.ts +0 -44
  417. package/lib/generated/classes/duration.d.ts.map +0 -1
  418. package/lib/generated/classes/emit-event-definition.d.ts +0 -39
  419. package/lib/generated/classes/emit-event-definition.d.ts.map +0 -1
  420. package/lib/generated/classes/emit-event-with.d.ts +0 -44
  421. package/lib/generated/classes/emit-event-with.d.ts.map +0 -1
  422. package/lib/generated/classes/emit-task-configuration.d.ts +0 -39
  423. package/lib/generated/classes/emit-task-configuration.d.ts.map +0 -1
  424. package/lib/generated/classes/emit-task.d.ts +0 -39
  425. package/lib/generated/classes/emit-task.d.ts.map +0 -1
  426. package/lib/generated/classes/endpoint-configuration.d.ts +0 -39
  427. package/lib/generated/classes/endpoint-configuration.d.ts.map +0 -1
  428. package/lib/generated/classes/endpoint-uri.d.ts +0 -44
  429. package/lib/generated/classes/endpoint-uri.d.ts.map +0 -1
  430. package/lib/generated/classes/endpoint.d.ts +0 -39
  431. package/lib/generated/classes/endpoint.d.ts.map +0 -1
  432. package/lib/generated/classes/error-filter.d.ts +0 -44
  433. package/lib/generated/classes/error-filter.d.ts.map +0 -1
  434. package/lib/generated/classes/error-instance.d.ts +0 -44
  435. package/lib/generated/classes/error-instance.d.ts.map +0 -1
  436. package/lib/generated/classes/error-type.d.ts +0 -44
  437. package/lib/generated/classes/error-type.d.ts.map +0 -1
  438. package/lib/generated/classes/error.d.ts +0 -44
  439. package/lib/generated/classes/error.d.ts.map +0 -1
  440. package/lib/generated/classes/event-consumption-strategy.d.ts +0 -39
  441. package/lib/generated/classes/event-consumption-strategy.d.ts.map +0 -1
  442. package/lib/generated/classes/event-data.d.ts +0 -44
  443. package/lib/generated/classes/event-data.d.ts.map +0 -1
  444. package/lib/generated/classes/event-dataschema.d.ts +0 -44
  445. package/lib/generated/classes/event-dataschema.d.ts.map +0 -1
  446. package/lib/generated/classes/event-filter-correlate.d.ts +0 -44
  447. package/lib/generated/classes/event-filter-correlate.d.ts.map +0 -1
  448. package/lib/generated/classes/event-filter.d.ts +0 -39
  449. package/lib/generated/classes/event-filter.d.ts.map +0 -1
  450. package/lib/generated/classes/event-source.d.ts +0 -44
  451. package/lib/generated/classes/event-source.d.ts.map +0 -1
  452. package/lib/generated/classes/event-time.d.ts +0 -44
  453. package/lib/generated/classes/event-time.d.ts.map +0 -1
  454. package/lib/generated/classes/exponential-back-off.d.ts +0 -44
  455. package/lib/generated/classes/exponential-back-off.d.ts.map +0 -1
  456. package/lib/generated/classes/export-as.d.ts +0 -44
  457. package/lib/generated/classes/export-as.d.ts.map +0 -1
  458. package/lib/generated/classes/export.d.ts +0 -39
  459. package/lib/generated/classes/export.d.ts.map +0 -1
  460. package/lib/generated/classes/extension-item.d.ts +0 -39
  461. package/lib/generated/classes/extension-item.d.ts.map +0 -1
  462. package/lib/generated/classes/extension.d.ts +0 -39
  463. package/lib/generated/classes/extension.d.ts.map +0 -1
  464. package/lib/generated/classes/external-resource.d.ts +0 -39
  465. package/lib/generated/classes/external-resource.d.ts.map +0 -1
  466. package/lib/generated/classes/external-script.d.ts +0 -39
  467. package/lib/generated/classes/external-script.d.ts.map +0 -1
  468. package/lib/generated/classes/flow-directive.d.ts +0 -44
  469. package/lib/generated/classes/flow-directive.d.ts.map +0 -1
  470. package/lib/generated/classes/for-task-configuration.d.ts +0 -44
  471. package/lib/generated/classes/for-task-configuration.d.ts.map +0 -1
  472. package/lib/generated/classes/for-task.d.ts +0 -39
  473. package/lib/generated/classes/for-task.d.ts.map +0 -1
  474. package/lib/generated/classes/fork-task-configuration.d.ts +0 -39
  475. package/lib/generated/classes/fork-task-configuration.d.ts.map +0 -1
  476. package/lib/generated/classes/fork-task.d.ts +0 -39
  477. package/lib/generated/classes/fork-task.d.ts.map +0 -1
  478. package/lib/generated/classes/function-arguments.d.ts +0 -44
  479. package/lib/generated/classes/function-arguments.d.ts.map +0 -1
  480. package/lib/generated/classes/grpc-arguments.d.ts +0 -39
  481. package/lib/generated/classes/grpc-arguments.d.ts.map +0 -1
  482. package/lib/generated/classes/http-arguments.d.ts +0 -39
  483. package/lib/generated/classes/http-arguments.d.ts.map +0 -1
  484. package/lib/generated/classes/http-body.d.ts +0 -44
  485. package/lib/generated/classes/http-body.d.ts.map +0 -1
  486. package/lib/generated/classes/http-headers.d.ts +0 -44
  487. package/lib/generated/classes/http-headers.d.ts.map +0 -1
  488. package/lib/generated/classes/http-query.d.ts +0 -44
  489. package/lib/generated/classes/http-query.d.ts.map +0 -1
  490. package/lib/generated/classes/index.d.ts +0 -168
  491. package/lib/generated/classes/index.d.ts.map +0 -1
  492. package/lib/generated/classes/inline-script.d.ts +0 -44
  493. package/lib/generated/classes/inline-script.d.ts.map +0 -1
  494. package/lib/generated/classes/input-from.d.ts +0 -44
  495. package/lib/generated/classes/input-from.d.ts.map +0 -1
  496. package/lib/generated/classes/input.d.ts +0 -39
  497. package/lib/generated/classes/input.d.ts.map +0 -1
  498. package/lib/generated/classes/linear-backoff.d.ts +0 -44
  499. package/lib/generated/classes/linear-backoff.d.ts.map +0 -1
  500. package/lib/generated/classes/listen-task-configuration.d.ts +0 -39
  501. package/lib/generated/classes/listen-task-configuration.d.ts.map +0 -1
  502. package/lib/generated/classes/listen-task.d.ts +0 -39
  503. package/lib/generated/classes/listen-task.d.ts.map +0 -1
  504. package/lib/generated/classes/oauth2-autenthication-data-audiences.d.ts +0 -43
  505. package/lib/generated/classes/oauth2-autenthication-data-audiences.d.ts.map +0 -1
  506. package/lib/generated/classes/oauth2-autenthication-data-client.d.ts +0 -44
  507. package/lib/generated/classes/oauth2-autenthication-data-client.d.ts.map +0 -1
  508. package/lib/generated/classes/oauth2-autenthication-data-scopes.d.ts +0 -43
  509. package/lib/generated/classes/oauth2-autenthication-data-scopes.d.ts.map +0 -1
  510. package/lib/generated/classes/oauth2-autenthication-data.d.ts +0 -39
  511. package/lib/generated/classes/oauth2-autenthication-data.d.ts.map +0 -1
  512. package/lib/generated/classes/oauth2-authentication-policy-configuration.d.ts +0 -39
  513. package/lib/generated/classes/oauth2-authentication-policy-configuration.d.ts.map +0 -1
  514. package/lib/generated/classes/oauth2-authentication-policy.d.ts +0 -39
  515. package/lib/generated/classes/oauth2-authentication-policy.d.ts.map +0 -1
  516. package/lib/generated/classes/oauth2-authentication-properties-endpoints.d.ts +0 -44
  517. package/lib/generated/classes/oauth2-authentication-properties-endpoints.d.ts.map +0 -1
  518. package/lib/generated/classes/oauth2-connect-authentication-properties.d.ts +0 -39
  519. package/lib/generated/classes/oauth2-connect-authentication-properties.d.ts.map +0 -1
  520. package/lib/generated/classes/oauth2-issuers.d.ts +0 -43
  521. package/lib/generated/classes/oauth2-issuers.d.ts.map +0 -1
  522. package/lib/generated/classes/oauth2-token-definition.d.ts +0 -44
  523. package/lib/generated/classes/oauth2-token-definition.d.ts.map +0 -1
  524. package/lib/generated/classes/oauth2-token-request.d.ts +0 -44
  525. package/lib/generated/classes/oauth2-token-request.d.ts.map +0 -1
  526. package/lib/generated/classes/one-event-consumption-strategy.d.ts +0 -39
  527. package/lib/generated/classes/one-event-consumption-strategy.d.ts.map +0 -1
  528. package/lib/generated/classes/open-api-arguments.d.ts +0 -39
  529. package/lib/generated/classes/open-api-arguments.d.ts.map +0 -1
  530. package/lib/generated/classes/open-id-connect-authentication-policy-configuration.d.ts +0 -39
  531. package/lib/generated/classes/open-id-connect-authentication-policy-configuration.d.ts.map +0 -1
  532. package/lib/generated/classes/open-id-connect-authentication-policy.d.ts +0 -39
  533. package/lib/generated/classes/open-id-connect-authentication-policy.d.ts.map +0 -1
  534. package/lib/generated/classes/open-id-connect-authentication-properties.d.ts +0 -39
  535. package/lib/generated/classes/open-id-connect-authentication-properties.d.ts.map +0 -1
  536. package/lib/generated/classes/output-as.d.ts +0 -44
  537. package/lib/generated/classes/output-as.d.ts.map +0 -1
  538. package/lib/generated/classes/output.d.ts +0 -39
  539. package/lib/generated/classes/output.d.ts.map +0 -1
  540. package/lib/generated/classes/raise-task-configuration.d.ts +0 -39
  541. package/lib/generated/classes/raise-task-configuration.d.ts.map +0 -1
  542. package/lib/generated/classes/raise-task-error.d.ts +0 -44
  543. package/lib/generated/classes/raise-task-error.d.ts.map +0 -1
  544. package/lib/generated/classes/raise-task.d.ts +0 -39
  545. package/lib/generated/classes/raise-task.d.ts.map +0 -1
  546. package/lib/generated/classes/referenceable-authentication-policy.d.ts +0 -39
  547. package/lib/generated/classes/referenceable-authentication-policy.d.ts.map +0 -1
  548. package/lib/generated/classes/retry-backoff.d.ts +0 -44
  549. package/lib/generated/classes/retry-backoff.d.ts.map +0 -1
  550. package/lib/generated/classes/retry-limit-attempt.d.ts +0 -39
  551. package/lib/generated/classes/retry-limit-attempt.d.ts.map +0 -1
  552. package/lib/generated/classes/retry-limit.d.ts +0 -39
  553. package/lib/generated/classes/retry-limit.d.ts.map +0 -1
  554. package/lib/generated/classes/retry-policy-jitter.d.ts +0 -39
  555. package/lib/generated/classes/retry-policy-jitter.d.ts.map +0 -1
  556. package/lib/generated/classes/retry-policy.d.ts +0 -39
  557. package/lib/generated/classes/retry-policy.d.ts.map +0 -1
  558. package/lib/generated/classes/run-container.d.ts +0 -39
  559. package/lib/generated/classes/run-container.d.ts.map +0 -1
  560. package/lib/generated/classes/run-script.d.ts +0 -39
  561. package/lib/generated/classes/run-script.d.ts.map +0 -1
  562. package/lib/generated/classes/run-shell.d.ts +0 -39
  563. package/lib/generated/classes/run-shell.d.ts.map +0 -1
  564. package/lib/generated/classes/run-task-configuration.d.ts +0 -39
  565. package/lib/generated/classes/run-task-configuration.d.ts.map +0 -1
  566. package/lib/generated/classes/run-task.d.ts +0 -39
  567. package/lib/generated/classes/run-task.d.ts.map +0 -1
  568. package/lib/generated/classes/run-workflow.d.ts +0 -39
  569. package/lib/generated/classes/run-workflow.d.ts.map +0 -1
  570. package/lib/generated/classes/runtime-expression.d.ts +0 -44
  571. package/lib/generated/classes/runtime-expression.d.ts.map +0 -1
  572. package/lib/generated/classes/schedule.d.ts +0 -39
  573. package/lib/generated/classes/schedule.d.ts.map +0 -1
  574. package/lib/generated/classes/schema-external.d.ts +0 -39
  575. package/lib/generated/classes/schema-external.d.ts.map +0 -1
  576. package/lib/generated/classes/schema-inline.d.ts +0 -44
  577. package/lib/generated/classes/schema-inline.d.ts.map +0 -1
  578. package/lib/generated/classes/schema.d.ts +0 -39
  579. package/lib/generated/classes/schema.d.ts.map +0 -1
  580. package/lib/generated/classes/script.d.ts +0 -39
  581. package/lib/generated/classes/script.d.ts.map +0 -1
  582. package/lib/generated/classes/secret-based-authentication-policy.d.ts +0 -44
  583. package/lib/generated/classes/secret-based-authentication-policy.d.ts.map +0 -1
  584. package/lib/generated/classes/set-task-configuration.d.ts +0 -44
  585. package/lib/generated/classes/set-task-configuration.d.ts.map +0 -1
  586. package/lib/generated/classes/set-task.d.ts +0 -39
  587. package/lib/generated/classes/set-task.d.ts.map +0 -1
  588. package/lib/generated/classes/shell-arguments.d.ts +0 -44
  589. package/lib/generated/classes/shell-arguments.d.ts.map +0 -1
  590. package/lib/generated/classes/shell-environment.d.ts +0 -44
  591. package/lib/generated/classes/shell-environment.d.ts.map +0 -1
  592. package/lib/generated/classes/shell.d.ts +0 -39
  593. package/lib/generated/classes/shell.d.ts.map +0 -1
  594. package/lib/generated/classes/subflow-configuration.d.ts +0 -39
  595. package/lib/generated/classes/subflow-configuration.d.ts.map +0 -1
  596. package/lib/generated/classes/subflow-input.d.ts +0 -44
  597. package/lib/generated/classes/subflow-input.d.ts.map +0 -1
  598. package/lib/generated/classes/subscription-iterator.d.ts +0 -39
  599. package/lib/generated/classes/subscription-iterator.d.ts.map +0 -1
  600. package/lib/generated/classes/switch-case.d.ts +0 -44
  601. package/lib/generated/classes/switch-case.d.ts.map +0 -1
  602. package/lib/generated/classes/switch-item.d.ts +0 -39
  603. package/lib/generated/classes/switch-item.d.ts.map +0 -1
  604. package/lib/generated/classes/switch-task-configuration.d.ts +0 -38
  605. package/lib/generated/classes/switch-task-configuration.d.ts.map +0 -1
  606. package/lib/generated/classes/switch-task.d.ts +0 -39
  607. package/lib/generated/classes/switch-task.d.ts.map +0 -1
  608. package/lib/generated/classes/task-base-if.d.ts +0 -44
  609. package/lib/generated/classes/task-base-if.d.ts.map +0 -1
  610. package/lib/generated/classes/task-base.d.ts +0 -39
  611. package/lib/generated/classes/task-base.d.ts.map +0 -1
  612. package/lib/generated/classes/task-item.d.ts +0 -39
  613. package/lib/generated/classes/task-item.d.ts.map +0 -1
  614. package/lib/generated/classes/task-list.d.ts +0 -38
  615. package/lib/generated/classes/task-list.d.ts.map +0 -1
  616. package/lib/generated/classes/task-metadata.d.ts +0 -44
  617. package/lib/generated/classes/task-metadata.d.ts.map +0 -1
  618. package/lib/generated/classes/task-timeout.d.ts +0 -39
  619. package/lib/generated/classes/task-timeout.d.ts.map +0 -1
  620. package/lib/generated/classes/task.d.ts +0 -39
  621. package/lib/generated/classes/task.d.ts.map +0 -1
  622. package/lib/generated/classes/timeout.d.ts +0 -39
  623. package/lib/generated/classes/timeout.d.ts.map +0 -1
  624. package/lib/generated/classes/try-task-catch-retry.d.ts +0 -39
  625. package/lib/generated/classes/try-task-catch-retry.d.ts.map +0 -1
  626. package/lib/generated/classes/try-task-catch.d.ts +0 -39
  627. package/lib/generated/classes/try-task-catch.d.ts.map +0 -1
  628. package/lib/generated/classes/try-task.d.ts +0 -39
  629. package/lib/generated/classes/try-task.d.ts.map +0 -1
  630. package/lib/generated/classes/uri-template.d.ts +0 -44
  631. package/lib/generated/classes/uri-template.d.ts.map +0 -1
  632. package/lib/generated/classes/use-authentications.d.ts +0 -39
  633. package/lib/generated/classes/use-authentications.d.ts.map +0 -1
  634. package/lib/generated/classes/use-catalogs.d.ts +0 -39
  635. package/lib/generated/classes/use-catalogs.d.ts.map +0 -1
  636. package/lib/generated/classes/use-errors.d.ts +0 -39
  637. package/lib/generated/classes/use-errors.d.ts.map +0 -1
  638. package/lib/generated/classes/use-extensions.d.ts +0 -38
  639. package/lib/generated/classes/use-extensions.d.ts.map +0 -1
  640. package/lib/generated/classes/use-functions.d.ts +0 -39
  641. package/lib/generated/classes/use-functions.d.ts.map +0 -1
  642. package/lib/generated/classes/use-retries.d.ts +0 -39
  643. package/lib/generated/classes/use-retries.d.ts.map +0 -1
  644. package/lib/generated/classes/use-secrets.d.ts +0 -43
  645. package/lib/generated/classes/use-secrets.d.ts.map +0 -1
  646. package/lib/generated/classes/use-timeouts.d.ts +0 -39
  647. package/lib/generated/classes/use-timeouts.d.ts.map +0 -1
  648. package/lib/generated/classes/use.d.ts +0 -39
  649. package/lib/generated/classes/use.d.ts.map +0 -1
  650. package/lib/generated/classes/wait-task.d.ts +0 -39
  651. package/lib/generated/classes/wait-task.d.ts.map +0 -1
  652. package/lib/generated/classes/with-event.d.ts +0 -44
  653. package/lib/generated/classes/with-event.d.ts.map +0 -1
  654. package/lib/generated/classes/with-grpc-arguments.d.ts +0 -44
  655. package/lib/generated/classes/with-grpc-arguments.d.ts.map +0 -1
  656. package/lib/generated/classes/with-grpc-service.d.ts +0 -39
  657. package/lib/generated/classes/with-grpc-service.d.ts.map +0 -1
  658. package/lib/generated/classes/with-open-api-parameters.d.ts +0 -44
  659. package/lib/generated/classes/with-open-api-parameters.d.ts.map +0 -1
  660. package/lib/generated/classes/workflow-metadata.d.ts +0 -44
  661. package/lib/generated/classes/workflow-metadata.d.ts.map +0 -1
  662. package/lib/generated/classes/workflow-tags.d.ts +0 -44
  663. package/lib/generated/classes/workflow-tags.d.ts.map +0 -1
  664. package/lib/generated/classes/workflow-timeout.d.ts +0 -39
  665. package/lib/generated/classes/workflow-timeout.d.ts.map +0 -1
  666. package/lib/generated/classes/workflow.d.ts +0 -88
  667. package/lib/generated/classes/workflow.d.ts.map +0 -1
  668. package/lib/generated/definitions/index.d.ts +0 -2
  669. package/lib/generated/definitions/index.d.ts.map +0 -1
  670. package/lib/generated/definitions/specification.d.ts +0 -1318
  671. package/lib/generated/definitions/specification.d.ts.map +0 -1
  672. package/lib/generated/validation/index.d.ts +0 -2
  673. package/lib/generated/validation/index.d.ts.map +0 -1
  674. package/lib/generated/validation/validation-pointers.d.ts +0 -171
  675. package/lib/generated/validation/validation-pointers.d.ts.map +0 -1
  676. package/lib/graph-builder.d.ts +0 -74
  677. package/lib/graph-builder.d.ts.map +0 -1
  678. package/lib/hooks/index.d.ts +0 -2
  679. package/lib/hooks/index.d.ts.map +0 -1
  680. package/lib/hooks/workflow-hooks.d.ts +0 -4
  681. package/lib/hooks/workflow-hooks.d.ts.map +0 -1
  682. package/lib/hydrator.d.ts +0 -13
  683. package/lib/hydrator.d.ts.map +0 -1
  684. package/lib/lifecycle-hooks.d.ts +0 -42
  685. package/lib/lifecycle-hooks.d.ts.map +0 -1
  686. package/lib/mermaid-converter.d.ts +0 -21
  687. package/lib/mermaid-converter.d.ts.map +0 -1
  688. package/lib/utils.d.ts +0 -19
  689. package/lib/utils.d.ts.map +0 -1
  690. package/lib/validation.d.ts +0 -10
  691. package/lib/validation.d.ts.map +0 -1
  692. package/serverless-workflow-sdk.d.ts +0 -7
  693. package/serverless-workflow-sdk.d.ts.map +0 -1
  694. package/systemjs/index.systemjs.js +0 -31301
  695. package/systemjs/index.systemjs.js.map +0 -1
  696. package/systemjs/index.systemjs.min.js +0 -10
  697. package/systemjs/index.systemjs.min.js.map +0 -1
  698. package/umd/index.umd.js +0 -31463
  699. package/umd/index.umd.js.map +0 -1
  700. package/umd/index.umd.min.js +0 -10
  701. package/umd/index.umd.min.js.map +0 -1
package/index.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":["workflowSchema","Error","FlowDirective","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn","buildingFn"],"sources":["../src/lib/builder.ts","../src/lib/utils.ts","../src/lib/hydrator.ts","../package.json","../src/lib/hooks/workflow-hooks.ts","../src/lib/lifecycle-hooks.ts","../src/lib/generated/schema/workflow.json","../src/lib/generated/validation/validation-pointers.ts","../src/lib/validation.ts","../src/lib/generated/classes/basic-authentication-policy-configuration.ts","../src/lib/generated/classes/bearer-authentication-policy-configuration.ts","../src/lib/generated/classes/digest-authentication-policy-configuration.ts","../src/lib/generated/classes/oauth2-authentication-data-client.ts","../src/lib/generated/classes/oauth2-token-request.ts","../src/lib/generated/classes/oauth2-token-definition.ts","../src/lib/generated/classes/oauth2-authentication-properties-endpoints.ts","../src/lib/generated/classes/oauth2-authentication-policy-configuration.ts","../src/lib/generated/classes/open-id-connect-authentication-policy-configuration.ts","../src/lib/generated/classes/referenceable-authentication-policy.ts","../src/lib/generated/classes/endpoint.ts","../src/lib/generated/classes/external-resource.ts","../src/lib/generated/classes/a2a-arguments.ts","../src/lib/generated/classes/with-event.ts","../src/lib/generated/classes/event-filter-correlate.ts","../src/lib/generated/classes/event-filter.ts","../src/lib/generated/classes/all-event-consumption-strategy-configuration.ts","../src/lib/generated/classes/all-event-consumption-strategy.ts","../src/lib/generated/classes/any-event-consumption-strategy-configuration.ts","../src/lib/generated/classes/any-event-consumption-strategy-until.ts","../src/lib/generated/classes/any-event-consumption-strategy.ts","../src/lib/generated/classes/any-event-until-consumed.ts","../src/lib/generated/classes/async-api-arguments.ts","../src/lib/generated/classes/authentication-policy.ts","../src/lib/generated/classes/authentication-policy-reference.ts","../src/lib/generated/classes/basic-authentication-policy.ts","../src/lib/generated/classes/basic-authentication-properties.ts","../src/lib/generated/classes/bearer-authentication-policy.ts","../src/lib/generated/classes/bearer-authentication-properties.ts","../src/lib/generated/classes/schema.ts","../src/lib/generated/classes/input.ts","../src/lib/generated/classes/output.ts","../src/lib/generated/classes/export.ts","../src/lib/generated/classes/duration.ts","../src/lib/generated/classes/task-timeout.ts","../src/lib/generated/classes/task-metadata.ts","../src/lib/generated/classes/task-base.ts","../src/lib/generated/classes/call-a2a.ts","../src/lib/generated/classes/call-async-api.ts","../src/lib/generated/classes/function-arguments.ts","../src/lib/generated/classes/call-function.ts","../src/lib/generated/classes/with-grpc-service.ts","../src/lib/generated/classes/with-grpc-arguments.ts","../src/lib/generated/classes/grpc-arguments.ts","../src/lib/generated/classes/call-grpc.ts","../src/lib/generated/classes/http-body.ts","../src/lib/generated/classes/http-arguments.ts","../src/lib/generated/classes/call-http.ts","../src/lib/generated/classes/mcp-client.ts","../src/lib/generated/classes/mcp-arguments.ts","../src/lib/generated/classes/call-mcp.ts","../src/lib/generated/classes/with-open-api-parameters.ts","../src/lib/generated/classes/open-api-arguments.ts","../src/lib/generated/classes/call-open-api.ts","../src/lib/generated/classes/call-task.ts","../src/lib/generated/classes/catalog.ts","../src/lib/generated/classes/error-filter.ts","../src/lib/generated/classes/catch-errors.ts","../src/lib/generated/classes/constant-backoff.ts","../src/lib/generated/classes/container-ports.ts","../src/lib/generated/classes/container-volumes.ts","../src/lib/generated/classes/container-environment.ts","../src/lib/generated/classes/container-lifetime.ts","../src/lib/generated/classes/container.ts","../src/lib/generated/classes/container-arguments.ts","../src/lib/generated/classes/digest-authentication-policy.ts","../src/lib/generated/classes/digest-authentication-properties.ts","../src/lib/generated/classes/workflow-tags.ts","../src/lib/generated/classes/workflow-metadata.ts","../src/lib/generated/classes/document.ts","../src/lib/generated/classes/fork-task-configuration.ts","../src/lib/generated/classes/emit-event-with.ts","../src/lib/generated/classes/emit-event-definition.ts","../src/lib/generated/classes/emit-task-configuration.ts","../src/lib/generated/classes/for-task-configuration.ts","../src/lib/generated/classes/event-consumption-strategy.ts","../src/lib/generated/classes/listen-task-configuration.ts","../src/lib/generated/classes/subscription-iterator.ts","../src/lib/generated/classes/raise-task-error.ts","../src/lib/generated/classes/raise-task-configuration.ts","../src/lib/generated/classes/script.ts","../src/lib/generated/classes/shell-environment.ts","../src/lib/generated/classes/shell.ts","../src/lib/generated/classes/subflow-input.ts","../src/lib/generated/classes/subflow-configuration.ts","../src/lib/generated/classes/run-task-configuration.ts","../src/lib/generated/classes/switch-case.ts","../src/lib/generated/classes/switch-item.ts","../src/lib/generated/classes/switch-task-configuration.ts","../src/lib/generated/classes/retry-backoff.ts","../src/lib/generated/classes/retry-limit-attempt.ts","../src/lib/generated/classes/retry-limit.ts","../src/lib/generated/classes/retry-policy-jitter.ts","../src/lib/generated/classes/try-task-catch-retry.ts","../src/lib/generated/classes/try-task-catch.ts","../src/lib/generated/classes/task.ts","../src/lib/generated/classes/task-item.ts","../src/lib/generated/classes/task-list.ts","../src/lib/generated/classes/do-task.ts","../src/lib/generated/classes/duration-inline.ts","../src/lib/generated/classes/emit-task.ts","../src/lib/generated/classes/endpoint-configuration.ts","../src/lib/generated/classes/endpoint-uri.ts","../src/lib/generated/classes/error.ts","../src/lib/generated/classes/error-details.ts","../src/lib/generated/classes/error-instance.ts","../src/lib/generated/classes/error-title.ts","../src/lib/generated/classes/error-type.ts","../src/lib/generated/classes/event-data.ts","../src/lib/generated/classes/event-dataschema.ts","../src/lib/generated/classes/event-source.ts","../src/lib/generated/classes/event-time.ts","../src/lib/generated/classes/exponential-back-off.ts","../src/lib/generated/classes/export-as.ts","../src/lib/generated/classes/extension.ts","../src/lib/generated/classes/extension-item.ts","../src/lib/generated/classes/external-script.ts","../src/lib/generated/classes/flow-directive.ts","../src/lib/generated/classes/fork-task.ts","../src/lib/generated/classes/for-task.ts","../src/lib/generated/classes/http-headers.ts","../src/lib/generated/classes/http-query.ts","../src/lib/generated/classes/inline-script.ts","../src/lib/generated/classes/input-from.ts","../src/lib/generated/classes/linear-backoff.ts","../src/lib/generated/classes/listen-task.ts","../src/lib/generated/classes/mcp-call-transport.ts","../src/lib/generated/classes/mcp-method-parameters.ts","../src/lib/generated/classes/oauth2-authentication-data.ts","../src/lib/generated/classes/oauth2-authentication-data-audiences.ts","../src/lib/generated/classes/oauth2-authentication-data-scopes.ts","../src/lib/generated/classes/oauth2-authentication-policy.ts","../src/lib/generated/classes/oauth2-connect-authentication-properties.ts","../src/lib/generated/classes/oauth2-issuers.ts","../src/lib/generated/classes/one-event-consumption-strategy.ts","../src/lib/generated/classes/open-id-connect-authentication-policy.ts","../src/lib/generated/classes/open-id-connect-authentication-properties.ts","../src/lib/generated/classes/output-as.ts","../src/lib/generated/classes/raise-task.ts","../src/lib/generated/classes/retry-policy.ts","../src/lib/generated/classes/run-container.ts","../src/lib/generated/classes/run-script.ts","../src/lib/generated/classes/run-shell.ts","../src/lib/generated/classes/run-task.ts","../src/lib/generated/classes/runtime-expression.ts","../src/lib/generated/classes/run-workflow.ts","../src/lib/generated/classes/schedule.ts","../src/lib/generated/classes/schema-external.ts","../src/lib/generated/classes/schema-inline.ts","../src/lib/generated/classes/secret-based-authentication-policy.ts","../src/lib/generated/classes/set-task.ts","../src/lib/generated/classes/set-task-configuration.ts","../src/lib/generated/classes/shell-arguments.ts","../src/lib/generated/classes/switch-task.ts","../src/lib/generated/classes/task-base-if.ts","../src/lib/generated/classes/timeout.ts","../src/lib/generated/classes/try-task.ts","../src/lib/generated/classes/uri-template.ts","../src/lib/generated/classes/use-authentications.ts","../src/lib/generated/classes/use-errors.ts","../src/lib/generated/classes/use-extensions.ts","../src/lib/generated/classes/use-functions.ts","../src/lib/generated/classes/use-retries.ts","../src/lib/generated/classes/use-timeouts.ts","../src/lib/generated/classes/use-catalogs.ts","../src/lib/generated/classes/use.ts","../src/lib/generated/classes/use-secrets.ts","../src/lib/generated/classes/wait-task.ts","../src/lib/generated/classes/with-a2a-parameters.ts","../src/lib/generated/classes/workflow-timeout.ts","../src/lib/graph-builder.ts","../src/lib/mermaid-converter.ts","../src/lib/generated/classes/workflow.ts","../src/lib/generated/classes/index.ts","../src/lib/generated/builders/a2a-arguments-builder.ts","../src/lib/generated/builders/all-event-consumption-strategy-builder.ts","../src/lib/generated/builders/all-event-consumption-strategy-configuration-builder.ts","../src/lib/generated/builders/any-event-consumption-strategy-builder.ts","../src/lib/generated/builders/any-event-consumption-strategy-configuration-builder.ts","../src/lib/generated/builders/any-event-consumption-strategy-until-builder.ts","../src/lib/generated/builders/any-event-until-consumed-builder.ts","../src/lib/generated/builders/async-api-arguments-builder.ts","../src/lib/generated/builders/authentication-policy-builder.ts","../src/lib/generated/builders/authentication-policy-reference-builder.ts","../src/lib/generated/builders/basic-authentication-policy-builder.ts","../src/lib/generated/builders/basic-authentication-policy-configuration-builder.ts","../src/lib/generated/builders/basic-authentication-properties-builder.ts","../src/lib/generated/builders/bearer-authentication-policy-builder.ts","../src/lib/generated/builders/bearer-authentication-policy-configuration-builder.ts","../src/lib/generated/builders/bearer-authentication-properties-builder.ts","../src/lib/generated/builders/call-a2a-builder.ts","../src/lib/generated/builders/call-async-api-builder.ts","../src/lib/generated/builders/call-function-builder.ts","../src/lib/generated/builders/call-grpc-builder.ts","../src/lib/generated/builders/call-http-builder.ts","../src/lib/generated/builders/call-mcp-builder.ts","../src/lib/generated/builders/call-open-api-builder.ts","../src/lib/generated/builders/call-task-builder.ts","../src/lib/generated/builders/catalog-builder.ts","../src/lib/generated/builders/catch-errors-builder.ts","../src/lib/generated/builders/constant-backoff-builder.ts","../src/lib/generated/builders/container-builder.ts","../src/lib/generated/builders/container-arguments-builder.ts","../src/lib/generated/builders/container-environment-builder.ts","../src/lib/generated/builders/container-lifetime-builder.ts","../src/lib/generated/builders/container-ports-builder.ts","../src/lib/generated/builders/container-volumes-builder.ts","../src/lib/generated/builders/digest-authentication-policy-builder.ts","../src/lib/generated/builders/digest-authentication-policy-configuration-builder.ts","../src/lib/generated/builders/digest-authentication-properties-builder.ts","../src/lib/generated/builders/document-builder.ts","../src/lib/generated/builders/do-task-builder.ts","../src/lib/generated/builders/duration-builder.ts","../src/lib/generated/builders/duration-inline-builder.ts","../src/lib/generated/builders/emit-event-definition-builder.ts","../src/lib/generated/builders/emit-event-with-builder.ts","../src/lib/generated/builders/emit-task-builder.ts","../src/lib/generated/builders/emit-task-configuration-builder.ts","../src/lib/generated/builders/endpoint-builder.ts","../src/lib/generated/builders/endpoint-configuration-builder.ts","../src/lib/generated/builders/endpoint-uri-builder.ts","../src/lib/generated/builders/error-builder.ts","../src/lib/generated/builders/error-details-builder.ts","../src/lib/generated/builders/error-filter-builder.ts","../src/lib/generated/builders/error-instance-builder.ts","../src/lib/generated/builders/error-title-builder.ts","../src/lib/generated/builders/error-type-builder.ts","../src/lib/generated/builders/event-consumption-strategy-builder.ts","../src/lib/generated/builders/event-data-builder.ts","../src/lib/generated/builders/event-dataschema-builder.ts","../src/lib/generated/builders/event-filter-builder.ts","../src/lib/generated/builders/event-filter-correlate-builder.ts","../src/lib/generated/builders/event-source-builder.ts","../src/lib/generated/builders/event-time-builder.ts","../src/lib/generated/builders/exponential-back-off-builder.ts","../src/lib/generated/builders/export-builder.ts","../src/lib/generated/builders/export-as-builder.ts","../src/lib/generated/builders/extension-builder.ts","../src/lib/generated/builders/extension-item-builder.ts","../src/lib/generated/builders/external-resource-builder.ts","../src/lib/generated/builders/external-script-builder.ts","../src/lib/generated/builders/flow-directive-builder.ts","../src/lib/generated/builders/fork-task-builder.ts","../src/lib/generated/builders/fork-task-configuration-builder.ts","../src/lib/generated/builders/for-task-builder.ts","../src/lib/generated/builders/for-task-configuration-builder.ts","../src/lib/generated/builders/function-arguments-builder.ts","../src/lib/generated/builders/grpc-arguments-builder.ts","../src/lib/generated/builders/http-arguments-builder.ts","../src/lib/generated/builders/http-body-builder.ts","../src/lib/generated/builders/http-headers-builder.ts","../src/lib/generated/builders/http-query-builder.ts","../src/lib/generated/builders/inline-script-builder.ts","../src/lib/generated/builders/input-builder.ts","../src/lib/generated/builders/input-from-builder.ts","../src/lib/generated/builders/linear-backoff-builder.ts","../src/lib/generated/builders/listen-task-builder.ts","../src/lib/generated/builders/listen-task-configuration-builder.ts","../src/lib/generated/builders/mcp-arguments-builder.ts","../src/lib/generated/builders/mcp-call-transport-builder.ts","../src/lib/generated/builders/mcp-client-builder.ts","../src/lib/generated/builders/mcp-method-parameters-builder.ts","../src/lib/generated/builders/oauth2-authentication-data-builder.ts","../src/lib/generated/builders/oauth2-authentication-data-audiences-builder.ts","../src/lib/generated/builders/oauth2-authentication-data-client-builder.ts","../src/lib/generated/builders/oauth2-authentication-data-scopes-builder.ts","../src/lib/generated/builders/oauth2-authentication-policy-builder.ts","../src/lib/generated/builders/oauth2-authentication-policy-configuration-builder.ts","../src/lib/generated/builders/oauth2-authentication-properties-endpoints-builder.ts","../src/lib/generated/builders/oauth2-connect-authentication-properties-builder.ts","../src/lib/generated/builders/oauth2-issuers-builder.ts","../src/lib/generated/builders/oauth2-token-definition-builder.ts","../src/lib/generated/builders/oauth2-token-request-builder.ts","../src/lib/generated/builders/one-event-consumption-strategy-builder.ts","../src/lib/generated/builders/open-api-arguments-builder.ts","../src/lib/generated/builders/open-id-connect-authentication-policy-builder.ts","../src/lib/generated/builders/open-id-connect-authentication-policy-configuration-builder.ts","../src/lib/generated/builders/open-id-connect-authentication-properties-builder.ts","../src/lib/generated/builders/output-builder.ts","../src/lib/generated/builders/output-as-builder.ts","../src/lib/generated/builders/raise-task-builder.ts","../src/lib/generated/builders/raise-task-configuration-builder.ts","../src/lib/generated/builders/raise-task-error-builder.ts","../src/lib/generated/builders/referenceable-authentication-policy-builder.ts","../src/lib/generated/builders/retry-backoff-builder.ts","../src/lib/generated/builders/retry-limit-builder.ts","../src/lib/generated/builders/retry-limit-attempt-builder.ts","../src/lib/generated/builders/retry-policy-builder.ts","../src/lib/generated/builders/retry-policy-jitter-builder.ts","../src/lib/generated/builders/run-container-builder.ts","../src/lib/generated/builders/run-script-builder.ts","../src/lib/generated/builders/run-shell-builder.ts","../src/lib/generated/builders/run-task-builder.ts","../src/lib/generated/builders/run-task-configuration-builder.ts","../src/lib/generated/builders/runtime-expression-builder.ts","../src/lib/generated/builders/run-workflow-builder.ts","../src/lib/generated/builders/schedule-builder.ts","../src/lib/generated/builders/schema-builder.ts","../src/lib/generated/builders/schema-external-builder.ts","../src/lib/generated/builders/schema-inline-builder.ts","../src/lib/generated/builders/script-builder.ts","../src/lib/generated/builders/secret-based-authentication-policy-builder.ts","../src/lib/generated/builders/set-task-builder.ts","../src/lib/generated/builders/set-task-configuration-builder.ts","../src/lib/generated/builders/shell-builder.ts","../src/lib/generated/builders/shell-arguments-builder.ts","../src/lib/generated/builders/shell-environment-builder.ts","../src/lib/generated/builders/subflow-configuration-builder.ts","../src/lib/generated/builders/subflow-input-builder.ts","../src/lib/generated/builders/subscription-iterator-builder.ts","../src/lib/generated/builders/switch-case-builder.ts","../src/lib/generated/builders/switch-item-builder.ts","../src/lib/generated/builders/switch-task-builder.ts","../src/lib/generated/builders/switch-task-configuration-builder.ts","../src/lib/generated/builders/task-builder.ts","../src/lib/generated/builders/task-base-builder.ts","../src/lib/generated/builders/task-base-if-builder.ts","../src/lib/generated/builders/task-item-builder.ts","../src/lib/generated/builders/task-list-builder.ts","../src/lib/generated/builders/task-metadata-builder.ts","../src/lib/generated/builders/task-timeout-builder.ts","../src/lib/generated/builders/timeout-builder.ts","../src/lib/generated/builders/try-task-builder.ts","../src/lib/generated/builders/try-task-catch-builder.ts","../src/lib/generated/builders/try-task-catch-retry-builder.ts","../src/lib/generated/builders/uri-template-builder.ts","../src/lib/generated/builders/use-builder.ts","../src/lib/generated/builders/use-authentications-builder.ts","../src/lib/generated/builders/use-catalogs-builder.ts","../src/lib/generated/builders/use-errors-builder.ts","../src/lib/generated/builders/use-extensions-builder.ts","../src/lib/generated/builders/use-functions-builder.ts","../src/lib/generated/builders/use-retries-builder.ts","../src/lib/generated/builders/use-secrets-builder.ts","../src/lib/generated/builders/use-timeouts-builder.ts","../src/lib/generated/builders/wait-task-builder.ts","../src/lib/generated/builders/with-a2a-parameters-builder.ts","../src/lib/generated/builders/with-event-builder.ts","../src/lib/generated/builders/with-grpc-arguments-builder.ts","../src/lib/generated/builders/with-grpc-service-builder.ts","../src/lib/generated/builders/with-open-api-parameters-builder.ts","../src/lib/generated/builders/workflow-builder.ts","../src/lib/generated/builders/workflow-metadata-builder.ts","../src/lib/generated/builders/workflow-tags-builder.ts","../src/lib/generated/builders/workflow-timeout-builder.ts","../src/lib/generated/definitions/specification.ts"],"sourcesContent":["/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * oUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/**\n * Represents the options passed to the `build()` method\n */\nexport type BuildOptions = {\n /**\n * Default true\n */\n validate?: boolean;\n /**\n * Default true\n */\n normalize?: boolean;\n};\n\n/**\n * The type of the underlying function called on `build()` for objects\n */\nexport type BuildingFunction<TSpec, TBuilt> = (model: TSpec, options: BuildOptions) => TBuilt;\n\n/**\n * The type of the underlying function called on `build()` for arrays\n */\nexport type ArrayBuildingFunction<TSpec, TBuilt> = (model: Array<TSpec>, options: BuildOptions) => TBuilt;\n\n/**\n * Represents a fluent builder proxy for an object\n */\nexport type Builder<TSpec, TBuilt = TSpec> = {\n build: (option?: BuildOptions) => TBuilt;\n} & {\n [K in keyof TSpec]-?: (arg: TSpec[K]) => Builder<TSpec, TBuilt>;\n};\n\n/**\n * Represents a fluent builder proxy for an array\n */\nexport type ArrayBuilder<TSpec, TBuilt> = {\n push: (item: TSpec) => ArrayBuilder<TSpec, TBuilt>;\n build: (option?: BuildOptions) => TBuilt;\n};\n\n/**\n * The default function used to build an object, basically just return the provided object\n * @param model The object to \"build\"\n * @param options The build options\n * @returns\n */\nfunction defaultBuildingFn<TSpec, TBuilt = TSpec>(model: TSpec, options: BuildOptions): TBuilt {\n // Keep defaults explicit so callers can omit both options.\n if (options.validate == null) {\n options.validate = true;\n }\n if (options.normalize == null) {\n options.normalize = true;\n }\n return model as unknown as TBuilt;\n}\n\n/**\n * A factory for fluent builders that proxy properties assignations and can validate against schema on build()\n * @param buildingFn The function used to validate and produce the object on build()\n * @returns A fluent builder\n */\nexport function builder<TSpec, TBuilt = TSpec>(\n model: Partial<TSpec> = {},\n buildingFn: BuildingFunction<TSpec, TBuilt> = defaultBuildingFn,\n): Builder<Partial<TSpec>, TBuilt> {\n const proxy = new Proxy({} as Builder<Partial<TSpec>, TBuilt>, {\n get: (_, prop) => {\n if (prop === 'build') {\n return (options?: BuildOptions) => {\n options = options || ({} as BuildOptions);\n if (options.validate == null) {\n options.validate = true;\n }\n if (options.normalize == null) {\n options.normalize = true;\n }\n return buildingFn(model as TSpec, options);\n };\n }\n return (value: unknown): Builder<Partial<TSpec>, TBuilt> => {\n (model as Record<string, unknown>)[prop.toString()] = value;\n return proxy;\n };\n },\n set: () => {\n return false;\n },\n });\n return proxy;\n}\n\n/**\n * A factory for fluent builders that proxy properties assignations and can validate against schema on build()\n * @param buildingFn The function used to validate and produce the object on build()\n * @returns A fluent builder\n */\nexport function arrayBuilder<TSpec, TBuilt>(\n model: Array<TSpec> = [],\n buildingFn: ArrayBuildingFunction<TSpec, TBuilt> = defaultBuildingFn,\n): ArrayBuilder<TSpec, TBuilt> {\n if (model != null && !Array.isArray(model)) {\n throw new Error(`The provided model should be an array`);\n }\n const proxy = new Proxy({} as ArrayBuilder<TSpec, TBuilt>, {\n get: (_, prop) => {\n if (prop === 'build') {\n return (options?: BuildOptions) => {\n options = options || ({} as BuildOptions);\n if (options.validate == null) {\n options.validate = true;\n }\n if (options.normalize == null) {\n options.normalize = true;\n }\n return buildingFn(model, options);\n };\n }\n if (prop === 'push') {\n return (value: TSpec): ArrayBuilder<TSpec, TBuilt> => {\n model.push(value);\n return proxy;\n };\n }\n },\n set: () => {\n return false;\n },\n });\n return proxy;\n}\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * oUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/**\n * Check if the provided value is an object but not an array\n * @param value The value to check\n * @returns True if the value is an object\n */\nexport const isObject = <T>(value: T): value is T & object => {\n if (!value) return false;\n return typeof value === 'object' && !Array.isArray(value);\n};\n\n/**\n * Makes a deep copy of the provided object\n * @param obj\n * @returns\n */\nexport const deepCopy = <T>(obj: T): T => JSON.parse(JSON.stringify(obj));\n\n/**\n * Checks the provided array is an array\n * @param arr\n * @returns\n */\nexport const isArray = <T>(arr: Array<T> | number | undefined): arr is Array<T> => !!arr && isNaN(arr as number);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * oUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { deepCopy, isObject } from './utils';\n\n/**\n * A base class used for object hydration\n */\nexport class ObjectHydrator<T> {\n constructor(model?: Partial<T>) {\n if (isObject(model)) {\n Object.assign(this, deepCopy(model));\n }\n }\n}\n\n/**\n * A base class used for array hydration\n */\nexport class ArrayHydrator<T> extends Array<T> {\n constructor(model?: Array<T> | number) {\n if (!isNaN(model as number)) {\n super(model as number);\n } else {\n super(...((model as Array<T>) || []));\n if (!model) {\n model = [];\n }\n if (!Array.isArray(model)) {\n throw new Error('The provided model should be an array');\n }\n }\n }\n}\n","","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { LifecycleHooks } from '../lifecycle-hooks';\nimport { Specification } from '../generated/definitions';\n\nimport { schemaVersion } from '../../../package.json';\n\nexport const WorkflowHooks = {\n preValidation(instance) {\n if (instance?.document?.dsl !== schemaVersion) {\n throw new Error(\n `'Workflow' is invalid - The DSL version of the workflow '${instance?.document?.dsl}' doesn't match the supported version of the SDK '${schemaVersion}'.`,\n );\n }\n return;\n },\n} as LifecycleHooks<Specification.Workflow>;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * oUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { Specification } from './generated/definitions';\nimport { WorkflowHooks } from './hooks';\n\n/**\n * Represents the possible lifecycle hooks of an instance\n */\nexport type LifecycleHooks<T> = {\n /**\n * The hook called at the end of the constructor\n * @param instance The instance being initialized\n */\n constructor?: (instance: T) => void;\n /**\n * The hook called before the validation\n * @param instance A copy instance being validated\n * @param workflow A workflow instance, used for DSL level validation\n */\n preValidation?: (instance: T, workflow?: Partial<Specification.Workflow>) => void;\n /**\n * The hook called after the validation\n * @param instance A copy instance being validated\n * @param workflow A workflow instance, used for DSL level validation\n */\n postValidation?: (instance: T, workflow?: Partial<Specification.Workflow>) => void;\n /**\n * The hook called to normalized the instance\n * @param instance A copy of the instance to normalize\n * @returns The normalized instance\n */\n normalize?: (instance: T) => T;\n};\n\n/**\n * A mapping of type names and their lifecycle hooks\n */\n// The generated classes call these hooks without generic arguments, so this registry must stay untyped at runtime.\nconst registeredHooks: Map<string, LifecycleHooks<any>> = new Map<string, LifecycleHooks<any>>();\n\n/**\n * The function used to register hooks\n * @param typeName The name of the type to register the hooks for\n * @param hooks The hooks to register\n */\nexport const registerHooks = (typeName: string, hooks: LifecycleHooks<any>): void => {\n registeredHooks.set(typeName, hooks);\n};\n\n/**\n * Gets the lifecylce hook for the provided type, if any\n * @param typeName The type to get the lifecycle hook for\n * @returns The lifecycle hook, if any\n */\nexport const getLifecycleHooks = (typeName: string): LifecycleHooks<any> | undefined => {\n return registeredHooks.get(typeName);\n};\n\nregisterHooks('Workflow', WorkflowHooks);\n","","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\n/**\n * A map of type names and their corresponding schema\n */\nexport const validationPointers = {\n Workflow: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#',\n A2AArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/4/allOf/1/properties/with',\n AllEventConsumptionStrategy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/0',\n AllEventConsumptionStrategyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/0/properties/all',\n AnyEventConsumptionStrategy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/1',\n AnyEventConsumptionStrategyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/1/properties/any',\n AnyEventConsumptionStrategyUntil:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/1/properties/until',\n AnyEventUntilConsumed:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/1/properties/until/oneOf/1',\n AsyncApiArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/0/allOf/1/properties/with',\n AuthenticationPolicy: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy',\n AuthenticationPolicyReference:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/referenceableAuthenticationPolicy/oneOf/0',\n BasicAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/0',\n BasicAuthenticationPolicyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/0/properties/basic',\n BasicAuthenticationProperties:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/0/properties/basic/oneOf/0',\n BearerAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/1',\n BearerAuthenticationPolicyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/1/properties/bearer',\n BearerAuthenticationProperties:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/1/properties/bearer/oneOf/0',\n CallA2A: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/4',\n CallAsyncAPI: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/0',\n CallFunction: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/6',\n CallGRPC: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/1',\n CallHTTP: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/2',\n CallMCP: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/5',\n CallOpenAPI: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/3',\n CallTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask',\n Catalog: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/catalog',\n CatchErrors:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/tryTask/allOf/1/properties/catch/properties/errors',\n ConstantBackoff:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/backoff/oneOf/0',\n Container:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container',\n ContainerArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container/properties/arguments',\n ContainerEnvironment:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container/properties/environment',\n ContainerLifetime:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container/properties/lifetime',\n ContainerPorts:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container/properties/ports',\n ContainerVolumes:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0/properties/container/properties/volumes',\n DigestAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/2',\n DigestAuthenticationPolicyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/2/properties/digest',\n DigestAuthenticationProperties:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/2/properties/digest/oneOf/0',\n Document: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/document',\n DoTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/doTask',\n Duration: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/duration',\n DurationInline: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/duration/oneOf/0',\n EmitEventDefinition:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/emitTask/allOf/1/properties/emit/properties/event',\n EmitEventWith:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/emitTask/allOf/1/properties/emit/properties/event/properties/with',\n EmitTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/emitTask',\n EmitTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/emitTask/allOf/1/properties/emit',\n Endpoint: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/endpoint',\n EndpointConfiguration: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/endpoint/oneOf/2',\n EndpointUri: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/endpoint/oneOf/2/properties/uri',\n Error: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/error',\n ErrorDetails: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/error/properties/detail',\n ErrorFilter: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/errorFilter',\n ErrorInstance: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/error/properties/instance',\n ErrorTitle: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/error/properties/title',\n ErrorType: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/error/properties/type',\n EventConsumptionStrategy: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy',\n EventData: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventProperties/properties/data',\n EventDataschema:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventProperties/properties/dataschema',\n EventFilter: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventFilter',\n EventFilterCorrelate:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventFilter/properties/correlate',\n EventSource: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventProperties/properties/source',\n EventTime: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventProperties/properties/time',\n ExponentialBackOff:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/backoff/oneOf/1',\n Export: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/export',\n ExportAs: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/export/properties/as',\n Extension: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/extension',\n ExtensionItem:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/extensions/items',\n ExternalResource: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/externalResource',\n ExternalScript:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/1/properties/script/oneOf/1',\n FlowDirective: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/flowDirective',\n ForkTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/forkTask',\n ForkTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/forkTask/allOf/1/properties/fork',\n ForTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/forTask',\n ForTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/forTask/allOf/1/properties/for',\n FunctionArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/6/allOf/1/properties/with',\n GRPCArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/1/allOf/1/properties/with',\n HTTPArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/2/allOf/1/properties/with',\n HTTPBody:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/2/allOf/1/properties/with/properties/body',\n HTTPHeaders:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/2/allOf/1/properties/with/properties/headers',\n HTTPQuery:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/2/allOf/1/properties/with/properties/query',\n InlineScript:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/1/properties/script/oneOf/0',\n Input: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/input',\n InputFrom: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/input/properties/from',\n LinearBackoff:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/backoff/oneOf/2',\n ListenTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/listenTask',\n ListenTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/listenTask/allOf/1/properties/listen',\n MCPArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/5/allOf/1/properties/with',\n McpCallTransport:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/5/allOf/1/properties/with/properties/transport',\n McpClient:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/5/allOf/1/properties/with/properties/client',\n McpMethodParameters:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/5/allOf/1/properties/with/properties/parameters',\n OAuth2AuthenticationData:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties',\n OAuth2AuthenticationDataAudiences:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties/properties/audiences',\n OAuth2AuthenticationDataClient:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties/properties/client',\n OAuth2AuthenticationDataScopes:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties/properties/scopes',\n OAuth2AuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/3',\n OAuth2AuthenticationPolicyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/3/properties/oauth2',\n OAuth2AuthenticationPropertiesEndpoints:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/3/properties/oauth2/oneOf/0/properties/endpoints',\n OAuth2ConnectAuthenticationProperties:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/3/properties/oauth2/oneOf/0',\n OAuth2Issuers:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties/properties/issuers',\n OAuth2TokenDefinition: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2Token',\n OAuth2TokenRequest:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/oauth2AuthenticationProperties/properties/request',\n OneEventConsumptionStrategy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventConsumptionStrategy/oneOf/2',\n OpenAPIArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/3/allOf/1/properties/with',\n OpenIdConnectAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/4',\n OpenIdConnectAuthenticationPolicyConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/4/properties/oidc',\n OpenIdConnectAuthenticationProperties:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/authenticationPolicy/oneOf/4/properties/oidc/oneOf/0',\n Output: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/output',\n OutputAs: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/output/properties/as',\n RaiseTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/raiseTask',\n RaiseTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/raiseTask/allOf/1/properties/raise',\n RaiseTaskError:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/raiseTask/allOf/1/properties/raise/properties/error',\n ReferenceableAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/referenceableAuthenticationPolicy',\n RetryBackoff: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/backoff',\n RetryLimit: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/limit',\n RetryLimitAttempt:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/limit/properties/attempt',\n RetryPolicy: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy',\n RetryPolicyJitter: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/retryPolicy/properties/jitter',\n RunContainer:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/0',\n RunScript: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/1',\n RunShell: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/2',\n RunTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask',\n RunTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run',\n RuntimeExpression: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runtimeExpression',\n RunWorkflow:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/3',\n Schedule: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/schedule',\n Schema: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/schema',\n SchemaExternal: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/schema/oneOf/1',\n SchemaInline: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/schema/oneOf/0',\n Script:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/1/properties/script',\n SecretBasedAuthenticationPolicy:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/secretBasedAuthenticationPolicy',\n SetTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/setTask',\n SetTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/setTask/allOf/1/properties/set',\n Shell:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/2/properties/shell',\n ShellArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/2/properties/shell/properties/arguments',\n ShellEnvironment:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/2/properties/shell/properties/environment',\n SubflowConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/3/properties/workflow',\n SubflowInput:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/runTask/allOf/1/properties/run/oneOf/3/properties/workflow/properties/input',\n SubscriptionIterator: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/subscriptionIterator',\n SwitchCase:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/switchTask/allOf/1/properties/switch/items/additionalProperties',\n SwitchItem:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/switchTask/allOf/1/properties/switch/items',\n SwitchTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/switchTask',\n SwitchTaskConfiguration:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/switchTask/allOf/1/properties/switch',\n Task: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/task',\n TaskBase: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskBase',\n TaskBaseIf: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskBase/properties/if',\n TaskItem: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskList/items',\n TaskList: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskList',\n TaskMetadata: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskBase/properties/metadata',\n TaskTimeout: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/taskBase/properties/timeout',\n Timeout: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/timeout',\n TryTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/tryTask',\n TryTaskCatch: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/tryTask/allOf/1/properties/catch',\n TryTaskCatchRetry:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/tryTask/allOf/1/properties/catch/properties/retry',\n UriTemplate: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/uriTemplate',\n Use: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use',\n UseAuthentications:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/authentications',\n UseCatalogs: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/catalogs',\n UseErrors: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/errors',\n UseExtensions: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/extensions',\n UseFunctions: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/functions',\n UseRetries: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/retries',\n UseSecrets: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/secrets',\n UseTimeouts: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/use/properties/timeouts',\n WaitTask: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/waitTask',\n WithA2AParameters:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/4/allOf/1/properties/with/properties/parameters',\n WithEvent: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/eventFilter/properties/with',\n WithGRPCArguments:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/1/allOf/1/properties/with/properties/arguments',\n WithGRPCService:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/1/allOf/1/properties/with/properties/service',\n WithOpenAPIParameters:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/$defs/callTask/oneOf/3/allOf/1/properties/with/properties/parameters',\n WorkflowMetadata:\n 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/document/properties/metadata',\n WorkflowTags: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/document/properties/tags',\n WorkflowTimeout: 'https://serverlessworkflow.io/schemas/1.0.3/workflow.json#/properties/timeout',\n};\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * oUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport Ajv, { ValidateFunction } from 'ajv/dist/2020.js';\nimport addFormats from 'ajv-formats';\nimport workflowSchema from './generated/schema/workflow.json';\nimport { validationPointers } from './generated/validation';\nimport { deepCopy } from './utils';\nimport { getLifecycleHooks } from './lifecycle-hooks';\nimport { Specification } from './generated/definitions';\n\nconst ajv = new Ajv({\n schemas: [workflowSchema],\n strict: false,\n});\naddFormats(ajv);\n\n/**\n * A Map of validation functions, where the key is the name of the schema to validate with\n */\nconst validators: Map<string, ValidateFunction> = new Map<string, ValidateFunction>(\n Object.entries(validationPointers).map(([typeName, jsonPointer]) => {\n if (!jsonPointer) throw new Error(`No JSON pointer provided for type '${typeName}'`);\n const validate = ajv.getSchema(jsonPointer);\n if (!validate) throw new Error(`Unable to find schema '${jsonPointer}' for type '${typeName}'`);\n return [typeName, validate as ValidateFunction];\n }),\n);\n\n/**\n * Validates the provided data or throws an error\n * @param typeName The data type to validate\n * @param data The data to validate\n * @param workflow A workflow instance, used for DSL level validation\n * @returns Throws if invalid\n */\nexport const validate = <T>(typeName: string, data: T, workflow?: Partial<Specification.Workflow>) => {\n getLifecycleHooks(typeName)?.preValidation?.(data, workflow);\n const validateFn: ValidateFunction | undefined = validators.get(typeName);\n if (!validateFn) {\n throw new Error(`Unable to find a validation function for '${typeName}'`);\n }\n // prevents possible data mutation and invalid \"additional properties\" from the classes like constructor/validate/normalize\n if (!validateFn(deepCopy(data))) {\n throw new Error(\n `'${typeName}' is invalid:\n${validateFn.errors?.reduce((acc, error) => acc + `- ${error.instancePath} | ${error.schemaPath} | ${error.message} | ${JSON.stringify(error.params)}\\n`, '') ?? ''}\n\ndata: ${JSON.stringify(data, null, 4)}`,\n );\n }\n getLifecycleHooks(typeName)?.postValidation?.(data, workflow);\n};\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the BasicAuthenticationPolicyConfiguration class and type\n */\nexport type BasicAuthenticationPolicyConfigurationIntersection = BasicAuthenticationPolicyConfiguration &\n Specification.BasicAuthenticationPolicyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the BasicAuthenticationPolicyConfiguration class and type\n */\nexport interface BasicAuthenticationPolicyConfigurationConstructor {\n new (\n model?: Partial<Specification.BasicAuthenticationPolicyConfiguration>,\n ): BasicAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * Represents a BasicAuthenticationPolicyConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BasicAuthenticationPolicyConfiguration extends ObjectHydrator<Specification.BasicAuthenticationPolicyConfiguration> {\n /**\n * Instanciates a new instance of the BasicAuthenticationPolicyConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BasicAuthenticationPolicyConfiguration.\n */\n constructor(model?: Partial<Specification.BasicAuthenticationPolicyConfiguration>) {\n super(model);\n\n getLifecycleHooks('BasicAuthenticationPolicyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BasicAuthenticationPolicyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BasicAuthenticationPolicyConfiguration(\n this as any,\n ) as BasicAuthenticationPolicyConfigurationIntersection;\n validate('BasicAuthenticationPolicyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BasicAuthenticationPolicyConfiguration.\n * Creates a copy of the BasicAuthenticationPolicyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BasicAuthenticationPolicyConfiguration instance.\n */\n normalize(): BasicAuthenticationPolicyConfiguration & Specification.BasicAuthenticationPolicyConfiguration {\n const copy = new BasicAuthenticationPolicyConfiguration(\n this as any,\n ) as BasicAuthenticationPolicyConfigurationIntersection;\n return getLifecycleHooks('BasicAuthenticationPolicyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BasicAuthenticationPolicyConfiguration =\n BasicAuthenticationPolicyConfiguration as BasicAuthenticationPolicyConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the BearerAuthenticationPolicyConfiguration class and type\n */\nexport type BearerAuthenticationPolicyConfigurationIntersection = BearerAuthenticationPolicyConfiguration &\n Specification.BearerAuthenticationPolicyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the BearerAuthenticationPolicyConfiguration class and type\n */\nexport interface BearerAuthenticationPolicyConfigurationConstructor {\n new (\n model?: Partial<Specification.BearerAuthenticationPolicyConfiguration>,\n ): BearerAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * Represents a BearerAuthenticationPolicyConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BearerAuthenticationPolicyConfiguration extends ObjectHydrator<Specification.BearerAuthenticationPolicyConfiguration> {\n /**\n * Instanciates a new instance of the BearerAuthenticationPolicyConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BearerAuthenticationPolicyConfiguration.\n */\n constructor(model?: Partial<Specification.BearerAuthenticationPolicyConfiguration>) {\n super(model);\n\n getLifecycleHooks('BearerAuthenticationPolicyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BearerAuthenticationPolicyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BearerAuthenticationPolicyConfiguration(\n this as any,\n ) as BearerAuthenticationPolicyConfigurationIntersection;\n validate('BearerAuthenticationPolicyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BearerAuthenticationPolicyConfiguration.\n * Creates a copy of the BearerAuthenticationPolicyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BearerAuthenticationPolicyConfiguration instance.\n */\n normalize(): BearerAuthenticationPolicyConfiguration & Specification.BearerAuthenticationPolicyConfiguration {\n const copy = new BearerAuthenticationPolicyConfiguration(\n this as any,\n ) as BearerAuthenticationPolicyConfigurationIntersection;\n return getLifecycleHooks('BearerAuthenticationPolicyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BearerAuthenticationPolicyConfiguration =\n BearerAuthenticationPolicyConfiguration as BearerAuthenticationPolicyConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the DigestAuthenticationPolicyConfiguration class and type\n */\nexport type DigestAuthenticationPolicyConfigurationIntersection = DigestAuthenticationPolicyConfiguration &\n Specification.DigestAuthenticationPolicyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the DigestAuthenticationPolicyConfiguration class and type\n */\nexport interface DigestAuthenticationPolicyConfigurationConstructor {\n new (\n model?: Partial<Specification.DigestAuthenticationPolicyConfiguration>,\n ): DigestAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * Represents a DigestAuthenticationPolicyConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class DigestAuthenticationPolicyConfiguration extends ObjectHydrator<Specification.DigestAuthenticationPolicyConfiguration> {\n /**\n * Instanciates a new instance of the DigestAuthenticationPolicyConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the DigestAuthenticationPolicyConfiguration.\n */\n constructor(model?: Partial<Specification.DigestAuthenticationPolicyConfiguration>) {\n super(model);\n\n getLifecycleHooks('DigestAuthenticationPolicyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the DigestAuthenticationPolicyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new DigestAuthenticationPolicyConfiguration(\n this as any,\n ) as DigestAuthenticationPolicyConfigurationIntersection;\n validate('DigestAuthenticationPolicyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the DigestAuthenticationPolicyConfiguration.\n * Creates a copy of the DigestAuthenticationPolicyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the DigestAuthenticationPolicyConfiguration instance.\n */\n normalize(): DigestAuthenticationPolicyConfiguration & Specification.DigestAuthenticationPolicyConfiguration {\n const copy = new DigestAuthenticationPolicyConfiguration(\n this as any,\n ) as DigestAuthenticationPolicyConfigurationIntersection;\n return getLifecycleHooks('DigestAuthenticationPolicyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _DigestAuthenticationPolicyConfiguration =\n DigestAuthenticationPolicyConfiguration as DigestAuthenticationPolicyConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationDataClient class and type\n */\nexport type OAuth2AuthenticationDataClientIntersection = OAuth2AuthenticationDataClient &\n Specification.OAuth2AuthenticationDataClient;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationDataClient class and type\n */\nexport interface OAuth2AuthenticationDataClientConstructor {\n new (model?: Partial<Specification.OAuth2AuthenticationDataClient>): OAuth2AuthenticationDataClientIntersection;\n}\n\n/**\n * Represents a OAuth2AuthenticationDataClient with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2AuthenticationDataClient extends ObjectHydrator<Specification.OAuth2AuthenticationDataClient> {\n /**\n * Instanciates a new instance of the OAuth2AuthenticationDataClient class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2AuthenticationDataClient.\n */\n constructor(model?: Partial<Specification.OAuth2AuthenticationDataClient>) {\n super(model);\n\n getLifecycleHooks('OAuth2AuthenticationDataClient')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationDataClient.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationDataClient(this as any) as OAuth2AuthenticationDataClientIntersection;\n validate('OAuth2AuthenticationDataClient', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationDataClient.\n * Creates a copy of the OAuth2AuthenticationDataClient, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationDataClient instance.\n */\n normalize(): OAuth2AuthenticationDataClient & Specification.OAuth2AuthenticationDataClient {\n const copy = new OAuth2AuthenticationDataClient(this as any) as OAuth2AuthenticationDataClientIntersection;\n return getLifecycleHooks('OAuth2AuthenticationDataClient')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationDataClient =\n OAuth2AuthenticationDataClient as OAuth2AuthenticationDataClientConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2TokenRequest class and type\n */\nexport type OAuth2TokenRequestIntersection = OAuth2TokenRequest & Specification.OAuth2TokenRequest;\n\n/**\n * Represents a constructor for the intersection of the OAuth2TokenRequest class and type\n */\nexport interface OAuth2TokenRequestConstructor {\n new (model?: Partial<Specification.OAuth2TokenRequest>): OAuth2TokenRequestIntersection;\n}\n\n/**\n * Represents a OAuth2TokenRequest with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2TokenRequest extends ObjectHydrator<Specification.OAuth2TokenRequest> {\n /**\n * Instanciates a new instance of the OAuth2TokenRequest class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2TokenRequest.\n */\n constructor(model?: Partial<Specification.OAuth2TokenRequest>) {\n super(model);\n\n getLifecycleHooks('OAuth2TokenRequest')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2TokenRequest.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2TokenRequest(this as any) as OAuth2TokenRequestIntersection;\n validate('OAuth2TokenRequest', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2TokenRequest.\n * Creates a copy of the OAuth2TokenRequest, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2TokenRequest instance.\n */\n normalize(): OAuth2TokenRequest & Specification.OAuth2TokenRequest {\n const copy = new OAuth2TokenRequest(this as any) as OAuth2TokenRequestIntersection;\n return getLifecycleHooks('OAuth2TokenRequest')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2TokenRequest = OAuth2TokenRequest as OAuth2TokenRequestConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2TokenDefinition class and type\n */\nexport type OAuth2TokenDefinitionIntersection = OAuth2TokenDefinition & Specification.OAuth2TokenDefinition;\n\n/**\n * Represents a constructor for the intersection of the OAuth2TokenDefinition class and type\n */\nexport interface OAuth2TokenDefinitionConstructor {\n new (model?: Partial<Specification.OAuth2TokenDefinition>): OAuth2TokenDefinitionIntersection;\n}\n\n/**\n * Represents a OAuth2TokenDefinition with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2TokenDefinition extends ObjectHydrator<Specification.OAuth2TokenDefinition> {\n /**\n * Instanciates a new instance of the OAuth2TokenDefinition class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2TokenDefinition.\n */\n constructor(model?: Partial<Specification.OAuth2TokenDefinition>) {\n super(model);\n\n getLifecycleHooks('OAuth2TokenDefinition')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2TokenDefinition.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2TokenDefinition(this as any) as OAuth2TokenDefinitionIntersection;\n validate('OAuth2TokenDefinition', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2TokenDefinition.\n * Creates a copy of the OAuth2TokenDefinition, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2TokenDefinition instance.\n */\n normalize(): OAuth2TokenDefinition & Specification.OAuth2TokenDefinition {\n const copy = new OAuth2TokenDefinition(this as any) as OAuth2TokenDefinitionIntersection;\n return getLifecycleHooks('OAuth2TokenDefinition')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2TokenDefinition = OAuth2TokenDefinition as OAuth2TokenDefinitionConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationPropertiesEndpoints class and type\n */\nexport type OAuth2AuthenticationPropertiesEndpointsIntersection = OAuth2AuthenticationPropertiesEndpoints &\n Specification.OAuth2AuthenticationPropertiesEndpoints;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationPropertiesEndpoints class and type\n */\nexport interface OAuth2AuthenticationPropertiesEndpointsConstructor {\n new (\n model?: Partial<Specification.OAuth2AuthenticationPropertiesEndpoints>,\n ): OAuth2AuthenticationPropertiesEndpointsIntersection;\n}\n\n/**\n * Represents a OAuth2AuthenticationPropertiesEndpoints with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2AuthenticationPropertiesEndpoints extends ObjectHydrator<Specification.OAuth2AuthenticationPropertiesEndpoints> {\n /**\n * Instanciates a new instance of the OAuth2AuthenticationPropertiesEndpoints class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2AuthenticationPropertiesEndpoints.\n */\n constructor(model?: Partial<Specification.OAuth2AuthenticationPropertiesEndpoints>) {\n super(model);\n\n getLifecycleHooks('OAuth2AuthenticationPropertiesEndpoints')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationPropertiesEndpoints.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationPropertiesEndpoints(\n this as any,\n ) as OAuth2AuthenticationPropertiesEndpointsIntersection;\n validate('OAuth2AuthenticationPropertiesEndpoints', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationPropertiesEndpoints.\n * Creates a copy of the OAuth2AuthenticationPropertiesEndpoints, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationPropertiesEndpoints instance.\n */\n normalize(): OAuth2AuthenticationPropertiesEndpoints & Specification.OAuth2AuthenticationPropertiesEndpoints {\n const copy = new OAuth2AuthenticationPropertiesEndpoints(\n this as any,\n ) as OAuth2AuthenticationPropertiesEndpointsIntersection;\n return getLifecycleHooks('OAuth2AuthenticationPropertiesEndpoints')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationPropertiesEndpoints =\n OAuth2AuthenticationPropertiesEndpoints as OAuth2AuthenticationPropertiesEndpointsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { _OAuth2AuthenticationPropertiesEndpoints } from './oauth2-authentication-properties-endpoints';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationPolicyConfiguration class and type\n */\nexport type OAuth2AuthenticationPolicyConfigurationIntersection = OAuth2AuthenticationPolicyConfiguration &\n Specification.OAuth2AuthenticationPolicyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationPolicyConfiguration class and type\n */\nexport interface OAuth2AuthenticationPolicyConfigurationConstructor {\n new (\n model?: Partial<Specification.OAuth2AuthenticationPolicyConfiguration>,\n ): OAuth2AuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * Represents a OAuth2AuthenticationPolicyConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2AuthenticationPolicyConfiguration extends ObjectHydrator<Specification.OAuth2AuthenticationPolicyConfiguration> {\n /**\n * Instanciates a new instance of the OAuth2AuthenticationPolicyConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2AuthenticationPolicyConfiguration.\n */\n constructor(model?: Partial<Specification.OAuth2AuthenticationPolicyConfiguration>) {\n super(model);\n const self = this as unknown as Specification.OAuth2AuthenticationPolicyConfiguration & object;\n if (isObject(model)) {\n if (typeof (model as Specification.OAuth2AuthenticationData).client === 'object')\n (self as Specification.OAuth2AuthenticationData).client = new _OAuth2AuthenticationDataClient(\n (model as Specification.OAuth2AuthenticationData).client as Specification.OAuth2AuthenticationDataClient,\n );\n if (typeof (model as Specification.OAuth2AuthenticationData).request === 'object')\n (self as Specification.OAuth2AuthenticationData).request = new _OAuth2TokenRequest(\n (model as Specification.OAuth2AuthenticationData).request as Specification.OAuth2TokenRequest,\n );\n if (typeof (model as Specification.OAuth2AuthenticationData).subject === 'object')\n (self as Specification.OAuth2AuthenticationData).subject = new _OAuth2TokenDefinition(\n (model as Specification.OAuth2AuthenticationData).subject as Specification.OAuth2TokenDefinition,\n );\n if (typeof (model as Specification.OAuth2AuthenticationData).actor === 'object')\n (self as Specification.OAuth2AuthenticationData).actor = new _OAuth2TokenDefinition(\n (model as Specification.OAuth2AuthenticationData).actor as Specification.OAuth2TokenDefinition,\n );\n if (\n typeof (\n model as {\n [k: string]: unknown;\n endpoints?: Specification.OAuth2AuthenticationPropertiesEndpoints | undefined;\n }\n ).endpoints === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n endpoints?: Specification.OAuth2AuthenticationPropertiesEndpoints | undefined;\n }\n ).endpoints = new _OAuth2AuthenticationPropertiesEndpoints(\n (\n model as {\n [k: string]: unknown;\n endpoints?: Specification.OAuth2AuthenticationPropertiesEndpoints | undefined;\n }\n ).endpoints as Specification.OAuth2AuthenticationPropertiesEndpoints,\n );\n }\n getLifecycleHooks('OAuth2AuthenticationPolicyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationPolicyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationPolicyConfiguration(\n this as any,\n ) as OAuth2AuthenticationPolicyConfigurationIntersection;\n validate('OAuth2AuthenticationPolicyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationPolicyConfiguration.\n * Creates a copy of the OAuth2AuthenticationPolicyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationPolicyConfiguration instance.\n */\n normalize(): OAuth2AuthenticationPolicyConfiguration & Specification.OAuth2AuthenticationPolicyConfiguration {\n const copy = new OAuth2AuthenticationPolicyConfiguration(\n this as any,\n ) as OAuth2AuthenticationPolicyConfigurationIntersection;\n return getLifecycleHooks('OAuth2AuthenticationPolicyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationPolicyConfiguration =\n OAuth2AuthenticationPolicyConfiguration as OAuth2AuthenticationPolicyConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OpenIdConnectAuthenticationPolicyConfiguration class and type\n */\nexport type OpenIdConnectAuthenticationPolicyConfigurationIntersection =\n OpenIdConnectAuthenticationPolicyConfiguration & Specification.OpenIdConnectAuthenticationPolicyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the OpenIdConnectAuthenticationPolicyConfiguration class and type\n */\nexport interface OpenIdConnectAuthenticationPolicyConfigurationConstructor {\n new (\n model?: Partial<Specification.OpenIdConnectAuthenticationPolicyConfiguration>,\n ): OpenIdConnectAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * Represents a OpenIdConnectAuthenticationPolicyConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OpenIdConnectAuthenticationPolicyConfiguration extends ObjectHydrator<Specification.OpenIdConnectAuthenticationPolicyConfiguration> {\n /**\n * Instanciates a new instance of the OpenIdConnectAuthenticationPolicyConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OpenIdConnectAuthenticationPolicyConfiguration.\n */\n constructor(model?: Partial<Specification.OpenIdConnectAuthenticationPolicyConfiguration>) {\n super(model);\n const self = this as unknown as Specification.OpenIdConnectAuthenticationPolicyConfiguration & object;\n if (isObject(model)) {\n if (typeof (model as Specification.OpenIdConnectAuthenticationProperties).client === 'object')\n (self as Specification.OpenIdConnectAuthenticationProperties).client = new _OAuth2AuthenticationDataClient(\n (model as Specification.OpenIdConnectAuthenticationProperties)\n .client as Specification.OAuth2AuthenticationDataClient,\n );\n if (typeof (model as Specification.OpenIdConnectAuthenticationProperties).request === 'object')\n (self as Specification.OpenIdConnectAuthenticationProperties).request = new _OAuth2TokenRequest(\n (model as Specification.OpenIdConnectAuthenticationProperties).request as Specification.OAuth2TokenRequest,\n );\n if (typeof (model as Specification.OpenIdConnectAuthenticationProperties).subject === 'object')\n (self as Specification.OpenIdConnectAuthenticationProperties).subject = new _OAuth2TokenDefinition(\n (model as Specification.OpenIdConnectAuthenticationProperties).subject as Specification.OAuth2TokenDefinition,\n );\n if (typeof (model as Specification.OpenIdConnectAuthenticationProperties).actor === 'object')\n (self as Specification.OpenIdConnectAuthenticationProperties).actor = new _OAuth2TokenDefinition(\n (model as Specification.OpenIdConnectAuthenticationProperties).actor as Specification.OAuth2TokenDefinition,\n );\n }\n getLifecycleHooks('OpenIdConnectAuthenticationPolicyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OpenIdConnectAuthenticationPolicyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OpenIdConnectAuthenticationPolicyConfiguration(\n this as any,\n ) as OpenIdConnectAuthenticationPolicyConfigurationIntersection;\n validate('OpenIdConnectAuthenticationPolicyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OpenIdConnectAuthenticationPolicyConfiguration.\n * Creates a copy of the OpenIdConnectAuthenticationPolicyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OpenIdConnectAuthenticationPolicyConfiguration instance.\n */\n normalize(): OpenIdConnectAuthenticationPolicyConfiguration &\n Specification.OpenIdConnectAuthenticationPolicyConfiguration {\n const copy = new OpenIdConnectAuthenticationPolicyConfiguration(\n this as any,\n ) as OpenIdConnectAuthenticationPolicyConfigurationIntersection;\n return getLifecycleHooks('OpenIdConnectAuthenticationPolicyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OpenIdConnectAuthenticationPolicyConfiguration =\n OpenIdConnectAuthenticationPolicyConfiguration as OpenIdConnectAuthenticationPolicyConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _BasicAuthenticationPolicyConfiguration } from './basic-authentication-policy-configuration';\nimport { _BearerAuthenticationPolicyConfiguration } from './bearer-authentication-policy-configuration';\nimport { _DigestAuthenticationPolicyConfiguration } from './digest-authentication-policy-configuration';\nimport { _OAuth2AuthenticationPolicyConfiguration } from './oauth2-authentication-policy-configuration';\nimport { _OpenIdConnectAuthenticationPolicyConfiguration } from './open-id-connect-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ReferenceableAuthenticationPolicy class and type\n */\nexport type ReferenceableAuthenticationPolicyIntersection = ReferenceableAuthenticationPolicy &\n Specification.ReferenceableAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the ReferenceableAuthenticationPolicy class and type\n */\nexport interface ReferenceableAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.ReferenceableAuthenticationPolicy>): ReferenceableAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a ReferenceableAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ReferenceableAuthenticationPolicy extends ObjectHydrator<Specification.ReferenceableAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the ReferenceableAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ReferenceableAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.ReferenceableAuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.ReferenceableAuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof (model as Specification.BasicAuthenticationPolicy).basic === 'object')\n (self as Specification.BasicAuthenticationPolicy).basic = new _BasicAuthenticationPolicyConfiguration(\n (model as Specification.BasicAuthenticationPolicy)\n .basic as Specification.BasicAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.BearerAuthenticationPolicy).bearer === 'object')\n (self as Specification.BearerAuthenticationPolicy).bearer = new _BearerAuthenticationPolicyConfiguration(\n (model as Specification.BearerAuthenticationPolicy)\n .bearer as Specification.BearerAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.DigestAuthenticationPolicy).digest === 'object')\n (self as Specification.DigestAuthenticationPolicy).digest = new _DigestAuthenticationPolicyConfiguration(\n (model as Specification.DigestAuthenticationPolicy)\n .digest as Specification.DigestAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.OAuth2AuthenticationPolicy).oauth2 === 'object')\n (self as Specification.OAuth2AuthenticationPolicy).oauth2 = new _OAuth2AuthenticationPolicyConfiguration(\n (model as Specification.OAuth2AuthenticationPolicy)\n .oauth2 as Specification.OAuth2AuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.OpenIdConnectAuthenticationPolicy).oidc === 'object')\n (self as Specification.OpenIdConnectAuthenticationPolicy).oidc =\n new _OpenIdConnectAuthenticationPolicyConfiguration(\n (model as Specification.OpenIdConnectAuthenticationPolicy)\n .oidc as Specification.OpenIdConnectAuthenticationPolicyConfiguration,\n );\n }\n getLifecycleHooks('ReferenceableAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ReferenceableAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ReferenceableAuthenticationPolicy(this as any) as ReferenceableAuthenticationPolicyIntersection;\n validate('ReferenceableAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ReferenceableAuthenticationPolicy.\n * Creates a copy of the ReferenceableAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ReferenceableAuthenticationPolicy instance.\n */\n normalize(): ReferenceableAuthenticationPolicy & Specification.ReferenceableAuthenticationPolicy {\n const copy = new ReferenceableAuthenticationPolicy(this as any) as ReferenceableAuthenticationPolicyIntersection;\n return getLifecycleHooks('ReferenceableAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ReferenceableAuthenticationPolicy =\n ReferenceableAuthenticationPolicy as ReferenceableAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ReferenceableAuthenticationPolicy } from './referenceable-authentication-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Endpoint class and type\n */\nexport type EndpointIntersection = Endpoint & Specification.Endpoint;\n\n/**\n * Represents a constructor for the intersection of the Endpoint class and type\n */\nexport interface EndpointConstructor {\n new (model?: Partial<Specification.Endpoint>): EndpointIntersection;\n}\n\n/**\n * Represents a Endpoint with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Endpoint extends ObjectHydrator<Specification.Endpoint> {\n /**\n * Instanciates a new instance of the Endpoint class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Endpoint.\n */\n constructor(model?: Partial<Specification.Endpoint>) {\n super(model);\n const self = this as unknown as Specification.Endpoint & object;\n if (isObject(model)) {\n if (typeof (model as Specification.EndpointConfiguration).authentication === 'object')\n (self as Specification.EndpointConfiguration).authentication = new _ReferenceableAuthenticationPolicy(\n (model as Specification.EndpointConfiguration)\n .authentication as Specification.ReferenceableAuthenticationPolicy,\n );\n }\n getLifecycleHooks('Endpoint')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Endpoint.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Endpoint(this as any) as EndpointIntersection;\n validate('Endpoint', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Endpoint.\n * Creates a copy of the Endpoint, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Endpoint instance.\n */\n normalize(): Endpoint & Specification.Endpoint {\n const copy = new Endpoint(this as any) as EndpointIntersection;\n return getLifecycleHooks('Endpoint')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Endpoint = Endpoint as EndpointConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Endpoint } from './endpoint';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ExternalResource class and type\n */\nexport type ExternalResourceIntersection = ExternalResource & Specification.ExternalResource;\n\n/**\n * Represents a constructor for the intersection of the ExternalResource class and type\n */\nexport interface ExternalResourceConstructor {\n new (model?: Partial<Specification.ExternalResource>): ExternalResourceIntersection;\n}\n\n/**\n * Represents a ExternalResource with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ExternalResource extends ObjectHydrator<Specification.ExternalResource> {\n /**\n * Instanciates a new instance of the ExternalResource class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ExternalResource.\n */\n constructor(model?: Partial<Specification.ExternalResource>) {\n super(model);\n const self = this as unknown as Specification.ExternalResource & object;\n if (isObject(model)) {\n if (typeof model.endpoint === 'object') self.endpoint = new _Endpoint(model.endpoint);\n }\n getLifecycleHooks('ExternalResource')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ExternalResource.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ExternalResource(this as any) as ExternalResourceIntersection;\n validate('ExternalResource', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ExternalResource.\n * Creates a copy of the ExternalResource, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ExternalResource instance.\n */\n normalize(): ExternalResource & Specification.ExternalResource {\n const copy = new ExternalResource(this as any) as ExternalResourceIntersection;\n return getLifecycleHooks('ExternalResource')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ExternalResource = ExternalResource as ExternalResourceConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { _Endpoint } from './endpoint';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the A2AArguments class and type\n */\nexport type A2AArgumentsIntersection = A2AArguments & Specification.A2AArguments;\n\n/**\n * Represents a constructor for the intersection of the A2AArguments class and type\n */\nexport interface A2AArgumentsConstructor {\n new (model?: Partial<Specification.A2AArguments>): A2AArgumentsIntersection;\n}\n\n/**\n * Represents a A2AArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class A2AArguments extends ObjectHydrator<Specification.A2AArguments> {\n /**\n * Instanciates a new instance of the A2AArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the A2AArguments.\n */\n constructor(model?: Partial<Specification.A2AArguments>) {\n super(model);\n const self = this as unknown as Specification.A2AArguments & object;\n if (isObject(model)) {\n if (typeof model.agentCard === 'object') self.agentCard = new _ExternalResource(model.agentCard);\n if (typeof model.server === 'object') self.server = new _Endpoint(model.server);\n }\n getLifecycleHooks('A2AArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the A2AArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new A2AArguments(this as any) as A2AArgumentsIntersection;\n validate('A2AArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the A2AArguments.\n * Creates a copy of the A2AArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the A2AArguments instance.\n */\n normalize(): A2AArguments & Specification.A2AArguments {\n const copy = new A2AArguments(this as any) as A2AArgumentsIntersection;\n return getLifecycleHooks('A2AArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _A2AArguments = A2AArguments as A2AArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WithEvent class and type\n */\nexport type WithEventIntersection = WithEvent & Specification.WithEvent;\n\n/**\n * Represents a constructor for the intersection of the WithEvent class and type\n */\nexport interface WithEventConstructor {\n new (model?: Partial<Specification.WithEvent>): WithEventIntersection;\n}\n\n/**\n * Represents a WithEvent with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WithEvent extends ObjectHydrator<Specification.WithEvent> {\n /**\n * Instanciates a new instance of the WithEvent class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WithEvent.\n */\n constructor(model?: Partial<Specification.WithEvent>) {\n super(model);\n\n getLifecycleHooks('WithEvent')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WithEvent.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WithEvent(this as any) as WithEventIntersection;\n validate('WithEvent', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WithEvent.\n * Creates a copy of the WithEvent, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WithEvent instance.\n */\n normalize(): WithEvent & Specification.WithEvent {\n const copy = new WithEvent(this as any) as WithEventIntersection;\n return getLifecycleHooks('WithEvent')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WithEvent = WithEvent as WithEventConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EventFilterCorrelate class and type\n */\nexport type EventFilterCorrelateIntersection = EventFilterCorrelate & Specification.EventFilterCorrelate;\n\n/**\n * Represents a constructor for the intersection of the EventFilterCorrelate class and type\n */\nexport interface EventFilterCorrelateConstructor {\n new (model?: Partial<Specification.EventFilterCorrelate>): EventFilterCorrelateIntersection;\n}\n\n/**\n * Represents a EventFilterCorrelate with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventFilterCorrelate extends ObjectHydrator<Specification.EventFilterCorrelate> {\n /**\n * Instanciates a new instance of the EventFilterCorrelate class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventFilterCorrelate.\n */\n constructor(model?: Partial<Specification.EventFilterCorrelate>) {\n super(model);\n\n getLifecycleHooks('EventFilterCorrelate')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventFilterCorrelate.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventFilterCorrelate(this as any) as EventFilterCorrelateIntersection;\n validate('EventFilterCorrelate', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventFilterCorrelate.\n * Creates a copy of the EventFilterCorrelate, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventFilterCorrelate instance.\n */\n normalize(): EventFilterCorrelate & Specification.EventFilterCorrelate {\n const copy = new EventFilterCorrelate(this as any) as EventFilterCorrelateIntersection;\n return getLifecycleHooks('EventFilterCorrelate')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventFilterCorrelate = EventFilterCorrelate as EventFilterCorrelateConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _WithEvent } from './with-event';\nimport { _EventFilterCorrelate } from './event-filter-correlate';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EventFilter class and type\n */\nexport type EventFilterIntersection = EventFilter & Specification.EventFilter;\n\n/**\n * Represents a constructor for the intersection of the EventFilter class and type\n */\nexport interface EventFilterConstructor {\n new (model?: Partial<Specification.EventFilter>): EventFilterIntersection;\n}\n\n/**\n * Represents a EventFilter with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventFilter extends ObjectHydrator<Specification.EventFilter> {\n /**\n * Instanciates a new instance of the EventFilter class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventFilter.\n */\n constructor(model?: Partial<Specification.EventFilter>) {\n super(model);\n const self = this as unknown as Specification.EventFilter & object;\n if (isObject(model)) {\n if (typeof model.with === 'object') self.with = new _WithEvent(model.with);\n if (typeof model.correlate === 'object') self.correlate = new _EventFilterCorrelate(model.correlate);\n }\n getLifecycleHooks('EventFilter')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventFilter.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventFilter(this as any) as EventFilterIntersection;\n validate('EventFilter', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventFilter.\n * Creates a copy of the EventFilter, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventFilter instance.\n */\n normalize(): EventFilter & Specification.EventFilter {\n const copy = new EventFilter(this as any) as EventFilterIntersection;\n return getLifecycleHooks('EventFilter')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventFilter = EventFilter as EventFilterConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EventFilter } from './event-filter';\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the AllEventConsumptionStrategyConfiguration class and type\n */\nexport type AllEventConsumptionStrategyConfigurationIntersection = AllEventConsumptionStrategyConfiguration &\n Specification.AllEventConsumptionStrategyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the AllEventConsumptionStrategyConfiguration class and type\n */\nexport interface AllEventConsumptionStrategyConfigurationConstructor {\n new (model?: Array<Specification.EventFilter> | number): AllEventConsumptionStrategyConfigurationIntersection;\n}\n\n/**\n * Represents a collection of Specification.EventFilter.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class AllEventConsumptionStrategyConfiguration extends ArrayHydrator<Specification.EventFilter> {\n /**\n * Constructs a new instance of the AllEventConsumptionStrategyConfiguration class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<Specification.EventFilter> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(new _EventFilter(item)));\n }\n }\n Object.setPrototypeOf(this, Object.create(AllEventConsumptionStrategyConfiguration.prototype));\n getLifecycleHooks('AllEventConsumptionStrategyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AllEventConsumptionStrategyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AllEventConsumptionStrategyConfiguration(this);\n validate('AllEventConsumptionStrategyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AllEventConsumptionStrategyConfiguration.\n * Creates a copy of the AllEventConsumptionStrategyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AllEventConsumptionStrategyConfiguration instance.\n */\n normalize(): AllEventConsumptionStrategyConfiguration {\n const copy = new AllEventConsumptionStrategyConfiguration(this);\n return getLifecycleHooks('AllEventConsumptionStrategyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AllEventConsumptionStrategyConfiguration =\n AllEventConsumptionStrategyConfiguration as unknown as AllEventConsumptionStrategyConfigurationConstructor;\n//export const _AllEventConsumptionStrategyConfiguration = AllEventConsumptionStrategyConfiguration; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AllEventConsumptionStrategyConfiguration } from './all-event-consumption-strategy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the AllEventConsumptionStrategy class and type\n */\nexport type AllEventConsumptionStrategyIntersection = AllEventConsumptionStrategy &\n Specification.AllEventConsumptionStrategy;\n\n/**\n * Represents a constructor for the intersection of the AllEventConsumptionStrategy class and type\n */\nexport interface AllEventConsumptionStrategyConstructor {\n new (model?: Partial<Specification.AllEventConsumptionStrategy>): AllEventConsumptionStrategyIntersection;\n}\n\n/**\n * Represents a AllEventConsumptionStrategy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AllEventConsumptionStrategy extends ObjectHydrator<Specification.AllEventConsumptionStrategy> {\n /**\n * Instanciates a new instance of the AllEventConsumptionStrategy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AllEventConsumptionStrategy.\n */\n constructor(model?: Partial<Specification.AllEventConsumptionStrategy>) {\n super(model);\n const self = this as unknown as Specification.AllEventConsumptionStrategy & object;\n if (isObject(model)) {\n if (typeof model.all === 'object') self.all = new _AllEventConsumptionStrategyConfiguration(model.all);\n }\n getLifecycleHooks('AllEventConsumptionStrategy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AllEventConsumptionStrategy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AllEventConsumptionStrategy(this as any) as AllEventConsumptionStrategyIntersection;\n validate('AllEventConsumptionStrategy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AllEventConsumptionStrategy.\n * Creates a copy of the AllEventConsumptionStrategy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AllEventConsumptionStrategy instance.\n */\n normalize(): AllEventConsumptionStrategy & Specification.AllEventConsumptionStrategy {\n const copy = new AllEventConsumptionStrategy(this as any) as AllEventConsumptionStrategyIntersection;\n return getLifecycleHooks('AllEventConsumptionStrategy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AllEventConsumptionStrategy = AllEventConsumptionStrategy as AllEventConsumptionStrategyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EventFilter } from './event-filter';\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the AnyEventConsumptionStrategyConfiguration class and type\n */\nexport type AnyEventConsumptionStrategyConfigurationIntersection = AnyEventConsumptionStrategyConfiguration &\n Specification.AnyEventConsumptionStrategyConfiguration;\n\n/**\n * Represents a constructor for the intersection of the AnyEventConsumptionStrategyConfiguration class and type\n */\nexport interface AnyEventConsumptionStrategyConfigurationConstructor {\n new (model?: Array<Specification.EventFilter> | number): AnyEventConsumptionStrategyConfigurationIntersection;\n}\n\n/**\n * Represents a collection of Specification.EventFilter.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class AnyEventConsumptionStrategyConfiguration extends ArrayHydrator<Specification.EventFilter> {\n /**\n * Constructs a new instance of the AnyEventConsumptionStrategyConfiguration class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<Specification.EventFilter> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(new _EventFilter(item)));\n }\n }\n Object.setPrototypeOf(this, Object.create(AnyEventConsumptionStrategyConfiguration.prototype));\n getLifecycleHooks('AnyEventConsumptionStrategyConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AnyEventConsumptionStrategyConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AnyEventConsumptionStrategyConfiguration(this);\n validate('AnyEventConsumptionStrategyConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AnyEventConsumptionStrategyConfiguration.\n * Creates a copy of the AnyEventConsumptionStrategyConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AnyEventConsumptionStrategyConfiguration instance.\n */\n normalize(): AnyEventConsumptionStrategyConfiguration {\n const copy = new AnyEventConsumptionStrategyConfiguration(this);\n return getLifecycleHooks('AnyEventConsumptionStrategyConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AnyEventConsumptionStrategyConfiguration =\n AnyEventConsumptionStrategyConfiguration as unknown as AnyEventConsumptionStrategyConfigurationConstructor;\n//export const _AnyEventConsumptionStrategyConfiguration = AnyEventConsumptionStrategyConfiguration; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AllEventConsumptionStrategyConfiguration } from './all-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyConfiguration } from './any-event-consumption-strategy-configuration';\nimport { _EventFilter } from './event-filter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the AnyEventConsumptionStrategyUntil class and type\n */\nexport type AnyEventConsumptionStrategyUntilIntersection = AnyEventConsumptionStrategyUntil &\n Specification.AnyEventConsumptionStrategyUntil;\n\n/**\n * Represents a constructor for the intersection of the AnyEventConsumptionStrategyUntil class and type\n */\nexport interface AnyEventConsumptionStrategyUntilConstructor {\n new (model?: Partial<Specification.AnyEventConsumptionStrategyUntil>): AnyEventConsumptionStrategyUntilIntersection;\n}\n\n/**\n * Represents a AnyEventConsumptionStrategyUntil with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AnyEventConsumptionStrategyUntil extends ObjectHydrator<Specification.AnyEventConsumptionStrategyUntil> {\n /**\n * Instanciates a new instance of the AnyEventConsumptionStrategyUntil class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AnyEventConsumptionStrategyUntil.\n */\n constructor(model?: Partial<Specification.AnyEventConsumptionStrategyUntil>) {\n super(model);\n const self = this as unknown as Specification.AnyEventConsumptionStrategyUntil & object;\n if (isObject(model)) {\n if (typeof (model as Specification.AllEventConsumptionStrategy).all === 'object')\n (self as Specification.AllEventConsumptionStrategy).all = new _AllEventConsumptionStrategyConfiguration(\n (model as Specification.AllEventConsumptionStrategy)\n .all as Specification.AllEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.AnyEventConsumptionStrategy).any === 'object')\n (self as Specification.AnyEventConsumptionStrategy).any = new _AnyEventConsumptionStrategyConfiguration(\n (model as Specification.AnyEventConsumptionStrategy)\n .any as Specification.AnyEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.OneEventConsumptionStrategy).one === 'object')\n (self as Specification.OneEventConsumptionStrategy).one = new _EventFilter(\n (model as Specification.OneEventConsumptionStrategy).one as Specification.EventFilter,\n );\n }\n getLifecycleHooks('AnyEventConsumptionStrategyUntil')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AnyEventConsumptionStrategyUntil.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AnyEventConsumptionStrategyUntil(this as any) as AnyEventConsumptionStrategyUntilIntersection;\n validate('AnyEventConsumptionStrategyUntil', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AnyEventConsumptionStrategyUntil.\n * Creates a copy of the AnyEventConsumptionStrategyUntil, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AnyEventConsumptionStrategyUntil instance.\n */\n normalize(): AnyEventConsumptionStrategyUntil & Specification.AnyEventConsumptionStrategyUntil {\n const copy = new AnyEventConsumptionStrategyUntil(this as any) as AnyEventConsumptionStrategyUntilIntersection;\n return getLifecycleHooks('AnyEventConsumptionStrategyUntil')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AnyEventConsumptionStrategyUntil =\n AnyEventConsumptionStrategyUntil as AnyEventConsumptionStrategyUntilConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AnyEventConsumptionStrategyConfiguration } from './any-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyUntil } from './any-event-consumption-strategy-until';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the AnyEventConsumptionStrategy class and type\n */\nexport type AnyEventConsumptionStrategyIntersection = AnyEventConsumptionStrategy &\n Specification.AnyEventConsumptionStrategy;\n\n/**\n * Represents a constructor for the intersection of the AnyEventConsumptionStrategy class and type\n */\nexport interface AnyEventConsumptionStrategyConstructor {\n new (model?: Partial<Specification.AnyEventConsumptionStrategy>): AnyEventConsumptionStrategyIntersection;\n}\n\n/**\n * Represents a AnyEventConsumptionStrategy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AnyEventConsumptionStrategy extends ObjectHydrator<Specification.AnyEventConsumptionStrategy> {\n /**\n * Instanciates a new instance of the AnyEventConsumptionStrategy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AnyEventConsumptionStrategy.\n */\n constructor(model?: Partial<Specification.AnyEventConsumptionStrategy>) {\n super(model);\n const self = this as unknown as Specification.AnyEventConsumptionStrategy & object;\n if (isObject(model)) {\n if (typeof model.any === 'object') self.any = new _AnyEventConsumptionStrategyConfiguration(model.any);\n if (typeof model.until === 'object') self.until = new _AnyEventConsumptionStrategyUntil(model.until);\n }\n getLifecycleHooks('AnyEventConsumptionStrategy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AnyEventConsumptionStrategy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AnyEventConsumptionStrategy(this as any) as AnyEventConsumptionStrategyIntersection;\n validate('AnyEventConsumptionStrategy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AnyEventConsumptionStrategy.\n * Creates a copy of the AnyEventConsumptionStrategy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AnyEventConsumptionStrategy instance.\n */\n normalize(): AnyEventConsumptionStrategy & Specification.AnyEventConsumptionStrategy {\n const copy = new AnyEventConsumptionStrategy(this as any) as AnyEventConsumptionStrategyIntersection;\n return getLifecycleHooks('AnyEventConsumptionStrategy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AnyEventConsumptionStrategy = AnyEventConsumptionStrategy as AnyEventConsumptionStrategyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AllEventConsumptionStrategyConfiguration } from './all-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyConfiguration } from './any-event-consumption-strategy-configuration';\nimport { _EventFilter } from './event-filter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the AnyEventUntilConsumed class and type\n */\nexport type AnyEventUntilConsumedIntersection = AnyEventUntilConsumed & Specification.AnyEventUntilConsumed;\n\n/**\n * Represents a constructor for the intersection of the AnyEventUntilConsumed class and type\n */\nexport interface AnyEventUntilConsumedConstructor {\n new (model?: Partial<Specification.AnyEventUntilConsumed>): AnyEventUntilConsumedIntersection;\n}\n\n/**\n * Represents a AnyEventUntilConsumed with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AnyEventUntilConsumed extends ObjectHydrator<Specification.AnyEventUntilConsumed> {\n /**\n * Instanciates a new instance of the AnyEventUntilConsumed class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AnyEventUntilConsumed.\n */\n constructor(model?: Partial<Specification.AnyEventUntilConsumed>) {\n super(model);\n const self = this as unknown as Specification.AnyEventUntilConsumed & object;\n if (isObject(model)) {\n if (typeof (model as Specification.AllEventConsumptionStrategy).all === 'object')\n (self as Specification.AllEventConsumptionStrategy).all = new _AllEventConsumptionStrategyConfiguration(\n (model as Specification.AllEventConsumptionStrategy)\n .all as Specification.AllEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.AnyEventConsumptionStrategy).any === 'object')\n (self as Specification.AnyEventConsumptionStrategy).any = new _AnyEventConsumptionStrategyConfiguration(\n (model as Specification.AnyEventConsumptionStrategy)\n .any as Specification.AnyEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.OneEventConsumptionStrategy).one === 'object')\n (self as Specification.OneEventConsumptionStrategy).one = new _EventFilter(\n (model as Specification.OneEventConsumptionStrategy).one as Specification.EventFilter,\n );\n }\n getLifecycleHooks('AnyEventUntilConsumed')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AnyEventUntilConsumed.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AnyEventUntilConsumed(this as any) as AnyEventUntilConsumedIntersection;\n validate('AnyEventUntilConsumed', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AnyEventUntilConsumed.\n * Creates a copy of the AnyEventUntilConsumed, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AnyEventUntilConsumed instance.\n */\n normalize(): AnyEventUntilConsumed & Specification.AnyEventUntilConsumed {\n const copy = new AnyEventUntilConsumed(this as any) as AnyEventUntilConsumedIntersection;\n return getLifecycleHooks('AnyEventUntilConsumed')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AnyEventUntilConsumed = AnyEventUntilConsumed as AnyEventUntilConsumedConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the AsyncApiArguments class and type\n */\nexport type AsyncApiArgumentsIntersection = AsyncApiArguments & Specification.AsyncApiArguments;\n\n/**\n * Represents a constructor for the intersection of the AsyncApiArguments class and type\n */\nexport interface AsyncApiArgumentsConstructor {\n new (model?: Partial<Specification.AsyncApiArguments>): AsyncApiArgumentsIntersection;\n}\n\n/**\n * Represents a AsyncApiArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AsyncApiArguments extends ObjectHydrator<Specification.AsyncApiArguments> {\n /**\n * Instanciates a new instance of the AsyncApiArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AsyncApiArguments.\n */\n constructor(model?: Partial<Specification.AsyncApiArguments>) {\n super(model);\n\n getLifecycleHooks('AsyncApiArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AsyncApiArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AsyncApiArguments(this as any) as AsyncApiArgumentsIntersection;\n validate('AsyncApiArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AsyncApiArguments.\n * Creates a copy of the AsyncApiArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AsyncApiArguments instance.\n */\n normalize(): AsyncApiArguments & Specification.AsyncApiArguments {\n const copy = new AsyncApiArguments(this as any) as AsyncApiArgumentsIntersection;\n return getLifecycleHooks('AsyncApiArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AsyncApiArguments = AsyncApiArguments as AsyncApiArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _BasicAuthenticationPolicyConfiguration } from './basic-authentication-policy-configuration';\nimport { _BearerAuthenticationPolicyConfiguration } from './bearer-authentication-policy-configuration';\nimport { _DigestAuthenticationPolicyConfiguration } from './digest-authentication-policy-configuration';\nimport { _OAuth2AuthenticationPolicyConfiguration } from './oauth2-authentication-policy-configuration';\nimport { _OpenIdConnectAuthenticationPolicyConfiguration } from './open-id-connect-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the AuthenticationPolicy class and type\n */\nexport type AuthenticationPolicyIntersection = AuthenticationPolicy & Specification.AuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the AuthenticationPolicy class and type\n */\nexport interface AuthenticationPolicyConstructor {\n new (model?: Partial<Specification.AuthenticationPolicy>): AuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a AuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AuthenticationPolicy extends ObjectHydrator<Specification.AuthenticationPolicy> {\n /**\n * Instanciates a new instance of the AuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.AuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.AuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof (model as Specification.BasicAuthenticationPolicy).basic === 'object')\n (self as Specification.BasicAuthenticationPolicy).basic = new _BasicAuthenticationPolicyConfiguration(\n (model as Specification.BasicAuthenticationPolicy)\n .basic as Specification.BasicAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.BearerAuthenticationPolicy).bearer === 'object')\n (self as Specification.BearerAuthenticationPolicy).bearer = new _BearerAuthenticationPolicyConfiguration(\n (model as Specification.BearerAuthenticationPolicy)\n .bearer as Specification.BearerAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.DigestAuthenticationPolicy).digest === 'object')\n (self as Specification.DigestAuthenticationPolicy).digest = new _DigestAuthenticationPolicyConfiguration(\n (model as Specification.DigestAuthenticationPolicy)\n .digest as Specification.DigestAuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.OAuth2AuthenticationPolicy).oauth2 === 'object')\n (self as Specification.OAuth2AuthenticationPolicy).oauth2 = new _OAuth2AuthenticationPolicyConfiguration(\n (model as Specification.OAuth2AuthenticationPolicy)\n .oauth2 as Specification.OAuth2AuthenticationPolicyConfiguration,\n );\n if (typeof (model as Specification.OpenIdConnectAuthenticationPolicy).oidc === 'object')\n (self as Specification.OpenIdConnectAuthenticationPolicy).oidc =\n new _OpenIdConnectAuthenticationPolicyConfiguration(\n (model as Specification.OpenIdConnectAuthenticationPolicy)\n .oidc as Specification.OpenIdConnectAuthenticationPolicyConfiguration,\n );\n }\n getLifecycleHooks('AuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AuthenticationPolicy(this as any) as AuthenticationPolicyIntersection;\n validate('AuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AuthenticationPolicy.\n * Creates a copy of the AuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AuthenticationPolicy instance.\n */\n normalize(): AuthenticationPolicy & Specification.AuthenticationPolicy {\n const copy = new AuthenticationPolicy(this as any) as AuthenticationPolicyIntersection;\n return getLifecycleHooks('AuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AuthenticationPolicy = AuthenticationPolicy as AuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the AuthenticationPolicyReference class and type\n */\nexport type AuthenticationPolicyReferenceIntersection = AuthenticationPolicyReference &\n Specification.AuthenticationPolicyReference;\n\n/**\n * Represents a constructor for the intersection of the AuthenticationPolicyReference class and type\n */\nexport interface AuthenticationPolicyReferenceConstructor {\n new (model?: Partial<Specification.AuthenticationPolicyReference>): AuthenticationPolicyReferenceIntersection;\n}\n\n/**\n * Represents a AuthenticationPolicyReference with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class AuthenticationPolicyReference extends ObjectHydrator<Specification.AuthenticationPolicyReference> {\n /**\n * Instanciates a new instance of the AuthenticationPolicyReference class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the AuthenticationPolicyReference.\n */\n constructor(model?: Partial<Specification.AuthenticationPolicyReference>) {\n super(model);\n\n getLifecycleHooks('AuthenticationPolicyReference')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the AuthenticationPolicyReference.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new AuthenticationPolicyReference(this as any) as AuthenticationPolicyReferenceIntersection;\n validate('AuthenticationPolicyReference', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the AuthenticationPolicyReference.\n * Creates a copy of the AuthenticationPolicyReference, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the AuthenticationPolicyReference instance.\n */\n normalize(): AuthenticationPolicyReference & Specification.AuthenticationPolicyReference {\n const copy = new AuthenticationPolicyReference(this as any) as AuthenticationPolicyReferenceIntersection;\n return getLifecycleHooks('AuthenticationPolicyReference')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _AuthenticationPolicyReference = AuthenticationPolicyReference as AuthenticationPolicyReferenceConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _BasicAuthenticationPolicyConfiguration } from './basic-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the BasicAuthenticationPolicy class and type\n */\nexport type BasicAuthenticationPolicyIntersection = BasicAuthenticationPolicy & Specification.BasicAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the BasicAuthenticationPolicy class and type\n */\nexport interface BasicAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.BasicAuthenticationPolicy>): BasicAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a BasicAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BasicAuthenticationPolicy extends ObjectHydrator<Specification.BasicAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the BasicAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BasicAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.BasicAuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.BasicAuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof model.basic === 'object') self.basic = new _BasicAuthenticationPolicyConfiguration(model.basic);\n }\n getLifecycleHooks('BasicAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BasicAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BasicAuthenticationPolicy(this as any) as BasicAuthenticationPolicyIntersection;\n validate('BasicAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BasicAuthenticationPolicy.\n * Creates a copy of the BasicAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BasicAuthenticationPolicy instance.\n */\n normalize(): BasicAuthenticationPolicy & Specification.BasicAuthenticationPolicy {\n const copy = new BasicAuthenticationPolicy(this as any) as BasicAuthenticationPolicyIntersection;\n return getLifecycleHooks('BasicAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BasicAuthenticationPolicy = BasicAuthenticationPolicy as BasicAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the BasicAuthenticationProperties class and type\n */\nexport type BasicAuthenticationPropertiesIntersection = BasicAuthenticationProperties &\n Specification.BasicAuthenticationProperties;\n\n/**\n * Represents a constructor for the intersection of the BasicAuthenticationProperties class and type\n */\nexport interface BasicAuthenticationPropertiesConstructor {\n new (model?: Partial<Specification.BasicAuthenticationProperties>): BasicAuthenticationPropertiesIntersection;\n}\n\n/**\n * Represents a BasicAuthenticationProperties with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BasicAuthenticationProperties extends ObjectHydrator<Specification.BasicAuthenticationProperties> {\n /**\n * Instanciates a new instance of the BasicAuthenticationProperties class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BasicAuthenticationProperties.\n */\n constructor(model?: Partial<Specification.BasicAuthenticationProperties>) {\n super(model);\n\n getLifecycleHooks('BasicAuthenticationProperties')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BasicAuthenticationProperties.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BasicAuthenticationProperties(this as any) as BasicAuthenticationPropertiesIntersection;\n validate('BasicAuthenticationProperties', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BasicAuthenticationProperties.\n * Creates a copy of the BasicAuthenticationProperties, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BasicAuthenticationProperties instance.\n */\n normalize(): BasicAuthenticationProperties & Specification.BasicAuthenticationProperties {\n const copy = new BasicAuthenticationProperties(this as any) as BasicAuthenticationPropertiesIntersection;\n return getLifecycleHooks('BasicAuthenticationProperties')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BasicAuthenticationProperties = BasicAuthenticationProperties as BasicAuthenticationPropertiesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _BearerAuthenticationPolicyConfiguration } from './bearer-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the BearerAuthenticationPolicy class and type\n */\nexport type BearerAuthenticationPolicyIntersection = BearerAuthenticationPolicy &\n Specification.BearerAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the BearerAuthenticationPolicy class and type\n */\nexport interface BearerAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.BearerAuthenticationPolicy>): BearerAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a BearerAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BearerAuthenticationPolicy extends ObjectHydrator<Specification.BearerAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the BearerAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BearerAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.BearerAuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.BearerAuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof model.bearer === 'object') self.bearer = new _BearerAuthenticationPolicyConfiguration(model.bearer);\n }\n getLifecycleHooks('BearerAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BearerAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BearerAuthenticationPolicy(this as any) as BearerAuthenticationPolicyIntersection;\n validate('BearerAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BearerAuthenticationPolicy.\n * Creates a copy of the BearerAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BearerAuthenticationPolicy instance.\n */\n normalize(): BearerAuthenticationPolicy & Specification.BearerAuthenticationPolicy {\n const copy = new BearerAuthenticationPolicy(this as any) as BearerAuthenticationPolicyIntersection;\n return getLifecycleHooks('BearerAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BearerAuthenticationPolicy = BearerAuthenticationPolicy as BearerAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the BearerAuthenticationProperties class and type\n */\nexport type BearerAuthenticationPropertiesIntersection = BearerAuthenticationProperties &\n Specification.BearerAuthenticationProperties;\n\n/**\n * Represents a constructor for the intersection of the BearerAuthenticationProperties class and type\n */\nexport interface BearerAuthenticationPropertiesConstructor {\n new (model?: Partial<Specification.BearerAuthenticationProperties>): BearerAuthenticationPropertiesIntersection;\n}\n\n/**\n * Represents a BearerAuthenticationProperties with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class BearerAuthenticationProperties extends ObjectHydrator<Specification.BearerAuthenticationProperties> {\n /**\n * Instanciates a new instance of the BearerAuthenticationProperties class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the BearerAuthenticationProperties.\n */\n constructor(model?: Partial<Specification.BearerAuthenticationProperties>) {\n super(model);\n\n getLifecycleHooks('BearerAuthenticationProperties')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the BearerAuthenticationProperties.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new BearerAuthenticationProperties(this as any) as BearerAuthenticationPropertiesIntersection;\n validate('BearerAuthenticationProperties', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the BearerAuthenticationProperties.\n * Creates a copy of the BearerAuthenticationProperties, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the BearerAuthenticationProperties instance.\n */\n normalize(): BearerAuthenticationProperties & Specification.BearerAuthenticationProperties {\n const copy = new BearerAuthenticationProperties(this as any) as BearerAuthenticationPropertiesIntersection;\n return getLifecycleHooks('BearerAuthenticationProperties')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _BearerAuthenticationProperties =\n BearerAuthenticationProperties as BearerAuthenticationPropertiesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Schema class and type\n */\nexport type SchemaIntersection = Schema & Specification.Schema;\n\n/**\n * Represents a constructor for the intersection of the Schema class and type\n */\nexport interface SchemaConstructor {\n new (model?: Partial<Specification.Schema>): SchemaIntersection;\n}\n\n/**\n * Represents a Schema with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Schema extends ObjectHydrator<Specification.Schema> {\n /**\n * Instanciates a new instance of the Schema class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Schema.\n */\n constructor(model?: Partial<Specification.Schema>) {\n super(model);\n const self = this as unknown as Specification.Schema & object;\n if (isObject(model)) {\n if (typeof (model as Specification.SchemaExternal).resource === 'object')\n (self as Specification.SchemaExternal).resource = new _ExternalResource(\n (model as Specification.SchemaExternal).resource as Specification.ExternalResource,\n );\n }\n getLifecycleHooks('Schema')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Schema.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Schema(this as any) as SchemaIntersection;\n validate('Schema', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Schema.\n * Creates a copy of the Schema, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Schema instance.\n */\n normalize(): Schema & Specification.Schema {\n const copy = new Schema(this as any) as SchemaIntersection;\n return getLifecycleHooks('Schema')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Schema = Schema as SchemaConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Schema } from './schema';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Input class and type\n */\nexport type InputIntersection = Input & Specification.Input;\n\n/**\n * Represents a constructor for the intersection of the Input class and type\n */\nexport interface InputConstructor {\n new (model?: Partial<Specification.Input>): InputIntersection;\n}\n\n/**\n * Represents a Input with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Input extends ObjectHydrator<Specification.Input> {\n /**\n * Instanciates a new instance of the Input class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Input.\n */\n constructor(model?: Partial<Specification.Input>) {\n super(model);\n const self = this as unknown as Specification.Input & object;\n if (isObject(model)) {\n if (typeof model.schema === 'object') self.schema = new _Schema(model.schema);\n }\n getLifecycleHooks('Input')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Input.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Input(this as any) as InputIntersection;\n validate('Input', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Input.\n * Creates a copy of the Input, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Input instance.\n */\n normalize(): Input & Specification.Input {\n const copy = new Input(this as any) as InputIntersection;\n return getLifecycleHooks('Input')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Input = Input as InputConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Schema } from './schema';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Output class and type\n */\nexport type OutputIntersection = Output & Specification.Output;\n\n/**\n * Represents a constructor for the intersection of the Output class and type\n */\nexport interface OutputConstructor {\n new (model?: Partial<Specification.Output>): OutputIntersection;\n}\n\n/**\n * Represents a Output with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Output extends ObjectHydrator<Specification.Output> {\n /**\n * Instanciates a new instance of the Output class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Output.\n */\n constructor(model?: Partial<Specification.Output>) {\n super(model);\n const self = this as unknown as Specification.Output & object;\n if (isObject(model)) {\n if (typeof model.schema === 'object') self.schema = new _Schema(model.schema);\n }\n getLifecycleHooks('Output')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Output.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Output(this as any) as OutputIntersection;\n validate('Output', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Output.\n * Creates a copy of the Output, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Output instance.\n */\n normalize(): Output & Specification.Output {\n const copy = new Output(this as any) as OutputIntersection;\n return getLifecycleHooks('Output')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Output = Output as OutputConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Schema } from './schema';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Export class and type\n */\nexport type ExportIntersection = Export & Specification.Export;\n\n/**\n * Represents a constructor for the intersection of the Export class and type\n */\nexport interface ExportConstructor {\n new (model?: Partial<Specification.Export>): ExportIntersection;\n}\n\n/**\n * Represents a Export with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Export extends ObjectHydrator<Specification.Export> {\n /**\n * Instanciates a new instance of the Export class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Export.\n */\n constructor(model?: Partial<Specification.Export>) {\n super(model);\n const self = this as unknown as Specification.Export & object;\n if (isObject(model)) {\n if (typeof model.schema === 'object') self.schema = new _Schema(model.schema);\n }\n getLifecycleHooks('Export')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Export.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Export(this as any) as ExportIntersection;\n validate('Export', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Export.\n * Creates a copy of the Export, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Export instance.\n */\n normalize(): Export & Specification.Export {\n const copy = new Export(this as any) as ExportIntersection;\n return getLifecycleHooks('Export')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Export = Export as ExportConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the Duration class and type\n */\nexport type DurationIntersection = Duration & Specification.Duration;\n\n/**\n * Represents a constructor for the intersection of the Duration class and type\n */\nexport interface DurationConstructor {\n new (model?: Partial<Specification.Duration>): DurationIntersection;\n}\n\n/**\n * Represents a Duration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Duration extends ObjectHydrator<Specification.Duration> {\n /**\n * Instanciates a new instance of the Duration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Duration.\n */\n constructor(model?: Partial<Specification.Duration>) {\n super(model);\n\n getLifecycleHooks('Duration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Duration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Duration(this as any) as DurationIntersection;\n validate('Duration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Duration.\n * Creates a copy of the Duration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Duration instance.\n */\n normalize(): Duration & Specification.Duration {\n const copy = new Duration(this as any) as DurationIntersection;\n return getLifecycleHooks('Duration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Duration = Duration as DurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TaskTimeout class and type\n */\nexport type TaskTimeoutIntersection = TaskTimeout & Specification.TaskTimeout;\n\n/**\n * Represents a constructor for the intersection of the TaskTimeout class and type\n */\nexport interface TaskTimeoutConstructor {\n new (model?: Partial<Specification.TaskTimeout>): TaskTimeoutIntersection;\n}\n\n/**\n * Represents a TaskTimeout with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TaskTimeout extends ObjectHydrator<Specification.TaskTimeout> {\n /**\n * Instanciates a new instance of the TaskTimeout class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TaskTimeout.\n */\n constructor(model?: Partial<Specification.TaskTimeout>) {\n super(model);\n const self = this as unknown as Specification.TaskTimeout & object;\n if (isObject(model)) {\n if (typeof (model as Specification.Timeout).after === 'object')\n (self as Specification.Timeout).after = new _Duration(\n (model as Specification.Timeout).after as Specification.Duration,\n );\n }\n getLifecycleHooks('TaskTimeout')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskTimeout.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskTimeout(this as any) as TaskTimeoutIntersection;\n validate('TaskTimeout', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskTimeout.\n * Creates a copy of the TaskTimeout, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskTimeout instance.\n */\n normalize(): TaskTimeout & Specification.TaskTimeout {\n const copy = new TaskTimeout(this as any) as TaskTimeoutIntersection;\n return getLifecycleHooks('TaskTimeout')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskTimeout = TaskTimeout as TaskTimeoutConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the TaskMetadata class and type\n */\nexport type TaskMetadataIntersection = TaskMetadata & Specification.TaskMetadata;\n\n/**\n * Represents a constructor for the intersection of the TaskMetadata class and type\n */\nexport interface TaskMetadataConstructor {\n new (model?: Partial<Specification.TaskMetadata>): TaskMetadataIntersection;\n}\n\n/**\n * Represents a TaskMetadata with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TaskMetadata extends ObjectHydrator<Specification.TaskMetadata> {\n /**\n * Instanciates a new instance of the TaskMetadata class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TaskMetadata.\n */\n constructor(model?: Partial<Specification.TaskMetadata>) {\n super(model);\n\n getLifecycleHooks('TaskMetadata')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskMetadata.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskMetadata(this as any) as TaskMetadataIntersection;\n validate('TaskMetadata', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskMetadata.\n * Creates a copy of the TaskMetadata, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskMetadata instance.\n */\n normalize(): TaskMetadata & Specification.TaskMetadata {\n const copy = new TaskMetadata(this as any) as TaskMetadataIntersection;\n return getLifecycleHooks('TaskMetadata')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskMetadata = TaskMetadata as TaskMetadataConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TaskBase class and type\n */\nexport type TaskBaseIntersection = TaskBase & Specification.TaskBase;\n\n/**\n * Represents a constructor for the intersection of the TaskBase class and type\n */\nexport interface TaskBaseConstructor {\n new (model?: Partial<Specification.TaskBase>): TaskBaseIntersection;\n}\n\n/**\n * Represents a TaskBase with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TaskBase extends ObjectHydrator<Specification.TaskBase> {\n /**\n * Instanciates a new instance of the TaskBase class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TaskBase.\n */\n constructor(model?: Partial<Specification.TaskBase>) {\n super(model);\n const self = this as unknown as Specification.TaskBase & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n }\n getLifecycleHooks('TaskBase')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskBase.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskBase(this as any) as TaskBaseIntersection;\n validate('TaskBase', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskBase.\n * Creates a copy of the TaskBase, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskBase instance.\n */\n normalize(): TaskBase & Specification.TaskBase {\n const copy = new TaskBase(this as any) as TaskBaseIntersection;\n return getLifecycleHooks('TaskBase')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskBase = TaskBase as TaskBaseConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _A2AArguments } from './a2a-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallA2A class and type\n */\nexport type CallA2AIntersection = CallA2A & Specification.CallA2A;\n\n/**\n * Represents a constructor for the intersection of the CallA2A class and type\n */\nexport interface CallA2AConstructor {\n new (model?: Partial<Specification.CallA2A>): CallA2AIntersection;\n}\n\n/**\n * Represents a CallA2A with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallA2A extends _TaskBase {\n /**\n * Instanciates a new instance of the CallA2A class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallA2A.\n */\n constructor(model?: Partial<Specification.CallA2A>) {\n super(model);\n const self = this as unknown as Specification.CallA2A & object;\n if (isObject(model)) {\n self.call = 'a2a' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _A2AArguments(model.with);\n }\n getLifecycleHooks('CallA2A')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallA2A.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallA2A(this as any) as CallA2AIntersection;\n validate('CallA2A', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallA2A.\n * Creates a copy of the CallA2A, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallA2A instance.\n */\n normalize(): CallA2A & Specification.CallA2A {\n const copy = new CallA2A(this as any) as CallA2AIntersection;\n return getLifecycleHooks('CallA2A')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallA2A = CallA2A as CallA2AConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallAsyncAPI class and type\n */\nexport type CallAsyncAPIIntersection = CallAsyncAPI & Specification.CallAsyncAPI;\n\n/**\n * Represents a constructor for the intersection of the CallAsyncAPI class and type\n */\nexport interface CallAsyncAPIConstructor {\n new (model?: Partial<Specification.CallAsyncAPI>): CallAsyncAPIIntersection;\n}\n\n/**\n * Represents a CallAsyncAPI with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallAsyncAPI extends _TaskBase {\n /**\n * Instanciates a new instance of the CallAsyncAPI class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallAsyncAPI.\n */\n constructor(model?: Partial<Specification.CallAsyncAPI>) {\n super(model);\n const self = this as unknown as Specification.CallAsyncAPI & object;\n if (isObject(model)) {\n self.call = 'asyncapi' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n }\n getLifecycleHooks('CallAsyncAPI')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallAsyncAPI.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallAsyncAPI(this as any) as CallAsyncAPIIntersection;\n validate('CallAsyncAPI', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallAsyncAPI.\n * Creates a copy of the CallAsyncAPI, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallAsyncAPI instance.\n */\n normalize(): CallAsyncAPI & Specification.CallAsyncAPI {\n const copy = new CallAsyncAPI(this as any) as CallAsyncAPIIntersection;\n return getLifecycleHooks('CallAsyncAPI')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallAsyncAPI = CallAsyncAPI as CallAsyncAPIConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the FunctionArguments class and type\n */\nexport type FunctionArgumentsIntersection = FunctionArguments & Specification.FunctionArguments;\n\n/**\n * Represents a constructor for the intersection of the FunctionArguments class and type\n */\nexport interface FunctionArgumentsConstructor {\n new (model?: Partial<Specification.FunctionArguments>): FunctionArgumentsIntersection;\n}\n\n/**\n * Represents a FunctionArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class FunctionArguments extends ObjectHydrator<Specification.FunctionArguments> {\n /**\n * Instanciates a new instance of the FunctionArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the FunctionArguments.\n */\n constructor(model?: Partial<Specification.FunctionArguments>) {\n super(model);\n\n getLifecycleHooks('FunctionArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the FunctionArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new FunctionArguments(this as any) as FunctionArgumentsIntersection;\n validate('FunctionArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the FunctionArguments.\n * Creates a copy of the FunctionArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the FunctionArguments instance.\n */\n normalize(): FunctionArguments & Specification.FunctionArguments {\n const copy = new FunctionArguments(this as any) as FunctionArgumentsIntersection;\n return getLifecycleHooks('FunctionArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _FunctionArguments = FunctionArguments as FunctionArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _FunctionArguments } from './function-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallFunction class and type\n */\nexport type CallFunctionIntersection = CallFunction & Specification.CallFunction;\n\n/**\n * Represents a constructor for the intersection of the CallFunction class and type\n */\nexport interface CallFunctionConstructor {\n new (model?: Partial<Specification.CallFunction>): CallFunctionIntersection;\n}\n\n/**\n * Represents a CallFunction with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallFunction extends _TaskBase {\n /**\n * Instanciates a new instance of the CallFunction class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallFunction.\n */\n constructor(model?: Partial<Specification.CallFunction>) {\n super(model);\n const self = this as unknown as Specification.CallFunction & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _FunctionArguments(model.with);\n }\n getLifecycleHooks('CallFunction')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallFunction.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallFunction(this as any) as CallFunctionIntersection;\n validate('CallFunction', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallFunction.\n * Creates a copy of the CallFunction, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallFunction instance.\n */\n normalize(): CallFunction & Specification.CallFunction {\n const copy = new CallFunction(this as any) as CallFunctionIntersection;\n return getLifecycleHooks('CallFunction')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallFunction = CallFunction as CallFunctionConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ReferenceableAuthenticationPolicy } from './referenceable-authentication-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the WithGRPCService class and type\n */\nexport type WithGRPCServiceIntersection = WithGRPCService & Specification.WithGRPCService;\n\n/**\n * Represents a constructor for the intersection of the WithGRPCService class and type\n */\nexport interface WithGRPCServiceConstructor {\n new (model?: Partial<Specification.WithGRPCService>): WithGRPCServiceIntersection;\n}\n\n/**\n * Represents a WithGRPCService with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WithGRPCService extends ObjectHydrator<Specification.WithGRPCService> {\n /**\n * Instanciates a new instance of the WithGRPCService class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WithGRPCService.\n */\n constructor(model?: Partial<Specification.WithGRPCService>) {\n super(model);\n const self = this as unknown as Specification.WithGRPCService & object;\n if (isObject(model)) {\n if (typeof model.authentication === 'object')\n self.authentication = new _ReferenceableAuthenticationPolicy(model.authentication);\n }\n getLifecycleHooks('WithGRPCService')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WithGRPCService.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WithGRPCService(this as any) as WithGRPCServiceIntersection;\n validate('WithGRPCService', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WithGRPCService.\n * Creates a copy of the WithGRPCService, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WithGRPCService instance.\n */\n normalize(): WithGRPCService & Specification.WithGRPCService {\n const copy = new WithGRPCService(this as any) as WithGRPCServiceIntersection;\n return getLifecycleHooks('WithGRPCService')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WithGRPCService = WithGRPCService as WithGRPCServiceConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WithGRPCArguments class and type\n */\nexport type WithGRPCArgumentsIntersection = WithGRPCArguments & Specification.WithGRPCArguments;\n\n/**\n * Represents a constructor for the intersection of the WithGRPCArguments class and type\n */\nexport interface WithGRPCArgumentsConstructor {\n new (model?: Partial<Specification.WithGRPCArguments>): WithGRPCArgumentsIntersection;\n}\n\n/**\n * Represents a WithGRPCArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WithGRPCArguments extends ObjectHydrator<Specification.WithGRPCArguments> {\n /**\n * Instanciates a new instance of the WithGRPCArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WithGRPCArguments.\n */\n constructor(model?: Partial<Specification.WithGRPCArguments>) {\n super(model);\n\n getLifecycleHooks('WithGRPCArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WithGRPCArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WithGRPCArguments(this as any) as WithGRPCArgumentsIntersection;\n validate('WithGRPCArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WithGRPCArguments.\n * Creates a copy of the WithGRPCArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WithGRPCArguments instance.\n */\n normalize(): WithGRPCArguments & Specification.WithGRPCArguments {\n const copy = new WithGRPCArguments(this as any) as WithGRPCArgumentsIntersection;\n return getLifecycleHooks('WithGRPCArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WithGRPCArguments = WithGRPCArguments as WithGRPCArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { _WithGRPCService } from './with-grpc-service';\nimport { _WithGRPCArguments } from './with-grpc-arguments';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the GRPCArguments class and type\n */\nexport type GRPCArgumentsIntersection = GRPCArguments & Specification.GRPCArguments;\n\n/**\n * Represents a constructor for the intersection of the GRPCArguments class and type\n */\nexport interface GRPCArgumentsConstructor {\n new (model?: Partial<Specification.GRPCArguments>): GRPCArgumentsIntersection;\n}\n\n/**\n * Represents a GRPCArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class GRPCArguments extends ObjectHydrator<Specification.GRPCArguments> {\n /**\n * Instanciates a new instance of the GRPCArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the GRPCArguments.\n */\n constructor(model?: Partial<Specification.GRPCArguments>) {\n super(model);\n const self = this as unknown as Specification.GRPCArguments & object;\n if (isObject(model)) {\n if (typeof model.proto === 'object') self.proto = new _ExternalResource(model.proto);\n if (typeof model.service === 'object') self.service = new _WithGRPCService(model.service);\n if (typeof model.arguments === 'object') self.arguments = new _WithGRPCArguments(model.arguments);\n }\n getLifecycleHooks('GRPCArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the GRPCArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new GRPCArguments(this as any) as GRPCArgumentsIntersection;\n validate('GRPCArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the GRPCArguments.\n * Creates a copy of the GRPCArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the GRPCArguments instance.\n */\n normalize(): GRPCArguments & Specification.GRPCArguments {\n const copy = new GRPCArguments(this as any) as GRPCArgumentsIntersection;\n return getLifecycleHooks('GRPCArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _GRPCArguments = GRPCArguments as GRPCArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _GRPCArguments } from './grpc-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallGRPC class and type\n */\nexport type CallGRPCIntersection = CallGRPC & Specification.CallGRPC;\n\n/**\n * Represents a constructor for the intersection of the CallGRPC class and type\n */\nexport interface CallGRPCConstructor {\n new (model?: Partial<Specification.CallGRPC>): CallGRPCIntersection;\n}\n\n/**\n * Represents a CallGRPC with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallGRPC extends _TaskBase {\n /**\n * Instanciates a new instance of the CallGRPC class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallGRPC.\n */\n constructor(model?: Partial<Specification.CallGRPC>) {\n super(model);\n const self = this as unknown as Specification.CallGRPC & object;\n if (isObject(model)) {\n self.call = 'grpc' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _GRPCArguments(model.with);\n }\n getLifecycleHooks('CallGRPC')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallGRPC.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallGRPC(this as any) as CallGRPCIntersection;\n validate('CallGRPC', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallGRPC.\n * Creates a copy of the CallGRPC, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallGRPC instance.\n */\n normalize(): CallGRPC & Specification.CallGRPC {\n const copy = new CallGRPC(this as any) as CallGRPCIntersection;\n return getLifecycleHooks('CallGRPC')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallGRPC = CallGRPC as CallGRPCConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the HTTPBody class and type\n */\nexport type HTTPBodyIntersection = HTTPBody & Specification.HTTPBody;\n\n/**\n * Represents a constructor for the intersection of the HTTPBody class and type\n */\nexport interface HTTPBodyConstructor {\n new (model?: Partial<Specification.HTTPBody>): HTTPBodyIntersection;\n}\n\n/**\n * Represents a HTTPBody with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class HTTPBody extends ObjectHydrator<Specification.HTTPBody> {\n /**\n * Instanciates a new instance of the HTTPBody class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the HTTPBody.\n */\n constructor(model?: Partial<Specification.HTTPBody>) {\n super(model);\n\n getLifecycleHooks('HTTPBody')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the HTTPBody.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new HTTPBody(this as any) as HTTPBodyIntersection;\n validate('HTTPBody', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the HTTPBody.\n * Creates a copy of the HTTPBody, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the HTTPBody instance.\n */\n normalize(): HTTPBody & Specification.HTTPBody {\n const copy = new HTTPBody(this as any) as HTTPBodyIntersection;\n return getLifecycleHooks('HTTPBody')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _HTTPBody = HTTPBody as HTTPBodyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Endpoint } from './endpoint';\nimport { _HTTPBody } from './http-body';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the HTTPArguments class and type\n */\nexport type HTTPArgumentsIntersection = HTTPArguments & Specification.HTTPArguments;\n\n/**\n * Represents a constructor for the intersection of the HTTPArguments class and type\n */\nexport interface HTTPArgumentsConstructor {\n new (model?: Partial<Specification.HTTPArguments>): HTTPArgumentsIntersection;\n}\n\n/**\n * Represents a HTTPArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class HTTPArguments extends ObjectHydrator<Specification.HTTPArguments> {\n /**\n * Instanciates a new instance of the HTTPArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the HTTPArguments.\n */\n constructor(model?: Partial<Specification.HTTPArguments>) {\n super(model);\n const self = this as unknown as Specification.HTTPArguments & object;\n if (isObject(model)) {\n if (typeof model.endpoint === 'object') self.endpoint = new _Endpoint(model.endpoint);\n if (typeof model.body === 'object') self.body = new _HTTPBody(model.body);\n }\n getLifecycleHooks('HTTPArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the HTTPArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new HTTPArguments(this as any) as HTTPArgumentsIntersection;\n validate('HTTPArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the HTTPArguments.\n * Creates a copy of the HTTPArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the HTTPArguments instance.\n */\n normalize(): HTTPArguments & Specification.HTTPArguments {\n const copy = new HTTPArguments(this as any) as HTTPArgumentsIntersection;\n return getLifecycleHooks('HTTPArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _HTTPArguments = HTTPArguments as HTTPArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _HTTPArguments } from './http-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallHTTP class and type\n */\nexport type CallHTTPIntersection = CallHTTP & Specification.CallHTTP;\n\n/**\n * Represents a constructor for the intersection of the CallHTTP class and type\n */\nexport interface CallHTTPConstructor {\n new (model?: Partial<Specification.CallHTTP>): CallHTTPIntersection;\n}\n\n/**\n * Represents a CallHTTP with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallHTTP extends _TaskBase {\n /**\n * Instanciates a new instance of the CallHTTP class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallHTTP.\n */\n constructor(model?: Partial<Specification.CallHTTP>) {\n super(model);\n const self = this as unknown as Specification.CallHTTP & object;\n if (isObject(model)) {\n self.call = 'http' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _HTTPArguments(model.with);\n }\n getLifecycleHooks('CallHTTP')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallHTTP.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallHTTP(this as any) as CallHTTPIntersection;\n validate('CallHTTP', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallHTTP.\n * Creates a copy of the CallHTTP, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallHTTP instance.\n */\n normalize(): CallHTTP & Specification.CallHTTP {\n const copy = new CallHTTP(this as any) as CallHTTPIntersection;\n return getLifecycleHooks('CallHTTP')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallHTTP = CallHTTP as CallHTTPConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the McpClient class and type\n */\nexport type McpClientIntersection = McpClient & Specification.McpClient;\n\n/**\n * Represents a constructor for the intersection of the McpClient class and type\n */\nexport interface McpClientConstructor {\n new (model?: Partial<Specification.McpClient>): McpClientIntersection;\n}\n\n/**\n * Represents a McpClient with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class McpClient extends ObjectHydrator<Specification.McpClient> {\n /**\n * Instanciates a new instance of the McpClient class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the McpClient.\n */\n constructor(model?: Partial<Specification.McpClient>) {\n super(model);\n\n getLifecycleHooks('McpClient')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the McpClient.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new McpClient(this as any) as McpClientIntersection;\n validate('McpClient', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the McpClient.\n * Creates a copy of the McpClient, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the McpClient instance.\n */\n normalize(): McpClient & Specification.McpClient {\n const copy = new McpClient(this as any) as McpClientIntersection;\n return getLifecycleHooks('McpClient')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _McpClient = McpClient as McpClientConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { _McpClient } from './mcp-client';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the MCPArguments class and type\n */\nexport type MCPArgumentsIntersection = MCPArguments & Specification.MCPArguments;\n\n/**\n * Represents a constructor for the intersection of the MCPArguments class and type\n */\nexport interface MCPArgumentsConstructor {\n new (model?: Partial<Specification.MCPArguments>): MCPArgumentsIntersection;\n}\n\n/**\n * Represents a MCPArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class MCPArguments extends ObjectHydrator<Specification.MCPArguments> {\n /**\n * Instanciates a new instance of the MCPArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the MCPArguments.\n */\n constructor(model?: Partial<Specification.MCPArguments>) {\n super(model);\n const self = this as unknown as Specification.MCPArguments & object;\n if (isObject(model)) {\n if (typeof model.timeout === 'object') self.timeout = new _Duration(model.timeout);\n if (typeof model.client === 'object') self.client = new _McpClient(model.client);\n }\n getLifecycleHooks('MCPArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the MCPArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new MCPArguments(this as any) as MCPArgumentsIntersection;\n validate('MCPArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the MCPArguments.\n * Creates a copy of the MCPArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the MCPArguments instance.\n */\n normalize(): MCPArguments & Specification.MCPArguments {\n const copy = new MCPArguments(this as any) as MCPArgumentsIntersection;\n return getLifecycleHooks('MCPArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _MCPArguments = MCPArguments as MCPArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _MCPArguments } from './mcp-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallMCP class and type\n */\nexport type CallMCPIntersection = CallMCP & Specification.CallMCP;\n\n/**\n * Represents a constructor for the intersection of the CallMCP class and type\n */\nexport interface CallMCPConstructor {\n new (model?: Partial<Specification.CallMCP>): CallMCPIntersection;\n}\n\n/**\n * Represents a CallMCP with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallMCP extends _TaskBase {\n /**\n * Instanciates a new instance of the CallMCP class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallMCP.\n */\n constructor(model?: Partial<Specification.CallMCP>) {\n super(model);\n const self = this as unknown as Specification.CallMCP & object;\n if (isObject(model)) {\n self.call = 'mcp' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _MCPArguments(model.with);\n }\n getLifecycleHooks('CallMCP')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallMCP.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallMCP(this as any) as CallMCPIntersection;\n validate('CallMCP', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallMCP.\n * Creates a copy of the CallMCP, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallMCP instance.\n */\n normalize(): CallMCP & Specification.CallMCP {\n const copy = new CallMCP(this as any) as CallMCPIntersection;\n return getLifecycleHooks('CallMCP')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallMCP = CallMCP as CallMCPConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WithOpenAPIParameters class and type\n */\nexport type WithOpenAPIParametersIntersection = WithOpenAPIParameters & Specification.WithOpenAPIParameters;\n\n/**\n * Represents a constructor for the intersection of the WithOpenAPIParameters class and type\n */\nexport interface WithOpenAPIParametersConstructor {\n new (model?: Partial<Specification.WithOpenAPIParameters>): WithOpenAPIParametersIntersection;\n}\n\n/**\n * Represents a WithOpenAPIParameters with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WithOpenAPIParameters extends ObjectHydrator<Specification.WithOpenAPIParameters> {\n /**\n * Instanciates a new instance of the WithOpenAPIParameters class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WithOpenAPIParameters.\n */\n constructor(model?: Partial<Specification.WithOpenAPIParameters>) {\n super(model);\n\n getLifecycleHooks('WithOpenAPIParameters')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WithOpenAPIParameters.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WithOpenAPIParameters(this as any) as WithOpenAPIParametersIntersection;\n validate('WithOpenAPIParameters', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WithOpenAPIParameters.\n * Creates a copy of the WithOpenAPIParameters, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WithOpenAPIParameters instance.\n */\n normalize(): WithOpenAPIParameters & Specification.WithOpenAPIParameters {\n const copy = new WithOpenAPIParameters(this as any) as WithOpenAPIParametersIntersection;\n return getLifecycleHooks('WithOpenAPIParameters')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WithOpenAPIParameters = WithOpenAPIParameters as WithOpenAPIParametersConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { _WithOpenAPIParameters } from './with-open-api-parameters';\nimport { _ReferenceableAuthenticationPolicy } from './referenceable-authentication-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OpenAPIArguments class and type\n */\nexport type OpenAPIArgumentsIntersection = OpenAPIArguments & Specification.OpenAPIArguments;\n\n/**\n * Represents a constructor for the intersection of the OpenAPIArguments class and type\n */\nexport interface OpenAPIArgumentsConstructor {\n new (model?: Partial<Specification.OpenAPIArguments>): OpenAPIArgumentsIntersection;\n}\n\n/**\n * Represents a OpenAPIArguments with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OpenAPIArguments extends ObjectHydrator<Specification.OpenAPIArguments> {\n /**\n * Instanciates a new instance of the OpenAPIArguments class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OpenAPIArguments.\n */\n constructor(model?: Partial<Specification.OpenAPIArguments>) {\n super(model);\n const self = this as unknown as Specification.OpenAPIArguments & object;\n if (isObject(model)) {\n if (typeof model.document === 'object') self.document = new _ExternalResource(model.document);\n if (typeof model.parameters === 'object') self.parameters = new _WithOpenAPIParameters(model.parameters);\n if (typeof model.authentication === 'object')\n self.authentication = new _ReferenceableAuthenticationPolicy(model.authentication);\n }\n getLifecycleHooks('OpenAPIArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OpenAPIArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OpenAPIArguments(this as any) as OpenAPIArgumentsIntersection;\n validate('OpenAPIArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OpenAPIArguments.\n * Creates a copy of the OpenAPIArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OpenAPIArguments instance.\n */\n normalize(): OpenAPIArguments & Specification.OpenAPIArguments {\n const copy = new OpenAPIArguments(this as any) as OpenAPIArgumentsIntersection;\n return getLifecycleHooks('OpenAPIArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OpenAPIArguments = OpenAPIArguments as OpenAPIArgumentsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _OpenAPIArguments } from './open-api-arguments';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallOpenAPI class and type\n */\nexport type CallOpenAPIIntersection = CallOpenAPI & Specification.CallOpenAPI;\n\n/**\n * Represents a constructor for the intersection of the CallOpenAPI class and type\n */\nexport interface CallOpenAPIConstructor {\n new (model?: Partial<Specification.CallOpenAPI>): CallOpenAPIIntersection;\n}\n\n/**\n * Represents a CallOpenAPI with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallOpenAPI extends _TaskBase {\n /**\n * Instanciates a new instance of the CallOpenAPI class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallOpenAPI.\n */\n constructor(model?: Partial<Specification.CallOpenAPI>) {\n super(model);\n const self = this as unknown as Specification.CallOpenAPI & object;\n if (isObject(model)) {\n self.call = 'openapi' as const;\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.with === 'object') self.with = new _OpenAPIArguments(model.with);\n }\n getLifecycleHooks('CallOpenAPI')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallOpenAPI.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallOpenAPI(this as any) as CallOpenAPIIntersection;\n validate('CallOpenAPI', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallOpenAPI.\n * Creates a copy of the CallOpenAPI, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallOpenAPI instance.\n */\n normalize(): CallOpenAPI & Specification.CallOpenAPI {\n const copy = new CallOpenAPI(this as any) as CallOpenAPIIntersection;\n return getLifecycleHooks('CallOpenAPI')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallOpenAPI = CallOpenAPI as CallOpenAPIConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CallTask class and type\n */\nexport type CallTaskIntersection = CallTask & Specification.CallTask;\n\n/**\n * Represents a constructor for the intersection of the CallTask class and type\n */\nexport interface CallTaskConstructor {\n new (model?: Partial<Specification.CallTask>): CallTaskIntersection;\n}\n\n/**\n * Represents a CallTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CallTask extends ObjectHydrator<Specification.CallTask> {\n /**\n * Instanciates a new instance of the CallTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CallTask.\n */\n constructor(model?: Partial<Specification.CallTask>) {\n super(model);\n const self = this as unknown as Specification.CallTask & object;\n if (isObject(model)) {\n if (typeof (model as Specification.TaskBase).input === 'object')\n (self as Specification.TaskBase).input = new _Input(\n (model as Specification.TaskBase).input as Specification.Input,\n );\n if (typeof (model as Specification.TaskBase).output === 'object')\n (self as Specification.TaskBase).output = new _Output(\n (model as Specification.TaskBase).output as Specification.Output,\n );\n if (typeof (model as Specification.TaskBase).export === 'object')\n (self as Specification.TaskBase).export = new _Export(\n (model as Specification.TaskBase).export as Specification.Export,\n );\n if (typeof (model as Specification.TaskBase).timeout === 'object')\n (self as Specification.TaskBase).timeout = new _TaskTimeout(\n (model as Specification.TaskBase).timeout as Specification.TaskTimeout,\n );\n if (typeof (model as Specification.TaskBase).metadata === 'object')\n (self as Specification.TaskBase).metadata = new _TaskMetadata(\n (model as Specification.TaskBase).metadata as Specification.TaskMetadata,\n );\n }\n getLifecycleHooks('CallTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CallTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CallTask(this as any) as CallTaskIntersection;\n validate('CallTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CallTask.\n * Creates a copy of the CallTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CallTask instance.\n */\n normalize(): CallTask & Specification.CallTask {\n const copy = new CallTask(this as any) as CallTaskIntersection;\n return getLifecycleHooks('CallTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CallTask = CallTask as CallTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Endpoint } from './endpoint';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Catalog class and type\n */\nexport type CatalogIntersection = Catalog & Specification.Catalog;\n\n/**\n * Represents a constructor for the intersection of the Catalog class and type\n */\nexport interface CatalogConstructor {\n new (model?: Partial<Specification.Catalog>): CatalogIntersection;\n}\n\n/**\n * Represents a Catalog with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Catalog extends ObjectHydrator<Specification.Catalog> {\n /**\n * Instanciates a new instance of the Catalog class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Catalog.\n */\n constructor(model?: Partial<Specification.Catalog>) {\n super(model);\n const self = this as unknown as Specification.Catalog & object;\n if (isObject(model)) {\n if (typeof model.endpoint === 'object') self.endpoint = new _Endpoint(model.endpoint);\n }\n getLifecycleHooks('Catalog')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Catalog.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Catalog(this as any) as CatalogIntersection;\n validate('Catalog', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Catalog.\n * Creates a copy of the Catalog, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Catalog instance.\n */\n normalize(): Catalog & Specification.Catalog {\n const copy = new Catalog(this as any) as CatalogIntersection;\n return getLifecycleHooks('Catalog')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Catalog = Catalog as CatalogConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ErrorFilter class and type\n */\nexport type ErrorFilterIntersection = ErrorFilter & Specification.ErrorFilter;\n\n/**\n * Represents a constructor for the intersection of the ErrorFilter class and type\n */\nexport interface ErrorFilterConstructor {\n new (model?: Partial<Specification.ErrorFilter>): ErrorFilterIntersection;\n}\n\n/**\n * Represents a ErrorFilter with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ErrorFilter extends ObjectHydrator<Specification.ErrorFilter> {\n /**\n * Instanciates a new instance of the ErrorFilter class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ErrorFilter.\n */\n constructor(model?: Partial<Specification.ErrorFilter>) {\n super(model);\n\n getLifecycleHooks('ErrorFilter')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ErrorFilter.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ErrorFilter(this as any) as ErrorFilterIntersection;\n validate('ErrorFilter', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ErrorFilter.\n * Creates a copy of the ErrorFilter, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ErrorFilter instance.\n */\n normalize(): ErrorFilter & Specification.ErrorFilter {\n const copy = new ErrorFilter(this as any) as ErrorFilterIntersection;\n return getLifecycleHooks('ErrorFilter')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ErrorFilter = ErrorFilter as ErrorFilterConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ErrorFilter } from './error-filter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the CatchErrors class and type\n */\nexport type CatchErrorsIntersection = CatchErrors & Specification.CatchErrors;\n\n/**\n * Represents a constructor for the intersection of the CatchErrors class and type\n */\nexport interface CatchErrorsConstructor {\n new (model?: Partial<Specification.CatchErrors>): CatchErrorsIntersection;\n}\n\n/**\n * Represents a CatchErrors with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class CatchErrors extends ObjectHydrator<Specification.CatchErrors> {\n /**\n * Instanciates a new instance of the CatchErrors class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the CatchErrors.\n */\n constructor(model?: Partial<Specification.CatchErrors>) {\n super(model);\n const self = this as unknown as Specification.CatchErrors & object;\n if (isObject(model)) {\n if (typeof model.with === 'object') self.with = new _ErrorFilter(model.with);\n }\n getLifecycleHooks('CatchErrors')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the CatchErrors.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new CatchErrors(this as any) as CatchErrorsIntersection;\n validate('CatchErrors', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the CatchErrors.\n * Creates a copy of the CatchErrors, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the CatchErrors instance.\n */\n normalize(): CatchErrors & Specification.CatchErrors {\n const copy = new CatchErrors(this as any) as CatchErrorsIntersection;\n return getLifecycleHooks('CatchErrors')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _CatchErrors = CatchErrors as CatchErrorsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ConstantBackoff class and type\n */\nexport type ConstantBackoffIntersection = ConstantBackoff & Specification.ConstantBackoff;\n\n/**\n * Represents a constructor for the intersection of the ConstantBackoff class and type\n */\nexport interface ConstantBackoffConstructor {\n new (model?: Partial<Specification.ConstantBackoff>): ConstantBackoffIntersection;\n}\n\n/**\n * Represents a ConstantBackoff with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ConstantBackoff extends ObjectHydrator<Specification.ConstantBackoff> {\n /**\n * Instanciates a new instance of the ConstantBackoff class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ConstantBackoff.\n */\n constructor(model?: Partial<Specification.ConstantBackoff>) {\n super(model);\n\n getLifecycleHooks('ConstantBackoff')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ConstantBackoff.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ConstantBackoff(this as any) as ConstantBackoffIntersection;\n validate('ConstantBackoff', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ConstantBackoff.\n * Creates a copy of the ConstantBackoff, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ConstantBackoff instance.\n */\n normalize(): ConstantBackoff & Specification.ConstantBackoff {\n const copy = new ConstantBackoff(this as any) as ConstantBackoffIntersection;\n return getLifecycleHooks('ConstantBackoff')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ConstantBackoff = ConstantBackoff as ConstantBackoffConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ContainerPorts class and type\n */\nexport type ContainerPortsIntersection = ContainerPorts & Specification.ContainerPorts;\n\n/**\n * Represents a constructor for the intersection of the ContainerPorts class and type\n */\nexport interface ContainerPortsConstructor {\n new (model?: Partial<Specification.ContainerPorts>): ContainerPortsIntersection;\n}\n\n/**\n * Represents a ContainerPorts with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ContainerPorts extends ObjectHydrator<Specification.ContainerPorts> {\n /**\n * Instanciates a new instance of the ContainerPorts class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ContainerPorts.\n */\n constructor(model?: Partial<Specification.ContainerPorts>) {\n super(model);\n\n getLifecycleHooks('ContainerPorts')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ContainerPorts.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ContainerPorts(this as any) as ContainerPortsIntersection;\n validate('ContainerPorts', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ContainerPorts.\n * Creates a copy of the ContainerPorts, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ContainerPorts instance.\n */\n normalize(): ContainerPorts & Specification.ContainerPorts {\n const copy = new ContainerPorts(this as any) as ContainerPortsIntersection;\n return getLifecycleHooks('ContainerPorts')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ContainerPorts = ContainerPorts as ContainerPortsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ContainerVolumes class and type\n */\nexport type ContainerVolumesIntersection = ContainerVolumes & Specification.ContainerVolumes;\n\n/**\n * Represents a constructor for the intersection of the ContainerVolumes class and type\n */\nexport interface ContainerVolumesConstructor {\n new (model?: Partial<Specification.ContainerVolumes>): ContainerVolumesIntersection;\n}\n\n/**\n * Represents a ContainerVolumes with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ContainerVolumes extends ObjectHydrator<Specification.ContainerVolumes> {\n /**\n * Instanciates a new instance of the ContainerVolumes class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ContainerVolumes.\n */\n constructor(model?: Partial<Specification.ContainerVolumes>) {\n super(model);\n\n getLifecycleHooks('ContainerVolumes')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ContainerVolumes.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ContainerVolumes(this as any) as ContainerVolumesIntersection;\n validate('ContainerVolumes', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ContainerVolumes.\n * Creates a copy of the ContainerVolumes, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ContainerVolumes instance.\n */\n normalize(): ContainerVolumes & Specification.ContainerVolumes {\n const copy = new ContainerVolumes(this as any) as ContainerVolumesIntersection;\n return getLifecycleHooks('ContainerVolumes')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ContainerVolumes = ContainerVolumes as ContainerVolumesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ContainerEnvironment class and type\n */\nexport type ContainerEnvironmentIntersection = ContainerEnvironment & Specification.ContainerEnvironment;\n\n/**\n * Represents a constructor for the intersection of the ContainerEnvironment class and type\n */\nexport interface ContainerEnvironmentConstructor {\n new (model?: Partial<Specification.ContainerEnvironment>): ContainerEnvironmentIntersection;\n}\n\n/**\n * Represents a ContainerEnvironment with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ContainerEnvironment extends ObjectHydrator<Specification.ContainerEnvironment> {\n /**\n * Instanciates a new instance of the ContainerEnvironment class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ContainerEnvironment.\n */\n constructor(model?: Partial<Specification.ContainerEnvironment>) {\n super(model);\n\n getLifecycleHooks('ContainerEnvironment')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ContainerEnvironment.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ContainerEnvironment(this as any) as ContainerEnvironmentIntersection;\n validate('ContainerEnvironment', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ContainerEnvironment.\n * Creates a copy of the ContainerEnvironment, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ContainerEnvironment instance.\n */\n normalize(): ContainerEnvironment & Specification.ContainerEnvironment {\n const copy = new ContainerEnvironment(this as any) as ContainerEnvironmentIntersection;\n return getLifecycleHooks('ContainerEnvironment')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ContainerEnvironment = ContainerEnvironment as ContainerEnvironmentConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ContainerLifetime class and type\n */\nexport type ContainerLifetimeIntersection = ContainerLifetime & Specification.ContainerLifetime;\n\n/**\n * Represents a constructor for the intersection of the ContainerLifetime class and type\n */\nexport interface ContainerLifetimeConstructor {\n new (model?: Partial<Specification.ContainerLifetime>): ContainerLifetimeIntersection;\n}\n\n/**\n * Represents a ContainerLifetime with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ContainerLifetime extends ObjectHydrator<Specification.ContainerLifetime> {\n /**\n * Instanciates a new instance of the ContainerLifetime class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ContainerLifetime.\n */\n constructor(model?: Partial<Specification.ContainerLifetime>) {\n super(model);\n const self = this as unknown as Specification.ContainerLifetime & object;\n if (isObject(model)) {\n if (typeof model.after === 'object') self.after = new _Duration(model.after);\n }\n getLifecycleHooks('ContainerLifetime')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ContainerLifetime.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ContainerLifetime(this as any) as ContainerLifetimeIntersection;\n validate('ContainerLifetime', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ContainerLifetime.\n * Creates a copy of the ContainerLifetime, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ContainerLifetime instance.\n */\n normalize(): ContainerLifetime & Specification.ContainerLifetime {\n const copy = new ContainerLifetime(this as any) as ContainerLifetimeIntersection;\n return getLifecycleHooks('ContainerLifetime')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ContainerLifetime = ContainerLifetime as ContainerLifetimeConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ContainerPorts } from './container-ports';\nimport { _ContainerVolumes } from './container-volumes';\nimport { _ContainerEnvironment } from './container-environment';\nimport { _ContainerLifetime } from './container-lifetime';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Container class and type\n */\nexport type ContainerIntersection = Container & Specification.Container;\n\n/**\n * Represents a constructor for the intersection of the Container class and type\n */\nexport interface ContainerConstructor {\n new (model?: Partial<Specification.Container>): ContainerIntersection;\n}\n\n/**\n * Represents a Container with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Container extends ObjectHydrator<Specification.Container> {\n /**\n * Instanciates a new instance of the Container class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Container.\n */\n constructor(model?: Partial<Specification.Container>) {\n super(model);\n const self = this as unknown as Specification.Container & object;\n if (isObject(model)) {\n if (typeof model.ports === 'object') self.ports = new _ContainerPorts(model.ports);\n if (typeof model.volumes === 'object') self.volumes = new _ContainerVolumes(model.volumes);\n if (typeof model.environment === 'object') self.environment = new _ContainerEnvironment(model.environment);\n if (typeof model.lifetime === 'object') self.lifetime = new _ContainerLifetime(model.lifetime);\n }\n getLifecycleHooks('Container')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Container.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Container(this as any) as ContainerIntersection;\n validate('Container', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Container.\n * Creates a copy of the Container, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Container instance.\n */\n normalize(): Container & Specification.Container {\n const copy = new Container(this as any) as ContainerIntersection;\n return getLifecycleHooks('Container')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Container = Container as ContainerConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ContainerArguments class and type\n */\nexport type ContainerArgumentsIntersection = ContainerArguments & Specification.ContainerArguments;\n\n/**\n * Represents a constructor for the intersection of the ContainerArguments class and type\n */\nexport interface ContainerArgumentsConstructor {\n new (model?: Array<string> | number): ContainerArgumentsIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class ContainerArguments extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the ContainerArguments class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(ContainerArguments.prototype));\n getLifecycleHooks('ContainerArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ContainerArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ContainerArguments(this);\n validate('ContainerArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ContainerArguments.\n * Creates a copy of the ContainerArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ContainerArguments instance.\n */\n normalize(): ContainerArguments {\n const copy = new ContainerArguments(this);\n return getLifecycleHooks('ContainerArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ContainerArguments = ContainerArguments as unknown as ContainerArgumentsConstructor;\n//export const _ContainerArguments = ContainerArguments; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _DigestAuthenticationPolicyConfiguration } from './digest-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the DigestAuthenticationPolicy class and type\n */\nexport type DigestAuthenticationPolicyIntersection = DigestAuthenticationPolicy &\n Specification.DigestAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the DigestAuthenticationPolicy class and type\n */\nexport interface DigestAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.DigestAuthenticationPolicy>): DigestAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a DigestAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class DigestAuthenticationPolicy extends ObjectHydrator<Specification.DigestAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the DigestAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the DigestAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.DigestAuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.DigestAuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof model.digest === 'object') self.digest = new _DigestAuthenticationPolicyConfiguration(model.digest);\n }\n getLifecycleHooks('DigestAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the DigestAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new DigestAuthenticationPolicy(this as any) as DigestAuthenticationPolicyIntersection;\n validate('DigestAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the DigestAuthenticationPolicy.\n * Creates a copy of the DigestAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the DigestAuthenticationPolicy instance.\n */\n normalize(): DigestAuthenticationPolicy & Specification.DigestAuthenticationPolicy {\n const copy = new DigestAuthenticationPolicy(this as any) as DigestAuthenticationPolicyIntersection;\n return getLifecycleHooks('DigestAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _DigestAuthenticationPolicy = DigestAuthenticationPolicy as DigestAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the DigestAuthenticationProperties class and type\n */\nexport type DigestAuthenticationPropertiesIntersection = DigestAuthenticationProperties &\n Specification.DigestAuthenticationProperties;\n\n/**\n * Represents a constructor for the intersection of the DigestAuthenticationProperties class and type\n */\nexport interface DigestAuthenticationPropertiesConstructor {\n new (model?: Partial<Specification.DigestAuthenticationProperties>): DigestAuthenticationPropertiesIntersection;\n}\n\n/**\n * Represents a DigestAuthenticationProperties with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class DigestAuthenticationProperties extends ObjectHydrator<Specification.DigestAuthenticationProperties> {\n /**\n * Instanciates a new instance of the DigestAuthenticationProperties class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the DigestAuthenticationProperties.\n */\n constructor(model?: Partial<Specification.DigestAuthenticationProperties>) {\n super(model);\n\n getLifecycleHooks('DigestAuthenticationProperties')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the DigestAuthenticationProperties.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new DigestAuthenticationProperties(this as any) as DigestAuthenticationPropertiesIntersection;\n validate('DigestAuthenticationProperties', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the DigestAuthenticationProperties.\n * Creates a copy of the DigestAuthenticationProperties, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the DigestAuthenticationProperties instance.\n */\n normalize(): DigestAuthenticationProperties & Specification.DigestAuthenticationProperties {\n const copy = new DigestAuthenticationProperties(this as any) as DigestAuthenticationPropertiesIntersection;\n return getLifecycleHooks('DigestAuthenticationProperties')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _DigestAuthenticationProperties =\n DigestAuthenticationProperties as DigestAuthenticationPropertiesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WorkflowTags class and type\n */\nexport type WorkflowTagsIntersection = WorkflowTags & Specification.WorkflowTags;\n\n/**\n * Represents a constructor for the intersection of the WorkflowTags class and type\n */\nexport interface WorkflowTagsConstructor {\n new (model?: Partial<Specification.WorkflowTags>): WorkflowTagsIntersection;\n}\n\n/**\n * Represents a WorkflowTags with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WorkflowTags extends ObjectHydrator<Specification.WorkflowTags> {\n /**\n * Instanciates a new instance of the WorkflowTags class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WorkflowTags.\n */\n constructor(model?: Partial<Specification.WorkflowTags>) {\n super(model);\n\n getLifecycleHooks('WorkflowTags')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WorkflowTags.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WorkflowTags(this as any) as WorkflowTagsIntersection;\n validate('WorkflowTags', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WorkflowTags.\n * Creates a copy of the WorkflowTags, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WorkflowTags instance.\n */\n normalize(): WorkflowTags & Specification.WorkflowTags {\n const copy = new WorkflowTags(this as any) as WorkflowTagsIntersection;\n return getLifecycleHooks('WorkflowTags')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WorkflowTags = WorkflowTags as WorkflowTagsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WorkflowMetadata class and type\n */\nexport type WorkflowMetadataIntersection = WorkflowMetadata & Specification.WorkflowMetadata;\n\n/**\n * Represents a constructor for the intersection of the WorkflowMetadata class and type\n */\nexport interface WorkflowMetadataConstructor {\n new (model?: Partial<Specification.WorkflowMetadata>): WorkflowMetadataIntersection;\n}\n\n/**\n * Represents a WorkflowMetadata with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WorkflowMetadata extends ObjectHydrator<Specification.WorkflowMetadata> {\n /**\n * Instanciates a new instance of the WorkflowMetadata class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WorkflowMetadata.\n */\n constructor(model?: Partial<Specification.WorkflowMetadata>) {\n super(model);\n\n getLifecycleHooks('WorkflowMetadata')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WorkflowMetadata.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WorkflowMetadata(this as any) as WorkflowMetadataIntersection;\n validate('WorkflowMetadata', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WorkflowMetadata.\n * Creates a copy of the WorkflowMetadata, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WorkflowMetadata instance.\n */\n normalize(): WorkflowMetadata & Specification.WorkflowMetadata {\n const copy = new WorkflowMetadata(this as any) as WorkflowMetadataIntersection;\n return getLifecycleHooks('WorkflowMetadata')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WorkflowMetadata = WorkflowMetadata as WorkflowMetadataConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _WorkflowTags } from './workflow-tags';\nimport { _WorkflowMetadata } from './workflow-metadata';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Document class and type\n */\nexport type DocumentIntersection = Document & Specification.Document;\n\n/**\n * Represents a constructor for the intersection of the Document class and type\n */\nexport interface DocumentConstructor {\n new (model?: Partial<Specification.Document>): DocumentIntersection;\n}\n\n/**\n * Represents a Document with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Document extends ObjectHydrator<Specification.Document> {\n /**\n * Instanciates a new instance of the Document class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Document.\n */\n constructor(model?: Partial<Specification.Document>) {\n super(model);\n const self = this as unknown as Specification.Document & object;\n if (isObject(model)) {\n if (typeof model.tags === 'object') self.tags = new _WorkflowTags(model.tags);\n if (typeof model.metadata === 'object') self.metadata = new _WorkflowMetadata(model.metadata);\n }\n getLifecycleHooks('Document')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Document.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Document(this as any) as DocumentIntersection;\n validate('Document', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Document.\n * Creates a copy of the Document, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Document instance.\n */\n normalize(): Document & Specification.Document {\n const copy = new Document(this as any) as DocumentIntersection;\n return getLifecycleHooks('Document')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Document = Document as DocumentConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _TaskList } from './task-list';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ForkTaskConfiguration class and type\n */\nexport type ForkTaskConfigurationIntersection = ForkTaskConfiguration & Specification.ForkTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the ForkTaskConfiguration class and type\n */\nexport interface ForkTaskConfigurationConstructor {\n new (model?: Partial<Specification.ForkTaskConfiguration>): ForkTaskConfigurationIntersection;\n}\n\n/**\n * Represents a ForkTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ForkTaskConfiguration extends ObjectHydrator<Specification.ForkTaskConfiguration> {\n /**\n * Instanciates a new instance of the ForkTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ForkTaskConfiguration.\n */\n constructor(model?: Partial<Specification.ForkTaskConfiguration>) {\n super(model);\n const self = this as unknown as Specification.ForkTaskConfiguration & object;\n if (isObject(model)) {\n if (typeof model.branches === 'object') self.branches = new _TaskList(model.branches);\n }\n getLifecycleHooks('ForkTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ForkTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ForkTaskConfiguration(this as any) as ForkTaskConfigurationIntersection;\n validate('ForkTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ForkTaskConfiguration.\n * Creates a copy of the ForkTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ForkTaskConfiguration instance.\n */\n normalize(): ForkTaskConfiguration & Specification.ForkTaskConfiguration {\n const copy = new ForkTaskConfiguration(this as any) as ForkTaskConfigurationIntersection;\n return getLifecycleHooks('ForkTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ForkTaskConfiguration = ForkTaskConfiguration as ForkTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EmitEventWith class and type\n */\nexport type EmitEventWithIntersection = EmitEventWith & Specification.EmitEventWith;\n\n/**\n * Represents a constructor for the intersection of the EmitEventWith class and type\n */\nexport interface EmitEventWithConstructor {\n new (model?: Partial<Specification.EmitEventWith>): EmitEventWithIntersection;\n}\n\n/**\n * Represents a EmitEventWith with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EmitEventWith extends ObjectHydrator<Specification.EmitEventWith> {\n /**\n * Instanciates a new instance of the EmitEventWith class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EmitEventWith.\n */\n constructor(model?: Partial<Specification.EmitEventWith>) {\n super(model);\n\n getLifecycleHooks('EmitEventWith')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EmitEventWith.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EmitEventWith(this as any) as EmitEventWithIntersection;\n validate('EmitEventWith', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EmitEventWith.\n * Creates a copy of the EmitEventWith, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EmitEventWith instance.\n */\n normalize(): EmitEventWith & Specification.EmitEventWith {\n const copy = new EmitEventWith(this as any) as EmitEventWithIntersection;\n return getLifecycleHooks('EmitEventWith')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EmitEventWith = EmitEventWith as EmitEventWithConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EmitEventWith } from './emit-event-with';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EmitEventDefinition class and type\n */\nexport type EmitEventDefinitionIntersection = EmitEventDefinition & Specification.EmitEventDefinition;\n\n/**\n * Represents a constructor for the intersection of the EmitEventDefinition class and type\n */\nexport interface EmitEventDefinitionConstructor {\n new (model?: Partial<Specification.EmitEventDefinition>): EmitEventDefinitionIntersection;\n}\n\n/**\n * Represents a EmitEventDefinition with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EmitEventDefinition extends ObjectHydrator<Specification.EmitEventDefinition> {\n /**\n * Instanciates a new instance of the EmitEventDefinition class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EmitEventDefinition.\n */\n constructor(model?: Partial<Specification.EmitEventDefinition>) {\n super(model);\n const self = this as unknown as Specification.EmitEventDefinition & object;\n if (isObject(model)) {\n if (typeof model.with === 'object') self.with = new _EmitEventWith(model.with);\n }\n getLifecycleHooks('EmitEventDefinition')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EmitEventDefinition.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EmitEventDefinition(this as any) as EmitEventDefinitionIntersection;\n validate('EmitEventDefinition', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EmitEventDefinition.\n * Creates a copy of the EmitEventDefinition, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EmitEventDefinition instance.\n */\n normalize(): EmitEventDefinition & Specification.EmitEventDefinition {\n const copy = new EmitEventDefinition(this as any) as EmitEventDefinitionIntersection;\n return getLifecycleHooks('EmitEventDefinition')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EmitEventDefinition = EmitEventDefinition as EmitEventDefinitionConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EmitEventDefinition } from './emit-event-definition';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EmitTaskConfiguration class and type\n */\nexport type EmitTaskConfigurationIntersection = EmitTaskConfiguration & Specification.EmitTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the EmitTaskConfiguration class and type\n */\nexport interface EmitTaskConfigurationConstructor {\n new (model?: Partial<Specification.EmitTaskConfiguration>): EmitTaskConfigurationIntersection;\n}\n\n/**\n * Represents a EmitTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EmitTaskConfiguration extends ObjectHydrator<Specification.EmitTaskConfiguration> {\n /**\n * Instanciates a new instance of the EmitTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EmitTaskConfiguration.\n */\n constructor(model?: Partial<Specification.EmitTaskConfiguration>) {\n super(model);\n const self = this as unknown as Specification.EmitTaskConfiguration & object;\n if (isObject(model)) {\n if (typeof model.event === 'object') self.event = new _EmitEventDefinition(model.event);\n }\n getLifecycleHooks('EmitTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EmitTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EmitTaskConfiguration(this as any) as EmitTaskConfigurationIntersection;\n validate('EmitTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EmitTaskConfiguration.\n * Creates a copy of the EmitTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EmitTaskConfiguration instance.\n */\n normalize(): EmitTaskConfiguration & Specification.EmitTaskConfiguration {\n const copy = new EmitTaskConfiguration(this as any) as EmitTaskConfigurationIntersection;\n return getLifecycleHooks('EmitTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EmitTaskConfiguration = EmitTaskConfiguration as EmitTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ForTaskConfiguration class and type\n */\nexport type ForTaskConfigurationIntersection = ForTaskConfiguration & Specification.ForTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the ForTaskConfiguration class and type\n */\nexport interface ForTaskConfigurationConstructor {\n new (model?: Partial<Specification.ForTaskConfiguration>): ForTaskConfigurationIntersection;\n}\n\n/**\n * Represents a ForTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ForTaskConfiguration extends ObjectHydrator<Specification.ForTaskConfiguration> {\n /**\n * Instanciates a new instance of the ForTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ForTaskConfiguration.\n */\n constructor(model?: Partial<Specification.ForTaskConfiguration>) {\n super(model);\n\n getLifecycleHooks('ForTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ForTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ForTaskConfiguration(this as any) as ForTaskConfigurationIntersection;\n validate('ForTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ForTaskConfiguration.\n * Creates a copy of the ForTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ForTaskConfiguration instance.\n */\n normalize(): ForTaskConfiguration & Specification.ForTaskConfiguration {\n const copy = new ForTaskConfiguration(this as any) as ForTaskConfigurationIntersection;\n return getLifecycleHooks('ForTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ForTaskConfiguration = ForTaskConfiguration as ForTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AllEventConsumptionStrategyConfiguration } from './all-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyConfiguration } from './any-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyUntil } from './any-event-consumption-strategy-until';\nimport { _EventFilter } from './event-filter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EventConsumptionStrategy class and type\n */\nexport type EventConsumptionStrategyIntersection = EventConsumptionStrategy & Specification.EventConsumptionStrategy;\n\n/**\n * Represents a constructor for the intersection of the EventConsumptionStrategy class and type\n */\nexport interface EventConsumptionStrategyConstructor {\n new (model?: Partial<Specification.EventConsumptionStrategy>): EventConsumptionStrategyIntersection;\n}\n\n/**\n * Represents a EventConsumptionStrategy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventConsumptionStrategy extends ObjectHydrator<Specification.EventConsumptionStrategy> {\n /**\n * Instanciates a new instance of the EventConsumptionStrategy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventConsumptionStrategy.\n */\n constructor(model?: Partial<Specification.EventConsumptionStrategy>) {\n super(model);\n const self = this as unknown as Specification.EventConsumptionStrategy & object;\n if (isObject(model)) {\n if (typeof (model as Specification.AllEventConsumptionStrategy).all === 'object')\n (self as Specification.AllEventConsumptionStrategy).all = new _AllEventConsumptionStrategyConfiguration(\n (model as Specification.AllEventConsumptionStrategy)\n .all as Specification.AllEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.AnyEventConsumptionStrategy).any === 'object')\n (self as Specification.AnyEventConsumptionStrategy).any = new _AnyEventConsumptionStrategyConfiguration(\n (model as Specification.AnyEventConsumptionStrategy)\n .any as Specification.AnyEventConsumptionStrategyConfiguration,\n );\n if (typeof (model as Specification.AnyEventConsumptionStrategy).until === 'object')\n (self as Specification.AnyEventConsumptionStrategy).until = new _AnyEventConsumptionStrategyUntil(\n (model as Specification.AnyEventConsumptionStrategy).until as Specification.AnyEventConsumptionStrategyUntil,\n );\n if (typeof (model as Specification.OneEventConsumptionStrategy).one === 'object')\n (self as Specification.OneEventConsumptionStrategy).one = new _EventFilter(\n (model as Specification.OneEventConsumptionStrategy).one as Specification.EventFilter,\n );\n }\n getLifecycleHooks('EventConsumptionStrategy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventConsumptionStrategy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventConsumptionStrategy(this as any) as EventConsumptionStrategyIntersection;\n validate('EventConsumptionStrategy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventConsumptionStrategy.\n * Creates a copy of the EventConsumptionStrategy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventConsumptionStrategy instance.\n */\n normalize(): EventConsumptionStrategy & Specification.EventConsumptionStrategy {\n const copy = new EventConsumptionStrategy(this as any) as EventConsumptionStrategyIntersection;\n return getLifecycleHooks('EventConsumptionStrategy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventConsumptionStrategy = EventConsumptionStrategy as EventConsumptionStrategyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EventConsumptionStrategy } from './event-consumption-strategy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ListenTaskConfiguration class and type\n */\nexport type ListenTaskConfigurationIntersection = ListenTaskConfiguration & Specification.ListenTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the ListenTaskConfiguration class and type\n */\nexport interface ListenTaskConfigurationConstructor {\n new (model?: Partial<Specification.ListenTaskConfiguration>): ListenTaskConfigurationIntersection;\n}\n\n/**\n * Represents a ListenTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ListenTaskConfiguration extends ObjectHydrator<Specification.ListenTaskConfiguration> {\n /**\n * Instanciates a new instance of the ListenTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ListenTaskConfiguration.\n */\n constructor(model?: Partial<Specification.ListenTaskConfiguration>) {\n super(model);\n const self = this as unknown as Specification.ListenTaskConfiguration & object;\n if (isObject(model)) {\n if (typeof model.to === 'object') self.to = new _EventConsumptionStrategy(model.to);\n }\n getLifecycleHooks('ListenTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ListenTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ListenTaskConfiguration(this as any) as ListenTaskConfigurationIntersection;\n validate('ListenTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ListenTaskConfiguration.\n * Creates a copy of the ListenTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ListenTaskConfiguration instance.\n */\n normalize(): ListenTaskConfiguration & Specification.ListenTaskConfiguration {\n const copy = new ListenTaskConfiguration(this as any) as ListenTaskConfigurationIntersection;\n return getLifecycleHooks('ListenTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ListenTaskConfiguration = ListenTaskConfiguration as ListenTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _TaskList } from './task-list';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SubscriptionIterator class and type\n */\nexport type SubscriptionIteratorIntersection = SubscriptionIterator & Specification.SubscriptionIterator;\n\n/**\n * Represents a constructor for the intersection of the SubscriptionIterator class and type\n */\nexport interface SubscriptionIteratorConstructor {\n new (model?: Partial<Specification.SubscriptionIterator>): SubscriptionIteratorIntersection;\n}\n\n/**\n * Represents a SubscriptionIterator with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SubscriptionIterator extends ObjectHydrator<Specification.SubscriptionIterator> {\n /**\n * Instanciates a new instance of the SubscriptionIterator class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SubscriptionIterator.\n */\n constructor(model?: Partial<Specification.SubscriptionIterator>) {\n super(model);\n const self = this as unknown as Specification.SubscriptionIterator & object;\n if (isObject(model)) {\n if (typeof model.do === 'object') self.do = new _TaskList(model.do);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n }\n getLifecycleHooks('SubscriptionIterator')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SubscriptionIterator.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SubscriptionIterator(this as any) as SubscriptionIteratorIntersection;\n validate('SubscriptionIterator', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SubscriptionIterator.\n * Creates a copy of the SubscriptionIterator, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SubscriptionIterator instance.\n */\n normalize(): SubscriptionIterator & Specification.SubscriptionIterator {\n const copy = new SubscriptionIterator(this as any) as SubscriptionIteratorIntersection;\n return getLifecycleHooks('SubscriptionIterator')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SubscriptionIterator = SubscriptionIterator as SubscriptionIteratorConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the RaiseTaskError class and type\n */\nexport type RaiseTaskErrorIntersection = RaiseTaskError & Specification.RaiseTaskError;\n\n/**\n * Represents a constructor for the intersection of the RaiseTaskError class and type\n */\nexport interface RaiseTaskErrorConstructor {\n new (model?: Partial<Specification.RaiseTaskError>): RaiseTaskErrorIntersection;\n}\n\n/**\n * Represents a RaiseTaskError with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RaiseTaskError extends ObjectHydrator<Specification.RaiseTaskError> {\n /**\n * Instanciates a new instance of the RaiseTaskError class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RaiseTaskError.\n */\n constructor(model?: Partial<Specification.RaiseTaskError>) {\n super(model);\n\n getLifecycleHooks('RaiseTaskError')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RaiseTaskError.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RaiseTaskError(this as any) as RaiseTaskErrorIntersection;\n validate('RaiseTaskError', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RaiseTaskError.\n * Creates a copy of the RaiseTaskError, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RaiseTaskError instance.\n */\n normalize(): RaiseTaskError & Specification.RaiseTaskError {\n const copy = new RaiseTaskError(this as any) as RaiseTaskErrorIntersection;\n return getLifecycleHooks('RaiseTaskError')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RaiseTaskError = RaiseTaskError as RaiseTaskErrorConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _RaiseTaskError } from './raise-task-error';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RaiseTaskConfiguration class and type\n */\nexport type RaiseTaskConfigurationIntersection = RaiseTaskConfiguration & Specification.RaiseTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the RaiseTaskConfiguration class and type\n */\nexport interface RaiseTaskConfigurationConstructor {\n new (model?: Partial<Specification.RaiseTaskConfiguration>): RaiseTaskConfigurationIntersection;\n}\n\n/**\n * Represents a RaiseTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RaiseTaskConfiguration extends ObjectHydrator<Specification.RaiseTaskConfiguration> {\n /**\n * Instanciates a new instance of the RaiseTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RaiseTaskConfiguration.\n */\n constructor(model?: Partial<Specification.RaiseTaskConfiguration>) {\n super(model);\n const self = this as unknown as Specification.RaiseTaskConfiguration & object;\n if (isObject(model)) {\n if (typeof model.error === 'object') self.error = new _RaiseTaskError(model.error);\n }\n getLifecycleHooks('RaiseTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RaiseTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RaiseTaskConfiguration(this as any) as RaiseTaskConfigurationIntersection;\n validate('RaiseTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RaiseTaskConfiguration.\n * Creates a copy of the RaiseTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RaiseTaskConfiguration instance.\n */\n normalize(): RaiseTaskConfiguration & Specification.RaiseTaskConfiguration {\n const copy = new RaiseTaskConfiguration(this as any) as RaiseTaskConfigurationIntersection;\n return getLifecycleHooks('RaiseTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RaiseTaskConfiguration = RaiseTaskConfiguration as RaiseTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Script class and type\n */\nexport type ScriptIntersection = Script & Specification.Script;\n\n/**\n * Represents a constructor for the intersection of the Script class and type\n */\nexport interface ScriptConstructor {\n new (model?: Partial<Specification.Script>): ScriptIntersection;\n}\n\n/**\n * Represents a Script with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Script extends ObjectHydrator<Specification.Script> {\n /**\n * Instanciates a new instance of the Script class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Script.\n */\n constructor(model?: Partial<Specification.Script>) {\n super(model);\n const self = this as unknown as Specification.Script & object;\n if (isObject(model)) {\n if (typeof (model as Specification.ExternalScript).source === 'object')\n (self as Specification.ExternalScript).source = new _ExternalResource(\n (model as Specification.ExternalScript).source as Specification.ExternalResource,\n );\n }\n getLifecycleHooks('Script')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Script.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Script(this as any) as ScriptIntersection;\n validate('Script', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Script.\n * Creates a copy of the Script, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Script instance.\n */\n normalize(): Script & Specification.Script {\n const copy = new Script(this as any) as ScriptIntersection;\n return getLifecycleHooks('Script')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Script = Script as ScriptConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ShellEnvironment class and type\n */\nexport type ShellEnvironmentIntersection = ShellEnvironment & Specification.ShellEnvironment;\n\n/**\n * Represents a constructor for the intersection of the ShellEnvironment class and type\n */\nexport interface ShellEnvironmentConstructor {\n new (model?: Partial<Specification.ShellEnvironment>): ShellEnvironmentIntersection;\n}\n\n/**\n * Represents a ShellEnvironment with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ShellEnvironment extends ObjectHydrator<Specification.ShellEnvironment> {\n /**\n * Instanciates a new instance of the ShellEnvironment class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ShellEnvironment.\n */\n constructor(model?: Partial<Specification.ShellEnvironment>) {\n super(model);\n\n getLifecycleHooks('ShellEnvironment')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ShellEnvironment.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ShellEnvironment(this as any) as ShellEnvironmentIntersection;\n validate('ShellEnvironment', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ShellEnvironment.\n * Creates a copy of the ShellEnvironment, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ShellEnvironment instance.\n */\n normalize(): ShellEnvironment & Specification.ShellEnvironment {\n const copy = new ShellEnvironment(this as any) as ShellEnvironmentIntersection;\n return getLifecycleHooks('ShellEnvironment')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ShellEnvironment = ShellEnvironment as ShellEnvironmentConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ShellEnvironment } from './shell-environment';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Shell class and type\n */\nexport type ShellIntersection = Shell & Specification.Shell;\n\n/**\n * Represents a constructor for the intersection of the Shell class and type\n */\nexport interface ShellConstructor {\n new (model?: Partial<Specification.Shell>): ShellIntersection;\n}\n\n/**\n * Represents a Shell with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Shell extends ObjectHydrator<Specification.Shell> {\n /**\n * Instanciates a new instance of the Shell class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Shell.\n */\n constructor(model?: Partial<Specification.Shell>) {\n super(model);\n const self = this as unknown as Specification.Shell & object;\n if (isObject(model)) {\n if (typeof model.environment === 'object') self.environment = new _ShellEnvironment(model.environment);\n }\n getLifecycleHooks('Shell')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Shell.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Shell(this as any) as ShellIntersection;\n validate('Shell', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Shell.\n * Creates a copy of the Shell, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Shell instance.\n */\n normalize(): Shell & Specification.Shell {\n const copy = new Shell(this as any) as ShellIntersection;\n return getLifecycleHooks('Shell')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Shell = Shell as ShellConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SubflowInput class and type\n */\nexport type SubflowInputIntersection = SubflowInput & Specification.SubflowInput;\n\n/**\n * Represents a constructor for the intersection of the SubflowInput class and type\n */\nexport interface SubflowInputConstructor {\n new (model?: Partial<Specification.SubflowInput>): SubflowInputIntersection;\n}\n\n/**\n * Represents a SubflowInput with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SubflowInput extends ObjectHydrator<Specification.SubflowInput> {\n /**\n * Instanciates a new instance of the SubflowInput class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SubflowInput.\n */\n constructor(model?: Partial<Specification.SubflowInput>) {\n super(model);\n\n getLifecycleHooks('SubflowInput')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SubflowInput.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SubflowInput(this as any) as SubflowInputIntersection;\n validate('SubflowInput', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SubflowInput.\n * Creates a copy of the SubflowInput, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SubflowInput instance.\n */\n normalize(): SubflowInput & Specification.SubflowInput {\n const copy = new SubflowInput(this as any) as SubflowInputIntersection;\n return getLifecycleHooks('SubflowInput')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SubflowInput = SubflowInput as SubflowInputConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _SubflowInput } from './subflow-input';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SubflowConfiguration class and type\n */\nexport type SubflowConfigurationIntersection = SubflowConfiguration & Specification.SubflowConfiguration;\n\n/**\n * Represents a constructor for the intersection of the SubflowConfiguration class and type\n */\nexport interface SubflowConfigurationConstructor {\n new (model?: Partial<Specification.SubflowConfiguration>): SubflowConfigurationIntersection;\n}\n\n/**\n * Represents a SubflowConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SubflowConfiguration extends ObjectHydrator<Specification.SubflowConfiguration> {\n /**\n * Instanciates a new instance of the SubflowConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SubflowConfiguration.\n */\n constructor(model?: Partial<Specification.SubflowConfiguration>) {\n super(model);\n const self = this as unknown as Specification.SubflowConfiguration & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _SubflowInput(model.input);\n }\n getLifecycleHooks('SubflowConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SubflowConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SubflowConfiguration(this as any) as SubflowConfigurationIntersection;\n validate('SubflowConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SubflowConfiguration.\n * Creates a copy of the SubflowConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SubflowConfiguration instance.\n */\n normalize(): SubflowConfiguration & Specification.SubflowConfiguration {\n const copy = new SubflowConfiguration(this as any) as SubflowConfigurationIntersection;\n return getLifecycleHooks('SubflowConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SubflowConfiguration = SubflowConfiguration as SubflowConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Container } from './container';\nimport { _Script } from './script';\nimport { _Shell } from './shell';\nimport { _SubflowConfiguration } from './subflow-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunTaskConfiguration class and type\n */\nexport type RunTaskConfigurationIntersection = RunTaskConfiguration & Specification.RunTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the RunTaskConfiguration class and type\n */\nexport interface RunTaskConfigurationConstructor {\n new (model?: Partial<Specification.RunTaskConfiguration>): RunTaskConfigurationIntersection;\n}\n\n/**\n * Represents a RunTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunTaskConfiguration extends ObjectHydrator<Specification.RunTaskConfiguration> {\n /**\n * Instanciates a new instance of the RunTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunTaskConfiguration.\n */\n constructor(model?: Partial<Specification.RunTaskConfiguration>) {\n super(model);\n const self = this as unknown as Specification.RunTaskConfiguration & object;\n if (isObject(model)) {\n if (typeof (model as Specification.RunContainer).container === 'object')\n (self as Specification.RunContainer).container = new _Container(\n (model as Specification.RunContainer).container as Specification.Container,\n );\n if (typeof (model as Specification.RunScript).script === 'object')\n (self as Specification.RunScript).script = new _Script(\n (model as Specification.RunScript).script as Specification.Script,\n );\n if (typeof (model as Specification.RunShell).shell === 'object')\n (self as Specification.RunShell).shell = new _Shell(\n (model as Specification.RunShell).shell as Specification.Shell,\n );\n if (typeof (model as Specification.RunWorkflow).workflow === 'object')\n (self as Specification.RunWorkflow).workflow = new _SubflowConfiguration(\n (model as Specification.RunWorkflow).workflow as Specification.SubflowConfiguration,\n );\n }\n getLifecycleHooks('RunTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunTaskConfiguration(this as any) as RunTaskConfigurationIntersection;\n validate('RunTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunTaskConfiguration.\n * Creates a copy of the RunTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunTaskConfiguration instance.\n */\n normalize(): RunTaskConfiguration & Specification.RunTaskConfiguration {\n const copy = new RunTaskConfiguration(this as any) as RunTaskConfigurationIntersection;\n return getLifecycleHooks('RunTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunTaskConfiguration = RunTaskConfiguration as RunTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SwitchCase class and type\n */\nexport type SwitchCaseIntersection = SwitchCase & Specification.SwitchCase;\n\n/**\n * Represents a constructor for the intersection of the SwitchCase class and type\n */\nexport interface SwitchCaseConstructor {\n new (model?: Partial<Specification.SwitchCase>): SwitchCaseIntersection;\n}\n\n/**\n * Represents a SwitchCase with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SwitchCase extends ObjectHydrator<Specification.SwitchCase> {\n /**\n * Instanciates a new instance of the SwitchCase class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SwitchCase.\n */\n constructor(model?: Partial<Specification.SwitchCase>) {\n super(model);\n\n getLifecycleHooks('SwitchCase')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SwitchCase.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SwitchCase(this as any) as SwitchCaseIntersection;\n validate('SwitchCase', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SwitchCase.\n * Creates a copy of the SwitchCase, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SwitchCase instance.\n */\n normalize(): SwitchCase & Specification.SwitchCase {\n const copy = new SwitchCase(this as any) as SwitchCaseIntersection;\n return getLifecycleHooks('SwitchCase')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SwitchCase = SwitchCase as SwitchCaseConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _SwitchCase } from './switch-case';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SwitchItem class and type\n */\nexport type SwitchItemIntersection = SwitchItem & Specification.SwitchItem;\n\n/**\n * Represents a constructor for the intersection of the SwitchItem class and type\n */\nexport interface SwitchItemConstructor {\n new (model?: Partial<Specification.SwitchItem>): SwitchItemIntersection;\n}\n\n/**\n * Represents a SwitchItem with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SwitchItem extends ObjectHydrator<Specification.SwitchItem> {\n /**\n * Instanciates a new instance of the SwitchItem class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SwitchItem.\n */\n constructor(model?: Partial<Specification.SwitchItem>) {\n super(model);\n const self = this as unknown as Specification.SwitchItem & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _SwitchCase(value);\n });\n }\n getLifecycleHooks('SwitchItem')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SwitchItem.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SwitchItem(this as any) as SwitchItemIntersection;\n validate('SwitchItem', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SwitchItem.\n * Creates a copy of the SwitchItem, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SwitchItem instance.\n */\n normalize(): SwitchItem & Specification.SwitchItem {\n const copy = new SwitchItem(this as any) as SwitchItemIntersection;\n return getLifecycleHooks('SwitchItem')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SwitchItem = SwitchItem as SwitchItemConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _SwitchItem } from './switch-item';\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SwitchTaskConfiguration class and type\n */\nexport type SwitchTaskConfigurationIntersection = SwitchTaskConfiguration & Specification.SwitchTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the SwitchTaskConfiguration class and type\n */\nexport interface SwitchTaskConfigurationConstructor {\n new (model?: Array<Specification.SwitchItem> | number): SwitchTaskConfigurationIntersection;\n}\n\n/**\n * Represents a collection of Specification.SwitchItem.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class SwitchTaskConfiguration extends ArrayHydrator<Specification.SwitchItem> {\n /**\n * Constructs a new instance of the SwitchTaskConfiguration class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<Specification.SwitchItem> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(new _SwitchItem(item)));\n }\n }\n Object.setPrototypeOf(this, Object.create(SwitchTaskConfiguration.prototype));\n getLifecycleHooks('SwitchTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SwitchTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SwitchTaskConfiguration(this);\n validate('SwitchTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SwitchTaskConfiguration.\n * Creates a copy of the SwitchTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SwitchTaskConfiguration instance.\n */\n normalize(): SwitchTaskConfiguration {\n const copy = new SwitchTaskConfiguration(this);\n return getLifecycleHooks('SwitchTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SwitchTaskConfiguration = SwitchTaskConfiguration as unknown as SwitchTaskConfigurationConstructor;\n//export const _SwitchTaskConfiguration = SwitchTaskConfiguration; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the RetryBackoff class and type\n */\nexport type RetryBackoffIntersection = RetryBackoff & Specification.RetryBackoff;\n\n/**\n * Represents a constructor for the intersection of the RetryBackoff class and type\n */\nexport interface RetryBackoffConstructor {\n new (model?: Partial<Specification.RetryBackoff>): RetryBackoffIntersection;\n}\n\n/**\n * Represents a RetryBackoff with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RetryBackoff extends ObjectHydrator<Specification.RetryBackoff> {\n /**\n * Instanciates a new instance of the RetryBackoff class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RetryBackoff.\n */\n constructor(model?: Partial<Specification.RetryBackoff>) {\n super(model);\n\n getLifecycleHooks('RetryBackoff')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RetryBackoff.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RetryBackoff(this as any) as RetryBackoffIntersection;\n validate('RetryBackoff', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RetryBackoff.\n * Creates a copy of the RetryBackoff, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RetryBackoff instance.\n */\n normalize(): RetryBackoff & Specification.RetryBackoff {\n const copy = new RetryBackoff(this as any) as RetryBackoffIntersection;\n return getLifecycleHooks('RetryBackoff')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RetryBackoff = RetryBackoff as RetryBackoffConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RetryLimitAttempt class and type\n */\nexport type RetryLimitAttemptIntersection = RetryLimitAttempt & Specification.RetryLimitAttempt;\n\n/**\n * Represents a constructor for the intersection of the RetryLimitAttempt class and type\n */\nexport interface RetryLimitAttemptConstructor {\n new (model?: Partial<Specification.RetryLimitAttempt>): RetryLimitAttemptIntersection;\n}\n\n/**\n * Represents a RetryLimitAttempt with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RetryLimitAttempt extends ObjectHydrator<Specification.RetryLimitAttempt> {\n /**\n * Instanciates a new instance of the RetryLimitAttempt class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RetryLimitAttempt.\n */\n constructor(model?: Partial<Specification.RetryLimitAttempt>) {\n super(model);\n const self = this as unknown as Specification.RetryLimitAttempt & object;\n if (isObject(model)) {\n if (typeof model.duration === 'object') self.duration = new _Duration(model.duration);\n }\n getLifecycleHooks('RetryLimitAttempt')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RetryLimitAttempt.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RetryLimitAttempt(this as any) as RetryLimitAttemptIntersection;\n validate('RetryLimitAttempt', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RetryLimitAttempt.\n * Creates a copy of the RetryLimitAttempt, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RetryLimitAttempt instance.\n */\n normalize(): RetryLimitAttempt & Specification.RetryLimitAttempt {\n const copy = new RetryLimitAttempt(this as any) as RetryLimitAttemptIntersection;\n return getLifecycleHooks('RetryLimitAttempt')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RetryLimitAttempt = RetryLimitAttempt as RetryLimitAttemptConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _RetryLimitAttempt } from './retry-limit-attempt';\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RetryLimit class and type\n */\nexport type RetryLimitIntersection = RetryLimit & Specification.RetryLimit;\n\n/**\n * Represents a constructor for the intersection of the RetryLimit class and type\n */\nexport interface RetryLimitConstructor {\n new (model?: Partial<Specification.RetryLimit>): RetryLimitIntersection;\n}\n\n/**\n * Represents a RetryLimit with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RetryLimit extends ObjectHydrator<Specification.RetryLimit> {\n /**\n * Instanciates a new instance of the RetryLimit class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RetryLimit.\n */\n constructor(model?: Partial<Specification.RetryLimit>) {\n super(model);\n const self = this as unknown as Specification.RetryLimit & object;\n if (isObject(model)) {\n if (typeof model.attempt === 'object') self.attempt = new _RetryLimitAttempt(model.attempt);\n if (typeof model.duration === 'object') self.duration = new _Duration(model.duration);\n }\n getLifecycleHooks('RetryLimit')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RetryLimit.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RetryLimit(this as any) as RetryLimitIntersection;\n validate('RetryLimit', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RetryLimit.\n * Creates a copy of the RetryLimit, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RetryLimit instance.\n */\n normalize(): RetryLimit & Specification.RetryLimit {\n const copy = new RetryLimit(this as any) as RetryLimitIntersection;\n return getLifecycleHooks('RetryLimit')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RetryLimit = RetryLimit as RetryLimitConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RetryPolicyJitter class and type\n */\nexport type RetryPolicyJitterIntersection = RetryPolicyJitter & Specification.RetryPolicyJitter;\n\n/**\n * Represents a constructor for the intersection of the RetryPolicyJitter class and type\n */\nexport interface RetryPolicyJitterConstructor {\n new (model?: Partial<Specification.RetryPolicyJitter>): RetryPolicyJitterIntersection;\n}\n\n/**\n * Represents a RetryPolicyJitter with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RetryPolicyJitter extends ObjectHydrator<Specification.RetryPolicyJitter> {\n /**\n * Instanciates a new instance of the RetryPolicyJitter class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RetryPolicyJitter.\n */\n constructor(model?: Partial<Specification.RetryPolicyJitter>) {\n super(model);\n const self = this as unknown as Specification.RetryPolicyJitter & object;\n if (isObject(model)) {\n if (typeof model.from === 'object') self.from = new _Duration(model.from);\n if (typeof model.to === 'object') self.to = new _Duration(model.to);\n }\n getLifecycleHooks('RetryPolicyJitter')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RetryPolicyJitter.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RetryPolicyJitter(this as any) as RetryPolicyJitterIntersection;\n validate('RetryPolicyJitter', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RetryPolicyJitter.\n * Creates a copy of the RetryPolicyJitter, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RetryPolicyJitter instance.\n */\n normalize(): RetryPolicyJitter & Specification.RetryPolicyJitter {\n const copy = new RetryPolicyJitter(this as any) as RetryPolicyJitterIntersection;\n return getLifecycleHooks('RetryPolicyJitter')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RetryPolicyJitter = RetryPolicyJitter as RetryPolicyJitterConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { _RetryBackoff } from './retry-backoff';\nimport { _RetryLimit } from './retry-limit';\nimport { _RetryPolicyJitter } from './retry-policy-jitter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TryTaskCatchRetry class and type\n */\nexport type TryTaskCatchRetryIntersection = TryTaskCatchRetry & Specification.TryTaskCatchRetry;\n\n/**\n * Represents a constructor for the intersection of the TryTaskCatchRetry class and type\n */\nexport interface TryTaskCatchRetryConstructor {\n new (model?: Partial<Specification.TryTaskCatchRetry>): TryTaskCatchRetryIntersection;\n}\n\n/**\n * Represents a TryTaskCatchRetry with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TryTaskCatchRetry extends ObjectHydrator<Specification.TryTaskCatchRetry> {\n /**\n * Instanciates a new instance of the TryTaskCatchRetry class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TryTaskCatchRetry.\n */\n constructor(model?: Partial<Specification.TryTaskCatchRetry>) {\n super(model);\n const self = this as unknown as Specification.TryTaskCatchRetry & object;\n if (isObject(model)) {\n if (typeof (model as Specification.RetryPolicy).delay === 'object')\n (self as Specification.RetryPolicy).delay = new _Duration(\n (model as Specification.RetryPolicy).delay as Specification.Duration,\n );\n if (typeof (model as Specification.RetryPolicy).backoff === 'object')\n (self as Specification.RetryPolicy).backoff = new _RetryBackoff(\n (model as Specification.RetryPolicy).backoff as Specification.RetryBackoff,\n );\n if (typeof (model as Specification.RetryPolicy).limit === 'object')\n (self as Specification.RetryPolicy).limit = new _RetryLimit(\n (model as Specification.RetryPolicy).limit as Specification.RetryLimit,\n );\n if (typeof (model as Specification.RetryPolicy).jitter === 'object')\n (self as Specification.RetryPolicy).jitter = new _RetryPolicyJitter(\n (model as Specification.RetryPolicy).jitter as Specification.RetryPolicyJitter,\n );\n }\n getLifecycleHooks('TryTaskCatchRetry')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TryTaskCatchRetry.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TryTaskCatchRetry(this as any) as TryTaskCatchRetryIntersection;\n validate('TryTaskCatchRetry', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TryTaskCatchRetry.\n * Creates a copy of the TryTaskCatchRetry, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TryTaskCatchRetry instance.\n */\n normalize(): TryTaskCatchRetry & Specification.TryTaskCatchRetry {\n const copy = new TryTaskCatchRetry(this as any) as TryTaskCatchRetryIntersection;\n return getLifecycleHooks('TryTaskCatchRetry')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TryTaskCatchRetry = TryTaskCatchRetry as TryTaskCatchRetryConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _CatchErrors } from './catch-errors';\nimport { _TryTaskCatchRetry } from './try-task-catch-retry';\nimport { _TaskList } from './task-list';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TryTaskCatch class and type\n */\nexport type TryTaskCatchIntersection = TryTaskCatch & Specification.TryTaskCatch;\n\n/**\n * Represents a constructor for the intersection of the TryTaskCatch class and type\n */\nexport interface TryTaskCatchConstructor {\n new (model?: Partial<Specification.TryTaskCatch>): TryTaskCatchIntersection;\n}\n\n/**\n * Represents a TryTaskCatch with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TryTaskCatch extends ObjectHydrator<Specification.TryTaskCatch> {\n /**\n * Instanciates a new instance of the TryTaskCatch class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TryTaskCatch.\n */\n constructor(model?: Partial<Specification.TryTaskCatch>) {\n super(model);\n const self = this as unknown as Specification.TryTaskCatch & object;\n if (isObject(model)) {\n if (typeof model.errors === 'object') self.errors = new _CatchErrors(model.errors);\n if (typeof model.retry === 'object') self.retry = new _TryTaskCatchRetry(model.retry);\n if (typeof model.do === 'object') self.do = new _TaskList(model.do);\n }\n getLifecycleHooks('TryTaskCatch')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TryTaskCatch.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TryTaskCatch(this as any) as TryTaskCatchIntersection;\n validate('TryTaskCatch', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TryTaskCatch.\n * Creates a copy of the TryTaskCatch, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TryTaskCatch instance.\n */\n normalize(): TryTaskCatch & Specification.TryTaskCatch {\n const copy = new TryTaskCatch(this as any) as TryTaskCatchIntersection;\n return getLifecycleHooks('TryTaskCatch')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TryTaskCatch = TryTaskCatch as TryTaskCatchConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _ForkTaskConfiguration } from './fork-task-configuration';\nimport { _EmitTaskConfiguration } from './emit-task-configuration';\nimport { _ForTaskConfiguration } from './for-task-configuration';\nimport { _ListenTaskConfiguration } from './listen-task-configuration';\nimport { _SubscriptionIterator } from './subscription-iterator';\nimport { _RaiseTaskConfiguration } from './raise-task-configuration';\nimport { _RunTaskConfiguration } from './run-task-configuration';\nimport { _SwitchTaskConfiguration } from './switch-task-configuration';\nimport { _TaskList } from './task-list';\nimport { _TryTaskCatch } from './try-task-catch';\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Task class and type\n */\nexport type TaskIntersection = Task & Specification.Task;\n\n/**\n * Represents a constructor for the intersection of the Task class and type\n */\nexport interface TaskConstructor {\n new (model?: Partial<Specification.Task>): TaskIntersection;\n}\n\n/**\n * Represents a Task with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Task extends ObjectHydrator<Specification.Task> {\n /**\n * Instanciates a new instance of the Task class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Task.\n */\n constructor(model?: Partial<Specification.Task>) {\n super(model);\n const self = this as unknown as Specification.Task & object;\n if (isObject(model)) {\n if (typeof (model as Specification.TaskBase).input === 'object')\n (self as Specification.TaskBase).input = new _Input(\n (model as Specification.TaskBase).input as Specification.Input,\n );\n if (typeof (model as Specification.TaskBase).output === 'object')\n (self as Specification.TaskBase).output = new _Output(\n (model as Specification.TaskBase).output as Specification.Output,\n );\n if (typeof (model as Specification.TaskBase).export === 'object')\n (self as Specification.TaskBase).export = new _Export(\n (model as Specification.TaskBase).export as Specification.Export,\n );\n if (typeof (model as Specification.TaskBase).timeout === 'object')\n (self as Specification.TaskBase).timeout = new _TaskTimeout(\n (model as Specification.TaskBase).timeout as Specification.TaskTimeout,\n );\n if (typeof (model as Specification.TaskBase).metadata === 'object')\n (self as Specification.TaskBase).metadata = new _TaskMetadata(\n (model as Specification.TaskBase).metadata as Specification.TaskMetadata,\n );\n if (\n typeof (model as { [k: string]: unknown; fork?: Specification.ForkTaskConfiguration | undefined }).fork ===\n 'object'\n )\n (self as { [k: string]: unknown; fork?: Specification.ForkTaskConfiguration | undefined }).fork =\n new _ForkTaskConfiguration(\n (model as { [k: string]: unknown; fork?: Specification.ForkTaskConfiguration | undefined })\n .fork as Specification.ForkTaskConfiguration,\n );\n if (\n typeof (model as { [k: string]: unknown; emit?: Specification.EmitTaskConfiguration | undefined }).emit ===\n 'object'\n )\n (self as { [k: string]: unknown; emit?: Specification.EmitTaskConfiguration | undefined }).emit =\n new _EmitTaskConfiguration(\n (model as { [k: string]: unknown; emit?: Specification.EmitTaskConfiguration | undefined })\n .emit as Specification.EmitTaskConfiguration,\n );\n if (\n typeof (\n model as {\n [k: string]: unknown;\n for?: Specification.ForTaskConfiguration | undefined;\n while?: string | undefined;\n do?: Specification.TaskList | undefined;\n }\n ).for === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n for?: Specification.ForTaskConfiguration | undefined;\n while?: string | undefined;\n do?: Specification.TaskList | undefined;\n }\n ).for = new _ForTaskConfiguration(\n (\n model as {\n [k: string]: unknown;\n for?: Specification.ForTaskConfiguration | undefined;\n while?: string | undefined;\n do?: Specification.TaskList | undefined;\n }\n ).for as Specification.ForTaskConfiguration,\n );\n if (\n typeof (\n model as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).listen === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).listen = new _ListenTaskConfiguration(\n (\n model as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).listen as Specification.ListenTaskConfiguration,\n );\n if (\n typeof (\n model as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).foreach === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).foreach = new _SubscriptionIterator(\n (\n model as {\n [k: string]: unknown;\n listen?: Specification.ListenTaskConfiguration | undefined;\n foreach?: Specification.SubscriptionIterator | undefined;\n }\n ).foreach as Specification.SubscriptionIterator,\n );\n if (\n typeof (model as { [k: string]: unknown; raise?: Specification.RaiseTaskConfiguration | undefined }).raise ===\n 'object'\n )\n (self as { [k: string]: unknown; raise?: Specification.RaiseTaskConfiguration | undefined }).raise =\n new _RaiseTaskConfiguration(\n (model as { [k: string]: unknown; raise?: Specification.RaiseTaskConfiguration | undefined })\n .raise as Specification.RaiseTaskConfiguration,\n );\n if (\n typeof (model as { [k: string]: unknown; run?: Specification.RunTaskConfiguration | undefined }).run ===\n 'object'\n )\n (self as { [k: string]: unknown; run?: Specification.RunTaskConfiguration | undefined }).run =\n new _RunTaskConfiguration(\n (model as { [k: string]: unknown; run?: Specification.RunTaskConfiguration | undefined })\n .run as Specification.RunTaskConfiguration,\n );\n if (\n typeof (model as { [k: string]: unknown; switch?: Specification.SwitchTaskConfiguration | undefined })\n .switch === 'object'\n )\n (self as { [k: string]: unknown; switch?: Specification.SwitchTaskConfiguration | undefined }).switch =\n new _SwitchTaskConfiguration(\n (model as { [k: string]: unknown; switch?: Specification.SwitchTaskConfiguration | undefined })\n .switch as Specification.SwitchTaskConfiguration,\n ) as unknown as Specification.SwitchTaskConfiguration;\n if (\n typeof (\n model as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).try === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).try = new _TaskList(\n (\n model as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).try as Specification.TaskList,\n );\n if (\n typeof (\n model as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).catch === 'object'\n )\n (\n self as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).catch = new _TryTaskCatch(\n (\n model as {\n [k: string]: unknown;\n try?: Specification.TaskList | undefined;\n catch?: Specification.TryTaskCatch | undefined;\n }\n ).catch as Specification.TryTaskCatch,\n );\n if (typeof (model as { [k: string]: unknown; wait?: Specification.Duration | undefined }).wait === 'object')\n (self as { [k: string]: unknown; wait?: Specification.Duration | undefined }).wait = new _Duration(\n (model as { [k: string]: unknown; wait?: Specification.Duration | undefined }).wait as Specification.Duration,\n );\n }\n getLifecycleHooks('Task')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Task.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Task(this as any) as TaskIntersection;\n validate('Task', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Task.\n * Creates a copy of the Task, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Task instance.\n */\n normalize(): Task & Specification.Task {\n const copy = new Task(this as any) as TaskIntersection;\n return getLifecycleHooks('Task')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Task = Task as TaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Task } from './task';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TaskItem class and type\n */\nexport type TaskItemIntersection = TaskItem & Specification.TaskItem;\n\n/**\n * Represents a constructor for the intersection of the TaskItem class and type\n */\nexport interface TaskItemConstructor {\n new (model?: Partial<Specification.TaskItem>): TaskItemIntersection;\n}\n\n/**\n * Represents a TaskItem with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TaskItem extends ObjectHydrator<Specification.TaskItem> {\n /**\n * Instanciates a new instance of the TaskItem class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TaskItem.\n */\n constructor(model?: Partial<Specification.TaskItem>) {\n super(model);\n const self = this as unknown as Specification.TaskItem & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Task(value);\n });\n }\n getLifecycleHooks('TaskItem')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskItem.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskItem(this as any) as TaskItemIntersection;\n validate('TaskItem', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskItem.\n * Creates a copy of the TaskItem, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskItem instance.\n */\n normalize(): TaskItem & Specification.TaskItem {\n const copy = new TaskItem(this as any) as TaskItemIntersection;\n return getLifecycleHooks('TaskItem')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskItem = TaskItem as TaskItemConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _TaskItem } from './task-item';\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the TaskList class and type\n */\nexport type TaskListIntersection = TaskList & Specification.TaskList;\n\n/**\n * Represents a constructor for the intersection of the TaskList class and type\n */\nexport interface TaskListConstructor {\n new (model?: Array<Specification.TaskItem> | number): TaskListIntersection;\n}\n\n/**\n * Represents a collection of Specification.TaskItem.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class TaskList extends ArrayHydrator<Specification.TaskItem> {\n /**\n * Constructs a new instance of the TaskList class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<Specification.TaskItem> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(new _TaskItem(item)));\n }\n }\n Object.setPrototypeOf(this, Object.create(TaskList.prototype));\n getLifecycleHooks('TaskList')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskList.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskList(this);\n validate('TaskList', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskList.\n * Creates a copy of the TaskList, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskList instance.\n */\n normalize(): TaskList {\n const copy = new TaskList(this);\n return getLifecycleHooks('TaskList')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskList = TaskList as unknown as TaskListConstructor;\n//export const _TaskList = TaskList; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _TaskList } from './task-list';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the DoTask class and type\n */\nexport type DoTaskIntersection = DoTask & Specification.DoTask;\n\n/**\n * Represents a constructor for the intersection of the DoTask class and type\n */\nexport interface DoTaskConstructor {\n new (model?: Partial<Specification.DoTask>): DoTaskIntersection;\n}\n\n/**\n * Represents a DoTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class DoTask extends _TaskBase {\n /**\n * Instanciates a new instance of the DoTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the DoTask.\n */\n constructor(model?: Partial<Specification.DoTask>) {\n super(model);\n const self = this as unknown as Specification.DoTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.do === 'object') self.do = new _TaskList(model.do);\n }\n getLifecycleHooks('DoTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the DoTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new DoTask(this as any) as DoTaskIntersection;\n validate('DoTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the DoTask.\n * Creates a copy of the DoTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the DoTask instance.\n */\n normalize(): DoTask & Specification.DoTask {\n const copy = new DoTask(this as any) as DoTaskIntersection;\n return getLifecycleHooks('DoTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _DoTask = DoTask as DoTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the DurationInline class and type\n */\nexport type DurationInlineIntersection = DurationInline & Specification.DurationInline;\n\n/**\n * Represents a constructor for the intersection of the DurationInline class and type\n */\nexport interface DurationInlineConstructor {\n new (model?: Partial<Specification.DurationInline>): DurationInlineIntersection;\n}\n\n/**\n * Represents a DurationInline with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class DurationInline extends ObjectHydrator<Specification.DurationInline> {\n /**\n * Instanciates a new instance of the DurationInline class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the DurationInline.\n */\n constructor(model?: Partial<Specification.DurationInline>) {\n super(model);\n\n getLifecycleHooks('DurationInline')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the DurationInline.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new DurationInline(this as any) as DurationInlineIntersection;\n validate('DurationInline', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the DurationInline.\n * Creates a copy of the DurationInline, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the DurationInline instance.\n */\n normalize(): DurationInline & Specification.DurationInline {\n const copy = new DurationInline(this as any) as DurationInlineIntersection;\n return getLifecycleHooks('DurationInline')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _DurationInline = DurationInline as DurationInlineConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _EmitTaskConfiguration } from './emit-task-configuration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EmitTask class and type\n */\nexport type EmitTaskIntersection = EmitTask & Specification.EmitTask;\n\n/**\n * Represents a constructor for the intersection of the EmitTask class and type\n */\nexport interface EmitTaskConstructor {\n new (model?: Partial<Specification.EmitTask>): EmitTaskIntersection;\n}\n\n/**\n * Represents a EmitTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EmitTask extends _TaskBase {\n /**\n * Instanciates a new instance of the EmitTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EmitTask.\n */\n constructor(model?: Partial<Specification.EmitTask>) {\n super(model);\n const self = this as unknown as Specification.EmitTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.emit === 'object') self.emit = new _EmitTaskConfiguration(model.emit);\n }\n getLifecycleHooks('EmitTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EmitTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EmitTask(this as any) as EmitTaskIntersection;\n validate('EmitTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EmitTask.\n * Creates a copy of the EmitTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EmitTask instance.\n */\n normalize(): EmitTask & Specification.EmitTask {\n const copy = new EmitTask(this as any) as EmitTaskIntersection;\n return getLifecycleHooks('EmitTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EmitTask = EmitTask as EmitTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ReferenceableAuthenticationPolicy } from './referenceable-authentication-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the EndpointConfiguration class and type\n */\nexport type EndpointConfigurationIntersection = EndpointConfiguration & Specification.EndpointConfiguration;\n\n/**\n * Represents a constructor for the intersection of the EndpointConfiguration class and type\n */\nexport interface EndpointConfigurationConstructor {\n new (model?: Partial<Specification.EndpointConfiguration>): EndpointConfigurationIntersection;\n}\n\n/**\n * Represents a EndpointConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EndpointConfiguration extends ObjectHydrator<Specification.EndpointConfiguration> {\n /**\n * Instanciates a new instance of the EndpointConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EndpointConfiguration.\n */\n constructor(model?: Partial<Specification.EndpointConfiguration>) {\n super(model);\n const self = this as unknown as Specification.EndpointConfiguration & object;\n if (isObject(model)) {\n if (typeof model.authentication === 'object')\n self.authentication = new _ReferenceableAuthenticationPolicy(model.authentication);\n }\n getLifecycleHooks('EndpointConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EndpointConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EndpointConfiguration(this as any) as EndpointConfigurationIntersection;\n validate('EndpointConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EndpointConfiguration.\n * Creates a copy of the EndpointConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EndpointConfiguration instance.\n */\n normalize(): EndpointConfiguration & Specification.EndpointConfiguration {\n const copy = new EndpointConfiguration(this as any) as EndpointConfigurationIntersection;\n return getLifecycleHooks('EndpointConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EndpointConfiguration = EndpointConfiguration as EndpointConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EndpointUri class and type\n */\nexport type EndpointUriIntersection = EndpointUri & Specification.EndpointUri;\n\n/**\n * Represents a constructor for the intersection of the EndpointUri class and type\n */\nexport interface EndpointUriConstructor {\n new (model?: Partial<Specification.EndpointUri>): EndpointUriIntersection;\n}\n\n/**\n * Represents a EndpointUri with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EndpointUri extends ObjectHydrator<Specification.EndpointUri> {\n /**\n * Instanciates a new instance of the EndpointUri class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EndpointUri.\n */\n constructor(model?: Partial<Specification.EndpointUri>) {\n super(model);\n\n getLifecycleHooks('EndpointUri')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EndpointUri.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EndpointUri(this as any) as EndpointUriIntersection;\n validate('EndpointUri', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EndpointUri.\n * Creates a copy of the EndpointUri, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EndpointUri instance.\n */\n normalize(): EndpointUri & Specification.EndpointUri {\n const copy = new EndpointUri(this as any) as EndpointUriIntersection;\n return getLifecycleHooks('EndpointUri')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EndpointUri = EndpointUri as EndpointUriConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the Error class and type\n */\nexport type ErrorIntersection = Error & Specification.Error;\n\n/**\n * Represents a constructor for the intersection of the Error class and type\n */\nexport interface ErrorConstructor {\n new (model?: Partial<Specification.Error>): ErrorIntersection;\n}\n\n/**\n * Represents a Error with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Error extends ObjectHydrator<Specification.Error> {\n /**\n * Instanciates a new instance of the Error class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Error.\n */\n constructor(model?: Partial<Specification.Error>) {\n super(model);\n\n getLifecycleHooks('Error')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Error.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Error(this as any) as ErrorIntersection;\n validate('Error', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Error.\n * Creates a copy of the Error, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Error instance.\n */\n normalize(): Error & Specification.Error {\n const copy = new Error(this as any) as ErrorIntersection;\n return getLifecycleHooks('Error')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Error = Error as ErrorConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ErrorDetails class and type\n */\nexport type ErrorDetailsIntersection = ErrorDetails & Specification.ErrorDetails;\n\n/**\n * Represents a constructor for the intersection of the ErrorDetails class and type\n */\nexport interface ErrorDetailsConstructor {\n new (model?: Partial<Specification.ErrorDetails>): ErrorDetailsIntersection;\n}\n\n/**\n * Represents a ErrorDetails with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ErrorDetails extends ObjectHydrator<Specification.ErrorDetails> {\n /**\n * Instanciates a new instance of the ErrorDetails class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ErrorDetails.\n */\n constructor(model?: Partial<Specification.ErrorDetails>) {\n super(model);\n\n getLifecycleHooks('ErrorDetails')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ErrorDetails.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ErrorDetails(this as any) as ErrorDetailsIntersection;\n validate('ErrorDetails', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ErrorDetails.\n * Creates a copy of the ErrorDetails, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ErrorDetails instance.\n */\n normalize(): ErrorDetails & Specification.ErrorDetails {\n const copy = new ErrorDetails(this as any) as ErrorDetailsIntersection;\n return getLifecycleHooks('ErrorDetails')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ErrorDetails = ErrorDetails as ErrorDetailsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ErrorInstance class and type\n */\nexport type ErrorInstanceIntersection = ErrorInstance & Specification.ErrorInstance;\n\n/**\n * Represents a constructor for the intersection of the ErrorInstance class and type\n */\nexport interface ErrorInstanceConstructor {\n new (model?: Partial<Specification.ErrorInstance>): ErrorInstanceIntersection;\n}\n\n/**\n * Represents a ErrorInstance with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ErrorInstance extends ObjectHydrator<Specification.ErrorInstance> {\n /**\n * Instanciates a new instance of the ErrorInstance class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ErrorInstance.\n */\n constructor(model?: Partial<Specification.ErrorInstance>) {\n super(model);\n\n getLifecycleHooks('ErrorInstance')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ErrorInstance.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ErrorInstance(this as any) as ErrorInstanceIntersection;\n validate('ErrorInstance', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ErrorInstance.\n * Creates a copy of the ErrorInstance, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ErrorInstance instance.\n */\n normalize(): ErrorInstance & Specification.ErrorInstance {\n const copy = new ErrorInstance(this as any) as ErrorInstanceIntersection;\n return getLifecycleHooks('ErrorInstance')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ErrorInstance = ErrorInstance as ErrorInstanceConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ErrorTitle class and type\n */\nexport type ErrorTitleIntersection = ErrorTitle & Specification.ErrorTitle;\n\n/**\n * Represents a constructor for the intersection of the ErrorTitle class and type\n */\nexport interface ErrorTitleConstructor {\n new (model?: Partial<Specification.ErrorTitle>): ErrorTitleIntersection;\n}\n\n/**\n * Represents a ErrorTitle with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ErrorTitle extends ObjectHydrator<Specification.ErrorTitle> {\n /**\n * Instanciates a new instance of the ErrorTitle class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ErrorTitle.\n */\n constructor(model?: Partial<Specification.ErrorTitle>) {\n super(model);\n\n getLifecycleHooks('ErrorTitle')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ErrorTitle.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ErrorTitle(this as any) as ErrorTitleIntersection;\n validate('ErrorTitle', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ErrorTitle.\n * Creates a copy of the ErrorTitle, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ErrorTitle instance.\n */\n normalize(): ErrorTitle & Specification.ErrorTitle {\n const copy = new ErrorTitle(this as any) as ErrorTitleIntersection;\n return getLifecycleHooks('ErrorTitle')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ErrorTitle = ErrorTitle as ErrorTitleConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ErrorType class and type\n */\nexport type ErrorTypeIntersection = ErrorType & Specification.ErrorType;\n\n/**\n * Represents a constructor for the intersection of the ErrorType class and type\n */\nexport interface ErrorTypeConstructor {\n new (model?: Partial<Specification.ErrorType>): ErrorTypeIntersection;\n}\n\n/**\n * Represents a ErrorType with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ErrorType extends ObjectHydrator<Specification.ErrorType> {\n /**\n * Instanciates a new instance of the ErrorType class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ErrorType.\n */\n constructor(model?: Partial<Specification.ErrorType>) {\n super(model);\n\n getLifecycleHooks('ErrorType')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ErrorType.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ErrorType(this as any) as ErrorTypeIntersection;\n validate('ErrorType', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ErrorType.\n * Creates a copy of the ErrorType, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ErrorType instance.\n */\n normalize(): ErrorType & Specification.ErrorType {\n const copy = new ErrorType(this as any) as ErrorTypeIntersection;\n return getLifecycleHooks('ErrorType')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ErrorType = ErrorType as ErrorTypeConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EventData class and type\n */\nexport type EventDataIntersection = EventData & Specification.EventData;\n\n/**\n * Represents a constructor for the intersection of the EventData class and type\n */\nexport interface EventDataConstructor {\n new (model?: Partial<Specification.EventData>): EventDataIntersection;\n}\n\n/**\n * Represents a EventData with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventData extends ObjectHydrator<Specification.EventData> {\n /**\n * Instanciates a new instance of the EventData class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventData.\n */\n constructor(model?: Partial<Specification.EventData>) {\n super(model);\n\n getLifecycleHooks('EventData')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventData.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventData(this as any) as EventDataIntersection;\n validate('EventData', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventData.\n * Creates a copy of the EventData, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventData instance.\n */\n normalize(): EventData & Specification.EventData {\n const copy = new EventData(this as any) as EventDataIntersection;\n return getLifecycleHooks('EventData')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventData = EventData as EventDataConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EventDataschema class and type\n */\nexport type EventDataschemaIntersection = EventDataschema & Specification.EventDataschema;\n\n/**\n * Represents a constructor for the intersection of the EventDataschema class and type\n */\nexport interface EventDataschemaConstructor {\n new (model?: Partial<Specification.EventDataschema>): EventDataschemaIntersection;\n}\n\n/**\n * Represents a EventDataschema with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventDataschema extends ObjectHydrator<Specification.EventDataschema> {\n /**\n * Instanciates a new instance of the EventDataschema class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventDataschema.\n */\n constructor(model?: Partial<Specification.EventDataschema>) {\n super(model);\n\n getLifecycleHooks('EventDataschema')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventDataschema.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventDataschema(this as any) as EventDataschemaIntersection;\n validate('EventDataschema', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventDataschema.\n * Creates a copy of the EventDataschema, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventDataschema instance.\n */\n normalize(): EventDataschema & Specification.EventDataschema {\n const copy = new EventDataschema(this as any) as EventDataschemaIntersection;\n return getLifecycleHooks('EventDataschema')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventDataschema = EventDataschema as EventDataschemaConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EventSource class and type\n */\nexport type EventSourceIntersection = EventSource & Specification.EventSource;\n\n/**\n * Represents a constructor for the intersection of the EventSource class and type\n */\nexport interface EventSourceConstructor {\n new (model?: Partial<Specification.EventSource>): EventSourceIntersection;\n}\n\n/**\n * Represents a EventSource with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventSource extends ObjectHydrator<Specification.EventSource> {\n /**\n * Instanciates a new instance of the EventSource class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventSource.\n */\n constructor(model?: Partial<Specification.EventSource>) {\n super(model);\n\n getLifecycleHooks('EventSource')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventSource.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventSource(this as any) as EventSourceIntersection;\n validate('EventSource', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventSource.\n * Creates a copy of the EventSource, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventSource instance.\n */\n normalize(): EventSource & Specification.EventSource {\n const copy = new EventSource(this as any) as EventSourceIntersection;\n return getLifecycleHooks('EventSource')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventSource = EventSource as EventSourceConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the EventTime class and type\n */\nexport type EventTimeIntersection = EventTime & Specification.EventTime;\n\n/**\n * Represents a constructor for the intersection of the EventTime class and type\n */\nexport interface EventTimeConstructor {\n new (model?: Partial<Specification.EventTime>): EventTimeIntersection;\n}\n\n/**\n * Represents a EventTime with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class EventTime extends ObjectHydrator<Specification.EventTime> {\n /**\n * Instanciates a new instance of the EventTime class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the EventTime.\n */\n constructor(model?: Partial<Specification.EventTime>) {\n super(model);\n\n getLifecycleHooks('EventTime')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the EventTime.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new EventTime(this as any) as EventTimeIntersection;\n validate('EventTime', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the EventTime.\n * Creates a copy of the EventTime, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the EventTime instance.\n */\n normalize(): EventTime & Specification.EventTime {\n const copy = new EventTime(this as any) as EventTimeIntersection;\n return getLifecycleHooks('EventTime')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _EventTime = EventTime as EventTimeConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ExponentialBackOff class and type\n */\nexport type ExponentialBackOffIntersection = ExponentialBackOff & Specification.ExponentialBackOff;\n\n/**\n * Represents a constructor for the intersection of the ExponentialBackOff class and type\n */\nexport interface ExponentialBackOffConstructor {\n new (model?: Partial<Specification.ExponentialBackOff>): ExponentialBackOffIntersection;\n}\n\n/**\n * Represents a ExponentialBackOff with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ExponentialBackOff extends ObjectHydrator<Specification.ExponentialBackOff> {\n /**\n * Instanciates a new instance of the ExponentialBackOff class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ExponentialBackOff.\n */\n constructor(model?: Partial<Specification.ExponentialBackOff>) {\n super(model);\n\n getLifecycleHooks('ExponentialBackOff')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ExponentialBackOff.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ExponentialBackOff(this as any) as ExponentialBackOffIntersection;\n validate('ExponentialBackOff', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ExponentialBackOff.\n * Creates a copy of the ExponentialBackOff, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ExponentialBackOff instance.\n */\n normalize(): ExponentialBackOff & Specification.ExponentialBackOff {\n const copy = new ExponentialBackOff(this as any) as ExponentialBackOffIntersection;\n return getLifecycleHooks('ExponentialBackOff')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ExponentialBackOff = ExponentialBackOff as ExponentialBackOffConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ExportAs class and type\n */\nexport type ExportAsIntersection = ExportAs & Specification.ExportAs;\n\n/**\n * Represents a constructor for the intersection of the ExportAs class and type\n */\nexport interface ExportAsConstructor {\n new (model?: Partial<Specification.ExportAs>): ExportAsIntersection;\n}\n\n/**\n * Represents a ExportAs with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ExportAs extends ObjectHydrator<Specification.ExportAs> {\n /**\n * Instanciates a new instance of the ExportAs class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ExportAs.\n */\n constructor(model?: Partial<Specification.ExportAs>) {\n super(model);\n\n getLifecycleHooks('ExportAs')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ExportAs.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ExportAs(this as any) as ExportAsIntersection;\n validate('ExportAs', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ExportAs.\n * Creates a copy of the ExportAs, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ExportAs instance.\n */\n normalize(): ExportAs & Specification.ExportAs {\n const copy = new ExportAs(this as any) as ExportAsIntersection;\n return getLifecycleHooks('ExportAs')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ExportAs = ExportAs as ExportAsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _TaskList } from './task-list';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Extension class and type\n */\nexport type ExtensionIntersection = Extension & Specification.Extension;\n\n/**\n * Represents a constructor for the intersection of the Extension class and type\n */\nexport interface ExtensionConstructor {\n new (model?: Partial<Specification.Extension>): ExtensionIntersection;\n}\n\n/**\n * Represents a Extension with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Extension extends ObjectHydrator<Specification.Extension> {\n /**\n * Instanciates a new instance of the Extension class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Extension.\n */\n constructor(model?: Partial<Specification.Extension>) {\n super(model);\n const self = this as unknown as Specification.Extension & object;\n if (isObject(model)) {\n if (typeof model.before === 'object') self.before = new _TaskList(model.before);\n if (typeof model.after === 'object') self.after = new _TaskList(model.after);\n }\n getLifecycleHooks('Extension')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Extension.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Extension(this as any) as ExtensionIntersection;\n validate('Extension', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Extension.\n * Creates a copy of the Extension, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Extension instance.\n */\n normalize(): Extension & Specification.Extension {\n const copy = new Extension(this as any) as ExtensionIntersection;\n return getLifecycleHooks('Extension')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Extension = Extension as ExtensionConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Extension } from './extension';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ExtensionItem class and type\n */\nexport type ExtensionItemIntersection = ExtensionItem & Specification.ExtensionItem;\n\n/**\n * Represents a constructor for the intersection of the ExtensionItem class and type\n */\nexport interface ExtensionItemConstructor {\n new (model?: Partial<Specification.ExtensionItem>): ExtensionItemIntersection;\n}\n\n/**\n * Represents a ExtensionItem with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ExtensionItem extends ObjectHydrator<Specification.ExtensionItem> {\n /**\n * Instanciates a new instance of the ExtensionItem class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ExtensionItem.\n */\n constructor(model?: Partial<Specification.ExtensionItem>) {\n super(model);\n const self = this as unknown as Specification.ExtensionItem & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Extension(value);\n });\n }\n getLifecycleHooks('ExtensionItem')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ExtensionItem.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ExtensionItem(this as any) as ExtensionItemIntersection;\n validate('ExtensionItem', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ExtensionItem.\n * Creates a copy of the ExtensionItem, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ExtensionItem instance.\n */\n normalize(): ExtensionItem & Specification.ExtensionItem {\n const copy = new ExtensionItem(this as any) as ExtensionItemIntersection;\n return getLifecycleHooks('ExtensionItem')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ExtensionItem = ExtensionItem as ExtensionItemConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ExternalScript class and type\n */\nexport type ExternalScriptIntersection = ExternalScript & Specification.ExternalScript;\n\n/**\n * Represents a constructor for the intersection of the ExternalScript class and type\n */\nexport interface ExternalScriptConstructor {\n new (model?: Partial<Specification.ExternalScript>): ExternalScriptIntersection;\n}\n\n/**\n * Represents a ExternalScript with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ExternalScript extends ObjectHydrator<Specification.ExternalScript> {\n /**\n * Instanciates a new instance of the ExternalScript class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ExternalScript.\n */\n constructor(model?: Partial<Specification.ExternalScript>) {\n super(model);\n const self = this as unknown as Specification.ExternalScript & object;\n if (isObject(model)) {\n if (typeof model.source === 'object') self.source = new _ExternalResource(model.source);\n }\n getLifecycleHooks('ExternalScript')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ExternalScript.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ExternalScript(this as any) as ExternalScriptIntersection;\n validate('ExternalScript', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ExternalScript.\n * Creates a copy of the ExternalScript, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ExternalScript instance.\n */\n normalize(): ExternalScript & Specification.ExternalScript {\n const copy = new ExternalScript(this as any) as ExternalScriptIntersection;\n return getLifecycleHooks('ExternalScript')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ExternalScript = ExternalScript as ExternalScriptConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the FlowDirective class and type\n */\nexport type FlowDirectiveIntersection = FlowDirective & Specification.FlowDirective;\n\n/**\n * Represents a constructor for the intersection of the FlowDirective class and type\n */\nexport interface FlowDirectiveConstructor {\n new (model?: Partial<Specification.FlowDirective>): FlowDirectiveIntersection;\n}\n\n/**\n * Represents a FlowDirective with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class FlowDirective extends ObjectHydrator<Specification.FlowDirective> {\n /**\n * Instanciates a new instance of the FlowDirective class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the FlowDirective.\n */\n constructor(model?: Partial<Specification.FlowDirective>) {\n super(model);\n\n getLifecycleHooks('FlowDirective')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the FlowDirective.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new FlowDirective(this as any) as FlowDirectiveIntersection;\n validate('FlowDirective', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the FlowDirective.\n * Creates a copy of the FlowDirective, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the FlowDirective instance.\n */\n normalize(): FlowDirective & Specification.FlowDirective {\n const copy = new FlowDirective(this as any) as FlowDirectiveIntersection;\n return getLifecycleHooks('FlowDirective')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _FlowDirective = FlowDirective as FlowDirectiveConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _ForkTaskConfiguration } from './fork-task-configuration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ForkTask class and type\n */\nexport type ForkTaskIntersection = ForkTask & Specification.ForkTask;\n\n/**\n * Represents a constructor for the intersection of the ForkTask class and type\n */\nexport interface ForkTaskConstructor {\n new (model?: Partial<Specification.ForkTask>): ForkTaskIntersection;\n}\n\n/**\n * Represents a ForkTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ForkTask extends _TaskBase {\n /**\n * Instanciates a new instance of the ForkTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ForkTask.\n */\n constructor(model?: Partial<Specification.ForkTask>) {\n super(model);\n const self = this as unknown as Specification.ForkTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.fork === 'object') self.fork = new _ForkTaskConfiguration(model.fork);\n }\n getLifecycleHooks('ForkTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ForkTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ForkTask(this as any) as ForkTaskIntersection;\n validate('ForkTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ForkTask.\n * Creates a copy of the ForkTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ForkTask instance.\n */\n normalize(): ForkTask & Specification.ForkTask {\n const copy = new ForkTask(this as any) as ForkTaskIntersection;\n return getLifecycleHooks('ForkTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ForkTask = ForkTask as ForkTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _ForTaskConfiguration } from './for-task-configuration';\nimport { _TaskList } from './task-list';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ForTask class and type\n */\nexport type ForTaskIntersection = ForTask & Specification.ForTask;\n\n/**\n * Represents a constructor for the intersection of the ForTask class and type\n */\nexport interface ForTaskConstructor {\n new (model?: Partial<Specification.ForTask>): ForTaskIntersection;\n}\n\n/**\n * Represents a ForTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ForTask extends _TaskBase {\n /**\n * Instanciates a new instance of the ForTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ForTask.\n */\n constructor(model?: Partial<Specification.ForTask>) {\n super(model);\n const self = this as unknown as Specification.ForTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.for === 'object') self.for = new _ForTaskConfiguration(model.for);\n if (typeof model.do === 'object') self.do = new _TaskList(model.do);\n }\n getLifecycleHooks('ForTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ForTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ForTask(this as any) as ForTaskIntersection;\n validate('ForTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ForTask.\n * Creates a copy of the ForTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ForTask instance.\n */\n normalize(): ForTask & Specification.ForTask {\n const copy = new ForTask(this as any) as ForTaskIntersection;\n return getLifecycleHooks('ForTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ForTask = ForTask as ForTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the HTTPHeaders class and type\n */\nexport type HTTPHeadersIntersection = HTTPHeaders & Specification.HTTPHeaders;\n\n/**\n * Represents a constructor for the intersection of the HTTPHeaders class and type\n */\nexport interface HTTPHeadersConstructor {\n new (model?: Partial<Specification.HTTPHeaders>): HTTPHeadersIntersection;\n}\n\n/**\n * Represents a HTTPHeaders with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class HTTPHeaders extends ObjectHydrator<Specification.HTTPHeaders> {\n /**\n * Instanciates a new instance of the HTTPHeaders class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the HTTPHeaders.\n */\n constructor(model?: Partial<Specification.HTTPHeaders>) {\n super(model);\n\n getLifecycleHooks('HTTPHeaders')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the HTTPHeaders.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new HTTPHeaders(this as any) as HTTPHeadersIntersection;\n validate('HTTPHeaders', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the HTTPHeaders.\n * Creates a copy of the HTTPHeaders, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the HTTPHeaders instance.\n */\n normalize(): HTTPHeaders & Specification.HTTPHeaders {\n const copy = new HTTPHeaders(this as any) as HTTPHeadersIntersection;\n return getLifecycleHooks('HTTPHeaders')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _HTTPHeaders = HTTPHeaders as HTTPHeadersConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the HTTPQuery class and type\n */\nexport type HTTPQueryIntersection = HTTPQuery & Specification.HTTPQuery;\n\n/**\n * Represents a constructor for the intersection of the HTTPQuery class and type\n */\nexport interface HTTPQueryConstructor {\n new (model?: Partial<Specification.HTTPQuery>): HTTPQueryIntersection;\n}\n\n/**\n * Represents a HTTPQuery with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class HTTPQuery extends ObjectHydrator<Specification.HTTPQuery> {\n /**\n * Instanciates a new instance of the HTTPQuery class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the HTTPQuery.\n */\n constructor(model?: Partial<Specification.HTTPQuery>) {\n super(model);\n\n getLifecycleHooks('HTTPQuery')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the HTTPQuery.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new HTTPQuery(this as any) as HTTPQueryIntersection;\n validate('HTTPQuery', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the HTTPQuery.\n * Creates a copy of the HTTPQuery, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the HTTPQuery instance.\n */\n normalize(): HTTPQuery & Specification.HTTPQuery {\n const copy = new HTTPQuery(this as any) as HTTPQueryIntersection;\n return getLifecycleHooks('HTTPQuery')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _HTTPQuery = HTTPQuery as HTTPQueryConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the InlineScript class and type\n */\nexport type InlineScriptIntersection = InlineScript & Specification.InlineScript;\n\n/**\n * Represents a constructor for the intersection of the InlineScript class and type\n */\nexport interface InlineScriptConstructor {\n new (model?: Partial<Specification.InlineScript>): InlineScriptIntersection;\n}\n\n/**\n * Represents a InlineScript with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class InlineScript extends ObjectHydrator<Specification.InlineScript> {\n /**\n * Instanciates a new instance of the InlineScript class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the InlineScript.\n */\n constructor(model?: Partial<Specification.InlineScript>) {\n super(model);\n\n getLifecycleHooks('InlineScript')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the InlineScript.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new InlineScript(this as any) as InlineScriptIntersection;\n validate('InlineScript', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the InlineScript.\n * Creates a copy of the InlineScript, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the InlineScript instance.\n */\n normalize(): InlineScript & Specification.InlineScript {\n const copy = new InlineScript(this as any) as InlineScriptIntersection;\n return getLifecycleHooks('InlineScript')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _InlineScript = InlineScript as InlineScriptConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the InputFrom class and type\n */\nexport type InputFromIntersection = InputFrom & Specification.InputFrom;\n\n/**\n * Represents a constructor for the intersection of the InputFrom class and type\n */\nexport interface InputFromConstructor {\n new (model?: Partial<Specification.InputFrom>): InputFromIntersection;\n}\n\n/**\n * Represents a InputFrom with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class InputFrom extends ObjectHydrator<Specification.InputFrom> {\n /**\n * Instanciates a new instance of the InputFrom class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the InputFrom.\n */\n constructor(model?: Partial<Specification.InputFrom>) {\n super(model);\n\n getLifecycleHooks('InputFrom')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the InputFrom.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new InputFrom(this as any) as InputFromIntersection;\n validate('InputFrom', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the InputFrom.\n * Creates a copy of the InputFrom, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the InputFrom instance.\n */\n normalize(): InputFrom & Specification.InputFrom {\n const copy = new InputFrom(this as any) as InputFromIntersection;\n return getLifecycleHooks('InputFrom')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _InputFrom = InputFrom as InputFromConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the LinearBackoff class and type\n */\nexport type LinearBackoffIntersection = LinearBackoff & Specification.LinearBackoff;\n\n/**\n * Represents a constructor for the intersection of the LinearBackoff class and type\n */\nexport interface LinearBackoffConstructor {\n new (model?: Partial<Specification.LinearBackoff>): LinearBackoffIntersection;\n}\n\n/**\n * Represents a LinearBackoff with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class LinearBackoff extends ObjectHydrator<Specification.LinearBackoff> {\n /**\n * Instanciates a new instance of the LinearBackoff class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the LinearBackoff.\n */\n constructor(model?: Partial<Specification.LinearBackoff>) {\n super(model);\n\n getLifecycleHooks('LinearBackoff')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the LinearBackoff.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new LinearBackoff(this as any) as LinearBackoffIntersection;\n validate('LinearBackoff', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the LinearBackoff.\n * Creates a copy of the LinearBackoff, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the LinearBackoff instance.\n */\n normalize(): LinearBackoff & Specification.LinearBackoff {\n const copy = new LinearBackoff(this as any) as LinearBackoffIntersection;\n return getLifecycleHooks('LinearBackoff')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _LinearBackoff = LinearBackoff as LinearBackoffConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _ListenTaskConfiguration } from './listen-task-configuration';\nimport { _SubscriptionIterator } from './subscription-iterator';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the ListenTask class and type\n */\nexport type ListenTaskIntersection = ListenTask & Specification.ListenTask;\n\n/**\n * Represents a constructor for the intersection of the ListenTask class and type\n */\nexport interface ListenTaskConstructor {\n new (model?: Partial<Specification.ListenTask>): ListenTaskIntersection;\n}\n\n/**\n * Represents a ListenTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class ListenTask extends _TaskBase {\n /**\n * Instanciates a new instance of the ListenTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the ListenTask.\n */\n constructor(model?: Partial<Specification.ListenTask>) {\n super(model);\n const self = this as unknown as Specification.ListenTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.listen === 'object') self.listen = new _ListenTaskConfiguration(model.listen);\n if (typeof model.foreach === 'object') self.foreach = new _SubscriptionIterator(model.foreach);\n }\n getLifecycleHooks('ListenTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ListenTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ListenTask(this as any) as ListenTaskIntersection;\n validate('ListenTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ListenTask.\n * Creates a copy of the ListenTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ListenTask instance.\n */\n normalize(): ListenTask & Specification.ListenTask {\n const copy = new ListenTask(this as any) as ListenTaskIntersection;\n return getLifecycleHooks('ListenTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ListenTask = ListenTask as ListenTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the McpCallTransport class and type\n */\nexport type McpCallTransportIntersection = McpCallTransport & Specification.McpCallTransport;\n\n/**\n * Represents a constructor for the intersection of the McpCallTransport class and type\n */\nexport interface McpCallTransportConstructor {\n new (model?: Partial<Specification.McpCallTransport>): McpCallTransportIntersection;\n}\n\n/**\n * Represents a McpCallTransport with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class McpCallTransport extends ObjectHydrator<Specification.McpCallTransport> {\n /**\n * Instanciates a new instance of the McpCallTransport class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the McpCallTransport.\n */\n constructor(model?: Partial<Specification.McpCallTransport>) {\n super(model);\n\n getLifecycleHooks('McpCallTransport')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the McpCallTransport.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new McpCallTransport(this as any) as McpCallTransportIntersection;\n validate('McpCallTransport', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the McpCallTransport.\n * Creates a copy of the McpCallTransport, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the McpCallTransport instance.\n */\n normalize(): McpCallTransport & Specification.McpCallTransport {\n const copy = new McpCallTransport(this as any) as McpCallTransportIntersection;\n return getLifecycleHooks('McpCallTransport')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _McpCallTransport = McpCallTransport as McpCallTransportConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the McpMethodParameters class and type\n */\nexport type McpMethodParametersIntersection = McpMethodParameters & Specification.McpMethodParameters;\n\n/**\n * Represents a constructor for the intersection of the McpMethodParameters class and type\n */\nexport interface McpMethodParametersConstructor {\n new (model?: Partial<Specification.McpMethodParameters>): McpMethodParametersIntersection;\n}\n\n/**\n * Represents a McpMethodParameters with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class McpMethodParameters extends ObjectHydrator<Specification.McpMethodParameters> {\n /**\n * Instanciates a new instance of the McpMethodParameters class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the McpMethodParameters.\n */\n constructor(model?: Partial<Specification.McpMethodParameters>) {\n super(model);\n\n getLifecycleHooks('McpMethodParameters')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the McpMethodParameters.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new McpMethodParameters(this as any) as McpMethodParametersIntersection;\n validate('McpMethodParameters', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the McpMethodParameters.\n * Creates a copy of the McpMethodParameters, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the McpMethodParameters instance.\n */\n normalize(): McpMethodParameters & Specification.McpMethodParameters {\n const copy = new McpMethodParameters(this as any) as McpMethodParametersIntersection;\n return getLifecycleHooks('McpMethodParameters')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _McpMethodParameters = McpMethodParameters as McpMethodParametersConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationData class and type\n */\nexport type OAuth2AuthenticationDataIntersection = OAuth2AuthenticationData & Specification.OAuth2AuthenticationData;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationData class and type\n */\nexport interface OAuth2AuthenticationDataConstructor {\n new (model?: Partial<Specification.OAuth2AuthenticationData>): OAuth2AuthenticationDataIntersection;\n}\n\n/**\n * Represents a OAuth2AuthenticationData with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2AuthenticationData extends ObjectHydrator<Specification.OAuth2AuthenticationData> {\n /**\n * Instanciates a new instance of the OAuth2AuthenticationData class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2AuthenticationData.\n */\n constructor(model?: Partial<Specification.OAuth2AuthenticationData>) {\n super(model);\n const self = this as unknown as Specification.OAuth2AuthenticationData & object;\n if (isObject(model)) {\n if (typeof model.client === 'object') self.client = new _OAuth2AuthenticationDataClient(model.client);\n if (typeof model.request === 'object') self.request = new _OAuth2TokenRequest(model.request);\n if (typeof model.subject === 'object') self.subject = new _OAuth2TokenDefinition(model.subject);\n if (typeof model.actor === 'object') self.actor = new _OAuth2TokenDefinition(model.actor);\n }\n getLifecycleHooks('OAuth2AuthenticationData')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationData.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationData(this as any) as OAuth2AuthenticationDataIntersection;\n validate('OAuth2AuthenticationData', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationData.\n * Creates a copy of the OAuth2AuthenticationData, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationData instance.\n */\n normalize(): OAuth2AuthenticationData & Specification.OAuth2AuthenticationData {\n const copy = new OAuth2AuthenticationData(this as any) as OAuth2AuthenticationDataIntersection;\n return getLifecycleHooks('OAuth2AuthenticationData')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationData = OAuth2AuthenticationData as OAuth2AuthenticationDataConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationDataAudiences class and type\n */\nexport type OAuth2AuthenticationDataAudiencesIntersection = OAuth2AuthenticationDataAudiences &\n Specification.OAuth2AuthenticationDataAudiences;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationDataAudiences class and type\n */\nexport interface OAuth2AuthenticationDataAudiencesConstructor {\n new (model?: Array<string> | number): OAuth2AuthenticationDataAudiencesIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class OAuth2AuthenticationDataAudiences extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the OAuth2AuthenticationDataAudiences class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(OAuth2AuthenticationDataAudiences.prototype));\n getLifecycleHooks('OAuth2AuthenticationDataAudiences')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationDataAudiences.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationDataAudiences(this);\n validate('OAuth2AuthenticationDataAudiences', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationDataAudiences.\n * Creates a copy of the OAuth2AuthenticationDataAudiences, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationDataAudiences instance.\n */\n normalize(): OAuth2AuthenticationDataAudiences {\n const copy = new OAuth2AuthenticationDataAudiences(this);\n return getLifecycleHooks('OAuth2AuthenticationDataAudiences')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationDataAudiences =\n OAuth2AuthenticationDataAudiences as unknown as OAuth2AuthenticationDataAudiencesConstructor;\n//export const _OAuth2AuthenticationDataAudiences = OAuth2AuthenticationDataAudiences; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationDataScopes class and type\n */\nexport type OAuth2AuthenticationDataScopesIntersection = OAuth2AuthenticationDataScopes &\n Specification.OAuth2AuthenticationDataScopes;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationDataScopes class and type\n */\nexport interface OAuth2AuthenticationDataScopesConstructor {\n new (model?: Array<string> | number): OAuth2AuthenticationDataScopesIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class OAuth2AuthenticationDataScopes extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the OAuth2AuthenticationDataScopes class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(OAuth2AuthenticationDataScopes.prototype));\n getLifecycleHooks('OAuth2AuthenticationDataScopes')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationDataScopes.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationDataScopes(this);\n validate('OAuth2AuthenticationDataScopes', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationDataScopes.\n * Creates a copy of the OAuth2AuthenticationDataScopes, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationDataScopes instance.\n */\n normalize(): OAuth2AuthenticationDataScopes {\n const copy = new OAuth2AuthenticationDataScopes(this);\n return getLifecycleHooks('OAuth2AuthenticationDataScopes')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationDataScopes =\n OAuth2AuthenticationDataScopes as unknown as OAuth2AuthenticationDataScopesConstructor;\n//export const _OAuth2AuthenticationDataScopes = OAuth2AuthenticationDataScopes; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationPolicyConfiguration } from './oauth2-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OAuth2AuthenticationPolicy class and type\n */\nexport type OAuth2AuthenticationPolicyIntersection = OAuth2AuthenticationPolicy &\n Specification.OAuth2AuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the OAuth2AuthenticationPolicy class and type\n */\nexport interface OAuth2AuthenticationPolicyConstructor {\n new (model?: Partial<Specification.OAuth2AuthenticationPolicy>): OAuth2AuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a OAuth2AuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2AuthenticationPolicy extends ObjectHydrator<Specification.OAuth2AuthenticationPolicy> {\n /**\n * Instanciates a new instance of the OAuth2AuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2AuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.OAuth2AuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.OAuth2AuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof model.oauth2 === 'object') self.oauth2 = new _OAuth2AuthenticationPolicyConfiguration(model.oauth2);\n }\n getLifecycleHooks('OAuth2AuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2AuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2AuthenticationPolicy(this as any) as OAuth2AuthenticationPolicyIntersection;\n validate('OAuth2AuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2AuthenticationPolicy.\n * Creates a copy of the OAuth2AuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2AuthenticationPolicy instance.\n */\n normalize(): OAuth2AuthenticationPolicy & Specification.OAuth2AuthenticationPolicy {\n const copy = new OAuth2AuthenticationPolicy(this as any) as OAuth2AuthenticationPolicyIntersection;\n return getLifecycleHooks('OAuth2AuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2AuthenticationPolicy = OAuth2AuthenticationPolicy as OAuth2AuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { _OAuth2AuthenticationPropertiesEndpoints } from './oauth2-authentication-properties-endpoints';\nimport { _OAuth2AuthenticationData } from './oauth2-authentication-data';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OAuth2ConnectAuthenticationProperties class and type\n */\nexport type OAuth2ConnectAuthenticationPropertiesIntersection = OAuth2ConnectAuthenticationProperties &\n Specification.OAuth2ConnectAuthenticationProperties;\n\n/**\n * Represents a constructor for the intersection of the OAuth2ConnectAuthenticationProperties class and type\n */\nexport interface OAuth2ConnectAuthenticationPropertiesConstructor {\n new (\n model?: Partial<Specification.OAuth2ConnectAuthenticationProperties>,\n ): OAuth2ConnectAuthenticationPropertiesIntersection;\n}\n\n/**\n * Represents a OAuth2ConnectAuthenticationProperties with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OAuth2ConnectAuthenticationProperties extends _OAuth2AuthenticationData {\n /**\n * Instanciates a new instance of the OAuth2ConnectAuthenticationProperties class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OAuth2ConnectAuthenticationProperties.\n */\n constructor(model?: Partial<Specification.OAuth2ConnectAuthenticationProperties>) {\n super(model);\n const self = this as unknown as Specification.OAuth2ConnectAuthenticationProperties & object;\n if (isObject(model)) {\n if (typeof model.client === 'object') self.client = new _OAuth2AuthenticationDataClient(model.client);\n if (typeof model.request === 'object') self.request = new _OAuth2TokenRequest(model.request);\n if (typeof model.subject === 'object') self.subject = new _OAuth2TokenDefinition(model.subject);\n if (typeof model.actor === 'object') self.actor = new _OAuth2TokenDefinition(model.actor);\n if (typeof model.endpoints === 'object')\n self.endpoints = new _OAuth2AuthenticationPropertiesEndpoints(model.endpoints);\n }\n getLifecycleHooks('OAuth2ConnectAuthenticationProperties')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2ConnectAuthenticationProperties.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2ConnectAuthenticationProperties(\n this as any,\n ) as OAuth2ConnectAuthenticationPropertiesIntersection;\n validate('OAuth2ConnectAuthenticationProperties', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2ConnectAuthenticationProperties.\n * Creates a copy of the OAuth2ConnectAuthenticationProperties, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2ConnectAuthenticationProperties instance.\n */\n normalize(): OAuth2ConnectAuthenticationProperties & Specification.OAuth2ConnectAuthenticationProperties {\n const copy = new OAuth2ConnectAuthenticationProperties(\n this as any,\n ) as OAuth2ConnectAuthenticationPropertiesIntersection;\n return getLifecycleHooks('OAuth2ConnectAuthenticationProperties')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2ConnectAuthenticationProperties =\n OAuth2ConnectAuthenticationProperties as OAuth2ConnectAuthenticationPropertiesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OAuth2Issuers class and type\n */\nexport type OAuth2IssuersIntersection = OAuth2Issuers & Specification.OAuth2Issuers;\n\n/**\n * Represents a constructor for the intersection of the OAuth2Issuers class and type\n */\nexport interface OAuth2IssuersConstructor {\n new (model?: Array<string> | number): OAuth2IssuersIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class OAuth2Issuers extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the OAuth2Issuers class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(OAuth2Issuers.prototype));\n getLifecycleHooks('OAuth2Issuers')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OAuth2Issuers.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OAuth2Issuers(this);\n validate('OAuth2Issuers', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OAuth2Issuers.\n * Creates a copy of the OAuth2Issuers, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OAuth2Issuers instance.\n */\n normalize(): OAuth2Issuers {\n const copy = new OAuth2Issuers(this);\n return getLifecycleHooks('OAuth2Issuers')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OAuth2Issuers = OAuth2Issuers as unknown as OAuth2IssuersConstructor;\n//export const _OAuth2Issuers = OAuth2Issuers; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _EventFilter } from './event-filter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OneEventConsumptionStrategy class and type\n */\nexport type OneEventConsumptionStrategyIntersection = OneEventConsumptionStrategy &\n Specification.OneEventConsumptionStrategy;\n\n/**\n * Represents a constructor for the intersection of the OneEventConsumptionStrategy class and type\n */\nexport interface OneEventConsumptionStrategyConstructor {\n new (model?: Partial<Specification.OneEventConsumptionStrategy>): OneEventConsumptionStrategyIntersection;\n}\n\n/**\n * Represents a OneEventConsumptionStrategy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OneEventConsumptionStrategy extends ObjectHydrator<Specification.OneEventConsumptionStrategy> {\n /**\n * Instanciates a new instance of the OneEventConsumptionStrategy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OneEventConsumptionStrategy.\n */\n constructor(model?: Partial<Specification.OneEventConsumptionStrategy>) {\n super(model);\n const self = this as unknown as Specification.OneEventConsumptionStrategy & object;\n if (isObject(model)) {\n if (typeof model.one === 'object') self.one = new _EventFilter(model.one);\n }\n getLifecycleHooks('OneEventConsumptionStrategy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OneEventConsumptionStrategy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OneEventConsumptionStrategy(this as any) as OneEventConsumptionStrategyIntersection;\n validate('OneEventConsumptionStrategy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OneEventConsumptionStrategy.\n * Creates a copy of the OneEventConsumptionStrategy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OneEventConsumptionStrategy instance.\n */\n normalize(): OneEventConsumptionStrategy & Specification.OneEventConsumptionStrategy {\n const copy = new OneEventConsumptionStrategy(this as any) as OneEventConsumptionStrategyIntersection;\n return getLifecycleHooks('OneEventConsumptionStrategy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OneEventConsumptionStrategy = OneEventConsumptionStrategy as OneEventConsumptionStrategyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OpenIdConnectAuthenticationPolicyConfiguration } from './open-id-connect-authentication-policy-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OpenIdConnectAuthenticationPolicy class and type\n */\nexport type OpenIdConnectAuthenticationPolicyIntersection = OpenIdConnectAuthenticationPolicy &\n Specification.OpenIdConnectAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the OpenIdConnectAuthenticationPolicy class and type\n */\nexport interface OpenIdConnectAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.OpenIdConnectAuthenticationPolicy>): OpenIdConnectAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a OpenIdConnectAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OpenIdConnectAuthenticationPolicy extends ObjectHydrator<Specification.OpenIdConnectAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the OpenIdConnectAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OpenIdConnectAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.OpenIdConnectAuthenticationPolicy>) {\n super(model);\n const self = this as unknown as Specification.OpenIdConnectAuthenticationPolicy & object;\n if (isObject(model)) {\n if (typeof model.oidc === 'object') self.oidc = new _OpenIdConnectAuthenticationPolicyConfiguration(model.oidc);\n }\n getLifecycleHooks('OpenIdConnectAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OpenIdConnectAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OpenIdConnectAuthenticationPolicy(this as any) as OpenIdConnectAuthenticationPolicyIntersection;\n validate('OpenIdConnectAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OpenIdConnectAuthenticationPolicy.\n * Creates a copy of the OpenIdConnectAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OpenIdConnectAuthenticationPolicy instance.\n */\n normalize(): OpenIdConnectAuthenticationPolicy & Specification.OpenIdConnectAuthenticationPolicy {\n const copy = new OpenIdConnectAuthenticationPolicy(this as any) as OpenIdConnectAuthenticationPolicyIntersection;\n return getLifecycleHooks('OpenIdConnectAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OpenIdConnectAuthenticationPolicy =\n OpenIdConnectAuthenticationPolicy as OpenIdConnectAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the OpenIdConnectAuthenticationProperties class and type\n */\nexport type OpenIdConnectAuthenticationPropertiesIntersection = OpenIdConnectAuthenticationProperties &\n Specification.OpenIdConnectAuthenticationProperties;\n\n/**\n * Represents a constructor for the intersection of the OpenIdConnectAuthenticationProperties class and type\n */\nexport interface OpenIdConnectAuthenticationPropertiesConstructor {\n new (\n model?: Partial<Specification.OpenIdConnectAuthenticationProperties>,\n ): OpenIdConnectAuthenticationPropertiesIntersection;\n}\n\n/**\n * Represents a OpenIdConnectAuthenticationProperties with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OpenIdConnectAuthenticationProperties extends ObjectHydrator<Specification.OpenIdConnectAuthenticationProperties> {\n /**\n * Instanciates a new instance of the OpenIdConnectAuthenticationProperties class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OpenIdConnectAuthenticationProperties.\n */\n constructor(model?: Partial<Specification.OpenIdConnectAuthenticationProperties>) {\n super(model);\n const self = this as unknown as Specification.OpenIdConnectAuthenticationProperties & object;\n if (isObject(model)) {\n if (typeof model.client === 'object') self.client = new _OAuth2AuthenticationDataClient(model.client);\n if (typeof model.request === 'object') self.request = new _OAuth2TokenRequest(model.request);\n if (typeof model.subject === 'object') self.subject = new _OAuth2TokenDefinition(model.subject);\n if (typeof model.actor === 'object') self.actor = new _OAuth2TokenDefinition(model.actor);\n }\n getLifecycleHooks('OpenIdConnectAuthenticationProperties')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OpenIdConnectAuthenticationProperties.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OpenIdConnectAuthenticationProperties(\n this as any,\n ) as OpenIdConnectAuthenticationPropertiesIntersection;\n validate('OpenIdConnectAuthenticationProperties', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OpenIdConnectAuthenticationProperties.\n * Creates a copy of the OpenIdConnectAuthenticationProperties, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OpenIdConnectAuthenticationProperties instance.\n */\n normalize(): OpenIdConnectAuthenticationProperties & Specification.OpenIdConnectAuthenticationProperties {\n const copy = new OpenIdConnectAuthenticationProperties(\n this as any,\n ) as OpenIdConnectAuthenticationPropertiesIntersection;\n return getLifecycleHooks('OpenIdConnectAuthenticationProperties')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OpenIdConnectAuthenticationProperties =\n OpenIdConnectAuthenticationProperties as OpenIdConnectAuthenticationPropertiesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the OutputAs class and type\n */\nexport type OutputAsIntersection = OutputAs & Specification.OutputAs;\n\n/**\n * Represents a constructor for the intersection of the OutputAs class and type\n */\nexport interface OutputAsConstructor {\n new (model?: Partial<Specification.OutputAs>): OutputAsIntersection;\n}\n\n/**\n * Represents a OutputAs with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class OutputAs extends ObjectHydrator<Specification.OutputAs> {\n /**\n * Instanciates a new instance of the OutputAs class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the OutputAs.\n */\n constructor(model?: Partial<Specification.OutputAs>) {\n super(model);\n\n getLifecycleHooks('OutputAs')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the OutputAs.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new OutputAs(this as any) as OutputAsIntersection;\n validate('OutputAs', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the OutputAs.\n * Creates a copy of the OutputAs, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the OutputAs instance.\n */\n normalize(): OutputAs & Specification.OutputAs {\n const copy = new OutputAs(this as any) as OutputAsIntersection;\n return getLifecycleHooks('OutputAs')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _OutputAs = OutputAs as OutputAsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _RaiseTaskConfiguration } from './raise-task-configuration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RaiseTask class and type\n */\nexport type RaiseTaskIntersection = RaiseTask & Specification.RaiseTask;\n\n/**\n * Represents a constructor for the intersection of the RaiseTask class and type\n */\nexport interface RaiseTaskConstructor {\n new (model?: Partial<Specification.RaiseTask>): RaiseTaskIntersection;\n}\n\n/**\n * Represents a RaiseTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RaiseTask extends _TaskBase {\n /**\n * Instanciates a new instance of the RaiseTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RaiseTask.\n */\n constructor(model?: Partial<Specification.RaiseTask>) {\n super(model);\n const self = this as unknown as Specification.RaiseTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.raise === 'object') self.raise = new _RaiseTaskConfiguration(model.raise);\n }\n getLifecycleHooks('RaiseTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RaiseTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RaiseTask(this as any) as RaiseTaskIntersection;\n validate('RaiseTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RaiseTask.\n * Creates a copy of the RaiseTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RaiseTask instance.\n */\n normalize(): RaiseTask & Specification.RaiseTask {\n const copy = new RaiseTask(this as any) as RaiseTaskIntersection;\n return getLifecycleHooks('RaiseTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RaiseTask = RaiseTask as RaiseTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { _RetryBackoff } from './retry-backoff';\nimport { _RetryLimit } from './retry-limit';\nimport { _RetryPolicyJitter } from './retry-policy-jitter';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RetryPolicy class and type\n */\nexport type RetryPolicyIntersection = RetryPolicy & Specification.RetryPolicy;\n\n/**\n * Represents a constructor for the intersection of the RetryPolicy class and type\n */\nexport interface RetryPolicyConstructor {\n new (model?: Partial<Specification.RetryPolicy>): RetryPolicyIntersection;\n}\n\n/**\n * Represents a RetryPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RetryPolicy extends ObjectHydrator<Specification.RetryPolicy> {\n /**\n * Instanciates a new instance of the RetryPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RetryPolicy.\n */\n constructor(model?: Partial<Specification.RetryPolicy>) {\n super(model);\n const self = this as unknown as Specification.RetryPolicy & object;\n if (isObject(model)) {\n if (typeof model.delay === 'object') self.delay = new _Duration(model.delay);\n if (typeof model.backoff === 'object') self.backoff = new _RetryBackoff(model.backoff);\n if (typeof model.limit === 'object') self.limit = new _RetryLimit(model.limit);\n if (typeof model.jitter === 'object') self.jitter = new _RetryPolicyJitter(model.jitter);\n }\n getLifecycleHooks('RetryPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RetryPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RetryPolicy(this as any) as RetryPolicyIntersection;\n validate('RetryPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RetryPolicy.\n * Creates a copy of the RetryPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RetryPolicy instance.\n */\n normalize(): RetryPolicy & Specification.RetryPolicy {\n const copy = new RetryPolicy(this as any) as RetryPolicyIntersection;\n return getLifecycleHooks('RetryPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RetryPolicy = RetryPolicy as RetryPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Container } from './container';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunContainer class and type\n */\nexport type RunContainerIntersection = RunContainer & Specification.RunContainer;\n\n/**\n * Represents a constructor for the intersection of the RunContainer class and type\n */\nexport interface RunContainerConstructor {\n new (model?: Partial<Specification.RunContainer>): RunContainerIntersection;\n}\n\n/**\n * Represents a RunContainer with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunContainer extends ObjectHydrator<Specification.RunContainer> {\n /**\n * Instanciates a new instance of the RunContainer class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunContainer.\n */\n constructor(model?: Partial<Specification.RunContainer>) {\n super(model);\n const self = this as unknown as Specification.RunContainer & object;\n if (isObject(model)) {\n if (typeof model.container === 'object') self.container = new _Container(model.container);\n }\n getLifecycleHooks('RunContainer')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunContainer.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunContainer(this as any) as RunContainerIntersection;\n validate('RunContainer', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunContainer.\n * Creates a copy of the RunContainer, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunContainer instance.\n */\n normalize(): RunContainer & Specification.RunContainer {\n const copy = new RunContainer(this as any) as RunContainerIntersection;\n return getLifecycleHooks('RunContainer')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunContainer = RunContainer as RunContainerConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Script } from './script';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunScript class and type\n */\nexport type RunScriptIntersection = RunScript & Specification.RunScript;\n\n/**\n * Represents a constructor for the intersection of the RunScript class and type\n */\nexport interface RunScriptConstructor {\n new (model?: Partial<Specification.RunScript>): RunScriptIntersection;\n}\n\n/**\n * Represents a RunScript with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunScript extends ObjectHydrator<Specification.RunScript> {\n /**\n * Instanciates a new instance of the RunScript class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunScript.\n */\n constructor(model?: Partial<Specification.RunScript>) {\n super(model);\n const self = this as unknown as Specification.RunScript & object;\n if (isObject(model)) {\n if (typeof model.script === 'object') self.script = new _Script(model.script);\n }\n getLifecycleHooks('RunScript')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunScript.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunScript(this as any) as RunScriptIntersection;\n validate('RunScript', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunScript.\n * Creates a copy of the RunScript, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunScript instance.\n */\n normalize(): RunScript & Specification.RunScript {\n const copy = new RunScript(this as any) as RunScriptIntersection;\n return getLifecycleHooks('RunScript')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunScript = RunScript as RunScriptConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Shell } from './shell';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunShell class and type\n */\nexport type RunShellIntersection = RunShell & Specification.RunShell;\n\n/**\n * Represents a constructor for the intersection of the RunShell class and type\n */\nexport interface RunShellConstructor {\n new (model?: Partial<Specification.RunShell>): RunShellIntersection;\n}\n\n/**\n * Represents a RunShell with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunShell extends ObjectHydrator<Specification.RunShell> {\n /**\n * Instanciates a new instance of the RunShell class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunShell.\n */\n constructor(model?: Partial<Specification.RunShell>) {\n super(model);\n const self = this as unknown as Specification.RunShell & object;\n if (isObject(model)) {\n if (typeof model.shell === 'object') self.shell = new _Shell(model.shell);\n }\n getLifecycleHooks('RunShell')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunShell.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunShell(this as any) as RunShellIntersection;\n validate('RunShell', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunShell.\n * Creates a copy of the RunShell, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunShell instance.\n */\n normalize(): RunShell & Specification.RunShell {\n const copy = new RunShell(this as any) as RunShellIntersection;\n return getLifecycleHooks('RunShell')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunShell = RunShell as RunShellConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _RunTaskConfiguration } from './run-task-configuration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunTask class and type\n */\nexport type RunTaskIntersection = RunTask & Specification.RunTask;\n\n/**\n * Represents a constructor for the intersection of the RunTask class and type\n */\nexport interface RunTaskConstructor {\n new (model?: Partial<Specification.RunTask>): RunTaskIntersection;\n}\n\n/**\n * Represents a RunTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunTask extends _TaskBase {\n /**\n * Instanciates a new instance of the RunTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunTask.\n */\n constructor(model?: Partial<Specification.RunTask>) {\n super(model);\n const self = this as unknown as Specification.RunTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.run === 'object') self.run = new _RunTaskConfiguration(model.run);\n }\n getLifecycleHooks('RunTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunTask(this as any) as RunTaskIntersection;\n validate('RunTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunTask.\n * Creates a copy of the RunTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunTask instance.\n */\n normalize(): RunTask & Specification.RunTask {\n const copy = new RunTask(this as any) as RunTaskIntersection;\n return getLifecycleHooks('RunTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunTask = RunTask as RunTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the RuntimeExpression class and type\n */\nexport type RuntimeExpressionIntersection = RuntimeExpression & Specification.RuntimeExpression;\n\n/**\n * Represents a constructor for the intersection of the RuntimeExpression class and type\n */\nexport interface RuntimeExpressionConstructor {\n new (model?: Partial<Specification.RuntimeExpression>): RuntimeExpressionIntersection;\n}\n\n/**\n * Represents a RuntimeExpression with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RuntimeExpression extends ObjectHydrator<Specification.RuntimeExpression> {\n /**\n * Instanciates a new instance of the RuntimeExpression class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RuntimeExpression.\n */\n constructor(model?: Partial<Specification.RuntimeExpression>) {\n super(model);\n\n getLifecycleHooks('RuntimeExpression')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RuntimeExpression.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RuntimeExpression(this as any) as RuntimeExpressionIntersection;\n validate('RuntimeExpression', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RuntimeExpression.\n * Creates a copy of the RuntimeExpression, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RuntimeExpression instance.\n */\n normalize(): RuntimeExpression & Specification.RuntimeExpression {\n const copy = new RuntimeExpression(this as any) as RuntimeExpressionIntersection;\n return getLifecycleHooks('RuntimeExpression')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RuntimeExpression = RuntimeExpression as RuntimeExpressionConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _SubflowConfiguration } from './subflow-configuration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the RunWorkflow class and type\n */\nexport type RunWorkflowIntersection = RunWorkflow & Specification.RunWorkflow;\n\n/**\n * Represents a constructor for the intersection of the RunWorkflow class and type\n */\nexport interface RunWorkflowConstructor {\n new (model?: Partial<Specification.RunWorkflow>): RunWorkflowIntersection;\n}\n\n/**\n * Represents a RunWorkflow with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class RunWorkflow extends ObjectHydrator<Specification.RunWorkflow> {\n /**\n * Instanciates a new instance of the RunWorkflow class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the RunWorkflow.\n */\n constructor(model?: Partial<Specification.RunWorkflow>) {\n super(model);\n const self = this as unknown as Specification.RunWorkflow & object;\n if (isObject(model)) {\n if (typeof model.workflow === 'object') self.workflow = new _SubflowConfiguration(model.workflow);\n }\n getLifecycleHooks('RunWorkflow')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the RunWorkflow.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new RunWorkflow(this as any) as RunWorkflowIntersection;\n validate('RunWorkflow', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the RunWorkflow.\n * Creates a copy of the RunWorkflow, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the RunWorkflow instance.\n */\n normalize(): RunWorkflow & Specification.RunWorkflow {\n const copy = new RunWorkflow(this as any) as RunWorkflowIntersection;\n return getLifecycleHooks('RunWorkflow')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _RunWorkflow = RunWorkflow as RunWorkflowConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { _EventConsumptionStrategy } from './event-consumption-strategy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Schedule class and type\n */\nexport type ScheduleIntersection = Schedule & Specification.Schedule;\n\n/**\n * Represents a constructor for the intersection of the Schedule class and type\n */\nexport interface ScheduleConstructor {\n new (model?: Partial<Specification.Schedule>): ScheduleIntersection;\n}\n\n/**\n * Represents a Schedule with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Schedule extends ObjectHydrator<Specification.Schedule> {\n /**\n * Instanciates a new instance of the Schedule class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Schedule.\n */\n constructor(model?: Partial<Specification.Schedule>) {\n super(model);\n const self = this as unknown as Specification.Schedule & object;\n if (isObject(model)) {\n if (typeof model.every === 'object') self.every = new _Duration(model.every);\n if (typeof model.after === 'object') self.after = new _Duration(model.after);\n if (typeof model.on === 'object') self.on = new _EventConsumptionStrategy(model.on);\n }\n getLifecycleHooks('Schedule')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Schedule.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Schedule(this as any) as ScheduleIntersection;\n validate('Schedule', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Schedule.\n * Creates a copy of the Schedule, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Schedule instance.\n */\n normalize(): Schedule & Specification.Schedule {\n const copy = new Schedule(this as any) as ScheduleIntersection;\n return getLifecycleHooks('Schedule')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Schedule = Schedule as ScheduleConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExternalResource } from './external-resource';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SchemaExternal class and type\n */\nexport type SchemaExternalIntersection = SchemaExternal & Specification.SchemaExternal;\n\n/**\n * Represents a constructor for the intersection of the SchemaExternal class and type\n */\nexport interface SchemaExternalConstructor {\n new (model?: Partial<Specification.SchemaExternal>): SchemaExternalIntersection;\n}\n\n/**\n * Represents a SchemaExternal with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SchemaExternal extends ObjectHydrator<Specification.SchemaExternal> {\n /**\n * Instanciates a new instance of the SchemaExternal class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SchemaExternal.\n */\n constructor(model?: Partial<Specification.SchemaExternal>) {\n super(model);\n const self = this as unknown as Specification.SchemaExternal & object;\n if (isObject(model)) {\n if (typeof model.resource === 'object') self.resource = new _ExternalResource(model.resource);\n }\n getLifecycleHooks('SchemaExternal')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SchemaExternal.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SchemaExternal(this as any) as SchemaExternalIntersection;\n validate('SchemaExternal', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SchemaExternal.\n * Creates a copy of the SchemaExternal, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SchemaExternal instance.\n */\n normalize(): SchemaExternal & Specification.SchemaExternal {\n const copy = new SchemaExternal(this as any) as SchemaExternalIntersection;\n return getLifecycleHooks('SchemaExternal')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SchemaExternal = SchemaExternal as SchemaExternalConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SchemaInline class and type\n */\nexport type SchemaInlineIntersection = SchemaInline & Specification.SchemaInline;\n\n/**\n * Represents a constructor for the intersection of the SchemaInline class and type\n */\nexport interface SchemaInlineConstructor {\n new (model?: Partial<Specification.SchemaInline>): SchemaInlineIntersection;\n}\n\n/**\n * Represents a SchemaInline with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SchemaInline extends ObjectHydrator<Specification.SchemaInline> {\n /**\n * Instanciates a new instance of the SchemaInline class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SchemaInline.\n */\n constructor(model?: Partial<Specification.SchemaInline>) {\n super(model);\n\n getLifecycleHooks('SchemaInline')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SchemaInline.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SchemaInline(this as any) as SchemaInlineIntersection;\n validate('SchemaInline', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SchemaInline.\n * Creates a copy of the SchemaInline, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SchemaInline instance.\n */\n normalize(): SchemaInline & Specification.SchemaInline {\n const copy = new SchemaInline(this as any) as SchemaInlineIntersection;\n return getLifecycleHooks('SchemaInline')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SchemaInline = SchemaInline as SchemaInlineConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SecretBasedAuthenticationPolicy class and type\n */\nexport type SecretBasedAuthenticationPolicyIntersection = SecretBasedAuthenticationPolicy &\n Specification.SecretBasedAuthenticationPolicy;\n\n/**\n * Represents a constructor for the intersection of the SecretBasedAuthenticationPolicy class and type\n */\nexport interface SecretBasedAuthenticationPolicyConstructor {\n new (model?: Partial<Specification.SecretBasedAuthenticationPolicy>): SecretBasedAuthenticationPolicyIntersection;\n}\n\n/**\n * Represents a SecretBasedAuthenticationPolicy with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SecretBasedAuthenticationPolicy extends ObjectHydrator<Specification.SecretBasedAuthenticationPolicy> {\n /**\n * Instanciates a new instance of the SecretBasedAuthenticationPolicy class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SecretBasedAuthenticationPolicy.\n */\n constructor(model?: Partial<Specification.SecretBasedAuthenticationPolicy>) {\n super(model);\n\n getLifecycleHooks('SecretBasedAuthenticationPolicy')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SecretBasedAuthenticationPolicy.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SecretBasedAuthenticationPolicy(this as any) as SecretBasedAuthenticationPolicyIntersection;\n validate('SecretBasedAuthenticationPolicy', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SecretBasedAuthenticationPolicy.\n * Creates a copy of the SecretBasedAuthenticationPolicy, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SecretBasedAuthenticationPolicy instance.\n */\n normalize(): SecretBasedAuthenticationPolicy & Specification.SecretBasedAuthenticationPolicy {\n const copy = new SecretBasedAuthenticationPolicy(this as any) as SecretBasedAuthenticationPolicyIntersection;\n return getLifecycleHooks('SecretBasedAuthenticationPolicy')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SecretBasedAuthenticationPolicy =\n SecretBasedAuthenticationPolicy as SecretBasedAuthenticationPolicyConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SetTask class and type\n */\nexport type SetTaskIntersection = SetTask & Specification.SetTask;\n\n/**\n * Represents a constructor for the intersection of the SetTask class and type\n */\nexport interface SetTaskConstructor {\n new (model?: Partial<Specification.SetTask>): SetTaskIntersection;\n}\n\n/**\n * Represents a SetTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SetTask extends _TaskBase {\n /**\n * Instanciates a new instance of the SetTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SetTask.\n */\n constructor(model?: Partial<Specification.SetTask>) {\n super(model);\n const self = this as unknown as Specification.SetTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n }\n getLifecycleHooks('SetTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SetTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SetTask(this as any) as SetTaskIntersection;\n validate('SetTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SetTask.\n * Creates a copy of the SetTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SetTask instance.\n */\n normalize(): SetTask & Specification.SetTask {\n const copy = new SetTask(this as any) as SetTaskIntersection;\n return getLifecycleHooks('SetTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SetTask = SetTask as SetTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the SetTaskConfiguration class and type\n */\nexport type SetTaskConfigurationIntersection = SetTaskConfiguration & Specification.SetTaskConfiguration;\n\n/**\n * Represents a constructor for the intersection of the SetTaskConfiguration class and type\n */\nexport interface SetTaskConfigurationConstructor {\n new (model?: Partial<Specification.SetTaskConfiguration>): SetTaskConfigurationIntersection;\n}\n\n/**\n * Represents a SetTaskConfiguration with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SetTaskConfiguration extends ObjectHydrator<Specification.SetTaskConfiguration> {\n /**\n * Instanciates a new instance of the SetTaskConfiguration class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SetTaskConfiguration.\n */\n constructor(model?: Partial<Specification.SetTaskConfiguration>) {\n super(model);\n\n getLifecycleHooks('SetTaskConfiguration')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SetTaskConfiguration.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SetTaskConfiguration(this as any) as SetTaskConfigurationIntersection;\n validate('SetTaskConfiguration', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SetTaskConfiguration.\n * Creates a copy of the SetTaskConfiguration, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SetTaskConfiguration instance.\n */\n normalize(): SetTaskConfiguration & Specification.SetTaskConfiguration {\n const copy = new SetTaskConfiguration(this as any) as SetTaskConfigurationIntersection;\n return getLifecycleHooks('SetTaskConfiguration')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SetTaskConfiguration = SetTaskConfiguration as SetTaskConfigurationConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the ShellArguments class and type\n */\nexport type ShellArgumentsIntersection = ShellArguments & Specification.ShellArguments;\n\n/**\n * Represents a constructor for the intersection of the ShellArguments class and type\n */\nexport interface ShellArgumentsConstructor {\n new (model?: Array<string> | number): ShellArgumentsIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class ShellArguments extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the ShellArguments class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(ShellArguments.prototype));\n getLifecycleHooks('ShellArguments')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the ShellArguments.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new ShellArguments(this);\n validate('ShellArguments', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the ShellArguments.\n * Creates a copy of the ShellArguments, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the ShellArguments instance.\n */\n normalize(): ShellArguments {\n const copy = new ShellArguments(this);\n return getLifecycleHooks('ShellArguments')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _ShellArguments = ShellArguments as unknown as ShellArgumentsConstructor;\n//export const _ShellArguments = ShellArguments; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _SwitchTaskConfiguration } from './switch-task-configuration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the SwitchTask class and type\n */\nexport type SwitchTaskIntersection = SwitchTask & Specification.SwitchTask;\n\n/**\n * Represents a constructor for the intersection of the SwitchTask class and type\n */\nexport interface SwitchTaskConstructor {\n new (model?: Partial<Specification.SwitchTask>): SwitchTaskIntersection;\n}\n\n/**\n * Represents a SwitchTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class SwitchTask extends _TaskBase {\n /**\n * Instanciates a new instance of the SwitchTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the SwitchTask.\n */\n constructor(model?: Partial<Specification.SwitchTask>) {\n super(model);\n const self = this as unknown as Specification.SwitchTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.switch === 'object')\n self.switch = new _SwitchTaskConfiguration(model.switch) as unknown as Specification.SwitchTaskConfiguration;\n }\n getLifecycleHooks('SwitchTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the SwitchTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new SwitchTask(this as any) as SwitchTaskIntersection;\n validate('SwitchTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the SwitchTask.\n * Creates a copy of the SwitchTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the SwitchTask instance.\n */\n normalize(): SwitchTask & Specification.SwitchTask {\n const copy = new SwitchTask(this as any) as SwitchTaskIntersection;\n return getLifecycleHooks('SwitchTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _SwitchTask = SwitchTask as SwitchTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the TaskBaseIf class and type\n */\nexport type TaskBaseIfIntersection = TaskBaseIf & Specification.TaskBaseIf;\n\n/**\n * Represents a constructor for the intersection of the TaskBaseIf class and type\n */\nexport interface TaskBaseIfConstructor {\n new (model?: Partial<Specification.TaskBaseIf>): TaskBaseIfIntersection;\n}\n\n/**\n * Represents a TaskBaseIf with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TaskBaseIf extends ObjectHydrator<Specification.TaskBaseIf> {\n /**\n * Instanciates a new instance of the TaskBaseIf class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TaskBaseIf.\n */\n constructor(model?: Partial<Specification.TaskBaseIf>) {\n super(model);\n\n getLifecycleHooks('TaskBaseIf')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TaskBaseIf.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TaskBaseIf(this as any) as TaskBaseIfIntersection;\n validate('TaskBaseIf', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TaskBaseIf.\n * Creates a copy of the TaskBaseIf, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TaskBaseIf instance.\n */\n normalize(): TaskBaseIf & Specification.TaskBaseIf {\n const copy = new TaskBaseIf(this as any) as TaskBaseIfIntersection;\n return getLifecycleHooks('TaskBaseIf')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TaskBaseIf = TaskBaseIf as TaskBaseIfConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Timeout class and type\n */\nexport type TimeoutIntersection = Timeout & Specification.Timeout;\n\n/**\n * Represents a constructor for the intersection of the Timeout class and type\n */\nexport interface TimeoutConstructor {\n new (model?: Partial<Specification.Timeout>): TimeoutIntersection;\n}\n\n/**\n * Represents a Timeout with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Timeout extends ObjectHydrator<Specification.Timeout> {\n /**\n * Instanciates a new instance of the Timeout class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Timeout.\n */\n constructor(model?: Partial<Specification.Timeout>) {\n super(model);\n const self = this as unknown as Specification.Timeout & object;\n if (isObject(model)) {\n if (typeof model.after === 'object') self.after = new _Duration(model.after);\n }\n getLifecycleHooks('Timeout')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Timeout.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Timeout(this as any) as TimeoutIntersection;\n validate('Timeout', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Timeout.\n * Creates a copy of the Timeout, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Timeout instance.\n */\n normalize(): Timeout & Specification.Timeout {\n const copy = new Timeout(this as any) as TimeoutIntersection;\n return getLifecycleHooks('Timeout')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Timeout = Timeout as TimeoutConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _TaskList } from './task-list';\nimport { _TryTaskCatch } from './try-task-catch';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the TryTask class and type\n */\nexport type TryTaskIntersection = TryTask & Specification.TryTask;\n\n/**\n * Represents a constructor for the intersection of the TryTask class and type\n */\nexport interface TryTaskConstructor {\n new (model?: Partial<Specification.TryTask>): TryTaskIntersection;\n}\n\n/**\n * Represents a TryTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class TryTask extends _TaskBase {\n /**\n * Instanciates a new instance of the TryTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the TryTask.\n */\n constructor(model?: Partial<Specification.TryTask>) {\n super(model);\n const self = this as unknown as Specification.TryTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.try === 'object') self.try = new _TaskList(model.try);\n if (typeof model.catch === 'object') self.catch = new _TryTaskCatch(model.catch);\n }\n getLifecycleHooks('TryTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the TryTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new TryTask(this as any) as TryTaskIntersection;\n validate('TryTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the TryTask.\n * Creates a copy of the TryTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the TryTask instance.\n */\n normalize(): TryTask & Specification.TryTask {\n const copy = new TryTask(this as any) as TryTaskIntersection;\n return getLifecycleHooks('TryTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _TryTask = TryTask as TryTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the UriTemplate class and type\n */\nexport type UriTemplateIntersection = UriTemplate & Specification.UriTemplate;\n\n/**\n * Represents a constructor for the intersection of the UriTemplate class and type\n */\nexport interface UriTemplateConstructor {\n new (model?: Partial<Specification.UriTemplate>): UriTemplateIntersection;\n}\n\n/**\n * Represents a UriTemplate with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UriTemplate extends ObjectHydrator<Specification.UriTemplate> {\n /**\n * Instanciates a new instance of the UriTemplate class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UriTemplate.\n */\n constructor(model?: Partial<Specification.UriTemplate>) {\n super(model);\n\n getLifecycleHooks('UriTemplate')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UriTemplate.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UriTemplate(this as any) as UriTemplateIntersection;\n validate('UriTemplate', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UriTemplate.\n * Creates a copy of the UriTemplate, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UriTemplate instance.\n */\n normalize(): UriTemplate & Specification.UriTemplate {\n const copy = new UriTemplate(this as any) as UriTemplateIntersection;\n return getLifecycleHooks('UriTemplate')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UriTemplate = UriTemplate as UriTemplateConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _AuthenticationPolicy } from './authentication-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseAuthentications class and type\n */\nexport type UseAuthenticationsIntersection = UseAuthentications & Specification.UseAuthentications;\n\n/**\n * Represents a constructor for the intersection of the UseAuthentications class and type\n */\nexport interface UseAuthenticationsConstructor {\n new (model?: Partial<Specification.UseAuthentications>): UseAuthenticationsIntersection;\n}\n\n/**\n * Represents a UseAuthentications with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseAuthentications extends ObjectHydrator<Specification.UseAuthentications> {\n /**\n * Instanciates a new instance of the UseAuthentications class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseAuthentications.\n */\n constructor(model?: Partial<Specification.UseAuthentications>) {\n super(model);\n const self = this as unknown as Specification.UseAuthentications & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _AuthenticationPolicy(value);\n });\n }\n getLifecycleHooks('UseAuthentications')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseAuthentications.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseAuthentications(this as any) as UseAuthenticationsIntersection;\n validate('UseAuthentications', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseAuthentications.\n * Creates a copy of the UseAuthentications, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseAuthentications instance.\n */\n normalize(): UseAuthentications & Specification.UseAuthentications {\n const copy = new UseAuthentications(this as any) as UseAuthenticationsIntersection;\n return getLifecycleHooks('UseAuthentications')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseAuthentications = UseAuthentications as UseAuthenticationsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Error } from './error';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseErrors class and type\n */\nexport type UseErrorsIntersection = UseErrors & Specification.UseErrors;\n\n/**\n * Represents a constructor for the intersection of the UseErrors class and type\n */\nexport interface UseErrorsConstructor {\n new (model?: Partial<Specification.UseErrors>): UseErrorsIntersection;\n}\n\n/**\n * Represents a UseErrors with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseErrors extends ObjectHydrator<Specification.UseErrors> {\n /**\n * Instanciates a new instance of the UseErrors class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseErrors.\n */\n constructor(model?: Partial<Specification.UseErrors>) {\n super(model);\n const self = this as unknown as Specification.UseErrors & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Error(value);\n });\n }\n getLifecycleHooks('UseErrors')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseErrors.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseErrors(this as any) as UseErrorsIntersection;\n validate('UseErrors', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseErrors.\n * Creates a copy of the UseErrors, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseErrors instance.\n */\n normalize(): UseErrors & Specification.UseErrors {\n const copy = new UseErrors(this as any) as UseErrorsIntersection;\n return getLifecycleHooks('UseErrors')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseErrors = UseErrors as UseErrorsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _ExtensionItem } from './extension-item';\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the UseExtensions class and type\n */\nexport type UseExtensionsIntersection = UseExtensions & Specification.UseExtensions;\n\n/**\n * Represents a constructor for the intersection of the UseExtensions class and type\n */\nexport interface UseExtensionsConstructor {\n new (model?: Array<Specification.ExtensionItem> | number): UseExtensionsIntersection;\n}\n\n/**\n * Represents a collection of Specification.ExtensionItem.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class UseExtensions extends ArrayHydrator<Specification.ExtensionItem> {\n /**\n * Constructs a new instance of the UseExtensions class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<Specification.ExtensionItem> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(new _ExtensionItem(item)));\n }\n }\n Object.setPrototypeOf(this, Object.create(UseExtensions.prototype));\n getLifecycleHooks('UseExtensions')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseExtensions.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseExtensions(this);\n validate('UseExtensions', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseExtensions.\n * Creates a copy of the UseExtensions, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseExtensions instance.\n */\n normalize(): UseExtensions {\n const copy = new UseExtensions(this);\n return getLifecycleHooks('UseExtensions')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseExtensions = UseExtensions as unknown as UseExtensionsConstructor;\n//export const _UseExtensions = UseExtensions; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Task } from './task';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseFunctions class and type\n */\nexport type UseFunctionsIntersection = UseFunctions & Specification.UseFunctions;\n\n/**\n * Represents a constructor for the intersection of the UseFunctions class and type\n */\nexport interface UseFunctionsConstructor {\n new (model?: Partial<Specification.UseFunctions>): UseFunctionsIntersection;\n}\n\n/**\n * Represents a UseFunctions with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseFunctions extends ObjectHydrator<Specification.UseFunctions> {\n /**\n * Instanciates a new instance of the UseFunctions class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseFunctions.\n */\n constructor(model?: Partial<Specification.UseFunctions>) {\n super(model);\n const self = this as unknown as Specification.UseFunctions & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Task(value);\n });\n }\n getLifecycleHooks('UseFunctions')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseFunctions.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseFunctions(this as any) as UseFunctionsIntersection;\n validate('UseFunctions', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseFunctions.\n * Creates a copy of the UseFunctions, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseFunctions instance.\n */\n normalize(): UseFunctions & Specification.UseFunctions {\n const copy = new UseFunctions(this as any) as UseFunctionsIntersection;\n return getLifecycleHooks('UseFunctions')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseFunctions = UseFunctions as UseFunctionsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _RetryPolicy } from './retry-policy';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseRetries class and type\n */\nexport type UseRetriesIntersection = UseRetries & Specification.UseRetries;\n\n/**\n * Represents a constructor for the intersection of the UseRetries class and type\n */\nexport interface UseRetriesConstructor {\n new (model?: Partial<Specification.UseRetries>): UseRetriesIntersection;\n}\n\n/**\n * Represents a UseRetries with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseRetries extends ObjectHydrator<Specification.UseRetries> {\n /**\n * Instanciates a new instance of the UseRetries class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseRetries.\n */\n constructor(model?: Partial<Specification.UseRetries>) {\n super(model);\n const self = this as unknown as Specification.UseRetries & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _RetryPolicy(value);\n });\n }\n getLifecycleHooks('UseRetries')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseRetries.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseRetries(this as any) as UseRetriesIntersection;\n validate('UseRetries', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseRetries.\n * Creates a copy of the UseRetries, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseRetries instance.\n */\n normalize(): UseRetries & Specification.UseRetries {\n const copy = new UseRetries(this as any) as UseRetriesIntersection;\n return getLifecycleHooks('UseRetries')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseRetries = UseRetries as UseRetriesConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Timeout } from './timeout';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseTimeouts class and type\n */\nexport type UseTimeoutsIntersection = UseTimeouts & Specification.UseTimeouts;\n\n/**\n * Represents a constructor for the intersection of the UseTimeouts class and type\n */\nexport interface UseTimeoutsConstructor {\n new (model?: Partial<Specification.UseTimeouts>): UseTimeoutsIntersection;\n}\n\n/**\n * Represents a UseTimeouts with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseTimeouts extends ObjectHydrator<Specification.UseTimeouts> {\n /**\n * Instanciates a new instance of the UseTimeouts class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseTimeouts.\n */\n constructor(model?: Partial<Specification.UseTimeouts>) {\n super(model);\n const self = this as unknown as Specification.UseTimeouts & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Timeout(value);\n });\n }\n getLifecycleHooks('UseTimeouts')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseTimeouts.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseTimeouts(this as any) as UseTimeoutsIntersection;\n validate('UseTimeouts', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseTimeouts.\n * Creates a copy of the UseTimeouts, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseTimeouts instance.\n */\n normalize(): UseTimeouts & Specification.UseTimeouts {\n const copy = new UseTimeouts(this as any) as UseTimeoutsIntersection;\n return getLifecycleHooks('UseTimeouts')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseTimeouts = UseTimeouts as UseTimeoutsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Catalog } from './catalog';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the UseCatalogs class and type\n */\nexport type UseCatalogsIntersection = UseCatalogs & Specification.UseCatalogs;\n\n/**\n * Represents a constructor for the intersection of the UseCatalogs class and type\n */\nexport interface UseCatalogsConstructor {\n new (model?: Partial<Specification.UseCatalogs>): UseCatalogsIntersection;\n}\n\n/**\n * Represents a UseCatalogs with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class UseCatalogs extends ObjectHydrator<Specification.UseCatalogs> {\n /**\n * Instanciates a new instance of the UseCatalogs class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the UseCatalogs.\n */\n constructor(model?: Partial<Specification.UseCatalogs>) {\n super(model);\n const self = this as unknown as Specification.UseCatalogs & object;\n if (isObject(model)) {\n const knownProperties: string[] = [];\n Object.entries(model)\n .filter(([key]) => !knownProperties.includes(key))\n .forEach(([key, value]) => {\n self[key] = new _Catalog(value);\n });\n }\n getLifecycleHooks('UseCatalogs')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseCatalogs.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseCatalogs(this as any) as UseCatalogsIntersection;\n validate('UseCatalogs', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseCatalogs.\n * Creates a copy of the UseCatalogs, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseCatalogs instance.\n */\n normalize(): UseCatalogs & Specification.UseCatalogs {\n const copy = new UseCatalogs(this as any) as UseCatalogsIntersection;\n return getLifecycleHooks('UseCatalogs')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseCatalogs = UseCatalogs as UseCatalogsConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _UseAuthentications } from './use-authentications';\nimport { _UseErrors } from './use-errors';\nimport { _UseExtensions } from './use-extensions';\nimport { _UseFunctions } from './use-functions';\nimport { _UseRetries } from './use-retries';\nimport { _UseTimeouts } from './use-timeouts';\nimport { _UseCatalogs } from './use-catalogs';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the Use class and type\n */\nexport type UseIntersection = Use & Specification.Use;\n\n/**\n * Represents a constructor for the intersection of the Use class and type\n */\nexport interface UseConstructor {\n new (model?: Partial<Specification.Use>): UseIntersection;\n}\n\n/**\n * Represents a Use with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Use extends ObjectHydrator<Specification.Use> {\n /**\n * Instanciates a new instance of the Use class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Use.\n */\n constructor(model?: Partial<Specification.Use>) {\n super(model);\n const self = this as unknown as Specification.Use & object;\n if (isObject(model)) {\n if (typeof model.authentications === 'object')\n self.authentications = new _UseAuthentications(model.authentications);\n if (typeof model.errors === 'object') self.errors = new _UseErrors(model.errors);\n if (typeof model.extensions === 'object') self.extensions = new _UseExtensions(model.extensions);\n if (typeof model.functions === 'object') self.functions = new _UseFunctions(model.functions);\n if (typeof model.retries === 'object') self.retries = new _UseRetries(model.retries);\n if (typeof model.timeouts === 'object') self.timeouts = new _UseTimeouts(model.timeouts);\n if (typeof model.catalogs === 'object') self.catalogs = new _UseCatalogs(model.catalogs);\n }\n getLifecycleHooks('Use')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Use.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Use(this as any) as UseIntersection;\n validate('Use', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Use.\n * Creates a copy of the Use, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Use instance.\n */\n normalize(): Use & Specification.Use {\n const copy = new Use(this as any) as UseIntersection;\n return getLifecycleHooks('Use')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _Use = Use as UseConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { Specification } from '../definitions';\nimport { ArrayHydrator } from '../../hydrator';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the UseSecrets class and type\n */\nexport type UseSecretsIntersection = UseSecrets & Specification.UseSecrets;\n\n/**\n * Represents a constructor for the intersection of the UseSecrets class and type\n */\nexport interface UseSecretsConstructor {\n new (model?: Array<string> | number): UseSecretsIntersection;\n}\n\n/**\n * Represents a collection of string.\n * Inherits from ArrayHydrator to handle array-specific hydration.\n */\nexport class UseSecrets extends ArrayHydrator<string> {\n /**\n * Constructs a new instance of the UseSecrets class.\n *\n * @param model - Optional parameter which can be an array of objects or a number representing the array length.\n */\n constructor(model?: Array<string> | number) {\n super(model);\n if (Array.isArray(model)) {\n if (model?.length) {\n this.splice(0, this.length);\n model.forEach((item) => this.push(item));\n }\n }\n Object.setPrototypeOf(this, Object.create(UseSecrets.prototype));\n getLifecycleHooks('UseSecrets')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the UseSecrets.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new UseSecrets(this);\n validate('UseSecrets', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the UseSecrets.\n * Creates a copy of the UseSecrets, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the UseSecrets instance.\n */\n normalize(): UseSecrets {\n const copy = new UseSecrets(this);\n return getLifecycleHooks('UseSecrets')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _UseSecrets = UseSecrets as unknown as UseSecretsConstructor;\n//export const _UseSecrets = UseSecrets; // could be exported directly, but it makes the job of building the index more straightforward as it's consistant with \"object\" classes\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Input } from './input';\nimport { _Output } from './output';\nimport { _Export } from './export';\nimport { _TaskTimeout } from './task-timeout';\nimport { _TaskMetadata } from './task-metadata';\nimport { _Duration } from './duration';\nimport { _TaskBase } from './task-base';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the WaitTask class and type\n */\nexport type WaitTaskIntersection = WaitTask & Specification.WaitTask;\n\n/**\n * Represents a constructor for the intersection of the WaitTask class and type\n */\nexport interface WaitTaskConstructor {\n new (model?: Partial<Specification.WaitTask>): WaitTaskIntersection;\n}\n\n/**\n * Represents a WaitTask with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WaitTask extends _TaskBase {\n /**\n * Instanciates a new instance of the WaitTask class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WaitTask.\n */\n constructor(model?: Partial<Specification.WaitTask>) {\n super(model);\n const self = this as unknown as Specification.WaitTask & object;\n if (isObject(model)) {\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.export === 'object') self.export = new _Export(model.export);\n if (typeof model.timeout === 'object') self.timeout = new _TaskTimeout(model.timeout);\n if (typeof model.metadata === 'object') self.metadata = new _TaskMetadata(model.metadata);\n if (typeof model.wait === 'object') self.wait = new _Duration(model.wait);\n }\n getLifecycleHooks('WaitTask')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WaitTask.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WaitTask(this as any) as WaitTaskIntersection;\n validate('WaitTask', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WaitTask.\n * Creates a copy of the WaitTask, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WaitTask instance.\n */\n normalize(): WaitTask & Specification.WaitTask {\n const copy = new WaitTask(this as any) as WaitTaskIntersection;\n return getLifecycleHooks('WaitTask')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WaitTask = WaitTask as WaitTaskConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\n\n/**\n * Represents the intersection between the WithA2AParameters class and type\n */\nexport type WithA2AParametersIntersection = WithA2AParameters & Specification.WithA2AParameters;\n\n/**\n * Represents a constructor for the intersection of the WithA2AParameters class and type\n */\nexport interface WithA2AParametersConstructor {\n new (model?: Partial<Specification.WithA2AParameters>): WithA2AParametersIntersection;\n}\n\n/**\n * Represents a WithA2AParameters with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WithA2AParameters extends ObjectHydrator<Specification.WithA2AParameters> {\n /**\n * Instanciates a new instance of the WithA2AParameters class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WithA2AParameters.\n */\n constructor(model?: Partial<Specification.WithA2AParameters>) {\n super(model);\n\n getLifecycleHooks('WithA2AParameters')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WithA2AParameters.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WithA2AParameters(this as any) as WithA2AParametersIntersection;\n validate('WithA2AParameters', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WithA2AParameters.\n * Creates a copy of the WithA2AParameters, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WithA2AParameters instance.\n */\n normalize(): WithA2AParameters & Specification.WithA2AParameters {\n const copy = new WithA2AParameters(this as any) as WithA2AParametersIntersection;\n return getLifecycleHooks('WithA2AParameters')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WithA2AParameters = WithA2AParameters as WithA2AParametersConstructor;\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Duration } from './duration';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\n\n/**\n * Represents the intersection between the WorkflowTimeout class and type\n */\nexport type WorkflowTimeoutIntersection = WorkflowTimeout & Specification.WorkflowTimeout;\n\n/**\n * Represents a constructor for the intersection of the WorkflowTimeout class and type\n */\nexport interface WorkflowTimeoutConstructor {\n new (model?: Partial<Specification.WorkflowTimeout>): WorkflowTimeoutIntersection;\n}\n\n/**\n * Represents a WorkflowTimeout with methods for validation and normalization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class WorkflowTimeout extends ObjectHydrator<Specification.WorkflowTimeout> {\n /**\n * Instanciates a new instance of the WorkflowTimeout class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the WorkflowTimeout.\n */\n constructor(model?: Partial<Specification.WorkflowTimeout>) {\n super(model);\n const self = this as unknown as Specification.WorkflowTimeout & object;\n if (isObject(model)) {\n if (typeof (model as Specification.Timeout).after === 'object')\n (self as Specification.Timeout).after = new _Duration(\n (model as Specification.Timeout).after as Specification.Duration,\n );\n }\n getLifecycleHooks('WorkflowTimeout')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the WorkflowTimeout.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new WorkflowTimeout(this as any) as WorkflowTimeoutIntersection;\n validate('WorkflowTimeout', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the WorkflowTimeout.\n * Creates a copy of the WorkflowTimeout, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the WorkflowTimeout instance.\n */\n normalize(): WorkflowTimeout & Specification.WorkflowTimeout {\n const copy = new WorkflowTimeout(this as any) as WorkflowTimeoutIntersection;\n return getLifecycleHooks('WorkflowTimeout')?.normalize?.(copy) || copy;\n }\n}\n\nexport const _WorkflowTimeout = WorkflowTimeout as WorkflowTimeoutConstructor;\n","import {\n CallTask,\n DoTask,\n EmitTask,\n ForkTask,\n ForTask,\n ListenTask,\n RaiseTask,\n RunTask,\n SetTask,\n SwitchTask,\n Task,\n TaskItem,\n TryTask,\n WaitTask,\n Workflow,\n} from './generated/definitions/specification';\n\nconst entrySuffix = '-entry-node';\nconst exitSuffix = '-exit-node';\n\nconst rootId = 'root';\n\nconst doReference = '/do';\nconst forReference = '/for';\nconst catchReference = '/catch';\nconst branchReference = '/fork/branches';\nconst tryReference = '/try';\n\n/**\n * Enumeration of possible node types in a graph.\n */\nexport enum GraphNodeType {\n Root = 'root',\n Start = 'start',\n End = 'end',\n Entry = 'entry',\n Exit = 'exit',\n Call = 'call',\n Catch = 'catch',\n Do = 'do',\n Emit = 'emit',\n For = 'for',\n Fork = 'fork',\n Listen = 'listen',\n Raise = 'raise',\n Run = 'run',\n Set = 'set',\n Switch = 'switch',\n Try = 'try',\n TryCatch = 'try-catch',\n Wait = 'wait',\n}\n\n/**\n * Represents a generic within a graph.\n * This serves as a base type for nodes, edges, and graphs.\n */\nexport type GraphElement = {\n /** A unique identifier for this graph element. */\n id: string;\n /** An optional label to provide additional context or naming. */\n label?: string;\n};\n\n/**\n * Represents a node within the graph.\n */\nexport type GraphNode = GraphElement & {\n /** The type of the node. */\n type: GraphNodeType;\n /** The parent graph, if any. */\n parent?: Graph;\n /** The related task */\n task?: Task;\n};\n\n/**\n * Represents a flattened node within the graph.\n */\nexport type FlatGraphNode = Omit<GraphNode, 'parent'> & {\n /** The id of parent graph, if any. */\n parentId?: string;\n};\n\n/**\n * Represents a directed edge connecting two nodes in the graph.\n */\nexport type GraphEdge = GraphElement & {\n /** The unique identifier of the node where the edge originates. */\n sourceId: string;\n /** The unique identifier of the node where the edge terminates. */\n targetId: string;\n};\n\n/**\n * Represents a graph or a subgraph.\n */\nexport type Graph = GraphNode & {\n /** A collection of nodes that belong to this graph. */\n nodes: Array<Graph | GraphNode>;\n /** A collection of edges that define relationships between nodes. */\n edges: GraphEdge[];\n /** The entry node of the graph, if any. */\n entryNode?: GraphNode;\n /** The exit node of the graph, if any. */\n exitNode?: GraphNode;\n};\n\n/**\n * Represents a flattened graph.\n */\nexport type FlatGraph = FlatGraphNode & {\n /** A collection of nodes that belong to this graph. */\n nodes: FlatGraphNode[];\n /** A collection of edges that define relationships between nodes. */\n edges: GraphEdge[];\n /** The entry node of the graph, if any. */\n entryNode?: GraphNode;\n /** The exit node of the graph, if any. */\n exitNode?: GraphNode;\n};\n\n/**\n * Context information used when processing tasks in a workflow graph.\n */\ntype TaskContext = {\n /** The parent graph the node will be added to. */\n graph: Graph;\n /** The reference of the task list. */\n taskListReference: string;\n /** The list of sibling tasks. */\n taskList: Map<string, Task>;\n /** The current task name. */\n taskName?: string;\n /** The current reference. */\n taskReference: string;\n /** The ids of edges already visited */\n knownEdges: GraphEdge[];\n};\n\n/**\n * Identity information for a transition between tasks.\n */\ntype TransitionInfo = {\n /** Name of the task to transition to. */\n name: string;\n /** Index position in the task list. */\n index: number;\n /** Optional reference to the associated task. */\n task?: Task;\n /** Optional label of the transition. */\n label?: string;\n};\n\n/**\n * Enumeration of possible workflow flow directives.\n */\nenum FlowDirective {\n Exit = 'exit',\n End = 'end',\n Continue = 'continue',\n}\n\n/**\n * Converts an array of TaskItem objects into a Map for easy lookup.\n *\n * @param tasksList An array of TaskItem objects.\n * @returns A map where keys are task names and values are Task objects.\n */\nfunction mapTasks(tasksList: TaskItem[] | undefined): Map<string, Task> {\n return (tasksList || []).reduce((acc, item) => {\n const [key, task] = Object.entries(item)[0];\n acc.set(key, task);\n return acc;\n }, new Map<string, Task>());\n}\n\n/**\n * Initializes a graph with default entry and exit nodes.\n *\n * @param type The type of the graph node.\n * @param id Unique identifier for the graph.\n * @param task The related task\n * @param label Optional label for the graph.\n * @param parent Optional parent graph if this is a subgraph.\n * @returns A newly created Graph instance.\n */\nfunction initGraph(\n type: GraphNodeType,\n id: string = rootId,\n task: Task | undefined = undefined,\n label: string | undefined = undefined,\n parent: Graph | undefined = undefined,\n): Graph {\n const graph: Graph = {\n id,\n label,\n type,\n parent,\n task,\n nodes: [],\n edges: [],\n };\n const entryNode: GraphNode = {\n type: id === rootId ? GraphNodeType.Start : GraphNodeType.Entry,\n id: `${id}${entrySuffix}`,\n parent: graph,\n };\n const exitNode: GraphNode = {\n type: id === rootId ? GraphNodeType.End : GraphNodeType.Exit,\n id: `${id}${exitSuffix}`,\n parent: graph,\n };\n graph.entryNode = entryNode;\n graph.exitNode = exitNode;\n graph.nodes = [entryNode, exitNode];\n if (parent) parent.nodes.push(graph);\n return graph;\n}\n\n/**\n * Gets the next task to be executed in the workflow\n * @param tasksList The list of task to resolve the next task from\n * @param taskName The current task name, if any\n * @param transition A specific transition, if any\n * @returns\n */\nfunction getNextTask(\n tasksList: Map<string, Task>,\n taskName: string | undefined = undefined,\n transition: string | undefined = undefined,\n): TransitionInfo {\n if (!tasksList?.size) {\n return {\n name: FlowDirective.Exit,\n index: -1,\n };\n }\n const currentTask: Task | undefined = tasksList.get(taskName || '');\n transition = transition || currentTask?.then || '';\n if (transition == FlowDirective.End || transition == FlowDirective.Exit) {\n return {\n name: transition,\n index: -1,\n };\n }\n let index: number = 0;\n if (transition && transition != FlowDirective.Continue) {\n index = Array.from(tasksList.keys()).indexOf(transition);\n if (index === -1) throw new Error(`Unable to find task to transition to '${transition}' from '${taskName}'`);\n } else if (currentTask) {\n index = Array.from(tasksList.values()).indexOf(currentTask) + 1;\n if (index >= tasksList.size) {\n return {\n name: FlowDirective.Exit,\n index: -1,\n };\n }\n }\n const taskEntry = Array.from(tasksList.entries())[index];\n return {\n index,\n name: taskEntry[0],\n task: taskEntry[1],\n };\n}\n\n/**\n * Returns the root exit node.\n * @param graph\n * @returns\n */\nfunction getEndNode(graph: Graph): GraphNode {\n let rootGraph = graph;\n while (rootGraph.id !== rootId) {\n if (!rootGraph.parent) throw new Error(`Unable to reach root graph from graph id '${graph.id}'`);\n rootGraph = rootGraph.parent;\n }\n if (!rootGraph.exitNode) throw new Error('The root graph should have an exit node.');\n return rootGraph.exitNode;\n}\n\n/**\n * Builds the provided transition from the source node\n * @param sourceNode The node to build the transition from\n * @param transition The transition to follow\n * @param context The context in which the transition is built\n */\nfunction buildTransition(sourceNode: GraphNode | Graph, transition: TransitionInfo, context: TaskContext) {\n const exitAnchor = (sourceNode as Graph).exitNode || sourceNode;\n if (transition.index != -1) {\n const targetNode = buildTaskNode({\n ...context,\n taskReference: `${context.taskListReference}/${transition.index}/${transition.name}`,\n taskName: transition.name,\n });\n buildEdge(\n context.graph,\n context.knownEdges,\n exitAnchor,\n (targetNode as Graph).entryNode || targetNode,\n transition.label,\n );\n } else if (transition.name === FlowDirective.Exit) {\n if (!context.graph.exitNode) throw new Error(`Missing exit node on graph id '${context.graph.id}'`);\n buildEdge(context.graph, context.knownEdges, exitAnchor, context.graph.exitNode, transition.label);\n } else if (transition.name === FlowDirective.End) {\n buildEdge(context.graph, context.knownEdges, exitAnchor, getEndNode(context.graph), transition.label);\n } else throw new Error('Invalid transition');\n}\n\n/**\n * Builds all the possible transitions from the provided node in the provided context\n * @param sourceNode The node to build the transitions from\n * @param context The context in which the transitions are built\n */\nfunction buildTransitions(sourceNode: GraphNode | Graph, context: TaskContext) {\n const transitions: TransitionInfo[] = [];\n let nextTransition = getNextTask(context.taskList, context.taskName);\n transitions.push(nextTransition);\n while (nextTransition?.task?.if) {\n nextTransition.label = nextTransition?.task?.if;\n nextTransition = getNextTask(context.taskList, nextTransition.name, FlowDirective.Continue);\n transitions.push(nextTransition);\n }\n transitions\n .filter(\n (transition, index) =>\n transitions.findIndex(\n (t) => t.index === transition.index && t.name === transition.name && t.task === transition.task,\n ) === index,\n )\n .forEach((transition) => buildTransition(sourceNode, transition, context));\n}\n\n/**\n * Builds a graph representation of a task\n * @param context The context to build the graph/node for\n * @returns A graph or node for the provided context\n */\nfunction buildTaskNode(context: TaskContext): GraphNode | Graph {\n const existingNode = context.graph.nodes.find((node) => node.id === context.taskReference);\n if (existingNode) return existingNode;\n const task = context.taskList.get(context.taskName!);\n if (!task) throw new Error(`Unabled to find the task '${context.taskName}' in the current context`);\n if (task.call) return buildCallTaskNode(task, context);\n if (task.catch) return buildTryCatchTaskNode(task, context);\n if (task.emit) return buildEmitTaskNode(task, context);\n if (task.for) return buildForTaskNode(task, context);\n if (task.fork) return buildForkTaskNode(task, context);\n if (task.listen) return buildListenTaskNode(task, context);\n if (task.raise) return buildRaiseTaskNode(task, context);\n if (task.run) return buildRunTaskNode(task, context);\n if (task.set) return buildSetTaskNode(task, context);\n if (task.switch) return buildSwitchTaskNode(task, context);\n if (task.wait) return buildWaitTaskNode(task, context);\n if (task.do) return buildDoTaskNode(task, context);\n throw new Error(`Unable to defined task type of task named '${context.taskName}'`);\n}\n\n/**\n * Builds a graph node with the provided type and context\n * @param type The type of the node\n * @param context The context to build the graph node for\n * @returns A graph node for the provided context\n */\nfunction buildGenericTaskNode(task: Task, type: GraphNodeType, context: TaskContext): GraphNode {\n const node: GraphNode = {\n task,\n type,\n parent: context.graph,\n id: context.taskReference,\n label: context.taskName,\n };\n context.graph.nodes.push(node);\n buildTransitions(node, context);\n return node;\n}\n\n/**\n * Builds a graph node for the provided call task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildCallTaskNode(task: CallTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Call, context);\n return node;\n}\n\n/**\n * Builds a graph for the provided do task\n * @param task The task to build the graph for\n * @param context The context to build the graph for\n * @returns A graph for the provided task\n */\nfunction buildDoTaskNode(task: DoTask, context: TaskContext): Graph {\n const subgraph: Graph = initGraph(GraphNodeType.Do, context.taskReference, task, context.taskName, context.graph);\n const doContext: TaskContext = {\n ...context,\n graph: subgraph,\n taskListReference: context.taskReference + doReference,\n taskList: mapTasks(task.do),\n taskName: undefined,\n };\n if (!subgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${subgraph.id}'`);\n buildTransitions(subgraph.entryNode, doContext);\n buildTransitions(subgraph, context);\n return subgraph;\n}\n\n/**\n * Builds a graph node for the provided emit task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildEmitTaskNode(task: EmitTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Emit, context);\n return node;\n}\n\n/**\n * Builds a graph for the provided for task\n * @param task The task to build the graph for\n * @param context The context to build the graph for\n * @returns A graph for the provided task\n */\nfunction buildForTaskNode(task: ForTask, context: TaskContext): Graph {\n const subgraph: Graph = initGraph(GraphNodeType.For, context.taskReference, task, context.taskName, context.graph);\n const forContext: TaskContext = {\n ...context,\n graph: subgraph,\n taskListReference: subgraph.id + forReference + doReference,\n taskList: mapTasks(task.do),\n taskName: undefined,\n };\n if (!subgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${subgraph.id}'`);\n buildTransitions(subgraph.entryNode, forContext);\n buildTransitions(subgraph, context);\n return subgraph;\n}\n\n/**\n * Builds a graph for the provided fork task\n * @param task The task to build the graph for\n * @param context The context to build the graph for\n * @returns A graph for the provided task\n */\nfunction buildForkTaskNode(task: ForkTask, context: TaskContext): Graph {\n const subgraph: Graph = initGraph(GraphNodeType.Fork, context.taskReference, task, context.taskName, context.graph);\n for (let i = 0, c = task.fork?.branches.length || 0; i < c; i++) {\n const branchItem = task.fork?.branches[i];\n if (!branchItem) continue;\n const [branchName] = Object.entries(branchItem)[0];\n const branchContext: TaskContext = {\n ...context,\n graph: subgraph,\n taskListReference: `${context.taskReference}${branchReference}`,\n taskList: mapTasks([branchItem]),\n taskReference: `${context.taskReference}${branchReference}/${i}/${branchName}`,\n taskName: branchName,\n };\n const branchNode = buildTaskNode(branchContext);\n if (!subgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${subgraph.id}'`);\n if (!subgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${subgraph.id}'`);\n buildEdge(subgraph, context.knownEdges, subgraph.entryNode, (branchNode as Graph).entryNode || branchNode);\n buildEdge(subgraph, context.knownEdges, (branchNode as Graph).exitNode || branchNode, subgraph.exitNode);\n }\n buildTransitions(subgraph, context);\n return subgraph;\n}\n\n/**\n * Builds a graph node for the provided listen task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildListenTaskNode(task: ListenTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Listen, context);\n return node;\n}\n\n/**\n * Builds a graph node for the provided rasie task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildRaiseTaskNode(task: RaiseTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Raise, context);\n return node;\n}\n\n/**\n * Builds a graph node for the provided run task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildRunTaskNode(task: RunTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Run, context);\n return node;\n}\n\n/**\n * Builds a graph node for the provided set task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildSetTaskNode(task: SetTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Set, context);\n return node;\n}\n\n/**\n * Builds a graph node for the provided switch task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildSwitchTaskNode(task: SwitchTask, context: TaskContext): GraphNode {\n const node: GraphNode = buildGenericTaskNode(task, GraphNodeType.Switch, context);\n let hasDefaultCase = false;\n task.switch?.forEach((switchItem) => {\n const [caseName, switchCase] = Object.entries(switchItem)[0];\n if (!switchCase.when) hasDefaultCase = true;\n const transition = getNextTask(context.taskList, context.taskName, switchCase.then);\n transition.label = caseName;\n buildTransition(node, transition, context);\n });\n if (!hasDefaultCase) {\n buildTransitions(node, context);\n }\n return node;\n}\n\n/**\n * Builds a graph for the provided try/catch task\n * @param task The task to build the graph for\n * @param context The context to build the graph for\n * @returns A graph for the provided task\n */\nfunction buildTryCatchTaskNode(task: TryTask, context: TaskContext): Graph {\n const containerSubgraph: Graph = initGraph(\n GraphNodeType.TryCatch,\n context.taskReference,\n task,\n context.taskName,\n context.graph,\n );\n const trySubgraph: Graph = initGraph(\n GraphNodeType.Try,\n context.taskReference + tryReference,\n task,\n context.taskName + ' (try)',\n containerSubgraph,\n );\n if (!containerSubgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${containerSubgraph.id}'`);\n if (!trySubgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${trySubgraph.id}'`);\n buildEdge(containerSubgraph, context.knownEdges, containerSubgraph.entryNode, trySubgraph.entryNode);\n const tryContext: TaskContext = {\n ...context,\n graph: trySubgraph,\n taskListReference: trySubgraph.id,\n taskList: mapTasks(task.try),\n taskName: undefined,\n };\n if (!trySubgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${trySubgraph.id}'`);\n buildTransitions(trySubgraph.entryNode, tryContext);\n if (!task.catch?.do?.length) {\n const catchNode: GraphNode = {\n task,\n type: GraphNodeType.Catch,\n parent: containerSubgraph,\n id: context.taskReference + catchReference,\n label: context.taskName + ' (catch)',\n };\n containerSubgraph.nodes.push(catchNode);\n if (!trySubgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${trySubgraph.id}'`);\n if (!containerSubgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${containerSubgraph.id}'`);\n buildEdge(containerSubgraph, context.knownEdges, trySubgraph.exitNode, catchNode);\n buildEdge(containerSubgraph, context.knownEdges, catchNode, containerSubgraph.exitNode);\n } else {\n const catchSubgraph: Graph = initGraph(\n GraphNodeType.Catch,\n context.taskReference + catchReference + doReference,\n task,\n context.taskName + ' (catch)',\n containerSubgraph,\n );\n if (!trySubgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${trySubgraph.id}'`);\n if (!catchSubgraph.entryNode) throw new Error(`Missing 'entryNode' on graph id '${catchSubgraph.entryNode}'`);\n buildEdge(containerSubgraph, context.knownEdges, trySubgraph.exitNode, catchSubgraph.entryNode);\n const catchContext: TaskContext = {\n ...context,\n graph: catchSubgraph,\n taskListReference: catchSubgraph.id,\n taskList: mapTasks(task.catch.do),\n taskName: undefined,\n };\n buildTransitions(catchSubgraph.entryNode, catchContext);\n if (!catchSubgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${catchSubgraph.exitNode}'`);\n if (!containerSubgraph.exitNode) throw new Error(`Missing 'exitNode' on graph id '${containerSubgraph.exitNode}'`);\n buildEdge(containerSubgraph, context.knownEdges, catchSubgraph.exitNode, containerSubgraph.exitNode);\n }\n buildTransitions(containerSubgraph, context);\n return containerSubgraph;\n}\n\n/**\n * Builds a graph node for the provided wait task\n * @param task The task to build the graph node for\n * @param context The context to build the graph node for\n * @returns A graph node for the provided task\n */\nfunction buildWaitTaskNode(task: WaitTask, context: TaskContext): GraphNode {\n const node = buildGenericTaskNode(task, GraphNodeType.Wait, context);\n return node;\n}\n\n/**\n * Builds an edge between two elements\n * @param graph The graph element containing the nodes\n * @param source The origin node\n * @param target The target node\n * @param label The edge label, if any\n */\nfunction buildEdge(graph: Graph, knownEdges: GraphEdge[], source: GraphNode, target: GraphNode, label: string = '') {\n const edge = knownEdges.find((e) => e.sourceId === source.id && e.targetId === target.id);\n if (edge) {\n if (label && !edge.label?.includes(label)) {\n edge.label = edge.label + (edge.label ? ' / ' : '') + label;\n edge.id = `${source.id}-${target.id}-${edge.label}`;\n }\n return edge;\n }\n const newEdge: GraphEdge = {\n label,\n id: `${source.id}-${target.id}${label ? `-${label}` : ''}`,\n sourceId: source.id,\n targetId: target.id,\n };\n graph.edges.push(newEdge);\n knownEdges.push(newEdge);\n return newEdge;\n}\n\n/**\n * Remaps edges by getting rid of routes leading to entry/exit nodes\n * @param edges\n */\nexport const remapEdges = (edges: GraphEdge[]): GraphEdge[] => {\n let remappedEdges = [...edges.map((e) => ({ ...e }))];\n const leadsToPort = (edge: GraphEdge) =>\n edge.targetId !== 'root-exit-node' &&\n (edge.targetId.endsWith('-entry-node') || edge.targetId.endsWith('-exit-node'));\n const isPortToPort = (edge: GraphEdge) =>\n edge.sourceId !== 'root-entry-node' &&\n edge.targetId !== 'root-exit-node' &&\n (edge.sourceId.endsWith('-entry-node') || edge.sourceId.endsWith('-exit-node'));\n const edgesLeadingToPort = edges.filter((e) => leadsToPort(e) && !isPortToPort(e));\n const remap = (lead: GraphEdge, tails: GraphEdge[]) => {\n tails.forEach((tail) => {\n remappedEdges = remappedEdges.filter((e) => e.id !== tail.id);\n if (!leadsToPort(tail)) {\n const sourceId = lead.sourceId;\n const targetId = tail.targetId;\n const label = `${lead.label}${lead.label && tail.label ? ' / ' : ''}${tail.label}`;\n const id = `${sourceId}-${targetId}${label ? `-${label}` : ''}`;\n const newEdge: GraphEdge = {\n id,\n sourceId,\n targetId,\n label,\n };\n remappedEdges.push(newEdge);\n } else {\n remap(\n lead,\n edges.filter((e) => e.sourceId === tail.targetId),\n );\n }\n });\n };\n edgesLeadingToPort.forEach((lead) => {\n remappedEdges = remappedEdges.filter((e) => e.id !== lead.id);\n remap(\n lead,\n edges.filter((e) => e.sourceId === lead.targetId),\n );\n });\n return remappedEdges;\n};\n\n/**\n * Flattens the edges of the provided graph\n * @param graph The graph to flatten the edges of\n * @returns All the edge declared in the graph and its subgraphs\n */\nexport const flattenEdges = (graph: Graph): GraphEdge[] => [\n ...(graph.edges || []),\n ...((graph.nodes || []).filter((node) => (node as Graph).edges?.length) as Graph[]).flatMap(flattenEdges),\n];\n\n/**\n * Flattens the nodes of the provided graph/node\n * @param graph The graph/node to flatten the nodes of\n * @returns All the nodes and subnodes declared in the graph\n */\nexport const flattenNodes = (node: Graph | GraphNode): FlatGraphNode[] => [\n {\n id: node.id,\n label: node.label,\n type: node.type,\n task: node.task,\n parentId: node.parent?.id,\n },\n ...((node as Graph).nodes || []).flatMap(flattenNodes),\n];\n\n/**\n * Flattens the provided graph into a single node and edge collection.\n * @param graph The target graph\n * @param removePorts A boolean indicating whether the port nodes should be removed.\n * @returns The flattened graph\n */\nexport function flattenGraph(graph: Graph, removePorts: boolean = false): FlatGraph {\n const flatGraph: FlatGraph = {\n ...graph,\n edges: flattenEdges(graph),\n nodes: graph.nodes.flatMap((node) => flattenNodes(node)),\n };\n if (!removePorts) return flatGraph;\n return {\n ...flatGraph,\n edges: remapEdges(flatGraph.edges),\n nodes: flatGraph.nodes.filter((node) => node.type !== GraphNodeType.Entry && node.type !== GraphNodeType.Exit),\n };\n}\n\n/**\n * Constructs a graph representation based on the given workflow.\n *\n * @param workflow The workflow to be converted into a graph structure.\n * @returns A graph representation of the workflow.\n */\nexport function buildGraph(workflow: Workflow): Graph {\n const graph = initGraph(GraphNodeType.Root);\n if (!graph.entryNode) throw new Error('The root graph should have an entry node.');\n buildTransitions(graph.entryNode, {\n graph,\n taskListReference: doReference,\n taskList: mapTasks(workflow.do),\n taskReference: doReference,\n knownEdges: [],\n });\n return graph;\n}\n\n/**\n * Constructs a flattened graph representation based on the given workflow.\n *\n * @param workflow The workflow to be converted into a flattened graph structure.\n * @param removePorts A boolean indicating whether the port nodes should be removed.\n * @returns A flattened graph representation of the workflow.\n */\nexport function buildFlatGraph(workflow: Workflow, removePorts: boolean = false): FlatGraph {\n const graph = buildGraph(workflow);\n return flattenGraph(graph, removePorts);\n}\n","import { Workflow } from './generated/definitions/specification';\nimport { buildFlatGraph, FlatGraph, FlatGraphNode, GraphEdge, GraphNodeType } from './graph-builder';\n\n/**\n * Adds indentation to each line of the provided code\n * @param code The code to indent\n * @returns The indented code\n */\nconst indent = (code: string) =>\n code\n .split('\\n')\n .map((line) => ` ${line}`)\n .join('\\n');\n\n/**\n * Converts a graph to Mermaid code\n * @param root The root graph\n * @param subgraphNode The graph to convert\n * @returns The converted graph\n */\nfunction convertGraphToCode(root: FlatGraph, subgraphNode?: FlatGraphNode): string {\n const nodes = !subgraphNode ? root.nodes : root.nodes.filter((n) => n.parentId === subgraphNode.id);\n const edges = !subgraphNode ? root.edges : [];\n const code = `${!subgraphNode ? 'flowchart TD' : `subgraph ${subgraphNode.id} [\"${subgraphNode.label || subgraphNode.id}\"]`}\n${indent(nodes.map((node) => convertNodeToCode(root, node)).join('\\n'))}\n${indent(edges.map((edge) => convertEdgeToCode(edge)).join('\\n'))}\n${!subgraphNode ? '' : 'end'}`;\n return code;\n}\n\n/**\n * Converts a node to Mermaid code\n * @param node The node to convert\n * @param graph The root graph\n * @returns The converted node\n */\nfunction convertNodeToCode(root: FlatGraph, node: FlatGraphNode): string {\n let code = '';\n if (root.nodes.filter((n) => n.parentId === node.id).length) {\n code = convertGraphToCode(root, node);\n } else {\n code = node.id;\n switch (node.type) {\n case GraphNodeType.Entry: // shouldn't exist in a simplified graph\n case GraphNodeType.Exit:\n code += '[ ]:::hidden';\n break;\n case GraphNodeType.Start:\n code += '(( ))'; // alt '@{ shape: circle, label: \" \"}';\n break;\n case GraphNodeType.End:\n code += '((( )))'; // alt '@{ shape: dbl-circ, label: \" \"}';\n break;\n default:\n code += `[\"${node.label || ' '}\"]`; // alt `@{ label: \"${node.label}\" }`\n }\n }\n return code;\n}\n\n/**\n * Converts an edge to Mermaid code\n * @param edge The edge to convert\n * @returns The converted edge\n */\nfunction convertEdgeToCode(edge: GraphEdge): string {\n const ignoreEndArrow =\n !edge.targetId.startsWith('root') &&\n (edge.targetId.endsWith('-entry-node') || edge.targetId.endsWith('-exit-node'));\n const code = `${edge.sourceId} ${edge.label ? `--\"${edge.label}\"` : ''}--${ignoreEndArrow ? '-' : '>'} ${edge.targetId}`;\n return code;\n}\n\n/**\n * Converts the provided workflow to Mermaid code\n * @param workflow The workflow to convert\n * @returns The Mermaid diagram\n */\nexport function convertToMermaidCode(workflow: Workflow): string {\n const graph = buildFlatGraph(workflow, true);\n return (\n convertGraphToCode(graph) +\n `\n\nclassDef hidden width: 1px, height: 1px;` // should be \"classDef hidden display: none;\" but it can induce a Mermaid bug - https://github.com/mermaid-js/mermaid/issues/6452\n );\n}\n\n/**\n * Represents a Mermaid diagram generator for a given workflow.\n * This class takes a workflow definition and converts it into a Mermaid.js-compatible diagram.\n */\nexport class MermaidDiagram {\n constructor(private workflow: Workflow) {}\n\n /**\n * Generates the Mermaid code representation of the workflow.\n * @returns The Mermaid diagram source code as a string.\n */\n sourceCode(): string {\n return convertToMermaidCode(this.workflow);\n }\n}\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { _Document } from './document';\nimport { _Input } from './input';\nimport { _Use } from './use';\nimport { _TaskList } from './task-list';\nimport { _WorkflowTimeout } from './workflow-timeout';\nimport { _Output } from './output';\nimport { _Schedule } from './schedule';\nimport { ObjectHydrator } from '../../hydrator';\nimport { Specification } from '../definitions';\nimport { getLifecycleHooks } from '../../lifecycle-hooks';\nimport { validate } from '../../validation';\nimport { isObject } from '../../utils';\nimport * as yaml from 'js-yaml';\nimport { buildGraph, Graph } from '../../graph-builder';\nimport { convertToMermaidCode } from '../../mermaid-converter';\n\n/**\n * Represents the intersection between the Workflow class and type\n */\nexport type WorkflowIntersection = Workflow & Specification.Workflow;\n\n/**\n * Represents a constructor for the intersection of the Workflow class and type\n */\nexport interface WorkflowConstructor {\n new (model?: Partial<Specification.Workflow>): WorkflowIntersection;\n}\n\n/**\n * Represents a Workflow with methods for validation normalization, and serialization.\n * Inherits from ObjectHydrator which provides functionality for hydrating the state based on a model.\n */\nexport class Workflow extends ObjectHydrator<Specification.Workflow> {\n /**\n * Instanciates a new instance of the Workflow class.\n * Initializes properties based on the provided model if it is an object.\n *\n * @param model - Optional partial model object to initialize the Workflow.\n */\n constructor(model?: Partial<Specification.Workflow>) {\n super(model);\n const self = this as unknown as Specification.Workflow & object;\n if (isObject(model)) {\n if (typeof model.document === 'object') self.document = new _Document(model.document);\n if (typeof model.input === 'object') self.input = new _Input(model.input);\n if (typeof model.use === 'object') self.use = new _Use(model.use);\n if (typeof model.do === 'object') self.do = new _TaskList(model.do);\n if (typeof model.timeout === 'object') self.timeout = new _WorkflowTimeout(model.timeout);\n if (typeof model.output === 'object') self.output = new _Output(model.output);\n if (typeof model.schedule === 'object') self.schedule = new _Schedule(model.schedule);\n }\n getLifecycleHooks('Workflow')?.constructor?.(this);\n }\n\n /**\n * Validates the current instance of the Workflow.\n * Throws if invalid.\n */\n validate(workflow?: Partial<Specification.Workflow>) {\n const copy = new Workflow(this as any) as WorkflowIntersection;\n validate('Workflow', copy, workflow);\n }\n\n /**\n * Normalizes the current instance of the Workflow.\n * Creates a copy of the Workflow, invokes normalization hooks if available, and returns the normalized copy.\n *\n * @returns A normalized version of the Workflow instance.\n */\n normalize(): Workflow & Specification.Workflow {\n const copy = new Workflow(this as any) as WorkflowIntersection;\n return getLifecycleHooks('Workflow')?.normalize?.(copy) || copy;\n }\n\n static deserialize(text: string): WorkflowIntersection {\n const model = yaml.load(text) as Partial<Specification.Workflow>;\n validate('Workflow', model);\n return new Workflow(model) as WorkflowIntersection;\n }\n\n static serialize(\n model: Partial<WorkflowIntersection>,\n format: 'yaml' | 'json' = 'yaml',\n normalize: boolean = true,\n ): string {\n const workflow = new Workflow(model);\n workflow.validate();\n const normalized = normalize ? workflow.normalize() : workflow;\n if (format === 'json') {\n return JSON.stringify(normalized);\n }\n return yaml.dump(normalized);\n }\n\n static toGraph(model: Partial<WorkflowIntersection>): Graph {\n return buildGraph(model as unknown as WorkflowIntersection);\n }\n\n static toMermaidCode(model: Partial<WorkflowIntersection>): string {\n return convertToMermaidCode(model as unknown as WorkflowIntersection);\n }\n\n /**\n * Serializes the workflow to YAML or JSON\n * @param format The format, 'yaml' or 'json', default is 'yaml'\n * @param normalize If the workflow should be normalized before serialization, default true\n * @returns A string representation of the workflow\n */\n serialize(format: 'yaml' | 'json' = 'yaml', normalize: boolean = true): string {\n return Workflow.serialize(this as unknown as WorkflowIntersection, format, normalize);\n }\n\n /**\n * Creates a directed graph representation of the workflow\n * @returns A directed graph of the workflow\n */\n toGraph(): Graph {\n return Workflow.toGraph(this as unknown as WorkflowIntersection);\n }\n\n /**\n * Generates the MermaidJS code corresponding to the workflow\n * @returns The MermaidJS code\n */\n toMermaidCode(): string {\n return Workflow.toMermaidCode(this as unknown as WorkflowIntersection);\n }\n}\n\nexport const _Workflow = Workflow as WorkflowConstructor & {\n /**\n * Deserializes the provided string as a Workflow\n * @param text The YAML or JSON representation of a workflow\n * @returns A new Workflow instance\n */\n deserialize(text: string): WorkflowIntersection;\n\n /**\n * Serializes the provided Workflow to YAML or JSON\n * @param workflow The workflow to serialize\n * @param format The format, 'yaml' or 'json', default is 'yaml'\n * @param normalize If the workflow should be normalized before serialization, default true\n * @returns A string representation of the workflow\n */\n serialize(workflow: Partial<WorkflowIntersection>, format?: 'yaml' | 'json', normalize?: boolean): string;\n\n /**\n * Creates a directed graph representation of the provided workflow\n * @param workflow The workflow to convert\n * @returns A directed graph of the provided workflow\n */\n toGraph(workflow: Partial<WorkflowIntersection>): Graph;\n\n /**\n * Generates the MermaidJS code corresponding to the provided workflow\n * @param workflow The workflow to convert\n * @returns The MermaidJS code\n */\n toMermaidCode(workflow: Partial<WorkflowIntersection>): string;\n};\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { _A2AArguments } from './a2a-arguments';\nimport { _AllEventConsumptionStrategy } from './all-event-consumption-strategy';\nimport { _AllEventConsumptionStrategyConfiguration } from './all-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategy } from './any-event-consumption-strategy';\nimport { _AnyEventConsumptionStrategyConfiguration } from './any-event-consumption-strategy-configuration';\nimport { _AnyEventConsumptionStrategyUntil } from './any-event-consumption-strategy-until';\nimport { _AnyEventUntilConsumed } from './any-event-until-consumed';\nimport { _AsyncApiArguments } from './async-api-arguments';\nimport { _AuthenticationPolicy } from './authentication-policy';\nimport { _AuthenticationPolicyReference } from './authentication-policy-reference';\nimport { _BasicAuthenticationPolicy } from './basic-authentication-policy';\nimport { _BasicAuthenticationPolicyConfiguration } from './basic-authentication-policy-configuration';\nimport { _BasicAuthenticationProperties } from './basic-authentication-properties';\nimport { _BearerAuthenticationPolicy } from './bearer-authentication-policy';\nimport { _BearerAuthenticationPolicyConfiguration } from './bearer-authentication-policy-configuration';\nimport { _BearerAuthenticationProperties } from './bearer-authentication-properties';\nimport { _CallA2A } from './call-a2a';\nimport { _CallAsyncAPI } from './call-async-api';\nimport { _CallFunction } from './call-function';\nimport { _CallGRPC } from './call-grpc';\nimport { _CallHTTP } from './call-http';\nimport { _CallMCP } from './call-mcp';\nimport { _CallOpenAPI } from './call-open-api';\nimport { _CallTask } from './call-task';\nimport { _Catalog } from './catalog';\nimport { _CatchErrors } from './catch-errors';\nimport { _ConstantBackoff } from './constant-backoff';\nimport { _Container } from './container';\nimport { _ContainerArguments } from './container-arguments';\nimport { _ContainerEnvironment } from './container-environment';\nimport { _ContainerLifetime } from './container-lifetime';\nimport { _ContainerPorts } from './container-ports';\nimport { _ContainerVolumes } from './container-volumes';\nimport { _DigestAuthenticationPolicy } from './digest-authentication-policy';\nimport { _DigestAuthenticationPolicyConfiguration } from './digest-authentication-policy-configuration';\nimport { _DigestAuthenticationProperties } from './digest-authentication-properties';\nimport { _Document } from './document';\nimport { _DoTask } from './do-task';\nimport { _Duration } from './duration';\nimport { _DurationInline } from './duration-inline';\nimport { _EmitEventDefinition } from './emit-event-definition';\nimport { _EmitEventWith } from './emit-event-with';\nimport { _EmitTask } from './emit-task';\nimport { _EmitTaskConfiguration } from './emit-task-configuration';\nimport { _Endpoint } from './endpoint';\nimport { _EndpointConfiguration } from './endpoint-configuration';\nimport { _EndpointUri } from './endpoint-uri';\nimport { _Error } from './error';\nimport { _ErrorDetails } from './error-details';\nimport { _ErrorFilter } from './error-filter';\nimport { _ErrorInstance } from './error-instance';\nimport { _ErrorTitle } from './error-title';\nimport { _ErrorType } from './error-type';\nimport { _EventConsumptionStrategy } from './event-consumption-strategy';\nimport { _EventData } from './event-data';\nimport { _EventDataschema } from './event-dataschema';\nimport { _EventFilter } from './event-filter';\nimport { _EventFilterCorrelate } from './event-filter-correlate';\nimport { _EventSource } from './event-source';\nimport { _EventTime } from './event-time';\nimport { _ExponentialBackOff } from './exponential-back-off';\nimport { _Export } from './export';\nimport { _ExportAs } from './export-as';\nimport { _Extension } from './extension';\nimport { _ExtensionItem } from './extension-item';\nimport { _ExternalResource } from './external-resource';\nimport { _ExternalScript } from './external-script';\nimport { _FlowDirective } from './flow-directive';\nimport { _ForkTask } from './fork-task';\nimport { _ForkTaskConfiguration } from './fork-task-configuration';\nimport { _ForTask } from './for-task';\nimport { _ForTaskConfiguration } from './for-task-configuration';\nimport { _FunctionArguments } from './function-arguments';\nimport { _GRPCArguments } from './grpc-arguments';\nimport { _HTTPArguments } from './http-arguments';\nimport { _HTTPBody } from './http-body';\nimport { _HTTPHeaders } from './http-headers';\nimport { _HTTPQuery } from './http-query';\nimport { _InlineScript } from './inline-script';\nimport { _Input } from './input';\nimport { _InputFrom } from './input-from';\nimport { _LinearBackoff } from './linear-backoff';\nimport { _ListenTask } from './listen-task';\nimport { _ListenTaskConfiguration } from './listen-task-configuration';\nimport { _MCPArguments } from './mcp-arguments';\nimport { _McpCallTransport } from './mcp-call-transport';\nimport { _McpClient } from './mcp-client';\nimport { _McpMethodParameters } from './mcp-method-parameters';\nimport { _OAuth2AuthenticationData } from './oauth2-authentication-data';\nimport { _OAuth2AuthenticationDataAudiences } from './oauth2-authentication-data-audiences';\nimport { _OAuth2AuthenticationDataClient } from './oauth2-authentication-data-client';\nimport { _OAuth2AuthenticationDataScopes } from './oauth2-authentication-data-scopes';\nimport { _OAuth2AuthenticationPolicy } from './oauth2-authentication-policy';\nimport { _OAuth2AuthenticationPolicyConfiguration } from './oauth2-authentication-policy-configuration';\nimport { _OAuth2AuthenticationPropertiesEndpoints } from './oauth2-authentication-properties-endpoints';\nimport { _OAuth2ConnectAuthenticationProperties } from './oauth2-connect-authentication-properties';\nimport { _OAuth2Issuers } from './oauth2-issuers';\nimport { _OAuth2TokenDefinition } from './oauth2-token-definition';\nimport { _OAuth2TokenRequest } from './oauth2-token-request';\nimport { _OneEventConsumptionStrategy } from './one-event-consumption-strategy';\nimport { _OpenAPIArguments } from './open-api-arguments';\nimport { _OpenIdConnectAuthenticationPolicy } from './open-id-connect-authentication-policy';\nimport { _OpenIdConnectAuthenticationPolicyConfiguration } from './open-id-connect-authentication-policy-configuration';\nimport { _OpenIdConnectAuthenticationProperties } from './open-id-connect-authentication-properties';\nimport { _Output } from './output';\nimport { _OutputAs } from './output-as';\nimport { _RaiseTask } from './raise-task';\nimport { _RaiseTaskConfiguration } from './raise-task-configuration';\nimport { _RaiseTaskError } from './raise-task-error';\nimport { _ReferenceableAuthenticationPolicy } from './referenceable-authentication-policy';\nimport { _RetryBackoff } from './retry-backoff';\nimport { _RetryLimit } from './retry-limit';\nimport { _RetryLimitAttempt } from './retry-limit-attempt';\nimport { _RetryPolicy } from './retry-policy';\nimport { _RetryPolicyJitter } from './retry-policy-jitter';\nimport { _RunContainer } from './run-container';\nimport { _RunScript } from './run-script';\nimport { _RunShell } from './run-shell';\nimport { _RunTask } from './run-task';\nimport { _RunTaskConfiguration } from './run-task-configuration';\nimport { _RuntimeExpression } from './runtime-expression';\nimport { _RunWorkflow } from './run-workflow';\nimport { _Schedule } from './schedule';\nimport { _Schema } from './schema';\nimport { _SchemaExternal } from './schema-external';\nimport { _SchemaInline } from './schema-inline';\nimport { _Script } from './script';\nimport { _SecretBasedAuthenticationPolicy } from './secret-based-authentication-policy';\nimport { _SetTask } from './set-task';\nimport { _SetTaskConfiguration } from './set-task-configuration';\nimport { _Shell } from './shell';\nimport { _ShellArguments } from './shell-arguments';\nimport { _ShellEnvironment } from './shell-environment';\nimport { _SubflowConfiguration } from './subflow-configuration';\nimport { _SubflowInput } from './subflow-input';\nimport { _SubscriptionIterator } from './subscription-iterator';\nimport { _SwitchCase } from './switch-case';\nimport { _SwitchItem } from './switch-item';\nimport { _SwitchTask } from './switch-task';\nimport { _SwitchTaskConfiguration } from './switch-task-configuration';\nimport { _Task } from './task';\nimport { _TaskBase } from './task-base';\nimport { _TaskBaseIf } from './task-base-if';\nimport { _TaskItem } from './task-item';\nimport { _TaskList } from './task-list';\nimport { _TaskMetadata } from './task-metadata';\nimport { _TaskTimeout } from './task-timeout';\nimport { _Timeout } from './timeout';\nimport { _TryTask } from './try-task';\nimport { _TryTaskCatch } from './try-task-catch';\nimport { _TryTaskCatchRetry } from './try-task-catch-retry';\nimport { _UriTemplate } from './uri-template';\nimport { _Use } from './use';\nimport { _UseAuthentications } from './use-authentications';\nimport { _UseCatalogs } from './use-catalogs';\nimport { _UseErrors } from './use-errors';\nimport { _UseExtensions } from './use-extensions';\nimport { _UseFunctions } from './use-functions';\nimport { _UseRetries } from './use-retries';\nimport { _UseSecrets } from './use-secrets';\nimport { _UseTimeouts } from './use-timeouts';\nimport { _WaitTask } from './wait-task';\nimport { _WithA2AParameters } from './with-a2a-parameters';\nimport { _WithEvent } from './with-event';\nimport { _WithGRPCArguments } from './with-grpc-arguments';\nimport { _WithGRPCService } from './with-grpc-service';\nimport { _WithOpenAPIParameters } from './with-open-api-parameters';\nimport { _Workflow } from './workflow';\nimport { _WorkflowMetadata } from './workflow-metadata';\nimport { _WorkflowTags } from './workflow-tags';\nimport { _WorkflowTimeout } from './workflow-timeout';\n\nexport const Classes = {\n A2AArguments: _A2AArguments,\n AllEventConsumptionStrategy: _AllEventConsumptionStrategy,\n AllEventConsumptionStrategyConfiguration: _AllEventConsumptionStrategyConfiguration,\n AnyEventConsumptionStrategy: _AnyEventConsumptionStrategy,\n AnyEventConsumptionStrategyConfiguration: _AnyEventConsumptionStrategyConfiguration,\n AnyEventConsumptionStrategyUntil: _AnyEventConsumptionStrategyUntil,\n AnyEventUntilConsumed: _AnyEventUntilConsumed,\n AsyncApiArguments: _AsyncApiArguments,\n AuthenticationPolicy: _AuthenticationPolicy,\n AuthenticationPolicyReference: _AuthenticationPolicyReference,\n BasicAuthenticationPolicy: _BasicAuthenticationPolicy,\n BasicAuthenticationPolicyConfiguration: _BasicAuthenticationPolicyConfiguration,\n BasicAuthenticationProperties: _BasicAuthenticationProperties,\n BearerAuthenticationPolicy: _BearerAuthenticationPolicy,\n BearerAuthenticationPolicyConfiguration: _BearerAuthenticationPolicyConfiguration,\n BearerAuthenticationProperties: _BearerAuthenticationProperties,\n CallA2A: _CallA2A,\n CallAsyncAPI: _CallAsyncAPI,\n CallFunction: _CallFunction,\n CallGRPC: _CallGRPC,\n CallHTTP: _CallHTTP,\n CallMCP: _CallMCP,\n CallOpenAPI: _CallOpenAPI,\n CallTask: _CallTask,\n Catalog: _Catalog,\n CatchErrors: _CatchErrors,\n ConstantBackoff: _ConstantBackoff,\n Container: _Container,\n ContainerArguments: _ContainerArguments,\n ContainerEnvironment: _ContainerEnvironment,\n ContainerLifetime: _ContainerLifetime,\n ContainerPorts: _ContainerPorts,\n ContainerVolumes: _ContainerVolumes,\n DigestAuthenticationPolicy: _DigestAuthenticationPolicy,\n DigestAuthenticationPolicyConfiguration: _DigestAuthenticationPolicyConfiguration,\n DigestAuthenticationProperties: _DigestAuthenticationProperties,\n Document: _Document,\n DoTask: _DoTask,\n Duration: _Duration,\n DurationInline: _DurationInline,\n EmitEventDefinition: _EmitEventDefinition,\n EmitEventWith: _EmitEventWith,\n EmitTask: _EmitTask,\n EmitTaskConfiguration: _EmitTaskConfiguration,\n Endpoint: _Endpoint,\n EndpointConfiguration: _EndpointConfiguration,\n EndpointUri: _EndpointUri,\n Error: _Error,\n ErrorDetails: _ErrorDetails,\n ErrorFilter: _ErrorFilter,\n ErrorInstance: _ErrorInstance,\n ErrorTitle: _ErrorTitle,\n ErrorType: _ErrorType,\n EventConsumptionStrategy: _EventConsumptionStrategy,\n EventData: _EventData,\n EventDataschema: _EventDataschema,\n EventFilter: _EventFilter,\n EventFilterCorrelate: _EventFilterCorrelate,\n EventSource: _EventSource,\n EventTime: _EventTime,\n ExponentialBackOff: _ExponentialBackOff,\n Export: _Export,\n ExportAs: _ExportAs,\n Extension: _Extension,\n ExtensionItem: _ExtensionItem,\n ExternalResource: _ExternalResource,\n ExternalScript: _ExternalScript,\n FlowDirective: _FlowDirective,\n ForkTask: _ForkTask,\n ForkTaskConfiguration: _ForkTaskConfiguration,\n ForTask: _ForTask,\n ForTaskConfiguration: _ForTaskConfiguration,\n FunctionArguments: _FunctionArguments,\n GRPCArguments: _GRPCArguments,\n HTTPArguments: _HTTPArguments,\n HTTPBody: _HTTPBody,\n HTTPHeaders: _HTTPHeaders,\n HTTPQuery: _HTTPQuery,\n InlineScript: _InlineScript,\n Input: _Input,\n InputFrom: _InputFrom,\n LinearBackoff: _LinearBackoff,\n ListenTask: _ListenTask,\n ListenTaskConfiguration: _ListenTaskConfiguration,\n MCPArguments: _MCPArguments,\n McpCallTransport: _McpCallTransport,\n McpClient: _McpClient,\n McpMethodParameters: _McpMethodParameters,\n OAuth2AuthenticationData: _OAuth2AuthenticationData,\n OAuth2AuthenticationDataAudiences: _OAuth2AuthenticationDataAudiences,\n OAuth2AuthenticationDataClient: _OAuth2AuthenticationDataClient,\n OAuth2AuthenticationDataScopes: _OAuth2AuthenticationDataScopes,\n OAuth2AuthenticationPolicy: _OAuth2AuthenticationPolicy,\n OAuth2AuthenticationPolicyConfiguration: _OAuth2AuthenticationPolicyConfiguration,\n OAuth2AuthenticationPropertiesEndpoints: _OAuth2AuthenticationPropertiesEndpoints,\n OAuth2ConnectAuthenticationProperties: _OAuth2ConnectAuthenticationProperties,\n OAuth2Issuers: _OAuth2Issuers,\n OAuth2TokenDefinition: _OAuth2TokenDefinition,\n OAuth2TokenRequest: _OAuth2TokenRequest,\n OneEventConsumptionStrategy: _OneEventConsumptionStrategy,\n OpenAPIArguments: _OpenAPIArguments,\n OpenIdConnectAuthenticationPolicy: _OpenIdConnectAuthenticationPolicy,\n OpenIdConnectAuthenticationPolicyConfiguration: _OpenIdConnectAuthenticationPolicyConfiguration,\n OpenIdConnectAuthenticationProperties: _OpenIdConnectAuthenticationProperties,\n Output: _Output,\n OutputAs: _OutputAs,\n RaiseTask: _RaiseTask,\n RaiseTaskConfiguration: _RaiseTaskConfiguration,\n RaiseTaskError: _RaiseTaskError,\n ReferenceableAuthenticationPolicy: _ReferenceableAuthenticationPolicy,\n RetryBackoff: _RetryBackoff,\n RetryLimit: _RetryLimit,\n RetryLimitAttempt: _RetryLimitAttempt,\n RetryPolicy: _RetryPolicy,\n RetryPolicyJitter: _RetryPolicyJitter,\n RunContainer: _RunContainer,\n RunScript: _RunScript,\n RunShell: _RunShell,\n RunTask: _RunTask,\n RunTaskConfiguration: _RunTaskConfiguration,\n RuntimeExpression: _RuntimeExpression,\n RunWorkflow: _RunWorkflow,\n Schedule: _Schedule,\n Schema: _Schema,\n SchemaExternal: _SchemaExternal,\n SchemaInline: _SchemaInline,\n Script: _Script,\n SecretBasedAuthenticationPolicy: _SecretBasedAuthenticationPolicy,\n SetTask: _SetTask,\n SetTaskConfiguration: _SetTaskConfiguration,\n Shell: _Shell,\n ShellArguments: _ShellArguments,\n ShellEnvironment: _ShellEnvironment,\n SubflowConfiguration: _SubflowConfiguration,\n SubflowInput: _SubflowInput,\n SubscriptionIterator: _SubscriptionIterator,\n SwitchCase: _SwitchCase,\n SwitchItem: _SwitchItem,\n SwitchTask: _SwitchTask,\n SwitchTaskConfiguration: _SwitchTaskConfiguration,\n Task: _Task,\n TaskBase: _TaskBase,\n TaskBaseIf: _TaskBaseIf,\n TaskItem: _TaskItem,\n TaskList: _TaskList,\n TaskMetadata: _TaskMetadata,\n TaskTimeout: _TaskTimeout,\n Timeout: _Timeout,\n TryTask: _TryTask,\n TryTaskCatch: _TryTaskCatch,\n TryTaskCatchRetry: _TryTaskCatchRetry,\n UriTemplate: _UriTemplate,\n Use: _Use,\n UseAuthentications: _UseAuthentications,\n UseCatalogs: _UseCatalogs,\n UseErrors: _UseErrors,\n UseExtensions: _UseExtensions,\n UseFunctions: _UseFunctions,\n UseRetries: _UseRetries,\n UseSecrets: _UseSecrets,\n UseTimeouts: _UseTimeouts,\n WaitTask: _WaitTask,\n WithA2AParameters: _WithA2AParameters,\n WithEvent: _WithEvent,\n WithGRPCArguments: _WithGRPCArguments,\n WithGRPCService: _WithGRPCService,\n WithOpenAPIParameters: _WithOpenAPIParameters,\n Workflow: _Workflow,\n WorkflowMetadata: _WorkflowMetadata,\n WorkflowTags: _WorkflowTags,\n WorkflowTimeout: _WorkflowTimeout,\n};\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { A2AArgumentsIntersection } from '../classes/a2a-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.A2AArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {A2AArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.A2AArguments, options: BuildOptions): A2AArgumentsIntersection {\n const instance = new Classes.A2AArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as A2AArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `A2AArgumentsIntersection`\n * @returns {Builder<A2AArgumentsIntersection, A2AArgumentsIntersection>} A builder for `A2AArgumentsIntersection`\n */\nexport const a2AArgumentsBuilder = (\n model?: Partial<Specification.A2AArguments>,\n): Builder<Partial<Specification.A2AArguments>, A2AArgumentsIntersection> =>\n builder<Specification.A2AArguments, A2AArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AllEventConsumptionStrategyIntersection } from '../classes/all-event-consumption-strategy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AllEventConsumptionStrategy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AllEventConsumptionStrategyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AllEventConsumptionStrategy,\n options: BuildOptions,\n): AllEventConsumptionStrategyIntersection {\n const instance = new Classes.AllEventConsumptionStrategy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AllEventConsumptionStrategyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AllEventConsumptionStrategyIntersection`\n * @returns {Builder<AllEventConsumptionStrategyIntersection, AllEventConsumptionStrategyIntersection>} A builder for `AllEventConsumptionStrategyIntersection`\n */\nexport const allEventConsumptionStrategyBuilder = (\n model?: Partial<Specification.AllEventConsumptionStrategy>,\n): Builder<Partial<Specification.AllEventConsumptionStrategy>, AllEventConsumptionStrategyIntersection> =>\n builder<Specification.AllEventConsumptionStrategy, AllEventConsumptionStrategyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AllEventConsumptionStrategyConfigurationIntersection } from '../classes/all-event-consumption-strategy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.AllEventConsumptionStrategyConfiguration} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {AllEventConsumptionStrategyConfigurationIntersection} The built array\n */\nfunction buildingFn(\n model: Specification.AllEventConsumptionStrategyConfiguration,\n options: BuildOptions,\n): AllEventConsumptionStrategyConfigurationIntersection {\n const instance = new Classes.AllEventConsumptionStrategyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize\n ? instance.normalize()\n : instance) as unknown as AllEventConsumptionStrategyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AllEventConsumptionStrategyConfigurationIntersection`\n * @returns {ArrayBuilder<Specification.EventFilter, AllEventConsumptionStrategyConfigurationIntersection>} A builder for `AllEventConsumptionStrategyConfigurationIntersection`\n */\nexport const allEventConsumptionStrategyConfigurationBuilder = (\n model?: Specification.AllEventConsumptionStrategyConfiguration,\n): ArrayBuilder<Specification.EventFilter, AllEventConsumptionStrategyConfigurationIntersection> =>\n arrayBuilder<Specification.EventFilter, AllEventConsumptionStrategyConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AnyEventConsumptionStrategyIntersection } from '../classes/any-event-consumption-strategy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AnyEventConsumptionStrategy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AnyEventConsumptionStrategyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AnyEventConsumptionStrategy,\n options: BuildOptions,\n): AnyEventConsumptionStrategyIntersection {\n const instance = new Classes.AnyEventConsumptionStrategy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AnyEventConsumptionStrategyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AnyEventConsumptionStrategyIntersection`\n * @returns {Builder<AnyEventConsumptionStrategyIntersection, AnyEventConsumptionStrategyIntersection>} A builder for `AnyEventConsumptionStrategyIntersection`\n */\nexport const anyEventConsumptionStrategyBuilder = (\n model?: Partial<Specification.AnyEventConsumptionStrategy>,\n): Builder<Partial<Specification.AnyEventConsumptionStrategy>, AnyEventConsumptionStrategyIntersection> =>\n builder<Specification.AnyEventConsumptionStrategy, AnyEventConsumptionStrategyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AnyEventConsumptionStrategyConfigurationIntersection } from '../classes/any-event-consumption-strategy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.AnyEventConsumptionStrategyConfiguration} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {AnyEventConsumptionStrategyConfigurationIntersection} The built array\n */\nfunction buildingFn(\n model: Specification.AnyEventConsumptionStrategyConfiguration,\n options: BuildOptions,\n): AnyEventConsumptionStrategyConfigurationIntersection {\n const instance = new Classes.AnyEventConsumptionStrategyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize\n ? instance.normalize()\n : instance) as unknown as AnyEventConsumptionStrategyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AnyEventConsumptionStrategyConfigurationIntersection`\n * @returns {ArrayBuilder<Specification.EventFilter, AnyEventConsumptionStrategyConfigurationIntersection>} A builder for `AnyEventConsumptionStrategyConfigurationIntersection`\n */\nexport const anyEventConsumptionStrategyConfigurationBuilder = (\n model?: Specification.AnyEventConsumptionStrategyConfiguration,\n): ArrayBuilder<Specification.EventFilter, AnyEventConsumptionStrategyConfigurationIntersection> =>\n arrayBuilder<Specification.EventFilter, AnyEventConsumptionStrategyConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AnyEventConsumptionStrategyUntilIntersection } from '../classes/any-event-consumption-strategy-until';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AnyEventConsumptionStrategyUntil} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AnyEventConsumptionStrategyUntilIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AnyEventConsumptionStrategyUntil,\n options: BuildOptions,\n): AnyEventConsumptionStrategyUntilIntersection {\n const instance = new Classes.AnyEventConsumptionStrategyUntil(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AnyEventConsumptionStrategyUntilIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AnyEventConsumptionStrategyUntilIntersection`\n * @returns {Builder<AnyEventConsumptionStrategyUntilIntersection, AnyEventConsumptionStrategyUntilIntersection>} A builder for `AnyEventConsumptionStrategyUntilIntersection`\n */\nexport const anyEventConsumptionStrategyUntilBuilder = (\n model?: Partial<Specification.AnyEventConsumptionStrategyUntil>,\n): Builder<Partial<Specification.AnyEventConsumptionStrategyUntil>, AnyEventConsumptionStrategyUntilIntersection> =>\n builder<Specification.AnyEventConsumptionStrategyUntil, AnyEventConsumptionStrategyUntilIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AnyEventUntilConsumedIntersection } from '../classes/any-event-until-consumed';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AnyEventUntilConsumed} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AnyEventUntilConsumedIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AnyEventUntilConsumed,\n options: BuildOptions,\n): AnyEventUntilConsumedIntersection {\n const instance = new Classes.AnyEventUntilConsumed(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AnyEventUntilConsumedIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AnyEventUntilConsumedIntersection`\n * @returns {Builder<AnyEventUntilConsumedIntersection, AnyEventUntilConsumedIntersection>} A builder for `AnyEventUntilConsumedIntersection`\n */\nexport const anyEventUntilConsumedBuilder = (\n model?: Partial<Specification.AnyEventUntilConsumed>,\n): Builder<Partial<Specification.AnyEventUntilConsumed>, AnyEventUntilConsumedIntersection> =>\n builder<Specification.AnyEventUntilConsumed, AnyEventUntilConsumedIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AsyncApiArgumentsIntersection } from '../classes/async-api-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AsyncApiArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AsyncApiArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.AsyncApiArguments, options: BuildOptions): AsyncApiArgumentsIntersection {\n const instance = new Classes.AsyncApiArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AsyncApiArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AsyncApiArgumentsIntersection`\n * @returns {Builder<AsyncApiArgumentsIntersection, AsyncApiArgumentsIntersection>} A builder for `AsyncApiArgumentsIntersection`\n */\nexport const asyncApiArgumentsBuilder = (\n model?: Partial<Specification.AsyncApiArguments>,\n): Builder<Partial<Specification.AsyncApiArguments>, AsyncApiArgumentsIntersection> =>\n builder<Specification.AsyncApiArguments, AsyncApiArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AuthenticationPolicyIntersection } from '../classes/authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AuthenticationPolicy,\n options: BuildOptions,\n): AuthenticationPolicyIntersection {\n const instance = new Classes.AuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AuthenticationPolicyIntersection`\n * @returns {Builder<AuthenticationPolicyIntersection, AuthenticationPolicyIntersection>} A builder for `AuthenticationPolicyIntersection`\n */\nexport const authenticationPolicyBuilder = (\n model?: Partial<Specification.AuthenticationPolicy>,\n): Builder<Partial<Specification.AuthenticationPolicy>, AuthenticationPolicyIntersection> =>\n builder<Specification.AuthenticationPolicy, AuthenticationPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { AuthenticationPolicyReferenceIntersection } from '../classes/authentication-policy-reference';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.AuthenticationPolicyReference} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {AuthenticationPolicyReferenceIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.AuthenticationPolicyReference,\n options: BuildOptions,\n): AuthenticationPolicyReferenceIntersection {\n const instance = new Classes.AuthenticationPolicyReference(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as AuthenticationPolicyReferenceIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `AuthenticationPolicyReferenceIntersection`\n * @returns {Builder<AuthenticationPolicyReferenceIntersection, AuthenticationPolicyReferenceIntersection>} A builder for `AuthenticationPolicyReferenceIntersection`\n */\nexport const authenticationPolicyReferenceBuilder = (\n model?: Partial<Specification.AuthenticationPolicyReference>,\n): Builder<Partial<Specification.AuthenticationPolicyReference>, AuthenticationPolicyReferenceIntersection> =>\n builder<Specification.AuthenticationPolicyReference, AuthenticationPolicyReferenceIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BasicAuthenticationPolicyIntersection } from '../classes/basic-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BasicAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BasicAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BasicAuthenticationPolicy,\n options: BuildOptions,\n): BasicAuthenticationPolicyIntersection {\n const instance = new Classes.BasicAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BasicAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BasicAuthenticationPolicyIntersection`\n * @returns {Builder<BasicAuthenticationPolicyIntersection, BasicAuthenticationPolicyIntersection>} A builder for `BasicAuthenticationPolicyIntersection`\n */\nexport const basicAuthenticationPolicyBuilder = (\n model?: Partial<Specification.BasicAuthenticationPolicy>,\n): Builder<Partial<Specification.BasicAuthenticationPolicy>, BasicAuthenticationPolicyIntersection> =>\n builder<Specification.BasicAuthenticationPolicy, BasicAuthenticationPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BasicAuthenticationPolicyConfigurationIntersection } from '../classes/basic-authentication-policy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BasicAuthenticationPolicyConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BasicAuthenticationPolicyConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BasicAuthenticationPolicyConfiguration,\n options: BuildOptions,\n): BasicAuthenticationPolicyConfigurationIntersection {\n const instance = new Classes.BasicAuthenticationPolicyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BasicAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BasicAuthenticationPolicyConfigurationIntersection`\n * @returns {Builder<BasicAuthenticationPolicyConfigurationIntersection, BasicAuthenticationPolicyConfigurationIntersection>} A builder for `BasicAuthenticationPolicyConfigurationIntersection`\n */\nexport const basicAuthenticationPolicyConfigurationBuilder = (\n model?: Partial<Specification.BasicAuthenticationPolicyConfiguration>,\n): Builder<\n Partial<Specification.BasicAuthenticationPolicyConfiguration>,\n BasicAuthenticationPolicyConfigurationIntersection\n> =>\n builder<Specification.BasicAuthenticationPolicyConfiguration, BasicAuthenticationPolicyConfigurationIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BasicAuthenticationPropertiesIntersection } from '../classes/basic-authentication-properties';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BasicAuthenticationProperties} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BasicAuthenticationPropertiesIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BasicAuthenticationProperties,\n options: BuildOptions,\n): BasicAuthenticationPropertiesIntersection {\n const instance = new Classes.BasicAuthenticationProperties(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BasicAuthenticationPropertiesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BasicAuthenticationPropertiesIntersection`\n * @returns {Builder<BasicAuthenticationPropertiesIntersection, BasicAuthenticationPropertiesIntersection>} A builder for `BasicAuthenticationPropertiesIntersection`\n */\nexport const basicAuthenticationPropertiesBuilder = (\n model?: Partial<Specification.BasicAuthenticationProperties>,\n): Builder<Partial<Specification.BasicAuthenticationProperties>, BasicAuthenticationPropertiesIntersection> =>\n builder<Specification.BasicAuthenticationProperties, BasicAuthenticationPropertiesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BearerAuthenticationPolicyIntersection } from '../classes/bearer-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BearerAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BearerAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BearerAuthenticationPolicy,\n options: BuildOptions,\n): BearerAuthenticationPolicyIntersection {\n const instance = new Classes.BearerAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BearerAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BearerAuthenticationPolicyIntersection`\n * @returns {Builder<BearerAuthenticationPolicyIntersection, BearerAuthenticationPolicyIntersection>} A builder for `BearerAuthenticationPolicyIntersection`\n */\nexport const bearerAuthenticationPolicyBuilder = (\n model?: Partial<Specification.BearerAuthenticationPolicy>,\n): Builder<Partial<Specification.BearerAuthenticationPolicy>, BearerAuthenticationPolicyIntersection> =>\n builder<Specification.BearerAuthenticationPolicy, BearerAuthenticationPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BearerAuthenticationPolicyConfigurationIntersection } from '../classes/bearer-authentication-policy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BearerAuthenticationPolicyConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BearerAuthenticationPolicyConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BearerAuthenticationPolicyConfiguration,\n options: BuildOptions,\n): BearerAuthenticationPolicyConfigurationIntersection {\n const instance = new Classes.BearerAuthenticationPolicyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BearerAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BearerAuthenticationPolicyConfigurationIntersection`\n * @returns {Builder<BearerAuthenticationPolicyConfigurationIntersection, BearerAuthenticationPolicyConfigurationIntersection>} A builder for `BearerAuthenticationPolicyConfigurationIntersection`\n */\nexport const bearerAuthenticationPolicyConfigurationBuilder = (\n model?: Partial<Specification.BearerAuthenticationPolicyConfiguration>,\n): Builder<\n Partial<Specification.BearerAuthenticationPolicyConfiguration>,\n BearerAuthenticationPolicyConfigurationIntersection\n> =>\n builder<Specification.BearerAuthenticationPolicyConfiguration, BearerAuthenticationPolicyConfigurationIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { BearerAuthenticationPropertiesIntersection } from '../classes/bearer-authentication-properties';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.BearerAuthenticationProperties} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {BearerAuthenticationPropertiesIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.BearerAuthenticationProperties,\n options: BuildOptions,\n): BearerAuthenticationPropertiesIntersection {\n const instance = new Classes.BearerAuthenticationProperties(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as BearerAuthenticationPropertiesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `BearerAuthenticationPropertiesIntersection`\n * @returns {Builder<BearerAuthenticationPropertiesIntersection, BearerAuthenticationPropertiesIntersection>} A builder for `BearerAuthenticationPropertiesIntersection`\n */\nexport const bearerAuthenticationPropertiesBuilder = (\n model?: Partial<Specification.BearerAuthenticationProperties>,\n): Builder<Partial<Specification.BearerAuthenticationProperties>, BearerAuthenticationPropertiesIntersection> =>\n builder<Specification.BearerAuthenticationProperties, BearerAuthenticationPropertiesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallA2AIntersection } from '../classes/call-a2a';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallA2A} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallA2AIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallA2A, options: BuildOptions): CallA2AIntersection {\n const instance = new Classes.CallA2A(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallA2AIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallA2AIntersection`\n * @returns {Builder<CallA2AIntersection, CallA2AIntersection>} A builder for `CallA2AIntersection`\n */\nexport const callA2ABuilder = (\n model?: Partial<Specification.CallA2A>,\n): Builder<Partial<Specification.CallA2A>, CallA2AIntersection> =>\n builder<Specification.CallA2A, CallA2AIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallAsyncAPIIntersection } from '../classes/call-async-api';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallAsyncAPI} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallAsyncAPIIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallAsyncAPI, options: BuildOptions): CallAsyncAPIIntersection {\n const instance = new Classes.CallAsyncAPI(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallAsyncAPIIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallAsyncAPIIntersection`\n * @returns {Builder<CallAsyncAPIIntersection, CallAsyncAPIIntersection>} A builder for `CallAsyncAPIIntersection`\n */\nexport const callAsyncAPIBuilder = (\n model?: Partial<Specification.CallAsyncAPI>,\n): Builder<Partial<Specification.CallAsyncAPI>, CallAsyncAPIIntersection> =>\n builder<Specification.CallAsyncAPI, CallAsyncAPIIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallFunctionIntersection } from '../classes/call-function';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallFunction} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallFunctionIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallFunction, options: BuildOptions): CallFunctionIntersection {\n const instance = new Classes.CallFunction(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallFunctionIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallFunctionIntersection`\n * @returns {Builder<CallFunctionIntersection, CallFunctionIntersection>} A builder for `CallFunctionIntersection`\n */\nexport const callFunctionBuilder = (\n model?: Partial<Specification.CallFunction>,\n): Builder<Partial<Specification.CallFunction>, CallFunctionIntersection> =>\n builder<Specification.CallFunction, CallFunctionIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallGRPCIntersection } from '../classes/call-grpc';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallGRPC} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallGRPCIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallGRPC, options: BuildOptions): CallGRPCIntersection {\n const instance = new Classes.CallGRPC(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallGRPCIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallGRPCIntersection`\n * @returns {Builder<CallGRPCIntersection, CallGRPCIntersection>} A builder for `CallGRPCIntersection`\n */\nexport const callGRPCBuilder = (\n model?: Partial<Specification.CallGRPC>,\n): Builder<Partial<Specification.CallGRPC>, CallGRPCIntersection> =>\n builder<Specification.CallGRPC, CallGRPCIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallHTTPIntersection } from '../classes/call-http';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallHTTP} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallHTTPIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallHTTP, options: BuildOptions): CallHTTPIntersection {\n const instance = new Classes.CallHTTP(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallHTTPIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallHTTPIntersection`\n * @returns {Builder<CallHTTPIntersection, CallHTTPIntersection>} A builder for `CallHTTPIntersection`\n */\nexport const callHTTPBuilder = (\n model?: Partial<Specification.CallHTTP>,\n): Builder<Partial<Specification.CallHTTP>, CallHTTPIntersection> =>\n builder<Specification.CallHTTP, CallHTTPIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallMCPIntersection } from '../classes/call-mcp';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallMCP} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallMCPIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallMCP, options: BuildOptions): CallMCPIntersection {\n const instance = new Classes.CallMCP(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallMCPIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallMCPIntersection`\n * @returns {Builder<CallMCPIntersection, CallMCPIntersection>} A builder for `CallMCPIntersection`\n */\nexport const callMCPBuilder = (\n model?: Partial<Specification.CallMCP>,\n): Builder<Partial<Specification.CallMCP>, CallMCPIntersection> =>\n builder<Specification.CallMCP, CallMCPIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallOpenAPIIntersection } from '../classes/call-open-api';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallOpenAPI} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallOpenAPIIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallOpenAPI, options: BuildOptions): CallOpenAPIIntersection {\n const instance = new Classes.CallOpenAPI(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallOpenAPIIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallOpenAPIIntersection`\n * @returns {Builder<CallOpenAPIIntersection, CallOpenAPIIntersection>} A builder for `CallOpenAPIIntersection`\n */\nexport const callOpenAPIBuilder = (\n model?: Partial<Specification.CallOpenAPI>,\n): Builder<Partial<Specification.CallOpenAPI>, CallOpenAPIIntersection> =>\n builder<Specification.CallOpenAPI, CallOpenAPIIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CallTaskIntersection } from '../classes/call-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CallTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CallTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.CallTask, options: BuildOptions): CallTaskIntersection {\n const instance = new Classes.CallTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CallTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CallTaskIntersection`\n * @returns {Builder<CallTaskIntersection, CallTaskIntersection>} A builder for `CallTaskIntersection`\n */\nexport const callTaskBuilder = (\n model?: Partial<Specification.CallTask>,\n): Builder<Partial<Specification.CallTask>, CallTaskIntersection> =>\n builder<Specification.CallTask, CallTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CatalogIntersection } from '../classes/catalog';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Catalog} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CatalogIntersection} The built object\n */\nfunction buildingFn(model: Specification.Catalog, options: BuildOptions): CatalogIntersection {\n const instance = new Classes.Catalog(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CatalogIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CatalogIntersection`\n * @returns {Builder<CatalogIntersection, CatalogIntersection>} A builder for `CatalogIntersection`\n */\nexport const catalogBuilder = (\n model?: Partial<Specification.Catalog>,\n): Builder<Partial<Specification.Catalog>, CatalogIntersection> =>\n builder<Specification.Catalog, CatalogIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { CatchErrorsIntersection } from '../classes/catch-errors';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.CatchErrors} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {CatchErrorsIntersection} The built object\n */\nfunction buildingFn(model: Specification.CatchErrors, options: BuildOptions): CatchErrorsIntersection {\n const instance = new Classes.CatchErrors(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as CatchErrorsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `CatchErrorsIntersection`\n * @returns {Builder<CatchErrorsIntersection, CatchErrorsIntersection>} A builder for `CatchErrorsIntersection`\n */\nexport const catchErrorsBuilder = (\n model?: Partial<Specification.CatchErrors>,\n): Builder<Partial<Specification.CatchErrors>, CatchErrorsIntersection> =>\n builder<Specification.CatchErrors, CatchErrorsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ConstantBackoffIntersection } from '../classes/constant-backoff';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ConstantBackoff} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ConstantBackoffIntersection} The built object\n */\nfunction buildingFn(model: Specification.ConstantBackoff, options: BuildOptions): ConstantBackoffIntersection {\n const instance = new Classes.ConstantBackoff(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ConstantBackoffIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ConstantBackoffIntersection`\n * @returns {Builder<ConstantBackoffIntersection, ConstantBackoffIntersection>} A builder for `ConstantBackoffIntersection`\n */\nexport const constantBackoffBuilder = (\n model?: Partial<Specification.ConstantBackoff>,\n): Builder<Partial<Specification.ConstantBackoff>, ConstantBackoffIntersection> =>\n builder<Specification.ConstantBackoff, ConstantBackoffIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerIntersection } from '../classes/container';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Container} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerIntersection} The built object\n */\nfunction buildingFn(model: Specification.Container, options: BuildOptions): ContainerIntersection {\n const instance = new Classes.Container(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ContainerIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerIntersection`\n * @returns {Builder<ContainerIntersection, ContainerIntersection>} A builder for `ContainerIntersection`\n */\nexport const containerBuilder = (\n model?: Partial<Specification.Container>,\n): Builder<Partial<Specification.Container>, ContainerIntersection> =>\n builder<Specification.Container, ContainerIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerArgumentsIntersection } from '../classes/container-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.ContainerArguments} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerArgumentsIntersection} The built array\n */\nfunction buildingFn(model: Specification.ContainerArguments, options: BuildOptions): ContainerArgumentsIntersection {\n const instance = new Classes.ContainerArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as ContainerArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerArgumentsIntersection`\n * @returns {ArrayBuilder<string, ContainerArgumentsIntersection>} A builder for `ContainerArgumentsIntersection`\n */\nexport const containerArgumentsBuilder = (\n model?: Specification.ContainerArguments,\n): ArrayBuilder<string, ContainerArgumentsIntersection> =>\n arrayBuilder<string, ContainerArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerEnvironmentIntersection } from '../classes/container-environment';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ContainerEnvironment} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerEnvironmentIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.ContainerEnvironment,\n options: BuildOptions,\n): ContainerEnvironmentIntersection {\n const instance = new Classes.ContainerEnvironment(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ContainerEnvironmentIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerEnvironmentIntersection`\n * @returns {Builder<ContainerEnvironmentIntersection, ContainerEnvironmentIntersection>} A builder for `ContainerEnvironmentIntersection`\n */\nexport const containerEnvironmentBuilder = (\n model?: Partial<Specification.ContainerEnvironment>,\n): Builder<Partial<Specification.ContainerEnvironment>, ContainerEnvironmentIntersection> =>\n builder<Specification.ContainerEnvironment, ContainerEnvironmentIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerLifetimeIntersection } from '../classes/container-lifetime';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ContainerLifetime} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerLifetimeIntersection} The built object\n */\nfunction buildingFn(model: Specification.ContainerLifetime, options: BuildOptions): ContainerLifetimeIntersection {\n const instance = new Classes.ContainerLifetime(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ContainerLifetimeIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerLifetimeIntersection`\n * @returns {Builder<ContainerLifetimeIntersection, ContainerLifetimeIntersection>} A builder for `ContainerLifetimeIntersection`\n */\nexport const containerLifetimeBuilder = (\n model?: Partial<Specification.ContainerLifetime>,\n): Builder<Partial<Specification.ContainerLifetime>, ContainerLifetimeIntersection> =>\n builder<Specification.ContainerLifetime, ContainerLifetimeIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerPortsIntersection } from '../classes/container-ports';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ContainerPorts} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerPortsIntersection} The built object\n */\nfunction buildingFn(model: Specification.ContainerPorts, options: BuildOptions): ContainerPortsIntersection {\n const instance = new Classes.ContainerPorts(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ContainerPortsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerPortsIntersection`\n * @returns {Builder<ContainerPortsIntersection, ContainerPortsIntersection>} A builder for `ContainerPortsIntersection`\n */\nexport const containerPortsBuilder = (\n model?: Partial<Specification.ContainerPorts>,\n): Builder<Partial<Specification.ContainerPorts>, ContainerPortsIntersection> =>\n builder<Specification.ContainerPorts, ContainerPortsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ContainerVolumesIntersection } from '../classes/container-volumes';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ContainerVolumes} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ContainerVolumesIntersection} The built object\n */\nfunction buildingFn(model: Specification.ContainerVolumes, options: BuildOptions): ContainerVolumesIntersection {\n const instance = new Classes.ContainerVolumes(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ContainerVolumesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ContainerVolumesIntersection`\n * @returns {Builder<ContainerVolumesIntersection, ContainerVolumesIntersection>} A builder for `ContainerVolumesIntersection`\n */\nexport const containerVolumesBuilder = (\n model?: Partial<Specification.ContainerVolumes>,\n): Builder<Partial<Specification.ContainerVolumes>, ContainerVolumesIntersection> =>\n builder<Specification.ContainerVolumes, ContainerVolumesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DigestAuthenticationPolicyIntersection } from '../classes/digest-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.DigestAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DigestAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.DigestAuthenticationPolicy,\n options: BuildOptions,\n): DigestAuthenticationPolicyIntersection {\n const instance = new Classes.DigestAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DigestAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DigestAuthenticationPolicyIntersection`\n * @returns {Builder<DigestAuthenticationPolicyIntersection, DigestAuthenticationPolicyIntersection>} A builder for `DigestAuthenticationPolicyIntersection`\n */\nexport const digestAuthenticationPolicyBuilder = (\n model?: Partial<Specification.DigestAuthenticationPolicy>,\n): Builder<Partial<Specification.DigestAuthenticationPolicy>, DigestAuthenticationPolicyIntersection> =>\n builder<Specification.DigestAuthenticationPolicy, DigestAuthenticationPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DigestAuthenticationPolicyConfigurationIntersection } from '../classes/digest-authentication-policy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.DigestAuthenticationPolicyConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DigestAuthenticationPolicyConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.DigestAuthenticationPolicyConfiguration,\n options: BuildOptions,\n): DigestAuthenticationPolicyConfigurationIntersection {\n const instance = new Classes.DigestAuthenticationPolicyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DigestAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DigestAuthenticationPolicyConfigurationIntersection`\n * @returns {Builder<DigestAuthenticationPolicyConfigurationIntersection, DigestAuthenticationPolicyConfigurationIntersection>} A builder for `DigestAuthenticationPolicyConfigurationIntersection`\n */\nexport const digestAuthenticationPolicyConfigurationBuilder = (\n model?: Partial<Specification.DigestAuthenticationPolicyConfiguration>,\n): Builder<\n Partial<Specification.DigestAuthenticationPolicyConfiguration>,\n DigestAuthenticationPolicyConfigurationIntersection\n> =>\n builder<Specification.DigestAuthenticationPolicyConfiguration, DigestAuthenticationPolicyConfigurationIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DigestAuthenticationPropertiesIntersection } from '../classes/digest-authentication-properties';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.DigestAuthenticationProperties} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DigestAuthenticationPropertiesIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.DigestAuthenticationProperties,\n options: BuildOptions,\n): DigestAuthenticationPropertiesIntersection {\n const instance = new Classes.DigestAuthenticationProperties(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DigestAuthenticationPropertiesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DigestAuthenticationPropertiesIntersection`\n * @returns {Builder<DigestAuthenticationPropertiesIntersection, DigestAuthenticationPropertiesIntersection>} A builder for `DigestAuthenticationPropertiesIntersection`\n */\nexport const digestAuthenticationPropertiesBuilder = (\n model?: Partial<Specification.DigestAuthenticationProperties>,\n): Builder<Partial<Specification.DigestAuthenticationProperties>, DigestAuthenticationPropertiesIntersection> =>\n builder<Specification.DigestAuthenticationProperties, DigestAuthenticationPropertiesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DocumentIntersection } from '../classes/document';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Document} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DocumentIntersection} The built object\n */\nfunction buildingFn(model: Specification.Document, options: BuildOptions): DocumentIntersection {\n const instance = new Classes.Document(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DocumentIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DocumentIntersection`\n * @returns {Builder<DocumentIntersection, DocumentIntersection>} A builder for `DocumentIntersection`\n */\nexport const documentBuilder = (\n model?: Partial<Specification.Document>,\n): Builder<Partial<Specification.Document>, DocumentIntersection> =>\n builder<Specification.Document, DocumentIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DoTaskIntersection } from '../classes/do-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.DoTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DoTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.DoTask, options: BuildOptions): DoTaskIntersection {\n const instance = new Classes.DoTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DoTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DoTaskIntersection`\n * @returns {Builder<DoTaskIntersection, DoTaskIntersection>} A builder for `DoTaskIntersection`\n */\nexport const doTaskBuilder = (\n model?: Partial<Specification.DoTask>,\n): Builder<Partial<Specification.DoTask>, DoTaskIntersection> =>\n builder<Specification.DoTask, DoTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DurationIntersection } from '../classes/duration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Duration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DurationIntersection} The built object\n */\nfunction buildingFn(model: Specification.Duration, options: BuildOptions): DurationIntersection {\n const instance = new Classes.Duration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DurationIntersection`\n * @returns {Builder<DurationIntersection, DurationIntersection>} A builder for `DurationIntersection`\n */\nexport const durationBuilder = (\n model?: Partial<Specification.Duration>,\n): Builder<Partial<Specification.Duration>, DurationIntersection> =>\n builder<Specification.Duration, DurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { DurationInlineIntersection } from '../classes/duration-inline';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.DurationInline} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {DurationInlineIntersection} The built object\n */\nfunction buildingFn(model: Specification.DurationInline, options: BuildOptions): DurationInlineIntersection {\n const instance = new Classes.DurationInline(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as DurationInlineIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `DurationInlineIntersection`\n * @returns {Builder<DurationInlineIntersection, DurationInlineIntersection>} A builder for `DurationInlineIntersection`\n */\nexport const durationInlineBuilder = (\n model?: Partial<Specification.DurationInline>,\n): Builder<Partial<Specification.DurationInline>, DurationInlineIntersection> =>\n builder<Specification.DurationInline, DurationInlineIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EmitEventDefinitionIntersection } from '../classes/emit-event-definition';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EmitEventDefinition} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EmitEventDefinitionIntersection} The built object\n */\nfunction buildingFn(model: Specification.EmitEventDefinition, options: BuildOptions): EmitEventDefinitionIntersection {\n const instance = new Classes.EmitEventDefinition(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EmitEventDefinitionIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EmitEventDefinitionIntersection`\n * @returns {Builder<EmitEventDefinitionIntersection, EmitEventDefinitionIntersection>} A builder for `EmitEventDefinitionIntersection`\n */\nexport const emitEventDefinitionBuilder = (\n model?: Partial<Specification.EmitEventDefinition>,\n): Builder<Partial<Specification.EmitEventDefinition>, EmitEventDefinitionIntersection> =>\n builder<Specification.EmitEventDefinition, EmitEventDefinitionIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EmitEventWithIntersection } from '../classes/emit-event-with';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EmitEventWith} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EmitEventWithIntersection} The built object\n */\nfunction buildingFn(model: Specification.EmitEventWith, options: BuildOptions): EmitEventWithIntersection {\n const instance = new Classes.EmitEventWith(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EmitEventWithIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EmitEventWithIntersection`\n * @returns {Builder<EmitEventWithIntersection, EmitEventWithIntersection>} A builder for `EmitEventWithIntersection`\n */\nexport const emitEventWithBuilder = (\n model?: Partial<Specification.EmitEventWith>,\n): Builder<Partial<Specification.EmitEventWith>, EmitEventWithIntersection> =>\n builder<Specification.EmitEventWith, EmitEventWithIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EmitTaskIntersection } from '../classes/emit-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EmitTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EmitTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.EmitTask, options: BuildOptions): EmitTaskIntersection {\n const instance = new Classes.EmitTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EmitTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EmitTaskIntersection`\n * @returns {Builder<EmitTaskIntersection, EmitTaskIntersection>} A builder for `EmitTaskIntersection`\n */\nexport const emitTaskBuilder = (\n model?: Partial<Specification.EmitTask>,\n): Builder<Partial<Specification.EmitTask>, EmitTaskIntersection> =>\n builder<Specification.EmitTask, EmitTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EmitTaskConfigurationIntersection } from '../classes/emit-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EmitTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EmitTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.EmitTaskConfiguration,\n options: BuildOptions,\n): EmitTaskConfigurationIntersection {\n const instance = new Classes.EmitTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EmitTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EmitTaskConfigurationIntersection`\n * @returns {Builder<EmitTaskConfigurationIntersection, EmitTaskConfigurationIntersection>} A builder for `EmitTaskConfigurationIntersection`\n */\nexport const emitTaskConfigurationBuilder = (\n model?: Partial<Specification.EmitTaskConfiguration>,\n): Builder<Partial<Specification.EmitTaskConfiguration>, EmitTaskConfigurationIntersection> =>\n builder<Specification.EmitTaskConfiguration, EmitTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EndpointIntersection } from '../classes/endpoint';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Endpoint} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EndpointIntersection} The built object\n */\nfunction buildingFn(model: Specification.Endpoint, options: BuildOptions): EndpointIntersection {\n const instance = new Classes.Endpoint(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EndpointIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EndpointIntersection`\n * @returns {Builder<EndpointIntersection, EndpointIntersection>} A builder for `EndpointIntersection`\n */\nexport const endpointBuilder = (\n model?: Partial<Specification.Endpoint>,\n): Builder<Partial<Specification.Endpoint>, EndpointIntersection> =>\n builder<Specification.Endpoint, EndpointIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EndpointConfigurationIntersection } from '../classes/endpoint-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EndpointConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EndpointConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.EndpointConfiguration,\n options: BuildOptions,\n): EndpointConfigurationIntersection {\n const instance = new Classes.EndpointConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EndpointConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EndpointConfigurationIntersection`\n * @returns {Builder<EndpointConfigurationIntersection, EndpointConfigurationIntersection>} A builder for `EndpointConfigurationIntersection`\n */\nexport const endpointConfigurationBuilder = (\n model?: Partial<Specification.EndpointConfiguration>,\n): Builder<Partial<Specification.EndpointConfiguration>, EndpointConfigurationIntersection> =>\n builder<Specification.EndpointConfiguration, EndpointConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EndpointUriIntersection } from '../classes/endpoint-uri';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EndpointUri} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EndpointUriIntersection} The built object\n */\nfunction buildingFn(model: Specification.EndpointUri, options: BuildOptions): EndpointUriIntersection {\n const instance = new Classes.EndpointUri(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EndpointUriIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EndpointUriIntersection`\n * @returns {Builder<EndpointUriIntersection, EndpointUriIntersection>} A builder for `EndpointUriIntersection`\n */\nexport const endpointUriBuilder = (\n model?: Partial<Specification.EndpointUri>,\n): Builder<Partial<Specification.EndpointUri>, EndpointUriIntersection> =>\n builder<Specification.EndpointUri, EndpointUriIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorIntersection } from '../classes/error';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Error} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorIntersection} The built object\n */\nfunction buildingFn(model: Specification.Error, options: BuildOptions): ErrorIntersection {\n const instance = new Classes.Error(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorIntersection`\n * @returns {Builder<ErrorIntersection, ErrorIntersection>} A builder for `ErrorIntersection`\n */\nexport const errorBuilder = (\n model?: Partial<Specification.Error>,\n): Builder<Partial<Specification.Error>, ErrorIntersection> =>\n builder<Specification.Error, ErrorIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorDetailsIntersection } from '../classes/error-details';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ErrorDetails} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorDetailsIntersection} The built object\n */\nfunction buildingFn(model: Specification.ErrorDetails, options: BuildOptions): ErrorDetailsIntersection {\n const instance = new Classes.ErrorDetails(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorDetailsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorDetailsIntersection`\n * @returns {Builder<ErrorDetailsIntersection, ErrorDetailsIntersection>} A builder for `ErrorDetailsIntersection`\n */\nexport const errorDetailsBuilder = (\n model?: Partial<Specification.ErrorDetails>,\n): Builder<Partial<Specification.ErrorDetails>, ErrorDetailsIntersection> =>\n builder<Specification.ErrorDetails, ErrorDetailsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorFilterIntersection } from '../classes/error-filter';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ErrorFilter} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorFilterIntersection} The built object\n */\nfunction buildingFn(model: Specification.ErrorFilter, options: BuildOptions): ErrorFilterIntersection {\n const instance = new Classes.ErrorFilter(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorFilterIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorFilterIntersection`\n * @returns {Builder<ErrorFilterIntersection, ErrorFilterIntersection>} A builder for `ErrorFilterIntersection`\n */\nexport const errorFilterBuilder = (\n model?: Partial<Specification.ErrorFilter>,\n): Builder<Partial<Specification.ErrorFilter>, ErrorFilterIntersection> =>\n builder<Specification.ErrorFilter, ErrorFilterIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorInstanceIntersection } from '../classes/error-instance';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ErrorInstance} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorInstanceIntersection} The built object\n */\nfunction buildingFn(model: Specification.ErrorInstance, options: BuildOptions): ErrorInstanceIntersection {\n const instance = new Classes.ErrorInstance(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorInstanceIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorInstanceIntersection`\n * @returns {Builder<ErrorInstanceIntersection, ErrorInstanceIntersection>} A builder for `ErrorInstanceIntersection`\n */\nexport const errorInstanceBuilder = (\n model?: Partial<Specification.ErrorInstance>,\n): Builder<Partial<Specification.ErrorInstance>, ErrorInstanceIntersection> =>\n builder<Specification.ErrorInstance, ErrorInstanceIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorTitleIntersection } from '../classes/error-title';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ErrorTitle} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorTitleIntersection} The built object\n */\nfunction buildingFn(model: Specification.ErrorTitle, options: BuildOptions): ErrorTitleIntersection {\n const instance = new Classes.ErrorTitle(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorTitleIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorTitleIntersection`\n * @returns {Builder<ErrorTitleIntersection, ErrorTitleIntersection>} A builder for `ErrorTitleIntersection`\n */\nexport const errorTitleBuilder = (\n model?: Partial<Specification.ErrorTitle>,\n): Builder<Partial<Specification.ErrorTitle>, ErrorTitleIntersection> =>\n builder<Specification.ErrorTitle, ErrorTitleIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ErrorTypeIntersection } from '../classes/error-type';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ErrorType} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ErrorTypeIntersection} The built object\n */\nfunction buildingFn(model: Specification.ErrorType, options: BuildOptions): ErrorTypeIntersection {\n const instance = new Classes.ErrorType(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ErrorTypeIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ErrorTypeIntersection`\n * @returns {Builder<ErrorTypeIntersection, ErrorTypeIntersection>} A builder for `ErrorTypeIntersection`\n */\nexport const errorTypeBuilder = (\n model?: Partial<Specification.ErrorType>,\n): Builder<Partial<Specification.ErrorType>, ErrorTypeIntersection> =>\n builder<Specification.ErrorType, ErrorTypeIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventConsumptionStrategyIntersection } from '../classes/event-consumption-strategy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventConsumptionStrategy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventConsumptionStrategyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.EventConsumptionStrategy,\n options: BuildOptions,\n): EventConsumptionStrategyIntersection {\n const instance = new Classes.EventConsumptionStrategy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventConsumptionStrategyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventConsumptionStrategyIntersection`\n * @returns {Builder<EventConsumptionStrategyIntersection, EventConsumptionStrategyIntersection>} A builder for `EventConsumptionStrategyIntersection`\n */\nexport const eventConsumptionStrategyBuilder = (\n model?: Partial<Specification.EventConsumptionStrategy>,\n): Builder<Partial<Specification.EventConsumptionStrategy>, EventConsumptionStrategyIntersection> =>\n builder<Specification.EventConsumptionStrategy, EventConsumptionStrategyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventDataIntersection } from '../classes/event-data';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventData} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventDataIntersection} The built object\n */\nfunction buildingFn(model: Specification.EventData, options: BuildOptions): EventDataIntersection {\n const instance = new Classes.EventData(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventDataIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventDataIntersection`\n * @returns {Builder<EventDataIntersection, EventDataIntersection>} A builder for `EventDataIntersection`\n */\nexport const eventDataBuilder = (\n model?: Partial<Specification.EventData>,\n): Builder<Partial<Specification.EventData>, EventDataIntersection> =>\n builder<Specification.EventData, EventDataIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventDataschemaIntersection } from '../classes/event-dataschema';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventDataschema} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventDataschemaIntersection} The built object\n */\nfunction buildingFn(model: Specification.EventDataschema, options: BuildOptions): EventDataschemaIntersection {\n const instance = new Classes.EventDataschema(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventDataschemaIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventDataschemaIntersection`\n * @returns {Builder<EventDataschemaIntersection, EventDataschemaIntersection>} A builder for `EventDataschemaIntersection`\n */\nexport const eventDataschemaBuilder = (\n model?: Partial<Specification.EventDataschema>,\n): Builder<Partial<Specification.EventDataschema>, EventDataschemaIntersection> =>\n builder<Specification.EventDataschema, EventDataschemaIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventFilterIntersection } from '../classes/event-filter';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventFilter} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventFilterIntersection} The built object\n */\nfunction buildingFn(model: Specification.EventFilter, options: BuildOptions): EventFilterIntersection {\n const instance = new Classes.EventFilter(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventFilterIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventFilterIntersection`\n * @returns {Builder<EventFilterIntersection, EventFilterIntersection>} A builder for `EventFilterIntersection`\n */\nexport const eventFilterBuilder = (\n model?: Partial<Specification.EventFilter>,\n): Builder<Partial<Specification.EventFilter>, EventFilterIntersection> =>\n builder<Specification.EventFilter, EventFilterIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventFilterCorrelateIntersection } from '../classes/event-filter-correlate';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventFilterCorrelate} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventFilterCorrelateIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.EventFilterCorrelate,\n options: BuildOptions,\n): EventFilterCorrelateIntersection {\n const instance = new Classes.EventFilterCorrelate(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventFilterCorrelateIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventFilterCorrelateIntersection`\n * @returns {Builder<EventFilterCorrelateIntersection, EventFilterCorrelateIntersection>} A builder for `EventFilterCorrelateIntersection`\n */\nexport const eventFilterCorrelateBuilder = (\n model?: Partial<Specification.EventFilterCorrelate>,\n): Builder<Partial<Specification.EventFilterCorrelate>, EventFilterCorrelateIntersection> =>\n builder<Specification.EventFilterCorrelate, EventFilterCorrelateIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventSourceIntersection } from '../classes/event-source';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventSource} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventSourceIntersection} The built object\n */\nfunction buildingFn(model: Specification.EventSource, options: BuildOptions): EventSourceIntersection {\n const instance = new Classes.EventSource(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventSourceIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventSourceIntersection`\n * @returns {Builder<EventSourceIntersection, EventSourceIntersection>} A builder for `EventSourceIntersection`\n */\nexport const eventSourceBuilder = (\n model?: Partial<Specification.EventSource>,\n): Builder<Partial<Specification.EventSource>, EventSourceIntersection> =>\n builder<Specification.EventSource, EventSourceIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { EventTimeIntersection } from '../classes/event-time';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.EventTime} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {EventTimeIntersection} The built object\n */\nfunction buildingFn(model: Specification.EventTime, options: BuildOptions): EventTimeIntersection {\n const instance = new Classes.EventTime(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as EventTimeIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `EventTimeIntersection`\n * @returns {Builder<EventTimeIntersection, EventTimeIntersection>} A builder for `EventTimeIntersection`\n */\nexport const eventTimeBuilder = (\n model?: Partial<Specification.EventTime>,\n): Builder<Partial<Specification.EventTime>, EventTimeIntersection> =>\n builder<Specification.EventTime, EventTimeIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExponentialBackOffIntersection } from '../classes/exponential-back-off';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ExponentialBackOff} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExponentialBackOffIntersection} The built object\n */\nfunction buildingFn(model: Specification.ExponentialBackOff, options: BuildOptions): ExponentialBackOffIntersection {\n const instance = new Classes.ExponentialBackOff(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExponentialBackOffIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExponentialBackOffIntersection`\n * @returns {Builder<ExponentialBackOffIntersection, ExponentialBackOffIntersection>} A builder for `ExponentialBackOffIntersection`\n */\nexport const exponentialBackOffBuilder = (\n model?: Partial<Specification.ExponentialBackOff>,\n): Builder<Partial<Specification.ExponentialBackOff>, ExponentialBackOffIntersection> =>\n builder<Specification.ExponentialBackOff, ExponentialBackOffIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExportIntersection } from '../classes/export';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Export} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExportIntersection} The built object\n */\nfunction buildingFn(model: Specification.Export, options: BuildOptions): ExportIntersection {\n const instance = new Classes.Export(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExportIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExportIntersection`\n * @returns {Builder<ExportIntersection, ExportIntersection>} A builder for `ExportIntersection`\n */\nexport const exportBuilder = (\n model?: Partial<Specification.Export>,\n): Builder<Partial<Specification.Export>, ExportIntersection> =>\n builder<Specification.Export, ExportIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExportAsIntersection } from '../classes/export-as';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ExportAs} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExportAsIntersection} The built object\n */\nfunction buildingFn(model: Specification.ExportAs, options: BuildOptions): ExportAsIntersection {\n const instance = new Classes.ExportAs(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExportAsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExportAsIntersection`\n * @returns {Builder<ExportAsIntersection, ExportAsIntersection>} A builder for `ExportAsIntersection`\n */\nexport const exportAsBuilder = (\n model?: Partial<Specification.ExportAs>,\n): Builder<Partial<Specification.ExportAs>, ExportAsIntersection> =>\n builder<Specification.ExportAs, ExportAsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExtensionIntersection } from '../classes/extension';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Extension} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExtensionIntersection} The built object\n */\nfunction buildingFn(model: Specification.Extension, options: BuildOptions): ExtensionIntersection {\n const instance = new Classes.Extension(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExtensionIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExtensionIntersection`\n * @returns {Builder<ExtensionIntersection, ExtensionIntersection>} A builder for `ExtensionIntersection`\n */\nexport const extensionBuilder = (\n model?: Partial<Specification.Extension>,\n): Builder<Partial<Specification.Extension>, ExtensionIntersection> =>\n builder<Specification.Extension, ExtensionIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExtensionItemIntersection } from '../classes/extension-item';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ExtensionItem} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExtensionItemIntersection} The built object\n */\nfunction buildingFn(model: Specification.ExtensionItem, options: BuildOptions): ExtensionItemIntersection {\n const instance = new Classes.ExtensionItem(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExtensionItemIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExtensionItemIntersection`\n * @returns {Builder<ExtensionItemIntersection, ExtensionItemIntersection>} A builder for `ExtensionItemIntersection`\n */\nexport const extensionItemBuilder = (\n model?: Partial<Specification.ExtensionItem>,\n): Builder<Partial<Specification.ExtensionItem>, ExtensionItemIntersection> =>\n builder<Specification.ExtensionItem, ExtensionItemIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExternalResourceIntersection } from '../classes/external-resource';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ExternalResource} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExternalResourceIntersection} The built object\n */\nfunction buildingFn(model: Specification.ExternalResource, options: BuildOptions): ExternalResourceIntersection {\n const instance = new Classes.ExternalResource(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExternalResourceIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExternalResourceIntersection`\n * @returns {Builder<ExternalResourceIntersection, ExternalResourceIntersection>} A builder for `ExternalResourceIntersection`\n */\nexport const externalResourceBuilder = (\n model?: Partial<Specification.ExternalResource>,\n): Builder<Partial<Specification.ExternalResource>, ExternalResourceIntersection> =>\n builder<Specification.ExternalResource, ExternalResourceIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ExternalScriptIntersection } from '../classes/external-script';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ExternalScript} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ExternalScriptIntersection} The built object\n */\nfunction buildingFn(model: Specification.ExternalScript, options: BuildOptions): ExternalScriptIntersection {\n const instance = new Classes.ExternalScript(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ExternalScriptIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ExternalScriptIntersection`\n * @returns {Builder<ExternalScriptIntersection, ExternalScriptIntersection>} A builder for `ExternalScriptIntersection`\n */\nexport const externalScriptBuilder = (\n model?: Partial<Specification.ExternalScript>,\n): Builder<Partial<Specification.ExternalScript>, ExternalScriptIntersection> =>\n builder<Specification.ExternalScript, ExternalScriptIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { FlowDirectiveIntersection } from '../classes/flow-directive';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.FlowDirective} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {FlowDirectiveIntersection} The built object\n */\nfunction buildingFn(model: Specification.FlowDirective, options: BuildOptions): FlowDirectiveIntersection {\n const instance = new Classes.FlowDirective(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as FlowDirectiveIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `FlowDirectiveIntersection`\n * @returns {Builder<FlowDirectiveIntersection, FlowDirectiveIntersection>} A builder for `FlowDirectiveIntersection`\n */\nexport const flowDirectiveBuilder = (\n model?: Partial<Specification.FlowDirective>,\n): Builder<Partial<Specification.FlowDirective>, FlowDirectiveIntersection> =>\n builder<Specification.FlowDirective, FlowDirectiveIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ForkTaskIntersection } from '../classes/fork-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ForkTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ForkTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.ForkTask, options: BuildOptions): ForkTaskIntersection {\n const instance = new Classes.ForkTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ForkTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ForkTaskIntersection`\n * @returns {Builder<ForkTaskIntersection, ForkTaskIntersection>} A builder for `ForkTaskIntersection`\n */\nexport const forkTaskBuilder = (\n model?: Partial<Specification.ForkTask>,\n): Builder<Partial<Specification.ForkTask>, ForkTaskIntersection> =>\n builder<Specification.ForkTask, ForkTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ForkTaskConfigurationIntersection } from '../classes/fork-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ForkTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ForkTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.ForkTaskConfiguration,\n options: BuildOptions,\n): ForkTaskConfigurationIntersection {\n const instance = new Classes.ForkTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ForkTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ForkTaskConfigurationIntersection`\n * @returns {Builder<ForkTaskConfigurationIntersection, ForkTaskConfigurationIntersection>} A builder for `ForkTaskConfigurationIntersection`\n */\nexport const forkTaskConfigurationBuilder = (\n model?: Partial<Specification.ForkTaskConfiguration>,\n): Builder<Partial<Specification.ForkTaskConfiguration>, ForkTaskConfigurationIntersection> =>\n builder<Specification.ForkTaskConfiguration, ForkTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ForTaskIntersection } from '../classes/for-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ForTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ForTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.ForTask, options: BuildOptions): ForTaskIntersection {\n const instance = new Classes.ForTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ForTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ForTaskIntersection`\n * @returns {Builder<ForTaskIntersection, ForTaskIntersection>} A builder for `ForTaskIntersection`\n */\nexport const forTaskBuilder = (\n model?: Partial<Specification.ForTask>,\n): Builder<Partial<Specification.ForTask>, ForTaskIntersection> =>\n builder<Specification.ForTask, ForTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ForTaskConfigurationIntersection } from '../classes/for-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ForTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ForTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.ForTaskConfiguration,\n options: BuildOptions,\n): ForTaskConfigurationIntersection {\n const instance = new Classes.ForTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ForTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ForTaskConfigurationIntersection`\n * @returns {Builder<ForTaskConfigurationIntersection, ForTaskConfigurationIntersection>} A builder for `ForTaskConfigurationIntersection`\n */\nexport const forTaskConfigurationBuilder = (\n model?: Partial<Specification.ForTaskConfiguration>,\n): Builder<Partial<Specification.ForTaskConfiguration>, ForTaskConfigurationIntersection> =>\n builder<Specification.ForTaskConfiguration, ForTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { FunctionArgumentsIntersection } from '../classes/function-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.FunctionArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {FunctionArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.FunctionArguments, options: BuildOptions): FunctionArgumentsIntersection {\n const instance = new Classes.FunctionArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as FunctionArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `FunctionArgumentsIntersection`\n * @returns {Builder<FunctionArgumentsIntersection, FunctionArgumentsIntersection>} A builder for `FunctionArgumentsIntersection`\n */\nexport const functionArgumentsBuilder = (\n model?: Partial<Specification.FunctionArguments>,\n): Builder<Partial<Specification.FunctionArguments>, FunctionArgumentsIntersection> =>\n builder<Specification.FunctionArguments, FunctionArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { GRPCArgumentsIntersection } from '../classes/grpc-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.GRPCArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {GRPCArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.GRPCArguments, options: BuildOptions): GRPCArgumentsIntersection {\n const instance = new Classes.GRPCArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as GRPCArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `GRPCArgumentsIntersection`\n * @returns {Builder<GRPCArgumentsIntersection, GRPCArgumentsIntersection>} A builder for `GRPCArgumentsIntersection`\n */\nexport const gRPCArgumentsBuilder = (\n model?: Partial<Specification.GRPCArguments>,\n): Builder<Partial<Specification.GRPCArguments>, GRPCArgumentsIntersection> =>\n builder<Specification.GRPCArguments, GRPCArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { HTTPArgumentsIntersection } from '../classes/http-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.HTTPArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {HTTPArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.HTTPArguments, options: BuildOptions): HTTPArgumentsIntersection {\n const instance = new Classes.HTTPArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as HTTPArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `HTTPArgumentsIntersection`\n * @returns {Builder<HTTPArgumentsIntersection, HTTPArgumentsIntersection>} A builder for `HTTPArgumentsIntersection`\n */\nexport const hTTPArgumentsBuilder = (\n model?: Partial<Specification.HTTPArguments>,\n): Builder<Partial<Specification.HTTPArguments>, HTTPArgumentsIntersection> =>\n builder<Specification.HTTPArguments, HTTPArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { HTTPBodyIntersection } from '../classes/http-body';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.HTTPBody} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {HTTPBodyIntersection} The built object\n */\nfunction buildingFn(model: Specification.HTTPBody, options: BuildOptions): HTTPBodyIntersection {\n const instance = new Classes.HTTPBody(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as HTTPBodyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `HTTPBodyIntersection`\n * @returns {Builder<HTTPBodyIntersection, HTTPBodyIntersection>} A builder for `HTTPBodyIntersection`\n */\nexport const hTTPBodyBuilder = (\n model?: Partial<Specification.HTTPBody>,\n): Builder<Partial<Specification.HTTPBody>, HTTPBodyIntersection> =>\n builder<Specification.HTTPBody, HTTPBodyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { HTTPHeadersIntersection } from '../classes/http-headers';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.HTTPHeaders} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {HTTPHeadersIntersection} The built object\n */\nfunction buildingFn(model: Specification.HTTPHeaders, options: BuildOptions): HTTPHeadersIntersection {\n const instance = new Classes.HTTPHeaders(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as HTTPHeadersIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `HTTPHeadersIntersection`\n * @returns {Builder<HTTPHeadersIntersection, HTTPHeadersIntersection>} A builder for `HTTPHeadersIntersection`\n */\nexport const hTTPHeadersBuilder = (\n model?: Partial<Specification.HTTPHeaders>,\n): Builder<Partial<Specification.HTTPHeaders>, HTTPHeadersIntersection> =>\n builder<Specification.HTTPHeaders, HTTPHeadersIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { HTTPQueryIntersection } from '../classes/http-query';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.HTTPQuery} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {HTTPQueryIntersection} The built object\n */\nfunction buildingFn(model: Specification.HTTPQuery, options: BuildOptions): HTTPQueryIntersection {\n const instance = new Classes.HTTPQuery(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as HTTPQueryIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `HTTPQueryIntersection`\n * @returns {Builder<HTTPQueryIntersection, HTTPQueryIntersection>} A builder for `HTTPQueryIntersection`\n */\nexport const hTTPQueryBuilder = (\n model?: Partial<Specification.HTTPQuery>,\n): Builder<Partial<Specification.HTTPQuery>, HTTPQueryIntersection> =>\n builder<Specification.HTTPQuery, HTTPQueryIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { InlineScriptIntersection } from '../classes/inline-script';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.InlineScript} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {InlineScriptIntersection} The built object\n */\nfunction buildingFn(model: Specification.InlineScript, options: BuildOptions): InlineScriptIntersection {\n const instance = new Classes.InlineScript(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as InlineScriptIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `InlineScriptIntersection`\n * @returns {Builder<InlineScriptIntersection, InlineScriptIntersection>} A builder for `InlineScriptIntersection`\n */\nexport const inlineScriptBuilder = (\n model?: Partial<Specification.InlineScript>,\n): Builder<Partial<Specification.InlineScript>, InlineScriptIntersection> =>\n builder<Specification.InlineScript, InlineScriptIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { InputIntersection } from '../classes/input';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Input} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {InputIntersection} The built object\n */\nfunction buildingFn(model: Specification.Input, options: BuildOptions): InputIntersection {\n const instance = new Classes.Input(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as InputIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `InputIntersection`\n * @returns {Builder<InputIntersection, InputIntersection>} A builder for `InputIntersection`\n */\nexport const inputBuilder = (\n model?: Partial<Specification.Input>,\n): Builder<Partial<Specification.Input>, InputIntersection> =>\n builder<Specification.Input, InputIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { InputFromIntersection } from '../classes/input-from';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.InputFrom} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {InputFromIntersection} The built object\n */\nfunction buildingFn(model: Specification.InputFrom, options: BuildOptions): InputFromIntersection {\n const instance = new Classes.InputFrom(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as InputFromIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `InputFromIntersection`\n * @returns {Builder<InputFromIntersection, InputFromIntersection>} A builder for `InputFromIntersection`\n */\nexport const inputFromBuilder = (\n model?: Partial<Specification.InputFrom>,\n): Builder<Partial<Specification.InputFrom>, InputFromIntersection> =>\n builder<Specification.InputFrom, InputFromIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { LinearBackoffIntersection } from '../classes/linear-backoff';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.LinearBackoff} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {LinearBackoffIntersection} The built object\n */\nfunction buildingFn(model: Specification.LinearBackoff, options: BuildOptions): LinearBackoffIntersection {\n const instance = new Classes.LinearBackoff(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as LinearBackoffIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `LinearBackoffIntersection`\n * @returns {Builder<LinearBackoffIntersection, LinearBackoffIntersection>} A builder for `LinearBackoffIntersection`\n */\nexport const linearBackoffBuilder = (\n model?: Partial<Specification.LinearBackoff>,\n): Builder<Partial<Specification.LinearBackoff>, LinearBackoffIntersection> =>\n builder<Specification.LinearBackoff, LinearBackoffIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ListenTaskIntersection } from '../classes/listen-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ListenTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ListenTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.ListenTask, options: BuildOptions): ListenTaskIntersection {\n const instance = new Classes.ListenTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ListenTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ListenTaskIntersection`\n * @returns {Builder<ListenTaskIntersection, ListenTaskIntersection>} A builder for `ListenTaskIntersection`\n */\nexport const listenTaskBuilder = (\n model?: Partial<Specification.ListenTask>,\n): Builder<Partial<Specification.ListenTask>, ListenTaskIntersection> =>\n builder<Specification.ListenTask, ListenTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ListenTaskConfigurationIntersection } from '../classes/listen-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ListenTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ListenTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.ListenTaskConfiguration,\n options: BuildOptions,\n): ListenTaskConfigurationIntersection {\n const instance = new Classes.ListenTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ListenTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ListenTaskConfigurationIntersection`\n * @returns {Builder<ListenTaskConfigurationIntersection, ListenTaskConfigurationIntersection>} A builder for `ListenTaskConfigurationIntersection`\n */\nexport const listenTaskConfigurationBuilder = (\n model?: Partial<Specification.ListenTaskConfiguration>,\n): Builder<Partial<Specification.ListenTaskConfiguration>, ListenTaskConfigurationIntersection> =>\n builder<Specification.ListenTaskConfiguration, ListenTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { MCPArgumentsIntersection } from '../classes/mcp-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.MCPArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {MCPArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.MCPArguments, options: BuildOptions): MCPArgumentsIntersection {\n const instance = new Classes.MCPArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as MCPArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `MCPArgumentsIntersection`\n * @returns {Builder<MCPArgumentsIntersection, MCPArgumentsIntersection>} A builder for `MCPArgumentsIntersection`\n */\nexport const mCPArgumentsBuilder = (\n model?: Partial<Specification.MCPArguments>,\n): Builder<Partial<Specification.MCPArguments>, MCPArgumentsIntersection> =>\n builder<Specification.MCPArguments, MCPArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { McpCallTransportIntersection } from '../classes/mcp-call-transport';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.McpCallTransport} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {McpCallTransportIntersection} The built object\n */\nfunction buildingFn(model: Specification.McpCallTransport, options: BuildOptions): McpCallTransportIntersection {\n const instance = new Classes.McpCallTransport(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as McpCallTransportIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `McpCallTransportIntersection`\n * @returns {Builder<McpCallTransportIntersection, McpCallTransportIntersection>} A builder for `McpCallTransportIntersection`\n */\nexport const mcpCallTransportBuilder = (\n model?: Partial<Specification.McpCallTransport>,\n): Builder<Partial<Specification.McpCallTransport>, McpCallTransportIntersection> =>\n builder<Specification.McpCallTransport, McpCallTransportIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { McpClientIntersection } from '../classes/mcp-client';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.McpClient} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {McpClientIntersection} The built object\n */\nfunction buildingFn(model: Specification.McpClient, options: BuildOptions): McpClientIntersection {\n const instance = new Classes.McpClient(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as McpClientIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `McpClientIntersection`\n * @returns {Builder<McpClientIntersection, McpClientIntersection>} A builder for `McpClientIntersection`\n */\nexport const mcpClientBuilder = (\n model?: Partial<Specification.McpClient>,\n): Builder<Partial<Specification.McpClient>, McpClientIntersection> =>\n builder<Specification.McpClient, McpClientIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { McpMethodParametersIntersection } from '../classes/mcp-method-parameters';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.McpMethodParameters} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {McpMethodParametersIntersection} The built object\n */\nfunction buildingFn(model: Specification.McpMethodParameters, options: BuildOptions): McpMethodParametersIntersection {\n const instance = new Classes.McpMethodParameters(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as McpMethodParametersIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `McpMethodParametersIntersection`\n * @returns {Builder<McpMethodParametersIntersection, McpMethodParametersIntersection>} A builder for `McpMethodParametersIntersection`\n */\nexport const mcpMethodParametersBuilder = (\n model?: Partial<Specification.McpMethodParameters>,\n): Builder<Partial<Specification.McpMethodParameters>, McpMethodParametersIntersection> =>\n builder<Specification.McpMethodParameters, McpMethodParametersIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationDataIntersection } from '../classes/oauth2-authentication-data';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2AuthenticationData} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationDataIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationData,\n options: BuildOptions,\n): OAuth2AuthenticationDataIntersection {\n const instance = new Classes.OAuth2AuthenticationData(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2AuthenticationDataIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationDataIntersection`\n * @returns {Builder<OAuth2AuthenticationDataIntersection, OAuth2AuthenticationDataIntersection>} A builder for `OAuth2AuthenticationDataIntersection`\n */\nexport const oAuth2AuthenticationDataBuilder = (\n model?: Partial<Specification.OAuth2AuthenticationData>,\n): Builder<Partial<Specification.OAuth2AuthenticationData>, OAuth2AuthenticationDataIntersection> =>\n builder<Specification.OAuth2AuthenticationData, OAuth2AuthenticationDataIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationDataAudiencesIntersection } from '../classes/oauth2-authentication-data-audiences';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.OAuth2AuthenticationDataAudiences} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationDataAudiencesIntersection} The built array\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationDataAudiences,\n options: BuildOptions,\n): OAuth2AuthenticationDataAudiencesIntersection {\n const instance = new Classes.OAuth2AuthenticationDataAudiences(model);\n if (options.validate) instance.validate();\n return (options.normalize\n ? instance.normalize()\n : instance) as unknown as OAuth2AuthenticationDataAudiencesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationDataAudiencesIntersection`\n * @returns {ArrayBuilder<string, OAuth2AuthenticationDataAudiencesIntersection>} A builder for `OAuth2AuthenticationDataAudiencesIntersection`\n */\nexport const oAuth2AuthenticationDataAudiencesBuilder = (\n model?: Specification.OAuth2AuthenticationDataAudiences,\n): ArrayBuilder<string, OAuth2AuthenticationDataAudiencesIntersection> =>\n arrayBuilder<string, OAuth2AuthenticationDataAudiencesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationDataClientIntersection } from '../classes/oauth2-authentication-data-client';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2AuthenticationDataClient} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationDataClientIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationDataClient,\n options: BuildOptions,\n): OAuth2AuthenticationDataClientIntersection {\n const instance = new Classes.OAuth2AuthenticationDataClient(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2AuthenticationDataClientIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationDataClientIntersection`\n * @returns {Builder<OAuth2AuthenticationDataClientIntersection, OAuth2AuthenticationDataClientIntersection>} A builder for `OAuth2AuthenticationDataClientIntersection`\n */\nexport const oAuth2AuthenticationDataClientBuilder = (\n model?: Partial<Specification.OAuth2AuthenticationDataClient>,\n): Builder<Partial<Specification.OAuth2AuthenticationDataClient>, OAuth2AuthenticationDataClientIntersection> =>\n builder<Specification.OAuth2AuthenticationDataClient, OAuth2AuthenticationDataClientIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationDataScopesIntersection } from '../classes/oauth2-authentication-data-scopes';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.OAuth2AuthenticationDataScopes} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationDataScopesIntersection} The built array\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationDataScopes,\n options: BuildOptions,\n): OAuth2AuthenticationDataScopesIntersection {\n const instance = new Classes.OAuth2AuthenticationDataScopes(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as OAuth2AuthenticationDataScopesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationDataScopesIntersection`\n * @returns {ArrayBuilder<string, OAuth2AuthenticationDataScopesIntersection>} A builder for `OAuth2AuthenticationDataScopesIntersection`\n */\nexport const oAuth2AuthenticationDataScopesBuilder = (\n model?: Specification.OAuth2AuthenticationDataScopes,\n): ArrayBuilder<string, OAuth2AuthenticationDataScopesIntersection> =>\n arrayBuilder<string, OAuth2AuthenticationDataScopesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationPolicyIntersection } from '../classes/oauth2-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2AuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationPolicy,\n options: BuildOptions,\n): OAuth2AuthenticationPolicyIntersection {\n const instance = new Classes.OAuth2AuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2AuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationPolicyIntersection`\n * @returns {Builder<OAuth2AuthenticationPolicyIntersection, OAuth2AuthenticationPolicyIntersection>} A builder for `OAuth2AuthenticationPolicyIntersection`\n */\nexport const oAuth2AuthenticationPolicyBuilder = (\n model?: Partial<Specification.OAuth2AuthenticationPolicy>,\n): Builder<Partial<Specification.OAuth2AuthenticationPolicy>, OAuth2AuthenticationPolicyIntersection> =>\n builder<Specification.OAuth2AuthenticationPolicy, OAuth2AuthenticationPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationPolicyConfigurationIntersection } from '../classes/oauth2-authentication-policy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2AuthenticationPolicyConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationPolicyConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationPolicyConfiguration,\n options: BuildOptions,\n): OAuth2AuthenticationPolicyConfigurationIntersection {\n const instance = new Classes.OAuth2AuthenticationPolicyConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2AuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationPolicyConfigurationIntersection`\n * @returns {Builder<OAuth2AuthenticationPolicyConfigurationIntersection, OAuth2AuthenticationPolicyConfigurationIntersection>} A builder for `OAuth2AuthenticationPolicyConfigurationIntersection`\n */\nexport const oAuth2AuthenticationPolicyConfigurationBuilder = (\n model?: Partial<Specification.OAuth2AuthenticationPolicyConfiguration>,\n): Builder<\n Partial<Specification.OAuth2AuthenticationPolicyConfiguration>,\n OAuth2AuthenticationPolicyConfigurationIntersection\n> =>\n builder<Specification.OAuth2AuthenticationPolicyConfiguration, OAuth2AuthenticationPolicyConfigurationIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2AuthenticationPropertiesEndpointsIntersection } from '../classes/oauth2-authentication-properties-endpoints';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2AuthenticationPropertiesEndpoints} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2AuthenticationPropertiesEndpointsIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2AuthenticationPropertiesEndpoints,\n options: BuildOptions,\n): OAuth2AuthenticationPropertiesEndpointsIntersection {\n const instance = new Classes.OAuth2AuthenticationPropertiesEndpoints(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2AuthenticationPropertiesEndpointsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2AuthenticationPropertiesEndpointsIntersection`\n * @returns {Builder<OAuth2AuthenticationPropertiesEndpointsIntersection, OAuth2AuthenticationPropertiesEndpointsIntersection>} A builder for `OAuth2AuthenticationPropertiesEndpointsIntersection`\n */\nexport const oAuth2AuthenticationPropertiesEndpointsBuilder = (\n model?: Partial<Specification.OAuth2AuthenticationPropertiesEndpoints>,\n): Builder<\n Partial<Specification.OAuth2AuthenticationPropertiesEndpoints>,\n OAuth2AuthenticationPropertiesEndpointsIntersection\n> =>\n builder<Specification.OAuth2AuthenticationPropertiesEndpoints, OAuth2AuthenticationPropertiesEndpointsIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2ConnectAuthenticationPropertiesIntersection } from '../classes/oauth2-connect-authentication-properties';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2ConnectAuthenticationProperties} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2ConnectAuthenticationPropertiesIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2ConnectAuthenticationProperties,\n options: BuildOptions,\n): OAuth2ConnectAuthenticationPropertiesIntersection {\n const instance = new Classes.OAuth2ConnectAuthenticationProperties(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2ConnectAuthenticationPropertiesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2ConnectAuthenticationPropertiesIntersection`\n * @returns {Builder<OAuth2ConnectAuthenticationPropertiesIntersection, OAuth2ConnectAuthenticationPropertiesIntersection>} A builder for `OAuth2ConnectAuthenticationPropertiesIntersection`\n */\nexport const oAuth2ConnectAuthenticationPropertiesBuilder = (\n model?: Partial<Specification.OAuth2ConnectAuthenticationProperties>,\n): Builder<\n Partial<Specification.OAuth2ConnectAuthenticationProperties>,\n OAuth2ConnectAuthenticationPropertiesIntersection\n> =>\n builder<Specification.OAuth2ConnectAuthenticationProperties, OAuth2ConnectAuthenticationPropertiesIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2IssuersIntersection } from '../classes/oauth2-issuers';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.OAuth2Issuers} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2IssuersIntersection} The built array\n */\nfunction buildingFn(model: Specification.OAuth2Issuers, options: BuildOptions): OAuth2IssuersIntersection {\n const instance = new Classes.OAuth2Issuers(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as OAuth2IssuersIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2IssuersIntersection`\n * @returns {ArrayBuilder<string, OAuth2IssuersIntersection>} A builder for `OAuth2IssuersIntersection`\n */\nexport const oAuth2IssuersBuilder = (\n model?: Specification.OAuth2Issuers,\n): ArrayBuilder<string, OAuth2IssuersIntersection> =>\n arrayBuilder<string, OAuth2IssuersIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2TokenDefinitionIntersection } from '../classes/oauth2-token-definition';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2TokenDefinition} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2TokenDefinitionIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OAuth2TokenDefinition,\n options: BuildOptions,\n): OAuth2TokenDefinitionIntersection {\n const instance = new Classes.OAuth2TokenDefinition(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2TokenDefinitionIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2TokenDefinitionIntersection`\n * @returns {Builder<OAuth2TokenDefinitionIntersection, OAuth2TokenDefinitionIntersection>} A builder for `OAuth2TokenDefinitionIntersection`\n */\nexport const oAuth2TokenDefinitionBuilder = (\n model?: Partial<Specification.OAuth2TokenDefinition>,\n): Builder<Partial<Specification.OAuth2TokenDefinition>, OAuth2TokenDefinitionIntersection> =>\n builder<Specification.OAuth2TokenDefinition, OAuth2TokenDefinitionIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OAuth2TokenRequestIntersection } from '../classes/oauth2-token-request';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OAuth2TokenRequest} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OAuth2TokenRequestIntersection} The built object\n */\nfunction buildingFn(model: Specification.OAuth2TokenRequest, options: BuildOptions): OAuth2TokenRequestIntersection {\n const instance = new Classes.OAuth2TokenRequest(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OAuth2TokenRequestIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OAuth2TokenRequestIntersection`\n * @returns {Builder<OAuth2TokenRequestIntersection, OAuth2TokenRequestIntersection>} A builder for `OAuth2TokenRequestIntersection`\n */\nexport const oAuth2TokenRequestBuilder = (\n model?: Partial<Specification.OAuth2TokenRequest>,\n): Builder<Partial<Specification.OAuth2TokenRequest>, OAuth2TokenRequestIntersection> =>\n builder<Specification.OAuth2TokenRequest, OAuth2TokenRequestIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OneEventConsumptionStrategyIntersection } from '../classes/one-event-consumption-strategy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OneEventConsumptionStrategy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OneEventConsumptionStrategyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OneEventConsumptionStrategy,\n options: BuildOptions,\n): OneEventConsumptionStrategyIntersection {\n const instance = new Classes.OneEventConsumptionStrategy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OneEventConsumptionStrategyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OneEventConsumptionStrategyIntersection`\n * @returns {Builder<OneEventConsumptionStrategyIntersection, OneEventConsumptionStrategyIntersection>} A builder for `OneEventConsumptionStrategyIntersection`\n */\nexport const oneEventConsumptionStrategyBuilder = (\n model?: Partial<Specification.OneEventConsumptionStrategy>,\n): Builder<Partial<Specification.OneEventConsumptionStrategy>, OneEventConsumptionStrategyIntersection> =>\n builder<Specification.OneEventConsumptionStrategy, OneEventConsumptionStrategyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OpenAPIArgumentsIntersection } from '../classes/open-api-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OpenAPIArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OpenAPIArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.OpenAPIArguments, options: BuildOptions): OpenAPIArgumentsIntersection {\n const instance = new Classes.OpenAPIArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OpenAPIArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OpenAPIArgumentsIntersection`\n * @returns {Builder<OpenAPIArgumentsIntersection, OpenAPIArgumentsIntersection>} A builder for `OpenAPIArgumentsIntersection`\n */\nexport const openAPIArgumentsBuilder = (\n model?: Partial<Specification.OpenAPIArguments>,\n): Builder<Partial<Specification.OpenAPIArguments>, OpenAPIArgumentsIntersection> =>\n builder<Specification.OpenAPIArguments, OpenAPIArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OpenIdConnectAuthenticationPolicyIntersection } from '../classes/open-id-connect-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OpenIdConnectAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OpenIdConnectAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OpenIdConnectAuthenticationPolicy,\n options: BuildOptions,\n): OpenIdConnectAuthenticationPolicyIntersection {\n const instance = new Classes.OpenIdConnectAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OpenIdConnectAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OpenIdConnectAuthenticationPolicyIntersection`\n * @returns {Builder<OpenIdConnectAuthenticationPolicyIntersection, OpenIdConnectAuthenticationPolicyIntersection>} A builder for `OpenIdConnectAuthenticationPolicyIntersection`\n */\nexport const openIdConnectAuthenticationPolicyBuilder = (\n model?: Partial<Specification.OpenIdConnectAuthenticationPolicy>,\n): Builder<Partial<Specification.OpenIdConnectAuthenticationPolicy>, OpenIdConnectAuthenticationPolicyIntersection> =>\n builder<Specification.OpenIdConnectAuthenticationPolicy, OpenIdConnectAuthenticationPolicyIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OpenIdConnectAuthenticationPolicyConfigurationIntersection } from '../classes/open-id-connect-authentication-policy-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OpenIdConnectAuthenticationPolicyConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OpenIdConnectAuthenticationPolicyConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OpenIdConnectAuthenticationPolicyConfiguration,\n options: BuildOptions,\n): OpenIdConnectAuthenticationPolicyConfigurationIntersection {\n const instance = new Classes.OpenIdConnectAuthenticationPolicyConfiguration(model);\n if (options.validate) instance.validate();\n return (\n options.normalize ? instance.normalize() : instance\n ) as OpenIdConnectAuthenticationPolicyConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OpenIdConnectAuthenticationPolicyConfigurationIntersection`\n * @returns {Builder<OpenIdConnectAuthenticationPolicyConfigurationIntersection, OpenIdConnectAuthenticationPolicyConfigurationIntersection>} A builder for `OpenIdConnectAuthenticationPolicyConfigurationIntersection`\n */\nexport const openIdConnectAuthenticationPolicyConfigurationBuilder = (\n model?: Partial<Specification.OpenIdConnectAuthenticationPolicyConfiguration>,\n): Builder<\n Partial<Specification.OpenIdConnectAuthenticationPolicyConfiguration>,\n OpenIdConnectAuthenticationPolicyConfigurationIntersection\n> =>\n builder<\n Specification.OpenIdConnectAuthenticationPolicyConfiguration,\n OpenIdConnectAuthenticationPolicyConfigurationIntersection\n >(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OpenIdConnectAuthenticationPropertiesIntersection } from '../classes/open-id-connect-authentication-properties';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OpenIdConnectAuthenticationProperties} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OpenIdConnectAuthenticationPropertiesIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.OpenIdConnectAuthenticationProperties,\n options: BuildOptions,\n): OpenIdConnectAuthenticationPropertiesIntersection {\n const instance = new Classes.OpenIdConnectAuthenticationProperties(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OpenIdConnectAuthenticationPropertiesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OpenIdConnectAuthenticationPropertiesIntersection`\n * @returns {Builder<OpenIdConnectAuthenticationPropertiesIntersection, OpenIdConnectAuthenticationPropertiesIntersection>} A builder for `OpenIdConnectAuthenticationPropertiesIntersection`\n */\nexport const openIdConnectAuthenticationPropertiesBuilder = (\n model?: Partial<Specification.OpenIdConnectAuthenticationProperties>,\n): Builder<\n Partial<Specification.OpenIdConnectAuthenticationProperties>,\n OpenIdConnectAuthenticationPropertiesIntersection\n> =>\n builder<Specification.OpenIdConnectAuthenticationProperties, OpenIdConnectAuthenticationPropertiesIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OutputIntersection } from '../classes/output';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Output} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OutputIntersection} The built object\n */\nfunction buildingFn(model: Specification.Output, options: BuildOptions): OutputIntersection {\n const instance = new Classes.Output(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OutputIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OutputIntersection`\n * @returns {Builder<OutputIntersection, OutputIntersection>} A builder for `OutputIntersection`\n */\nexport const outputBuilder = (\n model?: Partial<Specification.Output>,\n): Builder<Partial<Specification.Output>, OutputIntersection> =>\n builder<Specification.Output, OutputIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { OutputAsIntersection } from '../classes/output-as';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.OutputAs} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {OutputAsIntersection} The built object\n */\nfunction buildingFn(model: Specification.OutputAs, options: BuildOptions): OutputAsIntersection {\n const instance = new Classes.OutputAs(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as OutputAsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `OutputAsIntersection`\n * @returns {Builder<OutputAsIntersection, OutputAsIntersection>} A builder for `OutputAsIntersection`\n */\nexport const outputAsBuilder = (\n model?: Partial<Specification.OutputAs>,\n): Builder<Partial<Specification.OutputAs>, OutputAsIntersection> =>\n builder<Specification.OutputAs, OutputAsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RaiseTaskIntersection } from '../classes/raise-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RaiseTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RaiseTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.RaiseTask, options: BuildOptions): RaiseTaskIntersection {\n const instance = new Classes.RaiseTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RaiseTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RaiseTaskIntersection`\n * @returns {Builder<RaiseTaskIntersection, RaiseTaskIntersection>} A builder for `RaiseTaskIntersection`\n */\nexport const raiseTaskBuilder = (\n model?: Partial<Specification.RaiseTask>,\n): Builder<Partial<Specification.RaiseTask>, RaiseTaskIntersection> =>\n builder<Specification.RaiseTask, RaiseTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RaiseTaskConfigurationIntersection } from '../classes/raise-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RaiseTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RaiseTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.RaiseTaskConfiguration,\n options: BuildOptions,\n): RaiseTaskConfigurationIntersection {\n const instance = new Classes.RaiseTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RaiseTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RaiseTaskConfigurationIntersection`\n * @returns {Builder<RaiseTaskConfigurationIntersection, RaiseTaskConfigurationIntersection>} A builder for `RaiseTaskConfigurationIntersection`\n */\nexport const raiseTaskConfigurationBuilder = (\n model?: Partial<Specification.RaiseTaskConfiguration>,\n): Builder<Partial<Specification.RaiseTaskConfiguration>, RaiseTaskConfigurationIntersection> =>\n builder<Specification.RaiseTaskConfiguration, RaiseTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RaiseTaskErrorIntersection } from '../classes/raise-task-error';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RaiseTaskError} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RaiseTaskErrorIntersection} The built object\n */\nfunction buildingFn(model: Specification.RaiseTaskError, options: BuildOptions): RaiseTaskErrorIntersection {\n const instance = new Classes.RaiseTaskError(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RaiseTaskErrorIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RaiseTaskErrorIntersection`\n * @returns {Builder<RaiseTaskErrorIntersection, RaiseTaskErrorIntersection>} A builder for `RaiseTaskErrorIntersection`\n */\nexport const raiseTaskErrorBuilder = (\n model?: Partial<Specification.RaiseTaskError>,\n): Builder<Partial<Specification.RaiseTaskError>, RaiseTaskErrorIntersection> =>\n builder<Specification.RaiseTaskError, RaiseTaskErrorIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ReferenceableAuthenticationPolicyIntersection } from '../classes/referenceable-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ReferenceableAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ReferenceableAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.ReferenceableAuthenticationPolicy,\n options: BuildOptions,\n): ReferenceableAuthenticationPolicyIntersection {\n const instance = new Classes.ReferenceableAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ReferenceableAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ReferenceableAuthenticationPolicyIntersection`\n * @returns {Builder<ReferenceableAuthenticationPolicyIntersection, ReferenceableAuthenticationPolicyIntersection>} A builder for `ReferenceableAuthenticationPolicyIntersection`\n */\nexport const referenceableAuthenticationPolicyBuilder = (\n model?: Partial<Specification.ReferenceableAuthenticationPolicy>,\n): Builder<Partial<Specification.ReferenceableAuthenticationPolicy>, ReferenceableAuthenticationPolicyIntersection> =>\n builder<Specification.ReferenceableAuthenticationPolicy, ReferenceableAuthenticationPolicyIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RetryBackoffIntersection } from '../classes/retry-backoff';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RetryBackoff} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RetryBackoffIntersection} The built object\n */\nfunction buildingFn(model: Specification.RetryBackoff, options: BuildOptions): RetryBackoffIntersection {\n const instance = new Classes.RetryBackoff(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RetryBackoffIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RetryBackoffIntersection`\n * @returns {Builder<RetryBackoffIntersection, RetryBackoffIntersection>} A builder for `RetryBackoffIntersection`\n */\nexport const retryBackoffBuilder = (\n model?: Partial<Specification.RetryBackoff>,\n): Builder<Partial<Specification.RetryBackoff>, RetryBackoffIntersection> =>\n builder<Specification.RetryBackoff, RetryBackoffIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RetryLimitIntersection } from '../classes/retry-limit';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RetryLimit} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RetryLimitIntersection} The built object\n */\nfunction buildingFn(model: Specification.RetryLimit, options: BuildOptions): RetryLimitIntersection {\n const instance = new Classes.RetryLimit(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RetryLimitIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RetryLimitIntersection`\n * @returns {Builder<RetryLimitIntersection, RetryLimitIntersection>} A builder for `RetryLimitIntersection`\n */\nexport const retryLimitBuilder = (\n model?: Partial<Specification.RetryLimit>,\n): Builder<Partial<Specification.RetryLimit>, RetryLimitIntersection> =>\n builder<Specification.RetryLimit, RetryLimitIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RetryLimitAttemptIntersection } from '../classes/retry-limit-attempt';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RetryLimitAttempt} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RetryLimitAttemptIntersection} The built object\n */\nfunction buildingFn(model: Specification.RetryLimitAttempt, options: BuildOptions): RetryLimitAttemptIntersection {\n const instance = new Classes.RetryLimitAttempt(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RetryLimitAttemptIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RetryLimitAttemptIntersection`\n * @returns {Builder<RetryLimitAttemptIntersection, RetryLimitAttemptIntersection>} A builder for `RetryLimitAttemptIntersection`\n */\nexport const retryLimitAttemptBuilder = (\n model?: Partial<Specification.RetryLimitAttempt>,\n): Builder<Partial<Specification.RetryLimitAttempt>, RetryLimitAttemptIntersection> =>\n builder<Specification.RetryLimitAttempt, RetryLimitAttemptIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RetryPolicyIntersection } from '../classes/retry-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RetryPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RetryPolicyIntersection} The built object\n */\nfunction buildingFn(model: Specification.RetryPolicy, options: BuildOptions): RetryPolicyIntersection {\n const instance = new Classes.RetryPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RetryPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RetryPolicyIntersection`\n * @returns {Builder<RetryPolicyIntersection, RetryPolicyIntersection>} A builder for `RetryPolicyIntersection`\n */\nexport const retryPolicyBuilder = (\n model?: Partial<Specification.RetryPolicy>,\n): Builder<Partial<Specification.RetryPolicy>, RetryPolicyIntersection> =>\n builder<Specification.RetryPolicy, RetryPolicyIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RetryPolicyJitterIntersection } from '../classes/retry-policy-jitter';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RetryPolicyJitter} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RetryPolicyJitterIntersection} The built object\n */\nfunction buildingFn(model: Specification.RetryPolicyJitter, options: BuildOptions): RetryPolicyJitterIntersection {\n const instance = new Classes.RetryPolicyJitter(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RetryPolicyJitterIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RetryPolicyJitterIntersection`\n * @returns {Builder<RetryPolicyJitterIntersection, RetryPolicyJitterIntersection>} A builder for `RetryPolicyJitterIntersection`\n */\nexport const retryPolicyJitterBuilder = (\n model?: Partial<Specification.RetryPolicyJitter>,\n): Builder<Partial<Specification.RetryPolicyJitter>, RetryPolicyJitterIntersection> =>\n builder<Specification.RetryPolicyJitter, RetryPolicyJitterIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunContainerIntersection } from '../classes/run-container';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunContainer} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunContainerIntersection} The built object\n */\nfunction buildingFn(model: Specification.RunContainer, options: BuildOptions): RunContainerIntersection {\n const instance = new Classes.RunContainer(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunContainerIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunContainerIntersection`\n * @returns {Builder<RunContainerIntersection, RunContainerIntersection>} A builder for `RunContainerIntersection`\n */\nexport const runContainerBuilder = (\n model?: Partial<Specification.RunContainer>,\n): Builder<Partial<Specification.RunContainer>, RunContainerIntersection> =>\n builder<Specification.RunContainer, RunContainerIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunScriptIntersection } from '../classes/run-script';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunScript} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunScriptIntersection} The built object\n */\nfunction buildingFn(model: Specification.RunScript, options: BuildOptions): RunScriptIntersection {\n const instance = new Classes.RunScript(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunScriptIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunScriptIntersection`\n * @returns {Builder<RunScriptIntersection, RunScriptIntersection>} A builder for `RunScriptIntersection`\n */\nexport const runScriptBuilder = (\n model?: Partial<Specification.RunScript>,\n): Builder<Partial<Specification.RunScript>, RunScriptIntersection> =>\n builder<Specification.RunScript, RunScriptIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunShellIntersection } from '../classes/run-shell';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunShell} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunShellIntersection} The built object\n */\nfunction buildingFn(model: Specification.RunShell, options: BuildOptions): RunShellIntersection {\n const instance = new Classes.RunShell(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunShellIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunShellIntersection`\n * @returns {Builder<RunShellIntersection, RunShellIntersection>} A builder for `RunShellIntersection`\n */\nexport const runShellBuilder = (\n model?: Partial<Specification.RunShell>,\n): Builder<Partial<Specification.RunShell>, RunShellIntersection> =>\n builder<Specification.RunShell, RunShellIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunTaskIntersection } from '../classes/run-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.RunTask, options: BuildOptions): RunTaskIntersection {\n const instance = new Classes.RunTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunTaskIntersection`\n * @returns {Builder<RunTaskIntersection, RunTaskIntersection>} A builder for `RunTaskIntersection`\n */\nexport const runTaskBuilder = (\n model?: Partial<Specification.RunTask>,\n): Builder<Partial<Specification.RunTask>, RunTaskIntersection> =>\n builder<Specification.RunTask, RunTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunTaskConfigurationIntersection } from '../classes/run-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.RunTaskConfiguration,\n options: BuildOptions,\n): RunTaskConfigurationIntersection {\n const instance = new Classes.RunTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunTaskConfigurationIntersection`\n * @returns {Builder<RunTaskConfigurationIntersection, RunTaskConfigurationIntersection>} A builder for `RunTaskConfigurationIntersection`\n */\nexport const runTaskConfigurationBuilder = (\n model?: Partial<Specification.RunTaskConfiguration>,\n): Builder<Partial<Specification.RunTaskConfiguration>, RunTaskConfigurationIntersection> =>\n builder<Specification.RunTaskConfiguration, RunTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RuntimeExpressionIntersection } from '../classes/runtime-expression';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RuntimeExpression} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RuntimeExpressionIntersection} The built object\n */\nfunction buildingFn(model: Specification.RuntimeExpression, options: BuildOptions): RuntimeExpressionIntersection {\n const instance = new Classes.RuntimeExpression(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RuntimeExpressionIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RuntimeExpressionIntersection`\n * @returns {Builder<RuntimeExpressionIntersection, RuntimeExpressionIntersection>} A builder for `RuntimeExpressionIntersection`\n */\nexport const runtimeExpressionBuilder = (\n model?: Partial<Specification.RuntimeExpression>,\n): Builder<Partial<Specification.RuntimeExpression>, RuntimeExpressionIntersection> =>\n builder<Specification.RuntimeExpression, RuntimeExpressionIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { RunWorkflowIntersection } from '../classes/run-workflow';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.RunWorkflow} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {RunWorkflowIntersection} The built object\n */\nfunction buildingFn(model: Specification.RunWorkflow, options: BuildOptions): RunWorkflowIntersection {\n const instance = new Classes.RunWorkflow(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as RunWorkflowIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `RunWorkflowIntersection`\n * @returns {Builder<RunWorkflowIntersection, RunWorkflowIntersection>} A builder for `RunWorkflowIntersection`\n */\nexport const runWorkflowBuilder = (\n model?: Partial<Specification.RunWorkflow>,\n): Builder<Partial<Specification.RunWorkflow>, RunWorkflowIntersection> =>\n builder<Specification.RunWorkflow, RunWorkflowIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ScheduleIntersection } from '../classes/schedule';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Schedule} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ScheduleIntersection} The built object\n */\nfunction buildingFn(model: Specification.Schedule, options: BuildOptions): ScheduleIntersection {\n const instance = new Classes.Schedule(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ScheduleIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ScheduleIntersection`\n * @returns {Builder<ScheduleIntersection, ScheduleIntersection>} A builder for `ScheduleIntersection`\n */\nexport const scheduleBuilder = (\n model?: Partial<Specification.Schedule>,\n): Builder<Partial<Specification.Schedule>, ScheduleIntersection> =>\n builder<Specification.Schedule, ScheduleIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SchemaIntersection } from '../classes/schema';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Schema} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SchemaIntersection} The built object\n */\nfunction buildingFn(model: Specification.Schema, options: BuildOptions): SchemaIntersection {\n const instance = new Classes.Schema(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SchemaIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SchemaIntersection`\n * @returns {Builder<SchemaIntersection, SchemaIntersection>} A builder for `SchemaIntersection`\n */\nexport const schemaBuilder = (\n model?: Partial<Specification.Schema>,\n): Builder<Partial<Specification.Schema>, SchemaIntersection> =>\n builder<Specification.Schema, SchemaIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SchemaExternalIntersection } from '../classes/schema-external';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SchemaExternal} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SchemaExternalIntersection} The built object\n */\nfunction buildingFn(model: Specification.SchemaExternal, options: BuildOptions): SchemaExternalIntersection {\n const instance = new Classes.SchemaExternal(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SchemaExternalIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SchemaExternalIntersection`\n * @returns {Builder<SchemaExternalIntersection, SchemaExternalIntersection>} A builder for `SchemaExternalIntersection`\n */\nexport const schemaExternalBuilder = (\n model?: Partial<Specification.SchemaExternal>,\n): Builder<Partial<Specification.SchemaExternal>, SchemaExternalIntersection> =>\n builder<Specification.SchemaExternal, SchemaExternalIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SchemaInlineIntersection } from '../classes/schema-inline';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SchemaInline} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SchemaInlineIntersection} The built object\n */\nfunction buildingFn(model: Specification.SchemaInline, options: BuildOptions): SchemaInlineIntersection {\n const instance = new Classes.SchemaInline(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SchemaInlineIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SchemaInlineIntersection`\n * @returns {Builder<SchemaInlineIntersection, SchemaInlineIntersection>} A builder for `SchemaInlineIntersection`\n */\nexport const schemaInlineBuilder = (\n model?: Partial<Specification.SchemaInline>,\n): Builder<Partial<Specification.SchemaInline>, SchemaInlineIntersection> =>\n builder<Specification.SchemaInline, SchemaInlineIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ScriptIntersection } from '../classes/script';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Script} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ScriptIntersection} The built object\n */\nfunction buildingFn(model: Specification.Script, options: BuildOptions): ScriptIntersection {\n const instance = new Classes.Script(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ScriptIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ScriptIntersection`\n * @returns {Builder<ScriptIntersection, ScriptIntersection>} A builder for `ScriptIntersection`\n */\nexport const scriptBuilder = (\n model?: Partial<Specification.Script>,\n): Builder<Partial<Specification.Script>, ScriptIntersection> =>\n builder<Specification.Script, ScriptIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SecretBasedAuthenticationPolicyIntersection } from '../classes/secret-based-authentication-policy';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SecretBasedAuthenticationPolicy} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SecretBasedAuthenticationPolicyIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.SecretBasedAuthenticationPolicy,\n options: BuildOptions,\n): SecretBasedAuthenticationPolicyIntersection {\n const instance = new Classes.SecretBasedAuthenticationPolicy(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SecretBasedAuthenticationPolicyIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SecretBasedAuthenticationPolicyIntersection`\n * @returns {Builder<SecretBasedAuthenticationPolicyIntersection, SecretBasedAuthenticationPolicyIntersection>} A builder for `SecretBasedAuthenticationPolicyIntersection`\n */\nexport const secretBasedAuthenticationPolicyBuilder = (\n model?: Partial<Specification.SecretBasedAuthenticationPolicy>,\n): Builder<Partial<Specification.SecretBasedAuthenticationPolicy>, SecretBasedAuthenticationPolicyIntersection> =>\n builder<Specification.SecretBasedAuthenticationPolicy, SecretBasedAuthenticationPolicyIntersection>(\n model,\n buildingFn,\n );\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SetTaskIntersection } from '../classes/set-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SetTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SetTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.SetTask, options: BuildOptions): SetTaskIntersection {\n const instance = new Classes.SetTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SetTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SetTaskIntersection`\n * @returns {Builder<SetTaskIntersection, SetTaskIntersection>} A builder for `SetTaskIntersection`\n */\nexport const setTaskBuilder = (\n model?: Partial<Specification.SetTask>,\n): Builder<Partial<Specification.SetTask>, SetTaskIntersection> =>\n builder<Specification.SetTask, SetTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SetTaskConfigurationIntersection } from '../classes/set-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SetTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SetTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.SetTaskConfiguration,\n options: BuildOptions,\n): SetTaskConfigurationIntersection {\n const instance = new Classes.SetTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SetTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SetTaskConfigurationIntersection`\n * @returns {Builder<SetTaskConfigurationIntersection, SetTaskConfigurationIntersection>} A builder for `SetTaskConfigurationIntersection`\n */\nexport const setTaskConfigurationBuilder = (\n model?: Partial<Specification.SetTaskConfiguration>,\n): Builder<Partial<Specification.SetTaskConfiguration>, SetTaskConfigurationIntersection> =>\n builder<Specification.SetTaskConfiguration, SetTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ShellIntersection } from '../classes/shell';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Shell} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ShellIntersection} The built object\n */\nfunction buildingFn(model: Specification.Shell, options: BuildOptions): ShellIntersection {\n const instance = new Classes.Shell(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ShellIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ShellIntersection`\n * @returns {Builder<ShellIntersection, ShellIntersection>} A builder for `ShellIntersection`\n */\nexport const shellBuilder = (\n model?: Partial<Specification.Shell>,\n): Builder<Partial<Specification.Shell>, ShellIntersection> =>\n builder<Specification.Shell, ShellIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ShellArgumentsIntersection } from '../classes/shell-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.ShellArguments} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {ShellArgumentsIntersection} The built array\n */\nfunction buildingFn(model: Specification.ShellArguments, options: BuildOptions): ShellArgumentsIntersection {\n const instance = new Classes.ShellArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as ShellArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ShellArgumentsIntersection`\n * @returns {ArrayBuilder<string, ShellArgumentsIntersection>} A builder for `ShellArgumentsIntersection`\n */\nexport const shellArgumentsBuilder = (\n model?: Specification.ShellArguments,\n): ArrayBuilder<string, ShellArgumentsIntersection> =>\n arrayBuilder<string, ShellArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { ShellEnvironmentIntersection } from '../classes/shell-environment';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.ShellEnvironment} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {ShellEnvironmentIntersection} The built object\n */\nfunction buildingFn(model: Specification.ShellEnvironment, options: BuildOptions): ShellEnvironmentIntersection {\n const instance = new Classes.ShellEnvironment(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as ShellEnvironmentIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `ShellEnvironmentIntersection`\n * @returns {Builder<ShellEnvironmentIntersection, ShellEnvironmentIntersection>} A builder for `ShellEnvironmentIntersection`\n */\nexport const shellEnvironmentBuilder = (\n model?: Partial<Specification.ShellEnvironment>,\n): Builder<Partial<Specification.ShellEnvironment>, ShellEnvironmentIntersection> =>\n builder<Specification.ShellEnvironment, ShellEnvironmentIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SubflowConfigurationIntersection } from '../classes/subflow-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SubflowConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SubflowConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.SubflowConfiguration,\n options: BuildOptions,\n): SubflowConfigurationIntersection {\n const instance = new Classes.SubflowConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SubflowConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SubflowConfigurationIntersection`\n * @returns {Builder<SubflowConfigurationIntersection, SubflowConfigurationIntersection>} A builder for `SubflowConfigurationIntersection`\n */\nexport const subflowConfigurationBuilder = (\n model?: Partial<Specification.SubflowConfiguration>,\n): Builder<Partial<Specification.SubflowConfiguration>, SubflowConfigurationIntersection> =>\n builder<Specification.SubflowConfiguration, SubflowConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SubflowInputIntersection } from '../classes/subflow-input';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SubflowInput} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SubflowInputIntersection} The built object\n */\nfunction buildingFn(model: Specification.SubflowInput, options: BuildOptions): SubflowInputIntersection {\n const instance = new Classes.SubflowInput(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SubflowInputIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SubflowInputIntersection`\n * @returns {Builder<SubflowInputIntersection, SubflowInputIntersection>} A builder for `SubflowInputIntersection`\n */\nexport const subflowInputBuilder = (\n model?: Partial<Specification.SubflowInput>,\n): Builder<Partial<Specification.SubflowInput>, SubflowInputIntersection> =>\n builder<Specification.SubflowInput, SubflowInputIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SubscriptionIteratorIntersection } from '../classes/subscription-iterator';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SubscriptionIterator} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SubscriptionIteratorIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.SubscriptionIterator,\n options: BuildOptions,\n): SubscriptionIteratorIntersection {\n const instance = new Classes.SubscriptionIterator(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SubscriptionIteratorIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SubscriptionIteratorIntersection`\n * @returns {Builder<SubscriptionIteratorIntersection, SubscriptionIteratorIntersection>} A builder for `SubscriptionIteratorIntersection`\n */\nexport const subscriptionIteratorBuilder = (\n model?: Partial<Specification.SubscriptionIterator>,\n): Builder<Partial<Specification.SubscriptionIterator>, SubscriptionIteratorIntersection> =>\n builder<Specification.SubscriptionIterator, SubscriptionIteratorIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SwitchCaseIntersection } from '../classes/switch-case';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SwitchCase} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SwitchCaseIntersection} The built object\n */\nfunction buildingFn(model: Specification.SwitchCase, options: BuildOptions): SwitchCaseIntersection {\n const instance = new Classes.SwitchCase(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SwitchCaseIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SwitchCaseIntersection`\n * @returns {Builder<SwitchCaseIntersection, SwitchCaseIntersection>} A builder for `SwitchCaseIntersection`\n */\nexport const switchCaseBuilder = (\n model?: Partial<Specification.SwitchCase>,\n): Builder<Partial<Specification.SwitchCase>, SwitchCaseIntersection> =>\n builder<Specification.SwitchCase, SwitchCaseIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SwitchItemIntersection } from '../classes/switch-item';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SwitchItem} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SwitchItemIntersection} The built object\n */\nfunction buildingFn(model: Specification.SwitchItem, options: BuildOptions): SwitchItemIntersection {\n const instance = new Classes.SwitchItem(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SwitchItemIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SwitchItemIntersection`\n * @returns {Builder<SwitchItemIntersection, SwitchItemIntersection>} A builder for `SwitchItemIntersection`\n */\nexport const switchItemBuilder = (\n model?: Partial<Specification.SwitchItem>,\n): Builder<Partial<Specification.SwitchItem>, SwitchItemIntersection> =>\n builder<Specification.SwitchItem, SwitchItemIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SwitchTaskIntersection } from '../classes/switch-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SwitchTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SwitchTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.SwitchTask, options: BuildOptions): SwitchTaskIntersection {\n const instance = new Classes.SwitchTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as SwitchTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SwitchTaskIntersection`\n * @returns {Builder<SwitchTaskIntersection, SwitchTaskIntersection>} A builder for `SwitchTaskIntersection`\n */\nexport const switchTaskBuilder = (\n model?: Partial<Specification.SwitchTask>,\n): Builder<Partial<Specification.SwitchTask>, SwitchTaskIntersection> =>\n builder<Specification.SwitchTask, SwitchTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { SwitchTaskConfigurationIntersection } from '../classes/switch-task-configuration';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.SwitchTaskConfiguration} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {SwitchTaskConfigurationIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.SwitchTaskConfiguration,\n options: BuildOptions,\n): SwitchTaskConfigurationIntersection {\n const instance = new Classes.SwitchTaskConfiguration(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as SwitchTaskConfigurationIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `SwitchTaskConfigurationIntersection`\n * @returns {Builder<SwitchTaskConfigurationIntersection, SwitchTaskConfigurationIntersection>} A builder for `SwitchTaskConfigurationIntersection`\n */\nexport const switchTaskConfigurationBuilder = (\n model?: Partial<Specification.SwitchTaskConfiguration>,\n): Builder<Partial<Specification.SwitchTaskConfiguration>, SwitchTaskConfigurationIntersection> =>\n builder<Specification.SwitchTaskConfiguration, SwitchTaskConfigurationIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskIntersection } from '../classes/task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Task} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.Task, options: BuildOptions): TaskIntersection {\n const instance = new Classes.Task(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskIntersection`\n * @returns {Builder<TaskIntersection, TaskIntersection>} A builder for `TaskIntersection`\n */\nexport const taskBuilder = (\n model?: Partial<Specification.Task>,\n): Builder<Partial<Specification.Task>, TaskIntersection> =>\n builder<Specification.Task, TaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskBaseIntersection } from '../classes/task-base';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TaskBase} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskBaseIntersection} The built object\n */\nfunction buildingFn(model: Specification.TaskBase, options: BuildOptions): TaskBaseIntersection {\n const instance = new Classes.TaskBase(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskBaseIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskBaseIntersection`\n * @returns {Builder<TaskBaseIntersection, TaskBaseIntersection>} A builder for `TaskBaseIntersection`\n */\nexport const taskBaseBuilder = (\n model?: Partial<Specification.TaskBase>,\n): Builder<Partial<Specification.TaskBase>, TaskBaseIntersection> =>\n builder<Specification.TaskBase, TaskBaseIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskBaseIfIntersection } from '../classes/task-base-if';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TaskBaseIf} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskBaseIfIntersection} The built object\n */\nfunction buildingFn(model: Specification.TaskBaseIf, options: BuildOptions): TaskBaseIfIntersection {\n const instance = new Classes.TaskBaseIf(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskBaseIfIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskBaseIfIntersection`\n * @returns {Builder<TaskBaseIfIntersection, TaskBaseIfIntersection>} A builder for `TaskBaseIfIntersection`\n */\nexport const taskBaseIfBuilder = (\n model?: Partial<Specification.TaskBaseIf>,\n): Builder<Partial<Specification.TaskBaseIf>, TaskBaseIfIntersection> =>\n builder<Specification.TaskBaseIf, TaskBaseIfIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskItemIntersection } from '../classes/task-item';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TaskItem} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskItemIntersection} The built object\n */\nfunction buildingFn(model: Specification.TaskItem, options: BuildOptions): TaskItemIntersection {\n const instance = new Classes.TaskItem(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskItemIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskItemIntersection`\n * @returns {Builder<TaskItemIntersection, TaskItemIntersection>} A builder for `TaskItemIntersection`\n */\nexport const taskItemBuilder = (\n model?: Partial<Specification.TaskItem>,\n): Builder<Partial<Specification.TaskItem>, TaskItemIntersection> =>\n builder<Specification.TaskItem, TaskItemIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskListIntersection } from '../classes/task-list';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.TaskList} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {TaskListIntersection} The built array\n */\nfunction buildingFn(model: Specification.TaskList, options: BuildOptions): TaskListIntersection {\n const instance = new Classes.TaskList(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as TaskListIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskListIntersection`\n * @returns {ArrayBuilder<Specification.TaskItem, TaskListIntersection>} A builder for `TaskListIntersection`\n */\nexport const taskListBuilder = (\n model?: Specification.TaskList,\n): ArrayBuilder<Specification.TaskItem, TaskListIntersection> =>\n arrayBuilder<Specification.TaskItem, TaskListIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskMetadataIntersection } from '../classes/task-metadata';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TaskMetadata} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskMetadataIntersection} The built object\n */\nfunction buildingFn(model: Specification.TaskMetadata, options: BuildOptions): TaskMetadataIntersection {\n const instance = new Classes.TaskMetadata(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskMetadataIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskMetadataIntersection`\n * @returns {Builder<TaskMetadataIntersection, TaskMetadataIntersection>} A builder for `TaskMetadataIntersection`\n */\nexport const taskMetadataBuilder = (\n model?: Partial<Specification.TaskMetadata>,\n): Builder<Partial<Specification.TaskMetadata>, TaskMetadataIntersection> =>\n builder<Specification.TaskMetadata, TaskMetadataIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TaskTimeoutIntersection } from '../classes/task-timeout';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TaskTimeout} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TaskTimeoutIntersection} The built object\n */\nfunction buildingFn(model: Specification.TaskTimeout, options: BuildOptions): TaskTimeoutIntersection {\n const instance = new Classes.TaskTimeout(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TaskTimeoutIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TaskTimeoutIntersection`\n * @returns {Builder<TaskTimeoutIntersection, TaskTimeoutIntersection>} A builder for `TaskTimeoutIntersection`\n */\nexport const taskTimeoutBuilder = (\n model?: Partial<Specification.TaskTimeout>,\n): Builder<Partial<Specification.TaskTimeout>, TaskTimeoutIntersection> =>\n builder<Specification.TaskTimeout, TaskTimeoutIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TimeoutIntersection } from '../classes/timeout';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Timeout} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TimeoutIntersection} The built object\n */\nfunction buildingFn(model: Specification.Timeout, options: BuildOptions): TimeoutIntersection {\n const instance = new Classes.Timeout(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TimeoutIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TimeoutIntersection`\n * @returns {Builder<TimeoutIntersection, TimeoutIntersection>} A builder for `TimeoutIntersection`\n */\nexport const timeoutBuilder = (\n model?: Partial<Specification.Timeout>,\n): Builder<Partial<Specification.Timeout>, TimeoutIntersection> =>\n builder<Specification.Timeout, TimeoutIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TryTaskIntersection } from '../classes/try-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TryTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TryTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.TryTask, options: BuildOptions): TryTaskIntersection {\n const instance = new Classes.TryTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TryTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TryTaskIntersection`\n * @returns {Builder<TryTaskIntersection, TryTaskIntersection>} A builder for `TryTaskIntersection`\n */\nexport const tryTaskBuilder = (\n model?: Partial<Specification.TryTask>,\n): Builder<Partial<Specification.TryTask>, TryTaskIntersection> =>\n builder<Specification.TryTask, TryTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TryTaskCatchIntersection } from '../classes/try-task-catch';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TryTaskCatch} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TryTaskCatchIntersection} The built object\n */\nfunction buildingFn(model: Specification.TryTaskCatch, options: BuildOptions): TryTaskCatchIntersection {\n const instance = new Classes.TryTaskCatch(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TryTaskCatchIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TryTaskCatchIntersection`\n * @returns {Builder<TryTaskCatchIntersection, TryTaskCatchIntersection>} A builder for `TryTaskCatchIntersection`\n */\nexport const tryTaskCatchBuilder = (\n model?: Partial<Specification.TryTaskCatch>,\n): Builder<Partial<Specification.TryTaskCatch>, TryTaskCatchIntersection> =>\n builder<Specification.TryTaskCatch, TryTaskCatchIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { TryTaskCatchRetryIntersection } from '../classes/try-task-catch-retry';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.TryTaskCatchRetry} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {TryTaskCatchRetryIntersection} The built object\n */\nfunction buildingFn(model: Specification.TryTaskCatchRetry, options: BuildOptions): TryTaskCatchRetryIntersection {\n const instance = new Classes.TryTaskCatchRetry(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as TryTaskCatchRetryIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `TryTaskCatchRetryIntersection`\n * @returns {Builder<TryTaskCatchRetryIntersection, TryTaskCatchRetryIntersection>} A builder for `TryTaskCatchRetryIntersection`\n */\nexport const tryTaskCatchRetryBuilder = (\n model?: Partial<Specification.TryTaskCatchRetry>,\n): Builder<Partial<Specification.TryTaskCatchRetry>, TryTaskCatchRetryIntersection> =>\n builder<Specification.TryTaskCatchRetry, TryTaskCatchRetryIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UriTemplateIntersection } from '../classes/uri-template';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UriTemplate} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UriTemplateIntersection} The built object\n */\nfunction buildingFn(model: Specification.UriTemplate, options: BuildOptions): UriTemplateIntersection {\n const instance = new Classes.UriTemplate(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UriTemplateIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UriTemplateIntersection`\n * @returns {Builder<UriTemplateIntersection, UriTemplateIntersection>} A builder for `UriTemplateIntersection`\n */\nexport const uriTemplateBuilder = (\n model?: Partial<Specification.UriTemplate>,\n): Builder<Partial<Specification.UriTemplate>, UriTemplateIntersection> =>\n builder<Specification.UriTemplate, UriTemplateIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseIntersection } from '../classes/use';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Use} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseIntersection} The built object\n */\nfunction buildingFn(model: Specification.Use, options: BuildOptions): UseIntersection {\n const instance = new Classes.Use(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseIntersection`\n * @returns {Builder<UseIntersection, UseIntersection>} A builder for `UseIntersection`\n */\nexport const useBuilder = (model?: Partial<Specification.Use>): Builder<Partial<Specification.Use>, UseIntersection> =>\n builder<Specification.Use, UseIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseAuthenticationsIntersection } from '../classes/use-authentications';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseAuthentications} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseAuthenticationsIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseAuthentications, options: BuildOptions): UseAuthenticationsIntersection {\n const instance = new Classes.UseAuthentications(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseAuthenticationsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseAuthenticationsIntersection`\n * @returns {Builder<UseAuthenticationsIntersection, UseAuthenticationsIntersection>} A builder for `UseAuthenticationsIntersection`\n */\nexport const useAuthenticationsBuilder = (\n model?: Partial<Specification.UseAuthentications>,\n): Builder<Partial<Specification.UseAuthentications>, UseAuthenticationsIntersection> =>\n builder<Specification.UseAuthentications, UseAuthenticationsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseCatalogsIntersection } from '../classes/use-catalogs';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseCatalogs} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseCatalogsIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseCatalogs, options: BuildOptions): UseCatalogsIntersection {\n const instance = new Classes.UseCatalogs(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseCatalogsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseCatalogsIntersection`\n * @returns {Builder<UseCatalogsIntersection, UseCatalogsIntersection>} A builder for `UseCatalogsIntersection`\n */\nexport const useCatalogsBuilder = (\n model?: Partial<Specification.UseCatalogs>,\n): Builder<Partial<Specification.UseCatalogs>, UseCatalogsIntersection> =>\n builder<Specification.UseCatalogs, UseCatalogsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseErrorsIntersection } from '../classes/use-errors';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseErrors} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseErrorsIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseErrors, options: BuildOptions): UseErrorsIntersection {\n const instance = new Classes.UseErrors(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseErrorsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseErrorsIntersection`\n * @returns {Builder<UseErrorsIntersection, UseErrorsIntersection>} A builder for `UseErrorsIntersection`\n */\nexport const useErrorsBuilder = (\n model?: Partial<Specification.UseErrors>,\n): Builder<Partial<Specification.UseErrors>, UseErrorsIntersection> =>\n builder<Specification.UseErrors, UseErrorsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseExtensionsIntersection } from '../classes/use-extensions';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.UseExtensions} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {UseExtensionsIntersection} The built array\n */\nfunction buildingFn(model: Specification.UseExtensions, options: BuildOptions): UseExtensionsIntersection {\n const instance = new Classes.UseExtensions(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as UseExtensionsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseExtensionsIntersection`\n * @returns {ArrayBuilder<Specification.ExtensionItem, UseExtensionsIntersection>} A builder for `UseExtensionsIntersection`\n */\nexport const useExtensionsBuilder = (\n model?: Specification.UseExtensions,\n): ArrayBuilder<Specification.ExtensionItem, UseExtensionsIntersection> =>\n arrayBuilder<Specification.ExtensionItem, UseExtensionsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseFunctionsIntersection } from '../classes/use-functions';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseFunctions} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseFunctionsIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseFunctions, options: BuildOptions): UseFunctionsIntersection {\n const instance = new Classes.UseFunctions(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseFunctionsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseFunctionsIntersection`\n * @returns {Builder<UseFunctionsIntersection, UseFunctionsIntersection>} A builder for `UseFunctionsIntersection`\n */\nexport const useFunctionsBuilder = (\n model?: Partial<Specification.UseFunctions>,\n): Builder<Partial<Specification.UseFunctions>, UseFunctionsIntersection> =>\n builder<Specification.UseFunctions, UseFunctionsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseRetriesIntersection } from '../classes/use-retries';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseRetries} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseRetriesIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseRetries, options: BuildOptions): UseRetriesIntersection {\n const instance = new Classes.UseRetries(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseRetriesIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseRetriesIntersection`\n * @returns {Builder<UseRetriesIntersection, UseRetriesIntersection>} A builder for `UseRetriesIntersection`\n */\nexport const useRetriesBuilder = (\n model?: Partial<Specification.UseRetries>,\n): Builder<Partial<Specification.UseRetries>, UseRetriesIntersection> =>\n builder<Specification.UseRetries, UseRetriesIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { arrayBuilder, ArrayBuilder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseSecretsIntersection } from '../classes/use-secrets';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying array\n * @param {Specification.UseSecrets} model The proxied array\n * @param {BuildOptions} options The build options to use\n * @returns {UseSecretsIntersection} The built array\n */\nfunction buildingFn(model: Specification.UseSecrets, options: BuildOptions): UseSecretsIntersection {\n const instance = new Classes.UseSecrets(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as unknown as UseSecretsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseSecretsIntersection`\n * @returns {ArrayBuilder<string, UseSecretsIntersection>} A builder for `UseSecretsIntersection`\n */\nexport const useSecretsBuilder = (model?: Specification.UseSecrets): ArrayBuilder<string, UseSecretsIntersection> =>\n arrayBuilder<string, UseSecretsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { UseTimeoutsIntersection } from '../classes/use-timeouts';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.UseTimeouts} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {UseTimeoutsIntersection} The built object\n */\nfunction buildingFn(model: Specification.UseTimeouts, options: BuildOptions): UseTimeoutsIntersection {\n const instance = new Classes.UseTimeouts(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as UseTimeoutsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `UseTimeoutsIntersection`\n * @returns {Builder<UseTimeoutsIntersection, UseTimeoutsIntersection>} A builder for `UseTimeoutsIntersection`\n */\nexport const useTimeoutsBuilder = (\n model?: Partial<Specification.UseTimeouts>,\n): Builder<Partial<Specification.UseTimeouts>, UseTimeoutsIntersection> =>\n builder<Specification.UseTimeouts, UseTimeoutsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WaitTaskIntersection } from '../classes/wait-task';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WaitTask} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WaitTaskIntersection} The built object\n */\nfunction buildingFn(model: Specification.WaitTask, options: BuildOptions): WaitTaskIntersection {\n const instance = new Classes.WaitTask(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WaitTaskIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WaitTaskIntersection`\n * @returns {Builder<WaitTaskIntersection, WaitTaskIntersection>} A builder for `WaitTaskIntersection`\n */\nexport const waitTaskBuilder = (\n model?: Partial<Specification.WaitTask>,\n): Builder<Partial<Specification.WaitTask>, WaitTaskIntersection> =>\n builder<Specification.WaitTask, WaitTaskIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WithA2AParametersIntersection } from '../classes/with-a2a-parameters';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WithA2AParameters} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WithA2AParametersIntersection} The built object\n */\nfunction buildingFn(model: Specification.WithA2AParameters, options: BuildOptions): WithA2AParametersIntersection {\n const instance = new Classes.WithA2AParameters(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WithA2AParametersIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WithA2AParametersIntersection`\n * @returns {Builder<WithA2AParametersIntersection, WithA2AParametersIntersection>} A builder for `WithA2AParametersIntersection`\n */\nexport const withA2AParametersBuilder = (\n model?: Partial<Specification.WithA2AParameters>,\n): Builder<Partial<Specification.WithA2AParameters>, WithA2AParametersIntersection> =>\n builder<Specification.WithA2AParameters, WithA2AParametersIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WithEventIntersection } from '../classes/with-event';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WithEvent} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WithEventIntersection} The built object\n */\nfunction buildingFn(model: Specification.WithEvent, options: BuildOptions): WithEventIntersection {\n const instance = new Classes.WithEvent(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WithEventIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WithEventIntersection`\n * @returns {Builder<WithEventIntersection, WithEventIntersection>} A builder for `WithEventIntersection`\n */\nexport const withEventBuilder = (\n model?: Partial<Specification.WithEvent>,\n): Builder<Partial<Specification.WithEvent>, WithEventIntersection> =>\n builder<Specification.WithEvent, WithEventIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WithGRPCArgumentsIntersection } from '../classes/with-grpc-arguments';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WithGRPCArguments} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WithGRPCArgumentsIntersection} The built object\n */\nfunction buildingFn(model: Specification.WithGRPCArguments, options: BuildOptions): WithGRPCArgumentsIntersection {\n const instance = new Classes.WithGRPCArguments(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WithGRPCArgumentsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WithGRPCArgumentsIntersection`\n * @returns {Builder<WithGRPCArgumentsIntersection, WithGRPCArgumentsIntersection>} A builder for `WithGRPCArgumentsIntersection`\n */\nexport const withGRPCArgumentsBuilder = (\n model?: Partial<Specification.WithGRPCArguments>,\n): Builder<Partial<Specification.WithGRPCArguments>, WithGRPCArgumentsIntersection> =>\n builder<Specification.WithGRPCArguments, WithGRPCArgumentsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WithGRPCServiceIntersection } from '../classes/with-grpc-service';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WithGRPCService} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WithGRPCServiceIntersection} The built object\n */\nfunction buildingFn(model: Specification.WithGRPCService, options: BuildOptions): WithGRPCServiceIntersection {\n const instance = new Classes.WithGRPCService(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WithGRPCServiceIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WithGRPCServiceIntersection`\n * @returns {Builder<WithGRPCServiceIntersection, WithGRPCServiceIntersection>} A builder for `WithGRPCServiceIntersection`\n */\nexport const withGRPCServiceBuilder = (\n model?: Partial<Specification.WithGRPCService>,\n): Builder<Partial<Specification.WithGRPCService>, WithGRPCServiceIntersection> =>\n builder<Specification.WithGRPCService, WithGRPCServiceIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WithOpenAPIParametersIntersection } from '../classes/with-open-api-parameters';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WithOpenAPIParameters} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WithOpenAPIParametersIntersection} The built object\n */\nfunction buildingFn(\n model: Specification.WithOpenAPIParameters,\n options: BuildOptions,\n): WithOpenAPIParametersIntersection {\n const instance = new Classes.WithOpenAPIParameters(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WithOpenAPIParametersIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WithOpenAPIParametersIntersection`\n * @returns {Builder<WithOpenAPIParametersIntersection, WithOpenAPIParametersIntersection>} A builder for `WithOpenAPIParametersIntersection`\n */\nexport const withOpenAPIParametersBuilder = (\n model?: Partial<Specification.WithOpenAPIParameters>,\n): Builder<Partial<Specification.WithOpenAPIParameters>, WithOpenAPIParametersIntersection> =>\n builder<Specification.WithOpenAPIParameters, WithOpenAPIParametersIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WorkflowIntersection } from '../classes/workflow';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.Workflow} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WorkflowIntersection} The built object\n */\nfunction buildingFn(model: Specification.Workflow, options: BuildOptions): WorkflowIntersection {\n const instance = new Classes.Workflow(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WorkflowIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WorkflowIntersection`\n * @returns {Builder<WorkflowIntersection, WorkflowIntersection>} A builder for `WorkflowIntersection`\n */\nexport const workflowBuilder = (\n model?: Partial<Specification.Workflow>,\n): Builder<Partial<Specification.Workflow>, WorkflowIntersection> =>\n builder<Specification.Workflow, WorkflowIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WorkflowMetadataIntersection } from '../classes/workflow-metadata';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WorkflowMetadata} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WorkflowMetadataIntersection} The built object\n */\nfunction buildingFn(model: Specification.WorkflowMetadata, options: BuildOptions): WorkflowMetadataIntersection {\n const instance = new Classes.WorkflowMetadata(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WorkflowMetadataIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WorkflowMetadataIntersection`\n * @returns {Builder<WorkflowMetadataIntersection, WorkflowMetadataIntersection>} A builder for `WorkflowMetadataIntersection`\n */\nexport const workflowMetadataBuilder = (\n model?: Partial<Specification.WorkflowMetadata>,\n): Builder<Partial<Specification.WorkflowMetadata>, WorkflowMetadataIntersection> =>\n builder<Specification.WorkflowMetadata, WorkflowMetadataIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WorkflowTagsIntersection } from '../classes/workflow-tags';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WorkflowTags} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WorkflowTagsIntersection} The built object\n */\nfunction buildingFn(model: Specification.WorkflowTags, options: BuildOptions): WorkflowTagsIntersection {\n const instance = new Classes.WorkflowTags(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WorkflowTagsIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WorkflowTagsIntersection`\n * @returns {Builder<WorkflowTagsIntersection, WorkflowTagsIntersection>} A builder for `WorkflowTagsIntersection`\n */\nexport const workflowTagsBuilder = (\n model?: Partial<Specification.WorkflowTags>,\n): Builder<Partial<Specification.WorkflowTags>, WorkflowTagsIntersection> =>\n builder<Specification.WorkflowTags, WorkflowTagsIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\nimport { builder, Builder, BuildOptions } from '../../builder';\nimport { Classes } from '../classes';\nimport { WorkflowTimeoutIntersection } from '../classes/workflow-timeout';\nimport { Specification } from '../definitions';\n\n/**\n * The internal function used by the builder proxy to validate and return its underlying object\n * @param {Specification.WorkflowTimeout} model The proxied object\n * @param {BuildOptions} options The build options to use\n * @returns {WorkflowTimeoutIntersection} The built object\n */\nfunction buildingFn(model: Specification.WorkflowTimeout, options: BuildOptions): WorkflowTimeoutIntersection {\n const instance = new Classes.WorkflowTimeout(model);\n if (options.validate) instance.validate();\n return (options.normalize ? instance.normalize() : instance) as WorkflowTimeoutIntersection;\n}\n\n/**\n * A factory to create a builder proxy for the type `WorkflowTimeoutIntersection`\n * @returns {Builder<WorkflowTimeoutIntersection, WorkflowTimeoutIntersection>} A builder for `WorkflowTimeoutIntersection`\n */\nexport const workflowTimeoutBuilder = (\n model?: Partial<Specification.WorkflowTimeout>,\n): Builder<Partial<Specification.WorkflowTimeout>, WorkflowTimeoutIntersection> =>\n builder<Specification.WorkflowTimeout, WorkflowTimeoutIntersection>(model, buildingFn);\n","/*\n * Copyright 2021-Present The Serverless Workflow Specification Authors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/*****************************************************************************************\n *\n * /!\\ This file is computer generated. Any manual modification can and will be lost. /!\\\n *\n *****************************************************************************************/\n\n/**\n * Represents the definition of a schema.\n */\nexport type Schema = SchemaInline | SchemaExternal;\n/**\n * Represents an endpoint.\n */\nexport type Endpoint = RuntimeExpression | UriTemplate | EndpointConfiguration;\n/**\n * A runtime expression.\n */\nexport type RuntimeExpression = string;\nexport type UriTemplate = string;\n/**\n * The endpoint's URI.\n */\nexport type EndpointUri = UriTemplate | RuntimeExpression;\n/**\n * Represents a referenceable authentication policy.\n */\nexport type ReferenceableAuthenticationPolicy = AuthenticationPolicyReference | AuthenticationPolicy;\n/**\n * Defines an authentication policy.\n */\nexport type AuthenticationPolicy =\n | BasicAuthenticationPolicy\n | BearerAuthenticationPolicy\n | DigestAuthenticationPolicy\n | OAuth2AuthenticationPolicy\n | OpenIdConnectAuthenticationPolicy;\n/**\n * The configuration of the basic authentication policy.\n */\nexport type BasicAuthenticationPolicyConfiguration = BasicAuthenticationProperties | SecretBasedAuthenticationPolicy;\n/**\n * The configuration of the bearer authentication policy.\n */\nexport type BearerAuthenticationPolicyConfiguration = BearerAuthenticationProperties | SecretBasedAuthenticationPolicy;\n/**\n * The configuration of the digest authentication policy.\n */\nexport type DigestAuthenticationPolicyConfiguration = DigestAuthenticationProperties | SecretBasedAuthenticationPolicy;\n/**\n * The configuration of the OAuth2 authentication policy.\n */\nexport type OAuth2AuthenticationPolicyConfiguration =\n | OAuth2ConnectAuthenticationProperties\n | SecretBasedAuthenticationPolicy;\n/**\n * The inline configuration of the OAuth2 authentication policy.\n */\nexport type OAuth2ConnectAuthenticationProperties = OAuth2AuthenticationData & {\n endpoints?: OAuth2AuthenticationPropertiesEndpoints;\n [k: string]: unknown;\n};\n/**\n * A list that contains that contains valid issuers that will be used to check against the issuer of generated tokens.\n */\nexport type OAuth2Issuers = string[];\n/**\n * The scopes, if any, to request the token for.\n */\nexport type OAuth2AuthenticationDataScopes = string[];\n/**\n * The audiences, if any, to request the token for.\n */\nexport type OAuth2AuthenticationDataAudiences = string[];\n/**\n * The configuration of the OpenIdConnect authentication policy.\n */\nexport type OpenIdConnectAuthenticationPolicyConfiguration =\n | OpenIdConnectAuthenticationProperties\n | SecretBasedAuthenticationPolicy;\n/**\n * A runtime expression, if any, used to mutate and/or filter the input of the workflow or task.\n */\nexport type InputFrom =\n | string\n | {\n [k: string]: unknown;\n };\n/**\n * A URI reference that identifies the error type.\n */\nexport type ErrorType = UriTemplate | RuntimeExpression;\n/**\n * A JSON Pointer used to reference the component the error originates from.\n */\nexport type ErrorInstance = RuntimeExpression;\n/**\n * A short, human-readable summary of the error.\n */\nexport type ErrorTitle = RuntimeExpression;\n/**\n * A human-readable explanation specific to this occurrence of the error.\n */\nexport type ErrorDetails = RuntimeExpression;\n/**\n * A discrete unit of work that contributes to achieving the overall objectives defined by the workflow.\n */\nexport type Task =\n | CallTask\n | DoTask\n | ForkTask\n | EmitTask\n | ForTask\n | ListenTask\n | RaiseTask\n | RunTask\n | SetTask\n | SwitchTask\n | TryTask\n | WaitTask;\n/**\n * Defines the call to perform.\n */\nexport type CallTask = CallAsyncAPI | CallGRPC | CallHTTP | CallOpenAPI | CallA2A | CallMCP | CallFunction;\n/**\n * Defines the AsyncAPI call to perform.\n */\nexport type CallAsyncAPI = TaskBase & {\n call?: 'asyncapi';\n with?: AsyncApiArguments;\n [k: string]: unknown;\n};\n/**\n * A runtime expression, if any, used to determine whether or not the task should be run.\n */\nexport type TaskBaseIf = string;\n/**\n * A runtime expression, if any, used to mutate and/or filter the output of the workflow or task.\n */\nexport type OutputAs =\n | string\n | {\n [k: string]: unknown;\n };\n/**\n * A runtime expression, if any, used to export the output data to the context.\n */\nexport type ExportAs =\n | string\n | {\n [k: string]: unknown;\n };\nexport type TaskTimeout = Timeout | string;\nexport type Duration = DurationInline | RuntimeExpression | string;\n/**\n * Represents different transition options for a workflow.\n */\nexport type FlowDirective = ('continue' | 'exit' | 'end') | string;\n/**\n * The Async API call arguments.\n */\nexport type AsyncApiArguments = {\n [k: string]: unknown;\n};\n/**\n * Defines the GRPC call to perform.\n */\nexport type CallGRPC = TaskBase & {\n call?: 'grpc';\n with?: GRPCArguments;\n [k: string]: unknown;\n};\n/**\n * Defines the HTTP call to perform.\n */\nexport type CallHTTP = TaskBase & {\n call?: 'http';\n with?: HTTPArguments;\n [k: string]: unknown;\n};\n/**\n * A name/value mapping of the headers, if any, of the HTTP request to perform.\n */\nexport type HTTPHeaders =\n | {\n [k: string]: string;\n }\n | RuntimeExpression;\n/**\n * A name/value mapping of the query parameters, if any, of the HTTP request to perform.\n */\nexport type HTTPQuery =\n | {\n [k: string]: string;\n }\n | RuntimeExpression;\n/**\n * Defines the OpenAPI call to perform.\n */\nexport type CallOpenAPI = TaskBase & {\n call?: 'openapi';\n with?: OpenAPIArguments;\n [k: string]: unknown;\n};\n/**\n * Defines the A2A call to perform.\n */\nexport type CallA2A = TaskBase & {\n call?: 'a2a';\n with?: A2AArguments;\n [k: string]: unknown;\n};\n/**\n * The parameters object to send with the A2A method.\n */\nexport type WithA2AParameters =\n | {\n [k: string]: unknown;\n }\n | string;\n/**\n * Defines the MCP call to perform.\n */\nexport type CallMCP = TaskBase & {\n call?: 'mcp';\n with?: MCPArguments;\n [k: string]: unknown;\n};\n/**\n * The MCP method parameters.\n */\nexport type McpMethodParameters =\n | {\n [k: string]: unknown;\n }\n | string;\n/**\n * The transport to use to perform the MCP call.\n */\nexport type McpCallTransport = {\n [k: string]: unknown;\n};\n/**\n * Defines the function call to perform.\n */\nexport type CallFunction = TaskBase & {\n /**\n * The name of the function to call.\n */\n call?: string;\n with?: FunctionArguments;\n [k: string]: unknown;\n};\n/**\n * Allows to execute a list of tasks in sequence.\n */\nexport type DoTask = TaskBase & {\n do?: TaskList;\n [k: string]: unknown;\n};\n/**\n * Allows workflows to execute multiple tasks concurrently and optionally race them against each other, with a single possible winner, which sets the task's output.\n */\nexport type ForkTask = TaskBase & {\n fork?: ForkTaskConfiguration;\n [k: string]: unknown;\n};\n/**\n * Allows workflows to publish events to event brokers or messaging systems, facilitating communication and coordination between different components and services.\n */\nexport type EmitTask = TaskBase & {\n emit?: EmitTaskConfiguration;\n [k: string]: unknown;\n};\n/**\n * Identifies the context in which an event happened.\n */\nexport type EventSource = UriTemplate | RuntimeExpression;\n/**\n * When the event occured.\n */\nexport type EventTime = RuntimeExpression;\n/**\n * The schema describing the event format.\n */\nexport type EventDataschema = UriTemplate | RuntimeExpression;\n/**\n * The event's payload data\n */\nexport type EventData =\n | RuntimeExpression\n | {\n [k: string]: unknown;\n };\n/**\n * Allows workflows to iterate over a collection of items, executing a defined set of subtasks for each item in the collection. This task type is instrumental in handling scenarios such as batch processing, data transformation, and repetitive operations across datasets.\n */\nexport type ForTask = TaskBase & {\n for?: ForTaskConfiguration;\n /**\n * A runtime expression that represents the condition, if any, that must be met for the iteration to continue.\n */\n while?: string;\n do?: TaskList;\n [k: string]: unknown;\n};\n/**\n * Provides a mechanism for workflows to await and react to external events, enabling event-driven behavior within workflow systems.\n */\nexport type ListenTask = TaskBase & {\n listen?: ListenTaskConfiguration;\n foreach?: SubscriptionIterator;\n [k: string]: unknown;\n};\n/**\n * Describe the event consumption strategy to adopt.\n */\nexport type EventConsumptionStrategy =\n | AllEventConsumptionStrategy\n | AnyEventConsumptionStrategy\n | OneEventConsumptionStrategy;\n/**\n * A list containing all the events that must be consumed.\n */\nexport type AllEventConsumptionStrategyConfiguration = EventFilter[];\n/**\n * A list containing any of the events to consume.\n */\nexport type AnyEventConsumptionStrategyConfiguration = EventFilter[];\nexport type AnyEventConsumptionStrategyUntil = string | AnyEventUntilConsumed;\nexport type AnyEventUntilConsumed = EventConsumptionStrategy & {\n until?: never;\n [k: string]: unknown;\n};\n/**\n * Intentionally triggers and propagates errors.\n */\nexport type RaiseTask = TaskBase & {\n raise?: RaiseTaskConfiguration;\n [k: string]: unknown;\n};\nexport type RaiseTaskError = Error | string;\n/**\n * Provides the capability to execute external containers, shell commands, scripts, or workflows.\n */\nexport type RunTask = TaskBase & {\n run?: RunTaskConfiguration;\n [k: string]: unknown;\n};\n/**\n * The configuration of the process to execute.\n */\nexport type RunTaskConfiguration = RunContainer | RunScript | RunShell | RunWorkflow;\n/**\n * A list of the arguments, if any, passed as argv to the command or default container CMD\n */\nexport type ContainerArguments = string[];\n/**\n * The configuration of the script to run.\n */\nexport type Script = InlineScript | ExternalScript;\n/**\n * A list of the arguments, if any, to the shell command as argv\n */\nexport type ShellArguments = string[];\n/**\n * A task used to set data.\n */\nexport type SetTask = TaskBase & {\n set?: SetTaskConfiguration;\n [k: string]: unknown;\n};\n/**\n * The data to set.\n */\nexport type SetTaskConfiguration =\n | {\n [k: string]: unknown;\n }\n | string;\n/**\n * Enables conditional branching within workflows, allowing them to dynamically select different paths based on specified conditions or criteria.\n */\nexport type SwitchTask = TaskBase & {\n switch?: SwitchTaskConfiguration;\n [k: string]: unknown;\n};\n/**\n * The definition of the switch to use.\n *\n * @minItems 1\n */\nexport type SwitchTaskConfiguration = [SwitchItem, ...SwitchItem[]];\n/**\n * Serves as a mechanism within workflows to handle errors gracefully, potentially retrying failed tasks before proceeding with alternate ones.\n */\nexport type TryTask = TaskBase & {\n try?: TaskList;\n catch?: TryTaskCatch;\n [k: string]: unknown;\n};\nexport type TryTaskCatchRetry = RetryPolicy | string;\n/**\n * The retry duration backoff.\n */\nexport type RetryBackoff = ConstantBackoff | ExponentialBackOff | LinearBackoff;\n/**\n * Allows workflows to pause or delay their execution for a specified period of time.\n */\nexport type WaitTask = TaskBase & {\n wait?: Duration;\n [k: string]: unknown;\n};\n/**\n * List of named tasks to perform.\n */\nexport type TaskList = TaskItem[];\n/**\n * The workflow's extensions.\n */\nexport type UseExtensions = ExtensionItem[];\n/**\n * The workflow's reusable secrets.\n */\nexport type UseSecrets = string[];\nexport type WorkflowTimeout = Timeout | string;\n\n/**\n * Serverless Workflow DSL - Workflow Schema.\n */\nexport interface Workflow {\n document: Document;\n input?: Input;\n use?: Use;\n do: TaskList;\n timeout?: WorkflowTimeout;\n output?: Output;\n schedule?: Schedule;\n [k: string]: unknown;\n}\n/**\n * Documents the workflow.\n */\nexport interface Document {\n /**\n * The version of the DSL used by the workflow.\n */\n dsl: string;\n /**\n * The workflow's namespace.\n */\n namespace: string;\n /**\n * The workflow's name.\n */\n name: string;\n /**\n * The workflow's semantic version.\n */\n version: string;\n /**\n * The workflow's title.\n */\n title?: string;\n /**\n * The workflow's Markdown summary.\n */\n summary?: string;\n tags?: WorkflowTags;\n metadata?: WorkflowMetadata;\n}\n/**\n * A key/value mapping of the workflow's tags, if any.\n */\nexport interface WorkflowTags {\n [k: string]: unknown;\n}\n/**\n * Holds additional information about the workflow.\n */\nexport interface WorkflowMetadata {\n [k: string]: unknown;\n}\n/**\n * Configures the input of a workflow or task.\n */\nexport interface Input {\n schema?: Schema;\n from?: InputFrom;\n}\nexport interface SchemaInline {\n /**\n * The schema's inline definition.\n */\n document: {\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\nexport interface SchemaExternal {\n resource: ExternalResource;\n [k: string]: unknown;\n}\n/**\n * Represents an external resource.\n */\nexport interface ExternalResource {\n /**\n * The name of the external resource, if any.\n */\n name?: string;\n endpoint: Endpoint;\n}\nexport interface EndpointConfiguration {\n uri: EndpointUri;\n authentication?: ReferenceableAuthenticationPolicy;\n}\n/**\n * The reference of the authentication policy to use.\n */\nexport interface AuthenticationPolicyReference {\n /**\n * The name of the authentication policy to use.\n */\n use: string;\n [k: string]: unknown;\n}\n/**\n * Use basic authentication.\n */\nexport interface BasicAuthenticationPolicy {\n basic: BasicAuthenticationPolicyConfiguration;\n [k: string]: unknown;\n}\n/**\n * Inline configuration of the basic authentication policy.\n */\nexport interface BasicAuthenticationProperties {\n /**\n * The username to use.\n */\n username: string;\n /**\n * The password to use.\n */\n password: string;\n [k: string]: unknown;\n}\n/**\n * Represents an authentication policy based on secrets.\n */\nexport interface SecretBasedAuthenticationPolicy {\n /**\n * The name of the authentication policy to use.\n */\n use: string;\n}\n/**\n * Use bearer authentication.\n */\nexport interface BearerAuthenticationPolicy {\n bearer: BearerAuthenticationPolicyConfiguration;\n [k: string]: unknown;\n}\n/**\n * Inline configuration of the bearer authentication policy.\n */\nexport interface BearerAuthenticationProperties {\n /**\n * The bearer token to use.\n */\n token: string;\n [k: string]: unknown;\n}\n/**\n * Use digest authentication.\n */\nexport interface DigestAuthenticationPolicy {\n digest: DigestAuthenticationPolicyConfiguration;\n [k: string]: unknown;\n}\n/**\n * Inline configuration of the digest authentication policy.\n */\nexport interface DigestAuthenticationProperties {\n /**\n * The username to use.\n */\n username: string;\n /**\n * The password to use.\n */\n password: string;\n [k: string]: unknown;\n}\n/**\n * Use OAuth2 authentication.\n */\nexport interface OAuth2AuthenticationPolicy {\n oauth2: OAuth2AuthenticationPolicyConfiguration;\n [k: string]: unknown;\n}\n/**\n * Inline configuration of the OAuth2 authentication policy.\n */\nexport interface OAuth2AuthenticationData {\n authority?: UriTemplate;\n /**\n * The grant type to use.\n */\n grant?:\n | 'authorization_code'\n | 'client_credentials'\n | 'password'\n | 'refresh_token'\n | 'urn:ietf:params:oauth:grant-type:token-exchange';\n client?: OAuth2AuthenticationDataClient;\n request?: OAuth2TokenRequest;\n issuers?: OAuth2Issuers;\n scopes?: OAuth2AuthenticationDataScopes;\n audiences?: OAuth2AuthenticationDataAudiences;\n /**\n * The username to use. Used only if the grant type is Password.\n */\n username?: string;\n /**\n * The password to use. Used only if the grant type is Password.\n */\n password?: string;\n subject?: OAuth2TokenDefinition;\n actor?: OAuth2TokenDefinition;\n [k: string]: unknown;\n}\n/**\n * The definition of an OAuth2 client.\n */\nexport interface OAuth2AuthenticationDataClient {\n /**\n * The client id to use.\n */\n id?: string;\n /**\n * The client secret to use, if any.\n */\n secret?: string;\n /**\n * A JWT containing a signed assertion with your application credentials.\n */\n assertion?: string;\n /**\n * The authentication method to use to authenticate the client.\n */\n authentication?: 'client_secret_basic' | 'client_secret_post' | 'client_secret_jwt' | 'private_key_jwt' | 'none';\n}\n/**\n * The configuration of an OAuth2 token request\n */\nexport interface OAuth2TokenRequest {\n encoding?: 'application/x-www-form-urlencoded' | 'application/json';\n [k: string]: unknown;\n}\n/**\n * Represents an OAuth2 token.\n */\nexport interface OAuth2TokenDefinition {\n /**\n * The security token to use.\n */\n token: string;\n /**\n * The type of the security token to use.\n */\n type: string;\n}\n/**\n * The endpoint configurations for OAuth2.\n */\nexport interface OAuth2AuthenticationPropertiesEndpoints {\n /**\n * The relative path to the token endpoint. Defaults to `/oauth2/token`.\n */\n token?: string;\n /**\n * The relative path to the revocation endpoint. Defaults to `/oauth2/revoke`.\n */\n revocation?: string;\n /**\n * The relative path to the introspection endpoint. Defaults to `/oauth2/introspect`.\n */\n introspection?: string;\n [k: string]: unknown;\n}\n/**\n * Use OpenIdConnect authentication.\n */\nexport interface OpenIdConnectAuthenticationPolicy {\n oidc: OpenIdConnectAuthenticationPolicyConfiguration;\n [k: string]: unknown;\n}\n/**\n * Inline configuration of the OAuth2 authentication policy.\n */\nexport interface OpenIdConnectAuthenticationProperties {\n authority?: UriTemplate;\n /**\n * The grant type to use.\n */\n grant?:\n | 'authorization_code'\n | 'client_credentials'\n | 'password'\n | 'refresh_token'\n | 'urn:ietf:params:oauth:grant-type:token-exchange';\n client?: OAuth2AuthenticationDataClient;\n request?: OAuth2TokenRequest;\n issuers?: OAuth2Issuers;\n scopes?: OAuth2AuthenticationDataScopes;\n audiences?: OAuth2AuthenticationDataAudiences;\n /**\n * The username to use. Used only if the grant type is Password.\n */\n username?: string;\n /**\n * The password to use. Used only if the grant type is Password.\n */\n password?: string;\n subject?: OAuth2TokenDefinition;\n actor?: OAuth2TokenDefinition;\n}\n/**\n * Defines the workflow's reusable components.\n */\nexport interface Use {\n authentications?: UseAuthentications;\n errors?: UseErrors;\n extensions?: UseExtensions;\n functions?: UseFunctions;\n retries?: UseRetries;\n secrets?: UseSecrets;\n timeouts?: UseTimeouts;\n catalogs?: UseCatalogs;\n}\n/**\n * The workflow's reusable authentication policies.\n */\nexport interface UseAuthentications {\n [k: string]: AuthenticationPolicy;\n}\n/**\n * The workflow's reusable errors.\n */\nexport interface UseErrors {\n [k: string]: Error;\n}\n/**\n * Represents an error.\n */\nexport interface Error {\n type: ErrorType;\n /**\n * The status code generated by the origin for this occurrence of the error.\n */\n status: number;\n instance?: ErrorInstance;\n title?: ErrorTitle;\n detail?: ErrorDetails;\n}\nexport interface ExtensionItem {\n [k: string]: Extension;\n}\n/**\n * The definition of an extension.\n */\nexport interface Extension {\n /**\n * The type of task to extend.\n */\n extend:\n | 'call'\n | 'composite'\n | 'emit'\n | 'for'\n | 'listen'\n | 'raise'\n | 'run'\n | 'set'\n | 'switch'\n | 'try'\n | 'wait'\n | 'all';\n /**\n * A runtime expression, if any, used to determine whether or not the extension should apply in the specified context.\n */\n when?: string;\n before?: TaskList;\n after?: TaskList;\n}\nexport interface TaskItem {\n [k: string]: Task;\n}\n/**\n * An object inherited by all tasks.\n */\nexport interface TaskBase {\n if?: TaskBaseIf;\n input?: Input;\n output?: Output;\n export?: Export;\n timeout?: TaskTimeout;\n then?: FlowDirective;\n metadata?: TaskMetadata;\n [k: string]: unknown;\n}\n/**\n * Configures the output of a workflow or task.\n */\nexport interface Output {\n schema?: Schema;\n as?: OutputAs;\n}\n/**\n * Set the content of the context. .\n */\nexport interface Export {\n schema?: Schema;\n as?: ExportAs;\n}\n/**\n * The definition of a timeout.\n */\nexport interface Timeout {\n after: Duration;\n}\n/**\n * The inline definition of a duration.\n */\nexport interface DurationInline {\n /**\n * Number of days, if any.\n */\n days?: number;\n /**\n * Number of days, if any.\n */\n hours?: number;\n /**\n * Number of minutes, if any.\n */\n minutes?: number;\n /**\n * Number of seconds, if any.\n */\n seconds?: number;\n /**\n * Number of milliseconds, if any.\n */\n milliseconds?: number;\n}\n/**\n * Holds additional information about the task.\n */\nexport interface TaskMetadata {\n [k: string]: unknown;\n}\n/**\n * The GRPC call arguments.\n */\nexport interface GRPCArguments {\n proto: ExternalResource;\n service: WithGRPCService;\n /**\n * The name of the method to call on the defined GRPC service.\n */\n method: string;\n arguments?: WithGRPCArguments;\n}\nexport interface WithGRPCService {\n /**\n * The name of the GRPC service to call.\n */\n name: string;\n /**\n * The hostname of the GRPC service to call.\n */\n host: string;\n /**\n * The port number of the GRPC service to call.\n */\n port?: number;\n authentication?: ReferenceableAuthenticationPolicy;\n}\n/**\n * The arguments, if any, to call the method with.\n */\nexport interface WithGRPCArguments {\n [k: string]: unknown;\n}\n/**\n * The HTTP call arguments.\n */\nexport interface HTTPArguments {\n /**\n * The HTTP method of the HTTP request to perform.\n */\n method: string;\n endpoint: Endpoint;\n headers?: HTTPHeaders;\n body?: HTTPBody;\n query?: HTTPQuery;\n /**\n * The http call output format. Defaults to 'content'.\n */\n output?: 'raw' | 'content' | 'response';\n /**\n * Specifies whether redirection status codes (`300–399`) should be treated as errors.\n */\n redirect?: boolean;\n}\n/**\n * The body, if any, of the HTTP request to perform.\n */\nexport interface HTTPBody {\n [k: string]: unknown;\n}\n/**\n * The OpenAPI call arguments.\n */\nexport interface OpenAPIArguments {\n document: ExternalResource;\n /**\n * The id of the OpenAPI operation to call.\n */\n operationId: string;\n parameters?: WithOpenAPIParameters;\n authentication?: ReferenceableAuthenticationPolicy;\n /**\n * The http call output format. Defaults to 'content'.\n */\n output?: 'raw' | 'content' | 'response';\n /**\n * Specifies whether redirection status codes (`300–399`) should be treated as errors.\n */\n redirect?: boolean;\n}\n/**\n * A name/value mapping of the parameters of the OpenAPI operation to call.\n */\nexport interface WithOpenAPIParameters {\n [k: string]: unknown;\n}\n/**\n * The A2A call arguments.\n */\nexport interface A2AArguments {\n agentCard?: ExternalResource;\n server?: Endpoint;\n /**\n * The A2A method to send.\n */\n method:\n | 'message/send'\n | 'message/stream'\n | 'tasks/get'\n | 'tasks/list'\n | 'tasks/cancel'\n | 'tasks/resubscribe'\n | 'tasks/pushNotificationConfig/set'\n | 'tasks/pushNotificationConfig/get'\n | 'tasks/pushNotificationConfig/list'\n | 'tasks/pushNotificationConfig/delete'\n | 'agent/getAuthenticatedExtendedCard';\n parameters?: WithA2AParameters;\n}\n/**\n * The MCP call arguments.\n */\nexport interface MCPArguments {\n /**\n * The version of the MCP protocol to use.\n */\n protocolVersion?: string;\n /**\n * The MCP method to call.\n */\n method:\n | 'tools/list'\n | 'tools/call'\n | 'prompts/list'\n | 'prompts/get'\n | 'resources/list'\n | 'resources/read'\n | 'resources/templates/list';\n parameters?: McpMethodParameters;\n timeout?: Duration;\n transport: McpCallTransport;\n client?: McpClient;\n [k: string]: unknown;\n}\n/**\n * Describes the client used to perform the MCP call.\n */\nexport interface McpClient {\n /**\n * The name of the client used to connect to the MCP server.\n */\n name: string;\n /**\n * The version of the client used to connect to the MCP server.\n */\n description?: string;\n [k: string]: unknown;\n}\n/**\n * A name/value mapping of the parameters, if any, to call the function with.\n */\nexport interface FunctionArguments {\n [k: string]: unknown;\n}\n/**\n * The configuration of the branches to perform concurrently.\n */\nexport interface ForkTaskConfiguration {\n branches: TaskList;\n /**\n * Indicates whether or not the concurrent tasks are racing against each other, with a single possible winner, which sets the composite task's output.\n */\n compete?: boolean;\n}\n/**\n * The configuration of an event's emission.\n */\nexport interface EmitTaskConfiguration {\n event: EmitEventDefinition;\n}\n/**\n * The definition of the event to emit.\n */\nexport interface EmitEventDefinition {\n with?: EmitEventWith;\n [k: string]: unknown;\n}\n/**\n * Defines the properties of event to emit.\n */\nexport interface EmitEventWith {\n /**\n * The event's unique identifier.\n */\n id?: string;\n source: EventSource;\n /**\n * This attribute contains a value describing the type of event related to the originating occurrence.\n */\n type: string;\n time?: EventTime;\n /**\n * The subject of the event.\n */\n subject?: string;\n /**\n * Content type of data value. This attribute enables data to carry any type of content, whereby format and encoding might differ from that of the chosen event format.\n */\n datacontenttype?: string;\n dataschema?: EventDataschema;\n data?: EventData;\n [k: string]: unknown;\n}\n/**\n * The definition of the loop that iterates over a range of values.\n */\nexport interface ForTaskConfiguration {\n /**\n * The name of the variable used to store the current item being enumerated.\n */\n each?: string;\n /**\n * A runtime expression used to get the collection to enumerate.\n */\n in: string;\n /**\n * The name of the variable used to store the index of the current item being enumerated.\n */\n at?: string;\n}\n/**\n * The configuration of the listener to use.\n */\nexport interface ListenTaskConfiguration {\n to: EventConsumptionStrategy;\n /**\n * Specifies how events are read during the listen operation.\n */\n read?: 'data' | 'envelope' | 'raw';\n}\nexport interface AllEventConsumptionStrategy {\n all: AllEventConsumptionStrategyConfiguration;\n [k: string]: unknown;\n}\n/**\n * An event filter is a mechanism used to selectively process or handle events based on predefined criteria, such as event type, source, or specific attributes.\n */\nexport interface EventFilter {\n with: WithEvent;\n correlate?: EventFilterCorrelate;\n}\n/**\n * An event filter is a mechanism used to selectively process or handle events based on predefined criteria, such as event type, source, or specific attributes.\n */\nexport interface WithEvent {\n /**\n * The event's unique identifier.\n */\n id?: string;\n source?: EventSource;\n /**\n * This attribute contains a value describing the type of event related to the originating occurrence.\n */\n type?: string;\n time?: EventTime;\n /**\n * The subject of the event.\n */\n subject?: string;\n /**\n * Content type of data value. This attribute enables data to carry any type of content, whereby format and encoding might differ from that of the chosen event format.\n */\n datacontenttype?: string;\n dataschema?: EventDataschema;\n data?: EventData;\n [k: string]: unknown;\n}\n/**\n * A correlation is a link between events and data, established by mapping event attributes to specific data attributes, allowing for coordinated processing or handling based on event characteristics.\n */\nexport interface EventFilterCorrelate {\n [k: string]: {\n /**\n * A runtime expression used to extract the correlation value from the filtered event.\n */\n from: string;\n /**\n * A constant or a runtime expression, if any, used to determine whether or not the extracted correlation value matches expectations. If not set, the first extracted value will be used as the correlation's expectation.\n */\n expect?: string;\n [k: string]: unknown;\n };\n}\nexport interface AnyEventConsumptionStrategy {\n any: AnyEventConsumptionStrategyConfiguration;\n until?: AnyEventConsumptionStrategyUntil;\n [k: string]: unknown;\n}\nexport interface OneEventConsumptionStrategy {\n one: EventFilter;\n [k: string]: unknown;\n}\n/**\n * Configures the iteration over each item (event or message) consumed by a subscription.\n */\nexport interface SubscriptionIterator {\n /**\n * The name of the variable used to store the current item being enumerated.\n */\n item?: string;\n /**\n * The name of the variable used to store the index of the current item being enumerated.\n */\n at?: string;\n do?: TaskList;\n output?: Output;\n export?: Export;\n}\n/**\n * The definition of the error to raise.\n */\nexport interface RaiseTaskConfiguration {\n error: RaiseTaskError;\n}\n/**\n * Enables the execution of external processes encapsulated within a containerized environment.\n */\nexport interface RunContainer {\n container: Container;\n [k: string]: unknown;\n}\n/**\n * The configuration of the container to run.\n */\nexport interface Container {\n /**\n * The name of the container image to run.\n */\n image: string;\n /**\n * A runtime expression, if any, used to give specific name to the container.\n */\n name?: string;\n /**\n * The command, if any, to execute on the container.\n */\n command?: string;\n ports?: ContainerPorts;\n volumes?: ContainerVolumes;\n environment?: ContainerEnvironment;\n /**\n * A runtime expression, if any, passed as standard input (stdin) to the command or default container CMD\n */\n stdin?: string;\n arguments?: ContainerArguments;\n lifetime?: ContainerLifetime;\n /**\n * Policy that controls how the container's image should be pulled from the registry. Defaults to `ifNotPresent`\n */\n pullPolicy?: 'ifNotPresent' | 'always' | 'never';\n}\n/**\n * The container's port mappings, if any.\n */\nexport interface ContainerPorts {\n [k: string]: unknown;\n}\n/**\n * The container's volume mappings, if any.\n */\nexport interface ContainerVolumes {\n [k: string]: unknown;\n}\n/**\n * A key/value mapping of the environment variables, if any, to use when running the configured process.\n */\nexport interface ContainerEnvironment {\n [k: string]: unknown;\n}\n/**\n * The configuration of a container's lifetime\n */\nexport interface ContainerLifetime {\n /**\n * The container cleanup policy to use\n */\n cleanup: 'always' | 'never' | 'eventually';\n after?: Duration;\n}\n/**\n * Enables the execution of custom scripts or code within a workflow, empowering workflows to perform specialized logic, data processing, or integration tasks by executing user-defined scripts written in various programming languages.\n */\nexport interface RunScript {\n script: Script;\n [k: string]: unknown;\n}\n/**\n * The script's code.\n */\nexport interface InlineScript {\n code: string;\n [k: string]: unknown;\n}\n/**\n * The script's resource.\n */\nexport interface ExternalScript {\n source: ExternalResource;\n [k: string]: unknown;\n}\n/**\n * Enables the execution of shell commands within a workflow, enabling workflows to interact with the underlying operating system and perform system-level operations, such as file manipulation, environment configuration, or system administration tasks.\n */\nexport interface RunShell {\n shell: Shell;\n [k: string]: unknown;\n}\n/**\n * The configuration of the shell command to run.\n */\nexport interface Shell {\n /**\n * The shell command to run.\n */\n command: string;\n /**\n * A runtime expression, if any, to the shell command as standard input (stdin).\n */\n stdin?: string;\n arguments?: ShellArguments;\n environment?: ShellEnvironment;\n}\n/**\n * A key/value mapping of the environment variables, if any, to use when running the configured process.\n */\nexport interface ShellEnvironment {\n [k: string]: unknown;\n}\n/**\n * Enables the invocation and execution of nested workflows within a parent workflow, facilitating modularization, reusability, and abstraction of complex logic or business processes by encapsulating them into standalone workflow units.\n */\nexport interface RunWorkflow {\n workflow: SubflowConfiguration;\n [k: string]: unknown;\n}\n/**\n * The configuration of the workflow to run.\n */\nexport interface SubflowConfiguration {\n /**\n * The namespace the workflow to run belongs to.\n */\n namespace: string;\n /**\n * The name of the workflow to run.\n */\n name: string;\n /**\n * The version of the workflow to run. Defaults to latest.\n */\n version: string;\n input?: SubflowInput;\n}\n/**\n * The data, if any, to pass as input to the workflow to execute. The value should be validated against the target workflow's input schema, if specified.\n */\nexport interface SubflowInput {\n [k: string]: unknown;\n}\nexport interface SwitchItem {\n [k: string]: SwitchCase;\n}\n/**\n * The definition of a case within a switch task, defining a condition and corresponding tasks to execute if the condition is met.\n */\nexport interface SwitchCase {\n /**\n * A runtime expression used to determine whether or not the case matches.\n */\n when?: string;\n then: FlowDirective;\n [k: string]: unknown;\n}\n/**\n * The object used to define the errors to catch.\n */\nexport interface TryTaskCatch {\n errors?: CatchErrors;\n /**\n * The name of the runtime expression variable to save the error as. Defaults to 'error'.\n */\n as?: string;\n /**\n * A runtime expression used to determine whether to catch the filtered error.\n */\n when?: string;\n /**\n * A runtime expression used to determine whether not to catch the filtered error.\n */\n exceptWhen?: string;\n retry?: TryTaskCatchRetry;\n do?: TaskList;\n}\n/**\n * static error filter\n */\nexport interface CatchErrors {\n with?: ErrorFilter;\n [k: string]: unknown;\n}\n/**\n * Error filtering base on static values. For error filtering on dynamic values, use catch.when property\n */\nexport interface ErrorFilter {\n /**\n * if present, means this value should be used for filtering\n */\n type?: string;\n /**\n * if present, means this value should be used for filtering\n */\n status?: number;\n /**\n * if present, means this value should be used for filtering\n */\n instance?: string;\n /**\n * if present, means this value should be used for filtering\n */\n title?: string;\n /**\n * if present, means this value should be used for filtering\n */\n details?: string;\n [k: string]: unknown;\n}\n/**\n * Defines a retry policy.\n */\nexport interface RetryPolicy {\n /**\n * A runtime expression, if any, used to determine whether or not to retry running the task, in a given context.\n */\n when?: string;\n /**\n * A runtime expression used to determine whether or not to retry running the task, in a given context.\n */\n exceptWhen?: string;\n delay?: Duration;\n backoff?: RetryBackoff;\n limit?: RetryLimit;\n jitter?: RetryPolicyJitter;\n}\nexport interface ConstantBackoff {\n /**\n * The definition of the constant backoff to use, if any.\n */\n constant: {\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\nexport interface ExponentialBackOff {\n /**\n * The definition of the exponential backoff to use, if any.\n */\n exponential: {\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\nexport interface LinearBackoff {\n /**\n * The definition of the linear backoff to use, if any.\n */\n linear: {\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\n/**\n * The retry limit, if any.\n */\nexport interface RetryLimit {\n attempt?: RetryLimitAttempt;\n duration?: Duration;\n}\nexport interface RetryLimitAttempt {\n /**\n * The maximum amount of retry attempts, if any.\n */\n count?: number;\n duration?: Duration;\n}\n/**\n * The parameters, if any, that control the randomness or variability of the delay between retry attempts.\n */\nexport interface RetryPolicyJitter {\n from: Duration;\n to: Duration;\n}\n/**\n * The workflow's reusable functions.\n */\nexport interface UseFunctions {\n [k: string]: Task;\n}\n/**\n * The workflow's reusable retry policies.\n */\nexport interface UseRetries {\n [k: string]: RetryPolicy;\n}\n/**\n * The workflow's reusable timeouts.\n */\nexport interface UseTimeouts {\n [k: string]: Timeout;\n}\n/**\n * The workflow's reusable catalogs.\n */\nexport interface UseCatalogs {\n [k: string]: Catalog;\n}\n/**\n * The definition of a resource catalog.\n */\nexport interface Catalog {\n endpoint: Endpoint;\n}\n/**\n * Schedules the workflow.\n */\nexport interface Schedule {\n every?: Duration;\n /**\n * Specifies the schedule using a cron expression, e.g., '0 0 * * *' for daily at midnight.\n */\n cron?: string;\n after?: Duration;\n on?: EventConsumptionStrategy;\n}\n"],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEhDxC,MAAa,qBAAqB;CAChC,UAAU;CACV,cACE;CACF,6BACE;CACF,0CACE;CACF,6BACE;CACF,0CACE;CACF,kCACE;CACF,uBACE;CACF,mBACE;CACF,sBAAsB;CACtB,+BACE;CACF,2BACE;CACF,wCACE;CACF,+BACE;CACF,4BACE;CACF,yCACE;CACF,gCACE;CACF,SAAS;CACT,cAAc;CACd,cAAc;CACd,UAAU;CACV,UAAU;CACV,SAAS;CACT,aAAa;CACb,UAAU;CACV,SAAS;CACT,aACE;CACF,iBACE;CACF,WACE;CACF,oBACE;CACF,sBACE;CACF,mBACE;CACF,gBACE;CACF,kBACE;CACF,4BACE;CACF,yCACE;CACF,gCACE;CACF,UAAU;CACV,QAAQ;CACR,UAAU;CACV,gBAAgB;CAChB,qBACE;CACF,eACE;CACF,UAAU;CACV,uBACE;CACF,UAAU;CACV,uBAAuB;CACvB,aAAa;CACb,OAAO;CACP,cAAc;CACd,aAAa;CACb,eAAe;CACf,YAAY;CACZ,WAAW;CACX,0BAA0B;CAC1B,WAAW;CACX,iBACE;CACF,aAAa;CACb,sBACE;CACF,aAAa;CACb,WAAW;CACX,oBACE;CACF,QAAQ;CACR,UAAU;CACV,WAAW;CACX,eACE;CACF,kBAAkB;CAClB,gBACE;CACF,eAAe;CACf,UAAU;CACV,uBACE;CACF,SAAS;CACT,sBACE;CACF,mBACE;CACF,eACE;CACF,eACE;CACF,UACE;CACF,aACE;CACF,WACE;CACF,cACE;CACF,OAAO;CACP,WAAW;CACX,eACE;CACF,YAAY;CACZ,yBACE;CACF,cACE;CACF,kBACE;CACF,WACE;CACF,qBACE;CACF,0BACE;CACF,mCACE;CACF,gCACE;CACF,gCACE;CACF,4BACE;CACF,yCACE;CACF,yCACE;CACF,uCACE;CACF,eACE;CACF,uBAAuB;CACvB,oBACE;CACF,6BACE;CACF,kBACE;CACF,mCACE;CACF,gDACE;CACF,uCACE;CACF,QAAQ;CACR,UAAU;CACV,WAAW;CACX,wBACE;CACF,gBACE;CACF,mCACE;CACF,cAAc;CACd,YAAY;CACZ,mBACE;CACF,aAAa;CACb,mBAAmB;CACnB,cACE;CACF,WAAW;CACX,UAAU;CACV,SAAS;CACT,sBACE;CACF,mBAAmB;CACnB,aACE;CACF,UAAU;CACV,QAAQ;CACR,gBAAgB;CAChB,cAAc;CACd,QACE;CACF,iCACE;CACF,SAAS;CACT,sBACE;CACF,OACE;CACF,gBACE;CACF,kBACE;CACF,sBACE;CACF,cACE;CACF,sBAAsB;CACtB,YACE;CACF,YACE;CACF,YAAY;CACZ,yBACE;CACF,MAAM;CACN,UAAU;CACV,YAAY;CACZ,UAAU;CACV,UAAU;CACV,cAAc;CACd,aAAa;CACb,SAAS;CACT,SAAS;CACT,cAAc;CACd,mBACE;CACF,aAAa;CACb,KAAK;CACL,oBACE;CACF,aAAa;CACb,WAAW;CACX,eAAe;CACf,cAAc;CACd,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,UAAU;CACV,mBACE;CACF,WAAW;CACX,mBACE;CACF,iBACE;CACF,uBACE;CACF,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"}