@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.
- package/dist/integrations.cjs +48 -2
- package/dist/integrations.js +49 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/index.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/graph/constants.cjs +2 -2
- package/lib/cjs/graph/decorators.cjs +2 -2
- package/lib/cjs/graph/errors/GraphCycleError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphExecutionError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphInputError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPinningError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphPortError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphStoreError.cjs +2 -2
- package/lib/cjs/graph/errors/GraphTopologyError.cjs +2 -2
- package/lib/cjs/graph/errors/index.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs +2 -2
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs +2 -2
- package/lib/cjs/graph/events/index.cjs +2 -2
- package/lib/cjs/graph/execution/CodeSandboxEvaluator.cjs +4 -0
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs +4 -2
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs +2 -2
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs +2 -2
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/execution/SwitchGraphNodeExecutor.cjs +95 -0
- package/lib/cjs/graph/execution/index.cjs +4 -2
- package/lib/cjs/graph/index.cjs +7 -2
- package/lib/cjs/graph/loops/ConditionExpressionEvaluator.cjs +87 -0
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs +25 -3
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs +2 -2
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/loops/index.cjs +3 -2
- package/lib/cjs/graph/nodes/agent.cjs +110 -0
- package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
- package/lib/cjs/graph/nodes/flow-control.cjs +436 -0
- package/lib/cjs/graph/nodes/index.cjs +34 -0
- package/lib/cjs/graph/nodes/triggers.cjs +250 -0
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/pinning/GraphPinningService.cjs +2 -2
- package/lib/cjs/graph/pinning/index.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs +2 -2
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs +2 -2
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs +2 -2
- package/lib/cjs/graph/planning/GraphTopology.cjs +2 -2
- package/lib/cjs/graph/planning/index.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs +2 -2
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs +2 -2
- package/lib/cjs/graph/registry/index.cjs +2 -2
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/snapshots/index.cjs +2 -2
- package/lib/cjs/graph/store/GraphCachedValue.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueKey.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStore.cjs +2 -2
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/store/index.cjs +2 -2
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs +2 -2
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs +2 -2
- package/lib/cjs/graph/validation/GraphValueValidator.cjs +2 -2
- package/lib/cjs/graph/validation/index.cjs +2 -2
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +8 -7
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +5 -4
- package/lib/cjs/keycloak/services/KeycloakService.cjs +16 -13
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +5 -4
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs +20 -0
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +6 -5
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +9 -8
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +7 -6
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaService.cjs +13 -10
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +5 -4
- package/lib/cjs/kibana/services/KibanaUserService.cjs +5 -4
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs +20 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/nest/authService.cjs +2 -2
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/utils.cjs +2 -2
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/index.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/graph/constants.js +1 -1
- package/lib/esm/graph/decorators.js +1 -1
- package/lib/esm/graph/errors/GraphCycleError.js +1 -1
- package/lib/esm/graph/errors/GraphExecutionError.js +1 -1
- package/lib/esm/graph/errors/GraphInputError.js +1 -1
- package/lib/esm/graph/errors/GraphLoopLimitError.js +1 -1
- package/lib/esm/graph/errors/GraphPinningError.js +1 -1
- package/lib/esm/graph/errors/GraphPortError.js +1 -1
- package/lib/esm/graph/errors/GraphStoreError.js +1 -1
- package/lib/esm/graph/errors/GraphTopologyError.js +1 -1
- package/lib/esm/graph/errors/index.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEvent.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js +1 -1
- package/lib/esm/graph/events/GraphExecutionEventFactory.js +1 -1
- package/lib/esm/graph/events/GraphExecutionObserver.js +1 -1
- package/lib/esm/graph/events/index.js +1 -1
- package/lib/esm/graph/execution/CodeSandboxEvaluator.js +18 -0
- package/lib/esm/graph/execution/GraphExecutionContext.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionEngine.js +3 -1
- package/lib/esm/graph/execution/GraphExecutionFrame.js +1 -1
- package/lib/esm/graph/execution/GraphExecutionResult.js +1 -1
- package/lib/esm/graph/execution/GraphNodeExecutor.js +1 -1
- package/lib/esm/graph/execution/SwitchGraphNodeExecutor.js +90 -0
- package/lib/esm/graph/execution/index.js +3 -1
- package/lib/esm/graph/index.js +6 -1
- package/lib/esm/graph/loops/ConditionExpressionEvaluator.js +82 -0
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/GraphConditionEvaluator.js +24 -2
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js +1 -1
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/loops/index.js +2 -1
- package/lib/esm/graph/nodes/agent.js +101 -0
- package/lib/esm/graph/nodes/category-styles.js +34 -0
- package/lib/esm/graph/nodes/flow-control.js +427 -0
- package/lib/esm/graph/nodes/index.js +17 -0
- package/lib/esm/graph/nodes/triggers.js +241 -0
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningMetadata.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningPolicy.js +1 -1
- package/lib/esm/graph/pinning/GraphPinningService.js +1 -1
- package/lib/esm/graph/pinning/index.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlan.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js +1 -1
- package/lib/esm/graph/planning/GraphExecutionPlanner.js +1 -1
- package/lib/esm/graph/planning/GraphRelationResolver.js +1 -1
- package/lib/esm/graph/planning/GraphTopology.js +1 -1
- package/lib/esm/graph/planning/index.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js +1 -1
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js +1 -1
- package/lib/esm/graph/registry/index.js +1 -1
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/snapshots/index.js +1 -1
- package/lib/esm/graph/store/GraphCachedValue.js +1 -1
- package/lib/esm/graph/store/GraphValueKey.js +1 -1
- package/lib/esm/graph/store/GraphValueStore.js +1 -1
- package/lib/esm/graph/store/GraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/store/index.js +1 -1
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/graph/validation/GraphDefinitionValidator.js +1 -1
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js +1 -1
- package/lib/esm/graph/validation/GraphValueValidator.js +1 -1
- package/lib/esm/graph/validation/index.js +1 -1
- package/lib/esm/index.js +4 -4
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakClientService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRealmService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakRoleService.js +4 -3
- package/lib/esm/keycloak/services/KeycloakService.js +15 -12
- package/lib/esm/keycloak/services/KeycloakUserService.js +4 -3
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/runtime.js +15 -0
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js +5 -4
- package/lib/esm/kibana/services/KibanaDashboardService.js +5 -4
- package/lib/esm/kibana/services/KibanaDataViewService.js +4 -3
- package/lib/esm/kibana/services/KibanaRoleService.js +4 -3
- package/lib/esm/kibana/services/KibanaService.js +12 -9
- package/lib/esm/kibana/services/KibanaSpaceService.js +4 -3
- package/lib/esm/kibana/services/KibanaUserService.js +4 -3
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/runtime.js +15 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/nest/authService.js +1 -1
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.cts +53 -0
- package/lib/types/graph/execution/CodeSandboxEvaluator.d.mts +53 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.cts +17 -0
- package/lib/types/graph/execution/GraphExecutionEngine.d.mts +17 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.cts +42 -0
- package/lib/types/graph/execution/SwitchGraphNodeExecutor.d.mts +42 -0
- package/lib/types/graph/execution/index.d.cts +2 -0
- package/lib/types/graph/execution/index.d.mts +2 -0
- package/lib/types/graph/index.d.cts +4 -0
- package/lib/types/graph/index.d.mts +4 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.cts +36 -0
- package/lib/types/graph/loops/ConditionExpressionEvaluator.d.mts +36 -0
- package/lib/types/graph/loops/GraphConditionEvaluator.d.cts +20 -4
- package/lib/types/graph/loops/GraphConditionEvaluator.d.mts +20 -4
- package/lib/types/graph/loops/index.d.cts +1 -0
- package/lib/types/graph/loops/index.d.mts +1 -0
- package/lib/types/graph/nodes/agent.d.cts +44 -0
- package/lib/types/graph/nodes/agent.d.mts +44 -0
- package/lib/types/graph/nodes/category-styles.d.cts +8 -0
- package/lib/types/graph/nodes/category-styles.d.mts +8 -0
- package/lib/types/graph/nodes/flow-control.d.cts +104 -0
- package/lib/types/graph/nodes/flow-control.d.mts +104 -0
- package/lib/types/graph/nodes/index.d.cts +16 -0
- package/lib/types/graph/nodes/index.d.mts +16 -0
- package/lib/types/graph/nodes/triggers.d.cts +53 -0
- package/lib/types/graph/nodes/triggers.d.mts +53 -0
- package/lib/types/graph/types.d.cts +102 -0
- package/lib/types/graph/types.d.mts +102 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/services/KeycloakService.d.cts +1 -1
- package/lib/types/keycloak/services/KeycloakService.d.mts +1 -1
- package/lib/types/keycloak/services/runtime.d.cts +6 -0
- package/lib/types/keycloak/services/runtime.d.mts +6 -0
- package/lib/types/kibana/services/KibanaService.d.cts +1 -1
- package/lib/types/kibana/services/KibanaService.d.mts +1 -1
- package/lib/types/kibana/services/runtime.d.cts +6 -0
- package/lib/types/kibana/services/runtime.d.mts +6 -0
- package/package.json +1 -1
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.js.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/azure/index.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
- package/lib/cjs/blob/core/index.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/gcp/index.cjs.map +0 -1
- package/lib/cjs/blob/index.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/local/index.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/memory/index.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/index.cjs.map +0 -1
- package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
- package/lib/cjs/docker/index.cjs.map +0 -1
- package/lib/cjs/graph/constants.cjs.map +0 -1
- package/lib/cjs/graph/decorators.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphCycleError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphExecutionError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphInputError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphLoopLimitError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphPinningError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphPortError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphStoreError.cjs.map +0 -1
- package/lib/cjs/graph/errors/GraphTopologyError.cjs.map +0 -1
- package/lib/cjs/graph/errors/index.cjs.map +0 -1
- package/lib/cjs/graph/events/GraphExecutionEvent.cjs.map +0 -1
- package/lib/cjs/graph/events/GraphExecutionEventEmitter.cjs.map +0 -1
- package/lib/cjs/graph/events/GraphExecutionEventFactory.cjs.map +0 -1
- package/lib/cjs/graph/events/GraphExecutionObserver.cjs.map +0 -1
- package/lib/cjs/graph/events/index.cjs.map +0 -1
- package/lib/cjs/graph/execution/GraphExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/execution/GraphExecutionEngine.cjs.map +0 -1
- package/lib/cjs/graph/execution/GraphExecutionFrame.cjs.map +0 -1
- package/lib/cjs/graph/execution/GraphExecutionResult.cjs.map +0 -1
- package/lib/cjs/graph/execution/GraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/execution/index.cjs.map +0 -1
- package/lib/cjs/graph/index.cjs.map +0 -1
- package/lib/cjs/graph/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/loops/GraphConditionEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/loops/GraphLoopExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/loops/UntilGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/loops/WhileGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/loops/index.cjs.map +0 -1
- package/lib/cjs/graph/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
- package/lib/cjs/graph/pinning/GraphPinningMetadata.cjs.map +0 -1
- package/lib/cjs/graph/pinning/GraphPinningPolicy.cjs.map +0 -1
- package/lib/cjs/graph/pinning/GraphPinningService.cjs.map +0 -1
- package/lib/cjs/graph/pinning/index.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphExecutionPlan.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphExecutionPlanEdge.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphExecutionPlanLayer.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphExecutionPlanNode.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphExecutionPlanner.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphRelationResolver.cjs.map +0 -1
- package/lib/cjs/graph/planning/GraphTopology.cjs.map +0 -1
- package/lib/cjs/graph/planning/index.cjs.map +0 -1
- package/lib/cjs/graph/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
- package/lib/cjs/graph/registry/GraphNodeExecutorResolver.cjs.map +0 -1
- package/lib/cjs/graph/registry/index.cjs.map +0 -1
- package/lib/cjs/graph/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
- package/lib/cjs/graph/snapshots/index.cjs.map +0 -1
- package/lib/cjs/graph/store/GraphCachedValue.cjs.map +0 -1
- package/lib/cjs/graph/store/GraphValueKey.cjs.map +0 -1
- package/lib/cjs/graph/store/GraphValueStore.cjs.map +0 -1
- package/lib/cjs/graph/store/GraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/store/index.cjs.map +0 -1
- package/lib/cjs/graph/types.cjs.map +0 -1
- package/lib/cjs/graph/validation/GraphDefinitionValidator.cjs.map +0 -1
- package/lib/cjs/graph/validation/GraphPortSchemaResolver.cjs.map +0 -1
- package/lib/cjs/graph/validation/GraphValueValidator.cjs.map +0 -1
- package/lib/cjs/graph/validation/index.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/keycloak/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/index.cjs.map +0 -1
- package/lib/cjs/keycloak/types.cjs.map +0 -1
- package/lib/cjs/kibana/helpers.cjs.map +0 -1
- package/lib/cjs/kibana/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
- package/lib/cjs/kibana/services/index.cjs.map +0 -1
- package/lib/cjs/kibana/types.cjs.map +0 -1
- package/lib/cjs/nest/authService.cjs.map +0 -1
- package/lib/cjs/nest/index.cjs.map +0 -1
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
- package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
- package/lib/cjs/nest/logging.cjs.map +0 -1
- package/lib/cjs/nest/types.cjs.map +0 -1
- package/lib/cjs/nest/utils.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/aws/index.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/azure/index.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
- package/lib/cjs/secrets/core/index.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
- package/lib/cjs/secrets/index.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
- package/lib/cjs/secrets/model/index.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/vault/index.cjs.map +0 -1
- package/lib/cjs/shared/runtime.cjs.map +0 -1
- package/lib/cjs/utils.cjs.map +0 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
- package/lib/esm/blob/azure/index.js.map +0 -1
- package/lib/esm/blob/core/BlobErrors.js.map +0 -1
- package/lib/esm/blob/core/BlobKey.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
- package/lib/esm/blob/core/BlobTypes.js.map +0 -1
- package/lib/esm/blob/core/BlobValue.js.map +0 -1
- package/lib/esm/blob/core/index.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/gcp/index.js.map +0 -1
- package/lib/esm/blob/index.js.map +0 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/index.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
- package/lib/esm/blob/local/index.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
- package/lib/esm/blob/memory/index.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/index.js.map +0 -1
- package/lib/esm/docker/DockerComposeService.js.map +0 -1
- package/lib/esm/docker/index.js.map +0 -1
- package/lib/esm/graph/constants.js.map +0 -1
- package/lib/esm/graph/decorators.js.map +0 -1
- package/lib/esm/graph/errors/GraphCycleError.js.map +0 -1
- package/lib/esm/graph/errors/GraphExecutionError.js.map +0 -1
- package/lib/esm/graph/errors/GraphInputError.js.map +0 -1
- package/lib/esm/graph/errors/GraphLoopLimitError.js.map +0 -1
- package/lib/esm/graph/errors/GraphPinningError.js.map +0 -1
- package/lib/esm/graph/errors/GraphPortError.js.map +0 -1
- package/lib/esm/graph/errors/GraphStoreError.js.map +0 -1
- package/lib/esm/graph/errors/GraphTopologyError.js.map +0 -1
- package/lib/esm/graph/errors/index.js.map +0 -1
- package/lib/esm/graph/events/GraphExecutionEvent.js.map +0 -1
- package/lib/esm/graph/events/GraphExecutionEventEmitter.js.map +0 -1
- package/lib/esm/graph/events/GraphExecutionEventFactory.js.map +0 -1
- package/lib/esm/graph/events/GraphExecutionObserver.js.map +0 -1
- package/lib/esm/graph/events/index.js.map +0 -1
- package/lib/esm/graph/execution/GraphExecutionContext.js.map +0 -1
- package/lib/esm/graph/execution/GraphExecutionEngine.js.map +0 -1
- package/lib/esm/graph/execution/GraphExecutionFrame.js.map +0 -1
- package/lib/esm/graph/execution/GraphExecutionResult.js.map +0 -1
- package/lib/esm/graph/execution/GraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/execution/index.js.map +0 -1
- package/lib/esm/graph/index.js.map +0 -1
- package/lib/esm/graph/loops/ForeachGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/loops/GraphConditionEvaluator.js.map +0 -1
- package/lib/esm/graph/loops/GraphLoopExecutionContext.js.map +0 -1
- package/lib/esm/graph/loops/UntilGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/loops/WhileGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/loops/index.js.map +0 -1
- package/lib/esm/graph/pinning/GraphPinningDependencyResolver.js.map +0 -1
- package/lib/esm/graph/pinning/GraphPinningMetadata.js.map +0 -1
- package/lib/esm/graph/pinning/GraphPinningPolicy.js.map +0 -1
- package/lib/esm/graph/pinning/GraphPinningService.js.map +0 -1
- package/lib/esm/graph/pinning/index.js.map +0 -1
- package/lib/esm/graph/planning/GraphExecutionPlan.js.map +0 -1
- package/lib/esm/graph/planning/GraphExecutionPlanEdge.js.map +0 -1
- package/lib/esm/graph/planning/GraphExecutionPlanLayer.js.map +0 -1
- package/lib/esm/graph/planning/GraphExecutionPlanNode.js.map +0 -1
- package/lib/esm/graph/planning/GraphExecutionPlanner.js.map +0 -1
- package/lib/esm/graph/planning/GraphRelationResolver.js.map +0 -1
- package/lib/esm/graph/planning/GraphTopology.js.map +0 -1
- package/lib/esm/graph/planning/index.js.map +0 -1
- package/lib/esm/graph/registry/GraphNodeExecutorRegistry.js.map +0 -1
- package/lib/esm/graph/registry/GraphNodeExecutorResolver.js.map +0 -1
- package/lib/esm/graph/registry/index.js.map +0 -1
- package/lib/esm/graph/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
- package/lib/esm/graph/snapshots/index.js.map +0 -1
- package/lib/esm/graph/store/GraphCachedValue.js.map +0 -1
- package/lib/esm/graph/store/GraphValueKey.js.map +0 -1
- package/lib/esm/graph/store/GraphValueStore.js.map +0 -1
- package/lib/esm/graph/store/GraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/store/index.js.map +0 -1
- package/lib/esm/graph/types.js.map +0 -1
- package/lib/esm/graph/validation/GraphDefinitionValidator.js.map +0 -1
- package/lib/esm/graph/validation/GraphPortSchemaResolver.js.map +0 -1
- package/lib/esm/graph/validation/GraphValueValidator.js.map +0 -1
- package/lib/esm/graph/validation/index.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/keycloak/index.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
- package/lib/esm/keycloak/services/index.js.map +0 -1
- package/lib/esm/keycloak/types.js.map +0 -1
- package/lib/esm/kibana/helpers.js.map +0 -1
- package/lib/esm/kibana/index.js.map +0 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
- package/lib/esm/kibana/services/index.js.map +0 -1
- package/lib/esm/kibana/types.js.map +0 -1
- package/lib/esm/nest/authService.js.map +0 -1
- package/lib/esm/nest/index.js.map +0 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
- package/lib/esm/nest/keycloakModule.js.map +0 -1
- package/lib/esm/nest/logging.js.map +0 -1
- package/lib/esm/nest/types.js.map +0 -1
- package/lib/esm/nest/utils.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/aws/index.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/azure/index.js.map +0 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
- package/lib/esm/secrets/core/SecretName.js.map +0 -1
- package/lib/esm/secrets/core/SecretReference.js.map +0 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
- package/lib/esm/secrets/core/SecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
- package/lib/esm/secrets/core/index.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
- package/lib/esm/secrets/gcp/index.js.map +0 -1
- package/lib/esm/secrets/index.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/model/Secret.js.map +0 -1
- package/lib/esm/secrets/model/index.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/onepassword/index.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/vault/index.js.map +0 -1
- package/lib/esm/shared/runtime.js.map +0 -1
- 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
|