@decaf-ts/integrations 0.3.3 → 0.3.5

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 (643) hide show
  1. package/dist/integrations.cjs +48 -2
  2. package/dist/integrations.js +49 -2
  3. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
  4. package/lib/cjs/blob/azure/index.cjs +2 -2
  5. package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
  6. package/lib/cjs/blob/core/BlobKey.cjs +2 -2
  7. package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
  8. package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
  9. package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
  10. package/lib/cjs/blob/core/BlobValue.cjs +2 -2
  11. package/lib/cjs/blob/core/index.cjs +2 -2
  12. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
  13. package/lib/cjs/blob/gcp/index.cjs +2 -2
  14. package/lib/cjs/blob/index.cjs +2 -2
  15. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
  16. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
  17. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
  18. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
  19. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
  20. package/lib/cjs/blob/ipfs/index.cjs +2 -2
  21. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
  22. package/lib/cjs/blob/local/index.cjs +2 -2
  23. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
  24. package/lib/cjs/blob/memory/index.cjs +2 -2
  25. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
  26. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
  27. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
  28. package/lib/cjs/blob/s3/index.cjs +2 -2
  29. package/lib/cjs/docker/DockerComposeService.cjs +2 -2
  30. package/lib/cjs/docker/index.cjs +2 -2
  31. package/lib/cjs/graph/constants.cjs +2 -2
  32. package/lib/cjs/graph/decorators.cjs +2 -2
  33. package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
  34. package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
  35. package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
  36. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
  37. package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
  38. package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
  39. package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
  40. package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
  41. package/lib/cjs/graph/errors/index.cjs +2 -2
  42. package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
  43. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
  44. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
  45. package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
  46. package/lib/cjs/graph/events/index.cjs +2 -2
  47. package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
  48. package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
  49. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +4 -2
  50. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
  51. package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
  52. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
  53. package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +95 -0
  54. package/lib/cjs/graph/execution/index.cjs +4 -2
  55. package/lib/cjs/graph/index.cjs +7 -2
  56. package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
  57. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
  58. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
  59. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
  60. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
  61. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
  62. package/lib/cjs/graph/loops/index.cjs +3 -2
  63. package/lib/cjs/graph/nodes/agent.cjs +110 -0
  64. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  65. package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
  66. package/lib/cjs/graph/nodes/index.cjs +34 -0
  67. package/lib/cjs/graph/nodes/triggers.cjs +250 -0
  68. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
  69. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
  70. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
  71. package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
  72. package/lib/cjs/graph/pinning/index.cjs +2 -2
  73. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
  74. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
  75. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
  76. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
  77. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
  78. package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
  79. package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
  80. package/lib/cjs/graph/planning/index.cjs +2 -2
  81. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
  82. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
  83. package/lib/cjs/graph/registry/index.cjs +2 -2
  84. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
  85. package/lib/cjs/graph/snapshots/index.cjs +2 -2
  86. package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
  87. package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
  88. package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
  89. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
  90. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
  91. package/lib/cjs/graph/store/index.cjs +2 -2
  92. package/lib/cjs/graph/types.cjs +2 -2
  93. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
  94. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
  95. package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
  96. package/lib/cjs/graph/validation/index.cjs +2 -2
  97. package/lib/cjs/index.cjs +5 -5
  98. package/lib/cjs/keycloak/index.cjs +2 -2
  99. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
  100. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
  101. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
  102. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
  103. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
  104. package/lib/cjs/keycloak/services/KeycloakService.cjs +16 -13
  105. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
  106. package/lib/cjs/keycloak/services/index.cjs +2 -2
  107. package/lib/cjs/keycloak/services/runtime.cjs +20 -0
  108. package/lib/cjs/keycloak/types.cjs +2 -2
  109. package/lib/cjs/kibana/helpers.cjs +2 -2
  110. package/lib/cjs/kibana/index.cjs +2 -2
  111. package/lib/cjs/kibana/services/KibanaAuthService.cjs +6 -5
  112. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
  113. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
  114. package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
  115. package/lib/cjs/kibana/services/KibanaService.cjs +13 -10
  116. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
  117. package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
  118. package/lib/cjs/kibana/services/index.cjs +2 -2
  119. package/lib/cjs/kibana/services/runtime.cjs +20 -0
  120. package/lib/cjs/kibana/types.cjs +2 -2
  121. package/lib/cjs/nest/authService.cjs +2 -2
  122. package/lib/cjs/nest/index.cjs +2 -2
  123. package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
  124. package/lib/cjs/nest/keycloakModule.cjs +2 -2
  125. package/lib/cjs/nest/logging.cjs +2 -2
  126. package/lib/cjs/nest/types.cjs +2 -2
  127. package/lib/cjs/nest/utils.cjs +2 -2
  128. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
  129. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
  130. package/lib/cjs/secrets/aws/index.cjs +2 -2
  131. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
  132. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
  133. package/lib/cjs/secrets/azure/index.cjs +2 -2
  134. package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
  135. package/lib/cjs/secrets/core/SecretName.cjs +2 -2
  136. package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
  137. package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
  138. package/lib/cjs/secrets/core/SecretService.cjs +2 -2
  139. package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
  140. package/lib/cjs/secrets/core/index.cjs +2 -2
  141. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
  142. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
  143. package/lib/cjs/secrets/gcp/index.cjs +2 -2
  144. package/lib/cjs/secrets/index.cjs +2 -2
  145. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
  146. package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
  147. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
  148. package/lib/cjs/secrets/model/Secret.cjs +2 -2
  149. package/lib/cjs/secrets/model/index.cjs +2 -2
  150. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
  151. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
  152. package/lib/cjs/secrets/onepassword/index.cjs +2 -2
  153. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
  154. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
  155. package/lib/cjs/secrets/vault/index.cjs +2 -2
  156. package/lib/cjs/shared/runtime.cjs +2 -2
  157. package/lib/cjs/utils.cjs +2 -2
  158. package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
  159. package/lib/esm/blob/azure/index.js +1 -1
  160. package/lib/esm/blob/core/BlobErrors.js +1 -1
  161. package/lib/esm/blob/core/BlobKey.js +1 -1
  162. package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
  163. package/lib/esm/blob/core/BlobStoreService.js +1 -1
  164. package/lib/esm/blob/core/BlobTypes.js +1 -1
  165. package/lib/esm/blob/core/BlobValue.js +1 -1
  166. package/lib/esm/blob/core/index.js +1 -1
  167. package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
  168. package/lib/esm/blob/gcp/index.js +1 -1
  169. package/lib/esm/blob/index.js +1 -1
  170. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
  171. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
  172. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
  173. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
  174. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
  175. package/lib/esm/blob/ipfs/index.js +1 -1
  176. package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
  177. package/lib/esm/blob/local/index.js +1 -1
  178. package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
  179. package/lib/esm/blob/memory/index.js +1 -1
  180. package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
  181. package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
  182. package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
  183. package/lib/esm/blob/s3/index.js +1 -1
  184. package/lib/esm/docker/DockerComposeService.js +1 -1
  185. package/lib/esm/docker/index.js +1 -1
  186. package/lib/esm/graph/constants.js +1 -1
  187. package/lib/esm/graph/decorators.js +1 -1
  188. package/lib/esm/graph/errors/GraphCycleError.js +1 -1
  189. package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
  190. package/lib/esm/graph/errors/GraphInputError.js +1 -1
  191. package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
  192. package/lib/esm/graph/errors/GraphPinningError.js +1 -1
  193. package/lib/esm/graph/errors/GraphPortError.js +1 -1
  194. package/lib/esm/graph/errors/GraphStoreError.js +1 -1
  195. package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
  196. package/lib/esm/graph/errors/index.js +1 -1
  197. package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
  198. package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
  199. package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
  200. package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
  201. package/lib/esm/graph/events/index.js +1 -1
  202. package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
  203. package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
  204. package/lib/esm/graph/execution/GraphExecutionEngine.js +3 -1
  205. package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
  206. package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
  207. package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
  208. package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +90 -0
  209. package/lib/esm/graph/execution/index.js +3 -1
  210. package/lib/esm/graph/index.js +6 -1
  211. package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
  212. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
  213. package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
  214. package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
  215. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
  216. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
  217. package/lib/esm/graph/loops/index.js +2 -1
  218. package/lib/esm/graph/nodes/agent.js +101 -0
  219. package/lib/esm/graph/nodes/category-styles.js +34 -0
  220. package/lib/esm/graph/nodes/flow-control.js +427 -0
  221. package/lib/esm/graph/nodes/index.js +17 -0
  222. package/lib/esm/graph/nodes/triggers.js +241 -0
  223. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
  224. package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
  225. package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
  226. package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
  227. package/lib/esm/graph/pinning/index.js +1 -1
  228. package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
  229. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
  230. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
  231. package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
  232. package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
  233. package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
  234. package/lib/esm/graph/planning/GraphTopology.js +1 -1
  235. package/lib/esm/graph/planning/index.js +1 -1
  236. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
  237. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
  238. package/lib/esm/graph/registry/index.js +1 -1
  239. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
  240. package/lib/esm/graph/snapshots/index.js +1 -1
  241. package/lib/esm/graph/store/GraphCachedValue.js +1 -1
  242. package/lib/esm/graph/store/GraphValueKey.js +1 -1
  243. package/lib/esm/graph/store/GraphValueStore.js +1 -1
  244. package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
  245. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
  246. package/lib/esm/graph/store/index.js +1 -1
  247. package/lib/esm/graph/types.js +1 -1
  248. package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
  249. package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
  250. package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
  251. package/lib/esm/graph/validation/index.js +1 -1
  252. package/lib/esm/index.js +4 -4
  253. package/lib/esm/keycloak/index.js +1 -1
  254. package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
  255. package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
  256. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
  257. package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
  258. package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
  259. package/lib/esm/keycloak/services/KeycloakService.js +15 -12
  260. package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
  261. package/lib/esm/keycloak/services/index.js +1 -1
  262. package/lib/esm/keycloak/services/runtime.js +15 -0
  263. package/lib/esm/keycloak/types.js +1 -1
  264. package/lib/esm/kibana/helpers.js +1 -1
  265. package/lib/esm/kibana/index.js +1 -1
  266. package/lib/esm/kibana/services/KibanaAuthService.js +5 -4
  267. package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
  268. package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
  269. package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
  270. package/lib/esm/kibana/services/KibanaService.js +12 -9
  271. package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
  272. package/lib/esm/kibana/services/KibanaUserService.js +4 -3
  273. package/lib/esm/kibana/services/index.js +1 -1
  274. package/lib/esm/kibana/services/runtime.js +15 -0
  275. package/lib/esm/kibana/types.js +1 -1
  276. package/lib/esm/nest/authService.js +1 -1
  277. package/lib/esm/nest/index.js +1 -1
  278. package/lib/esm/nest/keycloakAuthHandler.js +1 -1
  279. package/lib/esm/nest/keycloakModule.js +1 -1
  280. package/lib/esm/nest/logging.js +1 -1
  281. package/lib/esm/nest/types.js +1 -1
  282. package/lib/esm/nest/utils.js +1 -1
  283. package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
  284. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
  285. package/lib/esm/secrets/aws/index.js +1 -1
  286. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
  287. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
  288. package/lib/esm/secrets/azure/index.js +1 -1
  289. package/lib/esm/secrets/core/SecretErrors.js +1 -1
  290. package/lib/esm/secrets/core/SecretName.js +1 -1
  291. package/lib/esm/secrets/core/SecretReference.js +1 -1
  292. package/lib/esm/secrets/core/SecretSerialization.js +1 -1
  293. package/lib/esm/secrets/core/SecretService.js +1 -1
  294. package/lib/esm/secrets/core/SecretTypes.js +1 -1
  295. package/lib/esm/secrets/core/index.js +1 -1
  296. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
  297. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
  298. package/lib/esm/secrets/gcp/index.js +1 -1
  299. package/lib/esm/secrets/index.js +1 -1
  300. package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
  301. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  302. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
  303. package/lib/esm/secrets/model/Secret.js +1 -1
  304. package/lib/esm/secrets/model/index.js +1 -1
  305. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
  306. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
  307. package/lib/esm/secrets/onepassword/index.js +1 -1
  308. package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
  309. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
  310. package/lib/esm/secrets/vault/index.js +1 -1
  311. package/lib/esm/shared/runtime.js +1 -1
  312. package/lib/esm/utils.js +1 -1
  313. package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
  314. package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
  315. package/lib/types/graph/execution/GraphExecutionEngine.d.cts +17 -0
  316. package/lib/types/graph/execution/GraphExecutionEngine.d.mts +17 -0
  317. package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
  318. package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
  319. package/lib/types/graph/execution/index.d.cts +2 -0
  320. package/lib/types/graph/execution/index.d.mts +2 -0
  321. package/lib/types/graph/index.d.cts +4 -0
  322. package/lib/types/graph/index.d.mts +4 -0
  323. package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
  324. package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
  325. package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
  326. package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
  327. package/lib/types/graph/loops/index.d.cts +1 -0
  328. package/lib/types/graph/loops/index.d.mts +1 -0
  329. package/lib/types/graph/nodes/agent.d.cts +44 -0
  330. package/lib/types/graph/nodes/agent.d.mts +44 -0
  331. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  332. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  333. package/lib/types/graph/nodes/flow-control.d.cts +104 -0
  334. package/lib/types/graph/nodes/flow-control.d.mts +104 -0
  335. package/lib/types/graph/nodes/index.d.cts +16 -0
  336. package/lib/types/graph/nodes/index.d.mts +16 -0
  337. package/lib/types/graph/nodes/triggers.d.cts +53 -0
  338. package/lib/types/graph/nodes/triggers.d.mts +53 -0
  339. package/lib/types/graph/types.d.cts +102 -0
  340. package/lib/types/graph/types.d.mts +102 -0
  341. package/lib/types/index.d.cts +2 -2
  342. package/lib/types/index.d.mts +2 -2
  343. package/lib/types/keycloak/services/KeycloakService.d.cts +1 -1
  344. package/lib/types/keycloak/services/KeycloakService.d.mts +1 -1
  345. package/lib/types/keycloak/services/runtime.d.cts +6 -0
  346. package/lib/types/keycloak/services/runtime.d.mts +6 -0
  347. package/lib/types/kibana/services/KibanaService.d.cts +1 -1
  348. package/lib/types/kibana/services/KibanaService.d.mts +1 -1
  349. package/lib/types/kibana/services/runtime.d.cts +6 -0
  350. package/lib/types/kibana/services/runtime.d.mts +6 -0
  351. package/package.json +1 -1
  352. package/dist/integrations.cjs.map +0 -1
  353. package/dist/integrations.js.map +0 -1
  354. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
  355. package/lib/cjs/blob/azure/index.cjs.map +0 -1
  356. package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
  357. package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
  358. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
  359. package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
  360. package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
  361. package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
  362. package/lib/cjs/blob/core/index.cjs.map +0 -1
  363. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
  364. package/lib/cjs/blob/gcp/index.cjs.map +0 -1
  365. package/lib/cjs/blob/index.cjs.map +0 -1
  366. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
  367. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
  368. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
  369. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
  370. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
  371. package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
  372. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
  373. package/lib/cjs/blob/local/index.cjs.map +0 -1
  374. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
  375. package/lib/cjs/blob/memory/index.cjs.map +0 -1
  376. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
  377. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
  378. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
  379. package/lib/cjs/blob/s3/index.cjs.map +0 -1
  380. package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
  381. package/lib/cjs/docker/index.cjs.map +0 -1
  382. package/lib/cjs/graph/constants.cjs.map +0 -1
  383. package/lib/cjs/graph/decorators.cjs.map +0 -1
  384. package/lib/cjs/graph/errors/GraphCycleError.cjs.map +0 -1
  385. package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +0 -1
  386. package/lib/cjs/graph/errors/GraphInputError.cjs.map +0 -1
  387. package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +0 -1
  388. package/lib/cjs/graph/errors/GraphPinningError.cjs.map +0 -1
  389. package/lib/cjs/graph/errors/GraphPortError.cjs.map +0 -1
  390. package/lib/cjs/graph/errors/GraphStoreError.cjs.map +0 -1
  391. package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +0 -1
  392. package/lib/cjs/graph/errors/index.cjs.map +0 -1
  393. package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +0 -1
  394. package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +0 -1
  395. package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +0 -1
  396. package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +0 -1
  397. package/lib/cjs/graph/events/index.cjs.map +0 -1
  398. package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +0 -1
  399. package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +0 -1
  400. package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +0 -1
  401. package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +0 -1
  402. package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +0 -1
  403. package/lib/cjs/graph/execution/index.cjs.map +0 -1
  404. package/lib/cjs/graph/index.cjs.map +0 -1
  405. package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
  406. package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +0 -1
  407. package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +0 -1
  408. package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +0 -1
  409. package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +0 -1
  410. package/lib/cjs/graph/loops/index.cjs.map +0 -1
  411. package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
  412. package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +0 -1
  413. package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +0 -1
  414. package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +0 -1
  415. package/lib/cjs/graph/pinning/index.cjs.map +0 -1
  416. package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +0 -1
  417. package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +0 -1
  418. package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +0 -1
  419. package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +0 -1
  420. package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +0 -1
  421. package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +0 -1
  422. package/lib/cjs/graph/planning/GraphTopology.cjs.map +0 -1
  423. package/lib/cjs/graph/planning/index.cjs.map +0 -1
  424. package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
  425. package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +0 -1
  426. package/lib/cjs/graph/registry/index.cjs.map +0 -1
  427. package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
  428. package/lib/cjs/graph/snapshots/index.cjs.map +0 -1
  429. package/lib/cjs/graph/store/GraphCachedValue.cjs.map +0 -1
  430. package/lib/cjs/graph/store/GraphValueKey.cjs.map +0 -1
  431. package/lib/cjs/graph/store/GraphValueStore.cjs.map +0 -1
  432. package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +0 -1
  433. package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
  434. package/lib/cjs/graph/store/index.cjs.map +0 -1
  435. package/lib/cjs/graph/types.cjs.map +0 -1
  436. package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +0 -1
  437. package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +0 -1
  438. package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +0 -1
  439. package/lib/cjs/graph/validation/index.cjs.map +0 -1
  440. package/lib/cjs/index.cjs.map +0 -1
  441. package/lib/cjs/keycloak/index.cjs.map +0 -1
  442. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
  443. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
  444. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
  445. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
  446. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
  447. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
  448. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
  449. package/lib/cjs/keycloak/services/index.cjs.map +0 -1
  450. package/lib/cjs/keycloak/types.cjs.map +0 -1
  451. package/lib/cjs/kibana/helpers.cjs.map +0 -1
  452. package/lib/cjs/kibana/index.cjs.map +0 -1
  453. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
  454. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
  455. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
  456. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
  457. package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
  458. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
  459. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
  460. package/lib/cjs/kibana/services/index.cjs.map +0 -1
  461. package/lib/cjs/kibana/types.cjs.map +0 -1
  462. package/lib/cjs/nest/authService.cjs.map +0 -1
  463. package/lib/cjs/nest/index.cjs.map +0 -1
  464. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
  465. package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
  466. package/lib/cjs/nest/logging.cjs.map +0 -1
  467. package/lib/cjs/nest/types.cjs.map +0 -1
  468. package/lib/cjs/nest/utils.cjs.map +0 -1
  469. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
  470. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
  471. package/lib/cjs/secrets/aws/index.cjs.map +0 -1
  472. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
  473. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
  474. package/lib/cjs/secrets/azure/index.cjs.map +0 -1
  475. package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
  476. package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
  477. package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
  478. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
  479. package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
  480. package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
  481. package/lib/cjs/secrets/core/index.cjs.map +0 -1
  482. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
  483. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
  484. package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
  485. package/lib/cjs/secrets/index.cjs.map +0 -1
  486. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
  487. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
  488. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
  489. package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
  490. package/lib/cjs/secrets/model/index.cjs.map +0 -1
  491. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
  492. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
  493. package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
  494. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
  495. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
  496. package/lib/cjs/secrets/vault/index.cjs.map +0 -1
  497. package/lib/cjs/shared/runtime.cjs.map +0 -1
  498. package/lib/cjs/utils.cjs.map +0 -1
  499. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
  500. package/lib/esm/blob/azure/index.js.map +0 -1
  501. package/lib/esm/blob/core/BlobErrors.js.map +0 -1
  502. package/lib/esm/blob/core/BlobKey.js.map +0 -1
  503. package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
  504. package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
  505. package/lib/esm/blob/core/BlobTypes.js.map +0 -1
  506. package/lib/esm/blob/core/BlobValue.js.map +0 -1
  507. package/lib/esm/blob/core/index.js.map +0 -1
  508. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
  509. package/lib/esm/blob/gcp/index.js.map +0 -1
  510. package/lib/esm/blob/index.js.map +0 -1
  511. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
  512. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
  513. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
  514. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
  515. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
  516. package/lib/esm/blob/ipfs/index.js.map +0 -1
  517. package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
  518. package/lib/esm/blob/local/index.js.map +0 -1
  519. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
  520. package/lib/esm/blob/memory/index.js.map +0 -1
  521. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
  522. package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
  523. package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
  524. package/lib/esm/blob/s3/index.js.map +0 -1
  525. package/lib/esm/docker/DockerComposeService.js.map +0 -1
  526. package/lib/esm/docker/index.js.map +0 -1
  527. package/lib/esm/graph/constants.js.map +0 -1
  528. package/lib/esm/graph/decorators.js.map +0 -1
  529. package/lib/esm/graph/errors/GraphCycleError.js.map +0 -1
  530. package/lib/esm/graph/errors/GraphExecutionError.js.map +0 -1
  531. package/lib/esm/graph/errors/GraphInputError.js.map +0 -1
  532. package/lib/esm/graph/errors/GraphLoopLimitError.js.map +0 -1
  533. package/lib/esm/graph/errors/GraphPinningError.js.map +0 -1
  534. package/lib/esm/graph/errors/GraphPortError.js.map +0 -1
  535. package/lib/esm/graph/errors/GraphStoreError.js.map +0 -1
  536. package/lib/esm/graph/errors/GraphTopologyError.js.map +0 -1
  537. package/lib/esm/graph/errors/index.js.map +0 -1
  538. package/lib/esm/graph/events/GraphExecutionEvent.js.map +0 -1
  539. package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +0 -1
  540. package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +0 -1
  541. package/lib/esm/graph/events/GraphExecutionObserver.js.map +0 -1
  542. package/lib/esm/graph/events/index.js.map +0 -1
  543. package/lib/esm/graph/execution/GraphExecutionContext.js.map +0 -1
  544. package/lib/esm/graph/execution/GraphExecutionEngine.js.map +0 -1
  545. package/lib/esm/graph/execution/GraphExecutionFrame.js.map +0 -1
  546. package/lib/esm/graph/execution/GraphExecutionResult.js.map +0 -1
  547. package/lib/esm/graph/execution/GraphNodeExecutor.js.map +0 -1
  548. package/lib/esm/graph/execution/index.js.map +0 -1
  549. package/lib/esm/graph/index.js.map +0 -1
  550. package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +0 -1
  551. package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +0 -1
  552. package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +0 -1
  553. package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +0 -1
  554. package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +0 -1
  555. package/lib/esm/graph/loops/index.js.map +0 -1
  556. package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +0 -1
  557. package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +0 -1
  558. package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +0 -1
  559. package/lib/esm/graph/pinning/GraphPinningService.js.map +0 -1
  560. package/lib/esm/graph/pinning/index.js.map +0 -1
  561. package/lib/esm/graph/planning/GraphExecutionPlan.js.map +0 -1
  562. package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +0 -1
  563. package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +0 -1
  564. package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +0 -1
  565. package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +0 -1
  566. package/lib/esm/graph/planning/GraphRelationResolver.js.map +0 -1
  567. package/lib/esm/graph/planning/GraphTopology.js.map +0 -1
  568. package/lib/esm/graph/planning/index.js.map +0 -1
  569. package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +0 -1
  570. package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +0 -1
  571. package/lib/esm/graph/registry/index.js.map +0 -1
  572. package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
  573. package/lib/esm/graph/snapshots/index.js.map +0 -1
  574. package/lib/esm/graph/store/GraphCachedValue.js.map +0 -1
  575. package/lib/esm/graph/store/GraphValueKey.js.map +0 -1
  576. package/lib/esm/graph/store/GraphValueStore.js.map +0 -1
  577. package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +0 -1
  578. package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
  579. package/lib/esm/graph/store/index.js.map +0 -1
  580. package/lib/esm/graph/types.js.map +0 -1
  581. package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +0 -1
  582. package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +0 -1
  583. package/lib/esm/graph/validation/GraphValueValidator.js.map +0 -1
  584. package/lib/esm/graph/validation/index.js.map +0 -1
  585. package/lib/esm/index.js.map +0 -1
  586. package/lib/esm/keycloak/index.js.map +0 -1
  587. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
  588. package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
  589. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
  590. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
  591. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
  592. package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
  593. package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
  594. package/lib/esm/keycloak/services/index.js.map +0 -1
  595. package/lib/esm/keycloak/types.js.map +0 -1
  596. package/lib/esm/kibana/helpers.js.map +0 -1
  597. package/lib/esm/kibana/index.js.map +0 -1
  598. package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
  599. package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
  600. package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
  601. package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
  602. package/lib/esm/kibana/services/KibanaService.js.map +0 -1
  603. package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
  604. package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
  605. package/lib/esm/kibana/services/index.js.map +0 -1
  606. package/lib/esm/kibana/types.js.map +0 -1
  607. package/lib/esm/nest/authService.js.map +0 -1
  608. package/lib/esm/nest/index.js.map +0 -1
  609. package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
  610. package/lib/esm/nest/keycloakModule.js.map +0 -1
  611. package/lib/esm/nest/logging.js.map +0 -1
  612. package/lib/esm/nest/types.js.map +0 -1
  613. package/lib/esm/nest/utils.js.map +0 -1
  614. package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
  615. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
  616. package/lib/esm/secrets/aws/index.js.map +0 -1
  617. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
  618. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
  619. package/lib/esm/secrets/azure/index.js.map +0 -1
  620. package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
  621. package/lib/esm/secrets/core/SecretName.js.map +0 -1
  622. package/lib/esm/secrets/core/SecretReference.js.map +0 -1
  623. package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
  624. package/lib/esm/secrets/core/SecretService.js.map +0 -1
  625. package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
  626. package/lib/esm/secrets/core/index.js.map +0 -1
  627. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
  628. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
  629. package/lib/esm/secrets/gcp/index.js.map +0 -1
  630. package/lib/esm/secrets/index.js.map +0 -1
  631. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
  632. package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
  633. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
  634. package/lib/esm/secrets/model/Secret.js.map +0 -1
  635. package/lib/esm/secrets/model/index.js.map +0 -1
  636. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
  637. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
  638. package/lib/esm/secrets/onepassword/index.js.map +0 -1
  639. package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
  640. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
  641. package/lib/esm/secrets/vault/index.js.map +0 -1
  642. package/lib/esm/shared/runtime.js.map +0 -1
  643. package/lib/esm/utils.js.map +0 -1
@@ -0,0 +1,427 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ /**
11
+ * @module integrations/graph/nodes/flow-control
12
+ * @summary Production flow-control node kind declarations (DECAF-32 §22.2.2).
13
+ * @description Canonical `@node`-decorated classes for the ten ALFRED-5
14
+ * flow-control kinds. These are graph-level macros: the engine's planner
15
+ * recognises them as ordinary executable nodes (§5.7) but they have no
16
+ * built-in executors — downstream projects (e.g. ALFRED) register custom
17
+ * executors or compile them into Mastra composition APIs (§22.2.2).
18
+ *
19
+ * The three loop kinds (`core.loop.foreach/while/until`) already have built-in
20
+ * executors (§5.9) and are NOT redeclared here.
21
+ */
22
+ import { Model, model, required } from "@decaf-ts/decorator-validation";
23
+ import { uielement } from "@decaf-ts/ui-decorators";
24
+ import { input, node, output } from "@decaf-ts/ui-decorators/graph";
25
+ /**
26
+ * If — conditional branch. Evaluates a `ConditionExpression` (§22.3) and
27
+ * routes the input to the `then` or `else` output.
28
+ */
29
+ let IfFlowNode = class IfFlowNode extends Model {
30
+ };
31
+ __decorate([
32
+ required(),
33
+ uielement("textarea", { label: "Input value", placeholder: "Value to evaluate" }),
34
+ input({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], IfFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ required(),
39
+ uielement("input", { label: "Then", placeholder: "Output when condition is true" }),
40
+ output({ handle: "then" }),
41
+ __metadata("design:type", Object)
42
+ ], IfFlowNode.prototype, "then", void 0);
43
+ __decorate([
44
+ required(),
45
+ uielement("input", { label: "Else", placeholder: "Output when condition is false" }),
46
+ output({ handle: "else" }),
47
+ __metadata("design:type", Object)
48
+ ], IfFlowNode.prototype, "else", void 0);
49
+ IfFlowNode = __decorate([
50
+ node("core.flow.if", {
51
+ kind: "core.flow.if",
52
+ category: "Flow Control",
53
+ color: "#f59e0b",
54
+ icon: "ti-arrows-split-2",
55
+ width: 96,
56
+ height: 96,
57
+ labels: ["flow", "conditional", "branch"],
58
+ metadata: {
59
+ title: "If",
60
+ description: "Conditional branch. Evaluates the configured condition and routes the input to the matching output.",
61
+ condition: { op: "eq", left: { const: true }, right: { const: true } },
62
+ },
63
+ }),
64
+ model()
65
+ ], IfFlowNode);
66
+ export { IfFlowNode };
67
+ /**
68
+ * Switch — multi-branch. Routes the input to one of the case output ports
69
+ * or `default` based on matching conditions. Each case defines a
70
+ * {@link SwitchCaseCondition} (graphical or code mode) and a dedicated
71
+ * output port. Cases are stored in `metadata.switch.cases` and the
72
+ * renderer creates dynamic output ports from them (DECAF-32 §22.2.2).
73
+ *
74
+ * The node grows in height as cases are added. Each case gets its own
75
+ * output port on the right side, labeled with the case label.
76
+ */
77
+ let SwitchFlowNode = class SwitchFlowNode extends Model {
78
+ };
79
+ __decorate([
80
+ required(),
81
+ uielement("textarea", { label: "Input value", placeholder: "Value to switch on" }),
82
+ input({ handle: "value" }),
83
+ __metadata("design:type", Object)
84
+ ], SwitchFlowNode.prototype, "value", void 0);
85
+ __decorate([
86
+ required(),
87
+ uielement("input", { label: "Default", placeholder: "Default output when no case matches" }),
88
+ output({ handle: "default" }),
89
+ __metadata("design:type", Object)
90
+ ], SwitchFlowNode.prototype, "default", void 0);
91
+ SwitchFlowNode = __decorate([
92
+ node("core.flow.switch", {
93
+ kind: "core.flow.switch",
94
+ category: "Flow Control",
95
+ color: "#f97316",
96
+ icon: "ti-arrows-shuffle",
97
+ width: 120,
98
+ height: 140,
99
+ labels: ["flow", "switch", "multi-branch"],
100
+ metadata: {
101
+ title: "Switch",
102
+ description: "Multi-branch switch. Routes the input to the first matching case output, or the default output.",
103
+ switch: {
104
+ cases: [],
105
+ defaultPort: "default",
106
+ },
107
+ },
108
+ }),
109
+ model()
110
+ ], SwitchFlowNode);
111
+ export { SwitchFlowNode };
112
+ /**
113
+ * Parallel — splits execution into concurrent branches.
114
+ */
115
+ let ParallelFlowNode = class ParallelFlowNode extends Model {
116
+ };
117
+ __decorate([
118
+ required(),
119
+ uielement("textarea", { label: "Input value", placeholder: "Value to fan out" }),
120
+ input({ handle: "value" }),
121
+ __metadata("design:type", Object)
122
+ ], ParallelFlowNode.prototype, "value", void 0);
123
+ __decorate([
124
+ required(),
125
+ uielement("input", { label: "Branches", placeholder: "Collected branch outputs" }),
126
+ output({ handle: "branches" }),
127
+ __metadata("design:type", Array)
128
+ ], ParallelFlowNode.prototype, "branches", void 0);
129
+ ParallelFlowNode = __decorate([
130
+ node("core.flow.parallel", {
131
+ kind: "core.flow.parallel",
132
+ category: "Flow Control",
133
+ color: "#06b6d4",
134
+ icon: "ti-arrows-vertical",
135
+ width: 96,
136
+ height: 96,
137
+ labels: ["flow", "parallel", "concurrent"],
138
+ metadata: {
139
+ title: "Parallel",
140
+ description: "Splits execution into concurrent branches. All branches run in parallel and outputs are collected.",
141
+ branchCount: 2,
142
+ },
143
+ }),
144
+ model()
145
+ ], ParallelFlowNode);
146
+ export { ParallelFlowNode };
147
+ /**
148
+ * Merge — normalises branch/parallel outputs into a single output.
149
+ */
150
+ let MergeFlowNode = class MergeFlowNode extends Model {
151
+ };
152
+ __decorate([
153
+ required(),
154
+ uielement("textarea", { label: "Branch outputs", placeholder: "Outputs to merge" }),
155
+ input({ handle: "values" }),
156
+ __metadata("design:type", Array)
157
+ ], MergeFlowNode.prototype, "values", void 0);
158
+ __decorate([
159
+ required(),
160
+ uielement("input", { label: "Merged output", placeholder: "Merged result" }),
161
+ output({ handle: "merged" }),
162
+ __metadata("design:type", Object)
163
+ ], MergeFlowNode.prototype, "merged", void 0);
164
+ MergeFlowNode = __decorate([
165
+ node("core.flow.merge", {
166
+ kind: "core.flow.merge",
167
+ category: "Utility",
168
+ color: "#0d9488",
169
+ icon: "ti-arrows-merge",
170
+ width: 96,
171
+ height: 96,
172
+ labels: ["flow", "merge", "join"],
173
+ metadata: {
174
+ title: "Merge",
175
+ description: "Merges multiple branch outputs into a single normalised output object.",
176
+ strategy: "concat",
177
+ },
178
+ }),
179
+ model()
180
+ ], MergeFlowNode);
181
+ export { MergeFlowNode };
182
+ /**
183
+ * Map — transforms the current input into a new output object.
184
+ */
185
+ let MapFlowNode = class MapFlowNode extends Model {
186
+ };
187
+ __decorate([
188
+ required(),
189
+ uielement("textarea", { label: "Input value", placeholder: "Value to transform" }),
190
+ input({ handle: "value" }),
191
+ __metadata("design:type", Object)
192
+ ], MapFlowNode.prototype, "value", void 0);
193
+ __decorate([
194
+ required(),
195
+ uielement("input", { label: "Transformed output", placeholder: "Mapped result" }),
196
+ output({ handle: "result" }),
197
+ __metadata("design:type", Object)
198
+ ], MapFlowNode.prototype, "result", void 0);
199
+ MapFlowNode = __decorate([
200
+ node("core.flow.map", {
201
+ kind: "core.flow.map",
202
+ category: "Utility",
203
+ color: "#84cc16",
204
+ icon: "ti-arrows-right-left",
205
+ width: 96,
206
+ height: 96,
207
+ labels: ["flow", "map", "transform"],
208
+ metadata: {
209
+ title: "Map",
210
+ description: "Transforms the current input into a new output object using the configured mapper.",
211
+ mapper: {},
212
+ },
213
+ }),
214
+ model()
215
+ ], MapFlowNode);
216
+ export { MapFlowNode };
217
+ /**
218
+ * Delay — pauses execution for a configured duration.
219
+ */
220
+ let DelayFlowNode = class DelayFlowNode extends Model {
221
+ };
222
+ __decorate([
223
+ required(),
224
+ uielement("textarea", { label: "Input value", placeholder: "Value to forward after delay" }),
225
+ input({ handle: "value" }),
226
+ __metadata("design:type", Object)
227
+ ], DelayFlowNode.prototype, "value", void 0);
228
+ __decorate([
229
+ required(),
230
+ uielement("input", { label: "Output value", placeholder: "Forwarded value" }),
231
+ output({ handle: "value" }),
232
+ __metadata("design:type", Object)
233
+ ], DelayFlowNode.prototype, "valueOut", void 0);
234
+ DelayFlowNode = __decorate([
235
+ node("core.flow.delay", {
236
+ kind: "core.flow.delay",
237
+ category: "Utility",
238
+ color: "#a3a3a3",
239
+ icon: "ti-clock-hour-4",
240
+ width: 96,
241
+ height: 96,
242
+ labels: ["flow", "delay", "wait"],
243
+ metadata: {
244
+ title: "Delay",
245
+ description: "Pauses execution for the configured duration (in milliseconds), then forwards the input unchanged.",
246
+ durationMs: 1000,
247
+ },
248
+ }),
249
+ model()
250
+ ], DelayFlowNode);
251
+ export { DelayFlowNode };
252
+ /**
253
+ * Error boundary — try/catch/finally workflow behaviour.
254
+ */
255
+ let ErrorBoundaryFlowNode = class ErrorBoundaryFlowNode extends Model {
256
+ };
257
+ __decorate([
258
+ required(),
259
+ uielement("textarea", { label: "Input value", placeholder: "Value to guard" }),
260
+ input({ handle: "value" }),
261
+ __metadata("design:type", Object)
262
+ ], ErrorBoundaryFlowNode.prototype, "value", void 0);
263
+ __decorate([
264
+ required(),
265
+ uielement("input", { label: "Result", placeholder: "Output on success" }),
266
+ output({ handle: "result" }),
267
+ __metadata("design:type", Object)
268
+ ], ErrorBoundaryFlowNode.prototype, "result", void 0);
269
+ __decorate([
270
+ required(),
271
+ uielement("input", { label: "Error", placeholder: "Output on failure" }),
272
+ output({ handle: "error" }),
273
+ __metadata("design:type", Object)
274
+ ], ErrorBoundaryFlowNode.prototype, "error", void 0);
275
+ ErrorBoundaryFlowNode = __decorate([
276
+ node("core.flow.errorBoundary", {
277
+ kind: "core.flow.errorBoundary",
278
+ category: "Flow Control",
279
+ color: "#ef4444",
280
+ icon: "ti-shield-check",
281
+ width: 96,
282
+ height: 96,
283
+ labels: ["flow", "error", "try-catch"],
284
+ metadata: {
285
+ title: "Error boundary",
286
+ description: "Wraps the input in a try/catch/finally. Emits the result on success, or the error on failure.",
287
+ finally: false,
288
+ },
289
+ }),
290
+ model()
291
+ ], ErrorBoundaryFlowNode);
292
+ export { ErrorBoundaryFlowNode };
293
+ /**
294
+ * Human approval — suspends execution until a human approves or rejects.
295
+ */
296
+ let HumanApprovalFlowNode = class HumanApprovalFlowNode extends Model {
297
+ };
298
+ __decorate([
299
+ required(),
300
+ uielement("textarea", { label: "Input value", placeholder: "Value pending approval" }),
301
+ input({ handle: "value" }),
302
+ __metadata("design:type", Object)
303
+ ], HumanApprovalFlowNode.prototype, "value", void 0);
304
+ __decorate([
305
+ required(),
306
+ uielement("input", { label: "Approved", placeholder: "Output when approved" }),
307
+ output({ handle: "approved" }),
308
+ __metadata("design:type", Object)
309
+ ], HumanApprovalFlowNode.prototype, "approved", void 0);
310
+ __decorate([
311
+ required(),
312
+ uielement("input", { label: "Rejected", placeholder: "Output when rejected" }),
313
+ output({ handle: "rejected" }),
314
+ __metadata("design:type", Object)
315
+ ], HumanApprovalFlowNode.prototype, "rejected", void 0);
316
+ HumanApprovalFlowNode = __decorate([
317
+ node("core.flow.humanApproval", {
318
+ kind: "core.flow.humanApproval",
319
+ category: "Flow Control",
320
+ color: "#d946ef",
321
+ icon: "ti-user-check",
322
+ width: 96,
323
+ height: 96,
324
+ labels: ["flow", "approval", "suspend"],
325
+ metadata: {
326
+ title: "Human approval",
327
+ description: "Suspends execution until a human approves or rejects. Emits the approved value or a rejection.",
328
+ approvers: [],
329
+ timeoutMs: 86400000,
330
+ },
331
+ }),
332
+ model()
333
+ ], HumanApprovalFlowNode);
334
+ export { HumanApprovalFlowNode };
335
+ /**
336
+ * Return — defines and normalises the final workflow output.
337
+ */
338
+ let ReturnFlowNode = class ReturnFlowNode extends Model {
339
+ };
340
+ __decorate([
341
+ required(),
342
+ uielement("textarea", { label: "Input value", placeholder: "Value to normalise" }),
343
+ input({ handle: "value" }),
344
+ __metadata("design:type", Object)
345
+ ], ReturnFlowNode.prototype, "value", void 0);
346
+ __decorate([
347
+ required(),
348
+ uielement("input", { label: "Returned output", placeholder: "Normalised output" }),
349
+ output({ handle: "result" }),
350
+ __metadata("design:type", Object)
351
+ ], ReturnFlowNode.prototype, "result", void 0);
352
+ ReturnFlowNode = __decorate([
353
+ node("core.flow.return", {
354
+ kind: "core.flow.return",
355
+ category: "Utility",
356
+ color: "#22c55e",
357
+ icon: "ti-arrow-back-up",
358
+ width: 96,
359
+ height: 96,
360
+ labels: ["flow", "return", "output"],
361
+ metadata: {
362
+ title: "Return",
363
+ description: "Normalises the input into the final workflow output object.",
364
+ outputSchema: {},
365
+ },
366
+ }),
367
+ model()
368
+ ], ReturnFlowNode);
369
+ export { ReturnFlowNode };
370
+ /**
371
+ * Code — sandboxed JS/TS code execution (ALFRED-5 §7).
372
+ *
373
+ * The engine does not implement the sandbox directly (§22.4). A future
374
+ * executor may wrap the `CodeSandbox` contract (ALFRED-5 §7.17) as a
375
+ * pluggable executor. The placeholder syntax (`{{ $input }}`, `{{ $item }}`,
376
+ * `{{ $index }}`, `{{ $vars }}`, `{{ $node["Name"].output }}`) is Mastra-
377
+ * agnostic and lives in the downstream project's `modules/core` (ALFRED-6).
378
+ */
379
+ let CodeFlowNode = class CodeFlowNode extends Model {
380
+ };
381
+ __decorate([
382
+ required(),
383
+ uielement("textarea", { label: "Input", placeholder: "Input object (accessible as $input)" }),
384
+ input({ handle: "input" }),
385
+ __metadata("design:type", Object)
386
+ ], CodeFlowNode.prototype, "input", void 0);
387
+ __decorate([
388
+ required(),
389
+ uielement("input", { label: "Result", placeholder: "Code execution result" }),
390
+ output({ handle: "result" }),
391
+ __metadata("design:type", Object)
392
+ ], CodeFlowNode.prototype, "result", void 0);
393
+ CodeFlowNode = __decorate([
394
+ node("core.flow.code", {
395
+ kind: "core.flow.code",
396
+ category: "Utility",
397
+ color: "#7c3aed",
398
+ icon: "ti-code",
399
+ width: 96,
400
+ height: 96,
401
+ labels: ["flow", "code", "sandbox", "transform"],
402
+ metadata: {
403
+ title: "Code",
404
+ description: "Runs user-authored JS/TS in a restricted VM sandbox. Supports placeholder syntax for workflow data references.",
405
+ code: "",
406
+ language: "javascript",
407
+ },
408
+ }),
409
+ model()
410
+ ], CodeFlowNode);
411
+ export { CodeFlowNode };
412
+ /**
413
+ * All built-in flow-control node constructors.
414
+ */
415
+ export const GRAPH_FLOW_CONTROL_NODES = [
416
+ IfFlowNode,
417
+ SwitchFlowNode,
418
+ ParallelFlowNode,
419
+ MergeFlowNode,
420
+ MapFlowNode,
421
+ DelayFlowNode,
422
+ ErrorBoundaryFlowNode,
423
+ HumanApprovalFlowNode,
424
+ ReturnFlowNode,
425
+ CodeFlowNode,
426
+ ];
427
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvdy1jb250cm9sLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL2Zsb3ctY29udHJvbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRTs7O0dBR0c7QUFnQkksSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVyxTQUFRLEtBQUs7Q0FlcEMsQ0FBQTtBQVhDO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFDakYsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt5Q0FDWDtBQUtoQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUFDO0lBQ25GLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7d0NBQ1o7QUFLZjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRSxDQUFDO0lBQ3BGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7d0NBQ1o7QUFkSixVQUFVO0lBZnRCLElBQUksQ0FBQyxjQUFjLEVBQUU7UUFDcEIsSUFBSSxFQUFF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O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRztJQUN0QyxVQUFVO0lBQ1YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsV0FBVztJQUNYLGFBQWE7SUFDYixxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7SUFDZCxZQUFZO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sXG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIGZsb3ctY29udHJvbCBub2RlIGtpbmQgZGVjbGFyYXRpb25zIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKiBAZGVzY3JpcHRpb24gQ2Fub25pY2FsIGBAbm9kZWAtZGVjb3JhdGVkIGNsYXNzZXMgZm9yIHRoZSB0ZW4gQUxGUkVELTVcbiAqIGZsb3ctY29udHJvbCBraW5kcy4gVGhlc2UgYXJlIGdyYXBoLWxldmVsIG1hY3JvczogdGhlIGVuZ2luZSdzIHBsYW5uZXJcbiAqIHJlY29nbmlzZXMgdGhlbSBhcyBvcmRpbmFyeSBleGVjdXRhYmxlIG5vZGVzICjCpzUuNykgYnV0IHRoZXkgaGF2ZSBub1xuICogYnVpbHQtaW4gZXhlY3V0b3JzIOKAlCBkb3duc3RyZWFtIHByb2plY3RzIChlLmcuIEFMRlJFRCkgcmVnaXN0ZXIgY3VzdG9tXG4gKiBleGVjdXRvcnMgb3IgY29tcGlsZSB0aGVtIGludG8gTWFzdHJhIGNvbXBvc2l0aW9uIEFQSXMgKMKnMjIuMi4yKS5cbiAqXG4gKiBUaGUgdGhyZWUgbG9vcCBraW5kcyAoYGNvcmUubG9vcC5mb3JlYWNoL3doaWxlL3VudGlsYCkgYWxyZWFkeSBoYXZlIGJ1aWx0LWluXG4gKiBleGVjdXRvcnMgKMKnNS45KSBhbmQgYXJlIE5PVCByZWRlY2xhcmVkIGhlcmUuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMvZ3JhcGhcIjtcblxuLyoqXG4gKiBJZiDigJQgY29uZGl0aW9uYWwgYnJhbmNoLiBFdmFsdWF0ZXMgYSBgQ29uZGl0aW9uRXhwcmVzc2lvbmAgKMKnMjIuMykgYW5kXG4gKiByb3V0ZXMgdGhlIGlucHV0IHRvIHRoZSBgdGhlbmAgb3IgYGVsc2VgIG91dHB1dC5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cuaWZcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5pZlwiLFxuICBjYXRlZ29yeTogXCJGbG93IENvbnRyb2xcIixcbiAgY29sb3I6IFwiI2Y1OWUwYlwiLFxuICBpY29uOiBcInRpLWFycm93cy1zcGxpdC0yXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiY29uZGl0aW9uYWxcIiwgXCJicmFuY2hcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiSWZcIixcbiAgICBkZXNjcmlwdGlvbjogXCJDb25kaXRpb25hbCBicmFuY2guIEV2YWx1YXRlcyB0aGUgY29uZmlndXJlZCBjb25kaXRpb24gYW5kIHJvdXRlcyB0aGUgaW5wdXQgdG8gdGhlIG1hdGNoaW5nIG91dHB1dC5cIixcbiAgICBjb25kaXRpb246IHsgb3A6IFwiZXFcIiwgbGVmdDogeyBjb25zdDogdHJ1ZSB9LCByaWdodDogeyBjb25zdDogdHJ1ZSB9IH0sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBJZkZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBldmFsdWF0ZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJUaGVuXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCB3aGVuIGNvbmRpdGlvbiBpcyB0cnVlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJ0aGVuXCIgfSlcbiAgdGhlbiE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiRWxzZVwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBjb25kaXRpb24gaXMgZmFsc2VcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImVsc2VcIiB9KVxuICBlbHNlITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBTd2l0Y2gg4oCUIG11bHRpLWJyYW5jaC4gUm91dGVzIHRoZSBpbnB1dCB0byBvbmUgb2YgdGhlIGNhc2Ugb3V0cHV0IHBvcnRzXG4gKiBvciBgZGVmYXVsdGAgYmFzZWQgb24gbWF0Y2hpbmcgY29uZGl0aW9ucy4gRWFjaCBjYXNlIGRlZmluZXMgYVxuICoge0BsaW5rIFN3aXRjaENhc2VDb25kaXRpb259IChncmFwaGljYWwgb3IgY29kZSBtb2RlKSBhbmQgYSBkZWRpY2F0ZWRcbiAqIG91dHB1dCBwb3J0LiBDYXNlcyBhcmUgc3RvcmVkIGluIGBtZXRhZGF0YS5zd2l0Y2guY2FzZXNgIGFuZCB0aGVcbiAqIHJlbmRlcmVyIGNyZWF0ZXMgZHluYW1pYyBvdXRwdXQgcG9ydHMgZnJvbSB0aGVtIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKlxuICogVGhlIG5vZGUgZ3Jvd3MgaW4gaGVpZ2h0IGFzIGNhc2VzIGFyZSBhZGRlZC4gRWFjaCBjYXNlIGdldHMgaXRzIG93blxuICogb3V0cHV0IHBvcnQgb24gdGhlIHJpZ2h0IHNpZGUsIGxhYmVsZWQgd2l0aCB0aGUgY2FzZSBsYWJlbC5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cuc3dpdGNoXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuc3dpdGNoXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZjk3MzE2XCIsXG4gIGljb246IFwidGktYXJyb3dzLXNodWZmbGVcIixcbiAgd2lkdGg6IDEyMCxcbiAgaGVpZ2h0OiAxNDAsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcInN3aXRjaFwiLCBcIm11bHRpLWJyYW5jaFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJTd2l0Y2hcIixcbiAgICBkZXNjcmlwdGlvbjogXCJNdWx0aS1icmFuY2ggc3dpdGNoLiBSb3V0ZXMgdGhlIGlucHV0IHRvIHRoZSBmaXJzdCBtYXRjaGluZyBjYXNlIG91dHB1dCwgb3IgdGhlIGRlZmF1bHQgb3V0cHV0LlwiLFxuICAgIHN3aXRjaDoge1xuICAgICAgY2FzZXM6IFtdLFxuICAgICAgZGVmYXVsdFBvcnQ6IFwiZGVmYXVsdFwiLFxuICAgIH0sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBTd2l0Y2hGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gc3dpdGNoIG9uXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkRlZmF1bHRcIiwgcGxhY2Vob2xkZXI6IFwiRGVmYXVsdCBvdXRwdXQgd2hlbiBubyBjYXNlIG1hdGNoZXNcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImRlZmF1bHRcIiB9KVxuICBkZWZhdWx0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBQYXJhbGxlbCDigJQgc3BsaXRzIGV4ZWN1dGlvbiBpbnRvIGNvbmN1cnJlbnQgYnJhbmNoZXMuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LnBhcmFsbGVsXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cucGFyYWxsZWxcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiMwNmI2ZDRcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3MtdmVydGljYWxcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJwYXJhbGxlbFwiLCBcImNvbmN1cnJlbnRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiUGFyYWxsZWxcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTcGxpdHMgZXhlY3V0aW9uIGludG8gY29uY3VycmVudCBicmFuY2hlcy4gQWxsIGJyYW5jaGVzIHJ1biBpbiBwYXJhbGxlbCBhbmQgb3V0cHV0cyBhcmUgY29sbGVjdGVkLlwiLFxuICAgIGJyYW5jaENvdW50OiAyLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUGFyYWxsZWxGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZmFuIG91dFwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJCcmFuY2hlc1wiLCBwbGFjZWhvbGRlcjogXCJDb2xsZWN0ZWQgYnJhbmNoIG91dHB1dHNcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImJyYW5jaGVzXCIgfSlcbiAgYnJhbmNoZXMhOiB1bmtub3duW107XG59XG5cbi8qKlxuICogTWVyZ2Ug4oCUIG5vcm1hbGlzZXMgYnJhbmNoL3BhcmFsbGVsIG91dHB1dHMgaW50byBhIHNpbmdsZSBvdXRwdXQuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93Lm1lcmdlXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cubWVyZ2VcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjMGQ5NDg4XCIsXG4gIGljb246IFwidGktYXJyb3dzLW1lcmdlXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwibWVyZ2VcIiwgXCJqb2luXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIk1lcmdlXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTWVyZ2VzIG11bHRpcGxlIGJyYW5jaCBvdXRwdXRzIGludG8gYSBzaW5nbGUgbm9ybWFsaXNlZCBvdXRwdXQgb2JqZWN0LlwiLFxuICAgIHN0cmF0ZWd5OiBcImNvbmNhdFwiLFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgTWVyZ2VGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiQnJhbmNoIG91dHB1dHNcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0cyB0byBtZXJnZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZXNcIiB9KVxuICB2YWx1ZXMhOiB1bmtub3duW107XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiTWVyZ2VkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJNZXJnZWQgcmVzdWx0XCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJtZXJnZWRcIiB9KVxuICBtZXJnZWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIE1hcCDigJQgdHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93Lm1hcFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lm1hcFwiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiM4NGNjMTZcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3MtcmlnaHQtbGVmdFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcIm1hcFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJNYXBcIixcbiAgICBkZXNjcmlwdGlvbjogXCJUcmFuc2Zvcm1zIHRoZSBjdXJyZW50IGlucHV0IGludG8gYSBuZXcgb3V0cHV0IG9iamVjdCB1c2luZyB0aGUgY29uZmlndXJlZCBtYXBwZXIuXCIsXG4gICAgbWFwcGVyOiB7fSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1hcEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byB0cmFuc2Zvcm1cIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiVHJhbnNmb3JtZWQgb3V0cHV0XCIsIHBsYWNlaG9sZGVyOiBcIk1hcHBlZCByZXN1bHRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG5cbi8qKlxuICogRGVsYXkg4oCUIHBhdXNlcyBleGVjdXRpb24gZm9yIGEgY29uZmlndXJlZCBkdXJhdGlvbi5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cuZGVsYXlcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5kZWxheVwiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiNhM2EzYTNcIixcbiAgaWNvbjogXCJ0aS1jbG9jay1ob3VyLTRcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJkZWxheVwiLCBcIndhaXRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRGVsYXlcIixcbiAgICBkZXNjcmlwdGlvbjogXCJQYXVzZXMgZXhlY3V0aW9uIGZvciB0aGUgY29uZmlndXJlZCBkdXJhdGlvbiAoaW4gbWlsbGlzZWNvbmRzKSwgdGhlbiBmb3J3YXJkcyB0aGUgaW5wdXQgdW5jaGFuZ2VkLlwiLFxuICAgIGR1cmF0aW9uTXM6IDEwMDAsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBEZWxheUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmb3J3YXJkIGFmdGVyIGRlbGF5XCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk91dHB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJGb3J3YXJkZWQgdmFsdWVcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWVPdXQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEVycm9yIGJvdW5kYXJ5IOKAlCB0cnkvY2F0Y2gvZmluYWxseSB3b3JrZmxvdyBiZWhhdmlvdXIuXG4gKi9cbkBub2RlKFwiY29yZS5mbG93LmVycm9yQm91bmRhcnlcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc2hpZWxkLWNoZWNrXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZXJyb3JcIiwgXCJ0cnktY2F0Y2hcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRXJyb3IgYm91bmRhcnlcIixcbiAgICBkZXNjcmlwdGlvbjogXCJXcmFwcyB0aGUgaW5wdXQgaW4gYSB0cnkvY2F0Y2gvZmluYWxseS4gRW1pdHMgdGhlIHJlc3VsdCBvbiBzdWNjZXNzLCBvciB0aGUgZXJyb3Igb24gZmFpbHVyZS5cIixcbiAgICBmaW5hbGx5OiBmYWxzZSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEVycm9yQm91bmRhcnlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZ3VhcmRcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVzdWx0XCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBzdWNjZXNzXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkVycm9yXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBmYWlsdXJlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJlcnJvclwiIH0pXG4gIGVycm9yITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBIdW1hbiBhcHByb3ZhbCDigJQgc3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy5cbiAqL1xuQG5vZGUoXCJjb3JlLmZsb3cuaHVtYW5BcHByb3ZhbFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lmh1bWFuQXBwcm92YWxcIixcbiAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gIGNvbG9yOiBcIiNkOTQ2ZWZcIixcbiAgaWNvbjogXCJ0aS11c2VyLWNoZWNrXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYXBwcm92YWxcIiwgXCJzdXNwZW5kXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkh1bWFuIGFwcHJvdmFsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU3VzcGVuZHMgZXhlY3V0aW9uIHVudGlsIGEgaHVtYW4gYXBwcm92ZXMgb3IgcmVqZWN0cy4gRW1pdHMgdGhlIGFwcHJvdmVkIHZhbHVlIG9yIGEgcmVqZWN0aW9uLlwiLFxuICAgIGFwcHJvdmVyczogW10sXG4gICAgdGltZW91dE1zOiA4NjQwMDAwMCxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEh1bWFuQXBwcm92YWxGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgcGVuZGluZyBhcHByb3ZhbFwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJBcHByb3ZlZFwiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXQgd2hlbiBhcHByb3ZlZFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYXBwcm92ZWRcIiB9KVxuICBhcHByb3ZlZCE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVqZWN0ZWRcIiwgcGxhY2Vob2xkZXI6IFwiT3V0cHV0IHdoZW4gcmVqZWN0ZWRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlamVjdGVkXCIgfSlcbiAgcmVqZWN0ZWQhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIFJldHVybiDigJQgZGVmaW5lcyBhbmQgbm9ybWFsaXNlcyB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0LlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5yZXR1cm5cIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5yZXR1cm5cIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjMjJjNTVlXCIsXG4gIGljb246IFwidGktYXJyb3ctYmFjay11cFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcInJldHVyblwiLCBcIm91dHB1dFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJSZXR1cm5cIixcbiAgICBkZXNjcmlwdGlvbjogXCJOb3JtYWxpc2VzIHRoZSBpbnB1dCBpbnRvIHRoZSBmaW5hbCB3b3JrZmxvdyBvdXRwdXQgb2JqZWN0LlwiLFxuICAgIG91dHB1dFNjaGVtYToge30sXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBSZXR1cm5GbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gbm9ybWFsaXNlXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJldHVybmVkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJOb3JtYWxpc2VkIG91dHB1dFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSlcbiAgcmVzdWx0ITogdW5rbm93bjtcbn1cblxuLyoqXG4gKiBDb2RlIOKAlCBzYW5kYm94ZWQgSlMvVFMgY29kZSBleGVjdXRpb24gKEFMRlJFRC01IMKnNykuXG4gKlxuICogVGhlIGVuZ2luZSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIHNhbmRib3ggZGlyZWN0bHkgKMKnMjIuNCkuIEEgZnV0dXJlXG4gKiBleGVjdXRvciBtYXkgd3JhcCB0aGUgYENvZGVTYW5kYm94YCBjb250cmFjdCAoQUxGUkVELTUgwqc3LjE3KSBhcyBhXG4gKiBwbHVnZ2FibGUgZXhlY3V0b3IuIFRoZSBwbGFjZWhvbGRlciBzeW50YXggKGB7eyAkaW5wdXQgfX1gLCBge3sgJGl0ZW0gfX1gLFxuICogYHt7ICRpbmRleCB9fWAsIGB7eyAkdmFycyB9fWAsIGB7eyAkbm9kZVtcIk5hbWVcIl0ub3V0cHV0IH19YCkgaXMgTWFzdHJhLVxuICogYWdub3N0aWMgYW5kIGxpdmVzIGluIHRoZSBkb3duc3RyZWFtIHByb2plY3QncyBgbW9kdWxlcy9jb3JlYCAoQUxGUkVELTYpLlxuICovXG5Abm9kZShcImNvcmUuZmxvdy5jb2RlXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cuY29kZVwiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiM3YzNhZWRcIixcbiAgaWNvbjogXCJ0aS1jb2RlXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiY29kZVwiLCBcInNhbmRib3hcIiwgXCJ0cmFuc2Zvcm1cIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiQ29kZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlJ1bnMgdXNlci1hdXRob3JlZCBKUy9UUyBpbiBhIHJlc3RyaWN0ZWQgVk0gc2FuZGJveC4gU3VwcG9ydHMgcGxhY2Vob2xkZXIgc3ludGF4IGZvciB3b3JrZmxvdyBkYXRhIHJlZmVyZW5jZXMuXCIsXG4gICAgY29kZTogXCJcIixcbiAgICBsYW5ndWFnZTogXCJqYXZhc2NyaXB0XCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDb2RlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0XCIsIHBsYWNlaG9sZGVyOiBcIklucHV0IG9iamVjdCAoYWNjZXNzaWJsZSBhcyAkaW5wdXQpXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcImlucHV0XCIgfSlcbiAgaW5wdXQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIlJlc3VsdFwiLCBwbGFjZWhvbGRlcjogXCJDb2RlIGV4ZWN1dGlvbiByZXN1bHRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG5cbi8qKlxuICogQWxsIGJ1aWx0LWluIGZsb3ctY29udHJvbCBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0ZMT1dfQ09OVFJPTF9OT0RFUyA9IFtcbiAgSWZGbG93Tm9kZSxcbiAgU3dpdGNoRmxvd05vZGUsXG4gIFBhcmFsbGVsRmxvd05vZGUsXG4gIE1lcmdlRmxvd05vZGUsXG4gIE1hcEZsb3dOb2RlLFxuICBEZWxheUZsb3dOb2RlLFxuICBFcnJvckJvdW5kYXJ5Rmxvd05vZGUsXG4gIEh1bWFuQXBwcm92YWxGbG93Tm9kZSxcbiAgUmV0dXJuRmxvd05vZGUsXG4gIENvZGVGbG93Tm9kZSxcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @module integrations/graph/nodes
3
+ * @summary Production node kind declarations (DECAF-32 §22.2).
4
+ * @description Canonical `@node`-decorated classes for the ALFRED-5 node kind
5
+ * taxonomy. These are the framework's built-in node definitions — triggers
6
+ * (§22.2.1), flow-control/utility nodes (§22.2.2–22.2.3), and the Agent node
7
+ * (§21.3). The three loop kinds (`core.loop.foreach/while/until`) already have
8
+ * built-in executors (§5.9) and are not redeclared here.
9
+ *
10
+ * Consumers (for-angular, ALFRED, etc.) import these declarations to populate
11
+ * node palettes, registries, and reference snapshots.
12
+ */
13
+ export * from "./category-styles.js";
14
+ export * from "./triggers.js";
15
+ export * from "./flow-control.js";
16
+ export * from "./agent.js";
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxxQ0FBa0M7QUFDbEMsOEJBQTJCO0FBQzNCLGtDQUErQjtBQUMvQiwyQkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2dyYXBoL25vZGVzXG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIG5vZGUga2luZCBkZWNsYXJhdGlvbnMgKERFQ0FGLTMyIMKnMjIuMikuXG4gKiBAZGVzY3JpcHRpb24gQ2Fub25pY2FsIGBAbm9kZWAtZGVjb3JhdGVkIGNsYXNzZXMgZm9yIHRoZSBBTEZSRUQtNSBub2RlIGtpbmRcbiAqIHRheG9ub215LiBUaGVzZSBhcmUgdGhlIGZyYW1ld29yaydzIGJ1aWx0LWluIG5vZGUgZGVmaW5pdGlvbnMg4oCUIHRyaWdnZXJzXG4gKiAowqcyMi4yLjEpLCBmbG93LWNvbnRyb2wvdXRpbGl0eSBub2RlcyAowqcyMi4yLjLigJMyMi4yLjMpLCBhbmQgdGhlIEFnZW50IG5vZGVcbiAqICjCpzIxLjMpLiBUaGUgdGhyZWUgbG9vcCBraW5kcyAoYGNvcmUubG9vcC5mb3JlYWNoL3doaWxlL3VudGlsYCkgYWxyZWFkeSBoYXZlXG4gKiBidWlsdC1pbiBleGVjdXRvcnMgKMKnNS45KSBhbmQgYXJlIG5vdCByZWRlY2xhcmVkIGhlcmUuXG4gKlxuICogQ29uc3VtZXJzIChmb3ItYW5ndWxhciwgQUxGUkVELCBldGMuKSBpbXBvcnQgdGhlc2UgZGVjbGFyYXRpb25zIHRvIHBvcHVsYXRlXG4gKiBub2RlIHBhbGV0dGVzLCByZWdpc3RyaWVzLCBhbmQgcmVmZXJlbmNlIHNuYXBzaG90cy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vY2F0ZWdvcnktc3R5bGVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90cmlnZ2Vyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZmxvdy1jb250cm9sXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hZ2VudFwiO1xuIl19