@decaf-ts/integrations 0.8.0 → 0.9.0
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/README.md +4 -0
- package/dist/integrations.cjs +1 -1
- package/jest.config.cjs +1 -11
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +25 -0
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +52 -10
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/azure/index.cjs +1 -0
- package/lib/cjs/blob/azure/index.cjs.map +1 -1
- package/lib/cjs/blob/core/BlobEnvironment.cjs +19 -0
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +6 -3
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/core/index.cjs +1 -0
- package/lib/cjs/blob/core/index.cjs.map +1 -1
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +26 -0
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +31 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/gcp/index.cjs +1 -0
- package/lib/cjs/blob/gcp/index.cjs.map +1 -1
- package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs +30 -0
- package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +37 -2
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/ipfs/index.cjs +1 -0
- package/lib/cjs/blob/ipfs/index.cjs.map +1 -1
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +22 -0
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +29 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/local/index.cjs +1 -0
- package/lib/cjs/blob/local/index.cjs.map +1 -1
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +21 -0
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +28 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/memory/index.cjs +1 -0
- package/lib/cjs/blob/memory/index.cjs.map +1 -1
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +32 -0
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +45 -4
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +32 -0
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +45 -4
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +32 -0
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +43 -310
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +327 -0
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +4 -0
- package/lib/cjs/blob/s3/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +100 -0
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs +29 -0
- package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs +270 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs +169 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs +64 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs +17 -0
- package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs.map +1 -0
- package/lib/cjs/graph/engine/catalog/index.cjs +24 -0
- package/lib/cjs/graph/engine/catalog/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/constants.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +1 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +1 -1
- package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs +18 -0
- package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/index.cjs +1 -0
- package/lib/cjs/graph/engine/errors/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/events/index.cjs +0 -1
- package/lib/cjs/graph/engine/events/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +10 -6
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +30 -18
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +354 -73
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +3 -3
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +9 -6
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +11 -10
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/index.cjs +8 -11
- package/lib/cjs/graph/engine/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +37 -12
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +38 -13
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +38 -13
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +1 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +1 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +43 -14
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +1 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +1 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +79 -88
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +1 -1
- package/lib/cjs/graph/engine/planning/index.cjs +0 -1
- package/lib/cjs/graph/engine/planning/index.cjs.map +1 -1
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +28 -15
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +1 -1
- package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs +69 -0
- package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs +291 -0
- package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs +29 -0
- package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/GraphRunService.cjs +259 -0
- package/lib/cjs/graph/engine/runs/GraphRunService.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs +69 -0
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs +26 -0
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/index.cjs +26 -0
- package/lib/cjs/graph/engine/runs/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/ownership.cjs +34 -0
- package/lib/cjs/graph/engine/runs/ownership.cjs.map +1 -0
- package/lib/cjs/graph/engine/runs/types.cjs.map +1 -0
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -1
- package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs +142 -0
- package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs +160 -0
- package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +6 -10
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +1 -1
- package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs +166 -0
- package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs +86 -0
- package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +423 -0
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs +4 -0
- package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs +50 -0
- package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs +4 -0
- package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +478 -0
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/index.cjs +12 -1
- package/lib/cjs/graph/engine/validation/index.cjs.map +1 -1
- package/lib/cjs/graph/index.cjs +4 -4
- package/lib/cjs/graph/log/GraphRunLogger.cjs +10 -6
- package/lib/cjs/graph/log/GraphRunLogger.cjs.map +1 -1
- package/lib/cjs/graph/log/LogParameters.cjs +13 -13
- package/lib/cjs/graph/log/LogParameters.cjs.map +1 -1
- package/lib/cjs/index.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +140 -16
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +94 -7
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +11 -0
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +63 -61
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs +270 -0
- package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphResultService.cjs +16 -1
- package/lib/cjs/nest/graph/GraphResultService.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphRunController.cjs +279 -0
- package/lib/cjs/nest/graph/GraphRunController.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphRunModel.cjs +83 -0
- package/lib/cjs/nest/graph/GraphRunModel.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphRunModelService.cjs +121 -0
- package/lib/cjs/nest/graph/GraphRunModelService.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +169 -0
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowController.cjs +162 -0
- package/lib/cjs/nest/graph/GraphWorkflowController.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs +12 -0
- package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs +23 -0
- package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +27 -1
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +1 -1
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +211 -8
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -1
- package/lib/cjs/nest/graph/index.cjs +8 -0
- package/lib/cjs/nest/graph/index.cjs.map +1 -1
- package/lib/cjs/nest/graph/main.cjs +22 -5
- package/lib/cjs/nest/graph/main.cjs.map +1 -1
- package/lib/cjs/nest/keycloakModule.cjs +3 -1
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -1
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +27 -0
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +53 -19
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/aws/index.cjs +1 -0
- package/lib/cjs/secrets/aws/index.cjs.map +1 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +45 -16
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +23 -0
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +1 -0
- package/lib/cjs/secrets/azure/index.cjs.map +1 -1
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +29 -0
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +19 -0
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -0
- package/lib/cjs/secrets/core/index.cjs.map +1 -1
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +25 -0
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +45 -17
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -1
- package/lib/cjs/secrets/gcp/index.cjs +1 -0
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -1
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +21 -0
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +29 -3
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/model/index.cjs +1 -0
- package/lib/cjs/secrets/model/index.cjs.map +1 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +24 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +34 -3
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/onepassword/index.cjs +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -1
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +24 -0
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +47 -16
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/vault/index.cjs +1 -0
- package/lib/cjs/secrets/vault/index.cjs.map +1 -1
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +31 -0
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +55 -5
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +1 -1
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +19 -0
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/core/SftpSource.cjs +10 -0
- package/lib/cjs/sftp/core/SftpSource.cjs.map +1 -1
- package/lib/cjs/sftp/core/index.cjs +1 -0
- package/lib/cjs/sftp/core/index.cjs.map +1 -1
- package/lib/cjs/sftp/index.cjs +3 -0
- package/lib/cjs/sftp/index.cjs.map +1 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +28 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +46 -5
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +1 -1
- package/lib/cjs/shared/environmentValue.cjs +31 -0
- package/lib/cjs/shared/environmentValue.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +21 -0
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +51 -12
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -1
- package/lib/esm/blob/azure/index.js +1 -0
- package/lib/esm/blob/azure/index.js.map +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js +15 -0
- package/lib/esm/blob/core/BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +6 -3
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -1
- package/lib/esm/blob/core/index.js +1 -0
- package/lib/esm/blob/core/index.js.map +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +22 -0
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +29 -3
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -1
- package/lib/esm/blob/gcp/index.js +1 -0
- package/lib/esm/blob/gcp/index.js.map +1 -1
- package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js +26 -0
- package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +35 -3
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -1
- package/lib/esm/blob/ipfs/index.js +1 -0
- package/lib/esm/blob/ipfs/index.js.map +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js +18 -0
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +27 -3
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -1
- package/lib/esm/blob/local/index.js +1 -0
- package/lib/esm/blob/local/index.js.map +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +17 -0
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +26 -3
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -1
- package/lib/esm/blob/memory/index.js +1 -0
- package/lib/esm/blob/memory/index.js.map +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +28 -0
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +42 -4
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js +28 -0
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +42 -4
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js +28 -0
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +41 -311
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +322 -0
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +4 -0
- package/lib/esm/blob/s3/index.js.map +1 -1
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +95 -0
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +1 -0
- package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js +22 -0
- package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js.map +1 -0
- package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js +265 -0
- package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js.map +1 -0
- package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js +162 -0
- package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js.map +1 -0
- package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js +59 -0
- package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js.map +1 -0
- package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js +12 -0
- package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js.map +1 -0
- package/lib/esm/graph/engine/catalog/index.js +7 -0
- package/lib/esm/graph/engine/catalog/index.js.map +1 -0
- package/lib/esm/graph/engine/constants.js +2 -2
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +1 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +1 -1
- package/lib/esm/graph/engine/errors/GraphRunCancelledError.js +13 -0
- package/lib/esm/graph/engine/errors/GraphRunCancelledError.js.map +1 -0
- package/lib/esm/graph/engine/errors/index.js +1 -0
- package/lib/esm/graph/engine/errors/index.js.map +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +1 -1
- package/lib/esm/graph/engine/events/index.js +0 -1
- package/lib/esm/graph/engine/events/index.js.map +1 -1
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +2 -2
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +10 -6
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +28 -16
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +322 -41
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +3 -3
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +1 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +9 -6
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +11 -10
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/index.js +8 -11
- package/lib/esm/graph/engine/index.js.map +1 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +32 -7
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +32 -7
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +32 -7
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +2 -2
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +43 -14
- package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +3 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +79 -88
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +1 -1
- package/lib/esm/graph/engine/planning/index.js +0 -1
- package/lib/esm/graph/engine/planning/index.js.map +1 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +28 -15
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +1 -1
- package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js +64 -0
- package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js.map +1 -0
- package/lib/esm/graph/engine/runs/GraphRunExecutor.js +286 -0
- package/lib/esm/graph/engine/runs/GraphRunExecutor.js.map +1 -0
- package/lib/esm/graph/engine/runs/GraphRunFingerprint.js +25 -0
- package/lib/esm/graph/engine/runs/GraphRunFingerprint.js.map +1 -0
- package/lib/esm/graph/engine/runs/GraphRunService.js +254 -0
- package/lib/esm/graph/engine/runs/GraphRunService.js.map +1 -0
- package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js +64 -0
- package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js.map +1 -0
- package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js +21 -0
- package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js.map +1 -0
- package/lib/esm/graph/engine/runs/index.js +9 -0
- package/lib/esm/graph/engine/runs/index.js.map +1 -0
- package/lib/esm/graph/engine/runs/ownership.js +30 -0
- package/lib/esm/graph/engine/runs/ownership.js.map +1 -0
- package/lib/esm/graph/engine/runs/types.js.map +1 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +1 -1
- package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js +137 -0
- package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js +155 -0
- package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +6 -10
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +1 -1
- package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js +161 -0
- package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js +81 -0
- package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js +416 -0
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js +2 -0
- package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphValidationErrors.js +43 -0
- package/lib/esm/graph/engine/validation/GraphValidationErrors.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphValidationIssue.js +2 -0
- package/lib/esm/graph/engine/validation/GraphValidationIssue.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +472 -0
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/index.js +12 -1
- package/lib/esm/graph/engine/validation/index.js.map +1 -1
- package/lib/esm/graph/index.js +4 -4
- package/lib/esm/graph/log/GraphRunLogger.js +5 -1
- package/lib/esm/graph/log/GraphRunLogger.js.map +1 -1
- package/lib/esm/graph/log/LogParameters.js +1 -1
- package/lib/esm/graph/log/LogParameters.js.map +1 -1
- package/lib/esm/index.js +2 -2
- package/lib/esm/nest/graph/GraphExecutionController.js +143 -19
- package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js +97 -10
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +11 -0
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +62 -62
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -1
- package/lib/esm/nest/graph/GraphNodeCatalogueController.js +261 -0
- package/lib/esm/nest/graph/GraphNodeCatalogueController.js.map +1 -0
- package/lib/esm/nest/graph/GraphResultService.js +16 -1
- package/lib/esm/nest/graph/GraphResultService.js.map +1 -1
- package/lib/esm/nest/graph/GraphRunController.js +270 -0
- package/lib/esm/nest/graph/GraphRunController.js.map +1 -0
- package/lib/esm/nest/graph/GraphRunModel.js +74 -0
- package/lib/esm/nest/graph/GraphRunModel.js.map +1 -0
- package/lib/esm/nest/graph/GraphRunModelService.js +112 -0
- package/lib/esm/nest/graph/GraphRunModelService.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +164 -0
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowController.js +153 -0
- package/lib/esm/nest/graph/GraphWorkflowController.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js +8 -0
- package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowErrors.js +18 -0
- package/lib/esm/nest/graph/GraphWorkflowErrors.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowModel.js +27 -1
- package/lib/esm/nest/graph/GraphWorkflowModel.js.map +1 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js +210 -8
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -1
- package/lib/esm/nest/graph/index.js +8 -0
- package/lib/esm/nest/graph/index.js.map +1 -1
- package/lib/esm/nest/graph/main.js +22 -5
- package/lib/esm/nest/graph/main.js.map +1 -1
- package/lib/esm/nest/keycloakModule.js +3 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +23 -0
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +39 -8
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -1
- package/lib/esm/secrets/aws/index.js +1 -0
- package/lib/esm/secrets/aws/index.js.map +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +30 -4
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +19 -0
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -0
- package/lib/esm/secrets/azure/index.js.map +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js +24 -0
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretEnvironment.js +15 -0
- package/lib/esm/secrets/core/SecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/core/index.js +2 -0
- package/lib/esm/secrets/core/index.js.map +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +21 -0
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +30 -5
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -1
- package/lib/esm/secrets/gcp/index.js +1 -0
- package/lib/esm/secrets/gcp/index.js.map +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +17 -0
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +28 -5
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -1
- package/lib/esm/secrets/model/index.js +1 -0
- package/lib/esm/secrets/model/index.js.map +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +20 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +33 -5
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -1
- package/lib/esm/secrets/onepassword/index.js +1 -0
- package/lib/esm/secrets/onepassword/index.js.map +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +20 -0
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +33 -5
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -1
- package/lib/esm/secrets/vault/index.js +1 -0
- package/lib/esm/secrets/vault/index.js.map +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +27 -0
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/aws/AwsSftpService.js +52 -6
- package/lib/esm/sftp/aws/AwsSftpService.js.map +1 -1
- package/lib/esm/sftp/core/SftpEnvironment.js +15 -0
- package/lib/esm/sftp/core/SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/core/SftpSource.js +12 -2
- package/lib/esm/sftp/core/SftpSource.js.map +1 -1
- package/lib/esm/sftp/core/index.js +1 -0
- package/lib/esm/sftp/core/index.js.map +1 -1
- package/lib/esm/sftp/index.js +3 -0
- package/lib/esm/sftp/index.js.map +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +24 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +43 -6
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +1 -1
- package/lib/esm/shared/environmentValue.js +25 -0
- package/lib/esm/shared/environmentValue.js.map +1 -0
- package/lib/types/blob/azure/AzureBlobEnvironment.d.cts +25 -0
- package/lib/types/blob/azure/AzureBlobEnvironment.d.mts +25 -0
- package/lib/types/blob/azure/AzureBlobStoreService.d.cts +1 -0
- package/lib/types/blob/azure/AzureBlobStoreService.d.mts +1 -0
- package/lib/types/blob/azure/index.d.cts +1 -0
- package/lib/types/blob/azure/index.d.mts +1 -0
- package/lib/types/blob/core/BlobEnvironment.d.cts +11 -0
- package/lib/types/blob/core/BlobEnvironment.d.mts +11 -0
- package/lib/types/blob/core/BlobStoreService.d.cts +6 -0
- package/lib/types/blob/core/BlobStoreService.d.mts +6 -0
- package/lib/types/blob/core/index.d.cts +1 -0
- package/lib/types/blob/core/index.d.mts +1 -0
- package/lib/types/blob/gcp/GcsBlobEnvironment.d.cts +17 -0
- package/lib/types/blob/gcp/GcsBlobEnvironment.d.mts +17 -0
- package/lib/types/blob/gcp/GcsBlobStoreService.d.cts +1 -0
- package/lib/types/blob/gcp/GcsBlobStoreService.d.mts +1 -0
- package/lib/types/blob/gcp/index.d.cts +1 -0
- package/lib/types/blob/gcp/index.d.mts +1 -0
- package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.cts +24 -0
- package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.mts +24 -0
- package/lib/types/blob/ipfs/IpfsBlobStoreService.d.cts +1 -0
- package/lib/types/blob/ipfs/IpfsBlobStoreService.d.mts +1 -0
- package/lib/types/blob/ipfs/index.d.cts +1 -0
- package/lib/types/blob/ipfs/index.d.mts +1 -0
- package/lib/types/blob/local/LocalBlobEnvironment.d.cts +15 -0
- package/lib/types/blob/local/LocalBlobEnvironment.d.mts +15 -0
- package/lib/types/blob/local/LocalBlobStoreService.d.cts +1 -0
- package/lib/types/blob/local/LocalBlobStoreService.d.mts +1 -0
- package/lib/types/blob/local/index.d.cts +1 -0
- package/lib/types/blob/local/index.d.mts +1 -0
- package/lib/types/blob/memory/MemoryBlobEnvironment.d.cts +14 -0
- package/lib/types/blob/memory/MemoryBlobEnvironment.d.mts +14 -0
- package/lib/types/blob/memory/MemoryBlobStoreService.d.cts +1 -0
- package/lib/types/blob/memory/MemoryBlobStoreService.d.mts +1 -0
- package/lib/types/blob/memory/index.d.cts +1 -0
- package/lib/types/blob/memory/index.d.mts +1 -0
- package/lib/types/blob/s3/MinioBlobEnvironment.d.cts +11 -0
- package/lib/types/blob/s3/MinioBlobEnvironment.d.mts +11 -0
- package/lib/types/blob/s3/MinioBlobStoreService.d.cts +4 -7
- package/lib/types/blob/s3/MinioBlobStoreService.d.mts +4 -7
- package/lib/types/blob/s3/R2BlobEnvironment.d.cts +11 -0
- package/lib/types/blob/s3/R2BlobEnvironment.d.mts +11 -0
- package/lib/types/blob/s3/R2BlobStoreService.d.cts +4 -7
- package/lib/types/blob/s3/R2BlobStoreService.d.mts +4 -7
- package/lib/types/blob/s3/S3BlobEnvironment.d.cts +26 -0
- package/lib/types/blob/s3/S3BlobEnvironment.d.mts +26 -0
- package/lib/types/blob/s3/S3BlobStoreService.d.cts +4 -24
- package/lib/types/blob/s3/S3BlobStoreService.d.mts +4 -24
- package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.cts +30 -0
- package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.mts +30 -0
- package/lib/types/blob/s3/index.d.cts +4 -0
- package/lib/types/blob/s3/index.d.mts +4 -0
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +17 -0
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +17 -0
- package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.cts +13 -0
- package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.mts +13 -0
- package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.cts +71 -0
- package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.mts +71 -0
- package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.cts +42 -0
- package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.mts +42 -0
- package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.cts +22 -0
- package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.mts +22 -0
- package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.cts +68 -0
- package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.mts +68 -0
- package/lib/types/graph/engine/catalog/index.d.cts +6 -0
- package/lib/types/graph/engine/catalog/index.d.mts +6 -0
- package/lib/types/graph/engine/constants.d.cts +2 -2
- package/lib/types/graph/engine/constants.d.mts +2 -2
- package/lib/types/graph/engine/errors/GraphRunCancelledError.d.cts +9 -0
- package/lib/types/graph/engine/errors/GraphRunCancelledError.d.mts +9 -0
- package/lib/types/graph/engine/errors/index.d.cts +1 -0
- package/lib/types/graph/engine/errors/index.d.mts +1 -0
- package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.cts +1 -1
- package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.mts +1 -1
- package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.cts +1 -1
- package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.mts +1 -1
- package/lib/types/graph/engine/events/GraphExecutionObserver.d.cts +1 -1
- package/lib/types/graph/engine/events/GraphExecutionObserver.d.mts +1 -1
- package/lib/types/graph/engine/events/index.d.cts +0 -1
- package/lib/types/graph/engine/events/index.d.mts +0 -1
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/execution/BreakGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/execution/CodeGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +28 -14
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +28 -14
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +106 -23
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +106 -23
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +2 -1
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +2 -1
- package/lib/types/graph/engine/execution/GraphExecutionResult.d.cts +3 -3
- package/lib/types/graph/engine/execution/GraphExecutionResult.d.mts +3 -3
- package/lib/types/graph/engine/execution/GraphNodeExecutor.d.cts +17 -9
- package/lib/types/graph/engine/execution/GraphNodeExecutor.d.mts +17 -9
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.cts +3 -3
- package/lib/types/graph/engine/execution/LogGraphNodeExecutor.d.mts +3 -3
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/execution/SwitchGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/index.d.cts +6 -9
- package/lib/types/graph/engine/index.d.mts +6 -9
- package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.cts +1 -1
- package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.mts +1 -1
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/loops/ForeachGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.cts +1 -1
- package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.mts +1 -1
- package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/loops/UntilGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.cts +2 -2
- package/lib/types/graph/engine/loops/WhileGraphNodeExecutor.d.mts +2 -2
- package/lib/types/graph/engine/pinning/GraphPinningService.d.cts +16 -5
- package/lib/types/graph/engine/pinning/GraphPinningService.d.mts +16 -5
- package/lib/types/graph/engine/planning/GraphExecutionPlan.d.cts +8 -4
- package/lib/types/graph/engine/planning/GraphExecutionPlan.d.mts +8 -4
- package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.cts +9 -4
- package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.mts +9 -4
- package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.cts +17 -9
- package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.mts +17 -9
- package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.cts +21 -33
- package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.mts +21 -33
- package/lib/types/graph/engine/planning/index.d.cts +0 -1
- package/lib/types/graph/engine/planning/index.d.mts +0 -1
- package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.cts +22 -8
- package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.mts +22 -8
- package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.cts +26 -0
- package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.mts +26 -0
- package/lib/types/graph/engine/runs/GraphRunExecutor.d.cts +75 -0
- package/lib/types/graph/engine/runs/GraphRunExecutor.d.mts +75 -0
- package/lib/types/graph/engine/runs/GraphRunFingerprint.d.cts +8 -0
- package/lib/types/graph/engine/runs/GraphRunFingerprint.d.mts +8 -0
- package/lib/types/graph/engine/runs/GraphRunService.d.cts +93 -0
- package/lib/types/graph/engine/runs/GraphRunService.d.mts +93 -0
- package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.cts +28 -0
- package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.mts +28 -0
- package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.cts +12 -0
- package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.mts +12 -0
- package/lib/types/graph/engine/runs/index.d.cts +8 -0
- package/lib/types/graph/engine/runs/index.d.mts +8 -0
- package/lib/types/graph/engine/runs/ownership.d.cts +25 -0
- package/lib/types/graph/engine/runs/ownership.d.mts +25 -0
- package/lib/types/graph/engine/runs/types.d.cts +83 -0
- package/lib/types/graph/engine/runs/types.d.mts +83 -0
- package/lib/types/graph/engine/types.d.cts +37 -12
- package/lib/types/graph/engine/types.d.mts +37 -12
- package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.cts +32 -0
- package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.mts +32 -0
- package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.cts +62 -0
- package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.mts +62 -0
- package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.cts +11 -9
- package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.mts +11 -9
- package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.cts +32 -0
- package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.mts +32 -0
- package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.cts +37 -0
- package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.mts +37 -0
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +92 -0
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +92 -0
- package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.cts +66 -0
- package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.mts +66 -0
- package/lib/types/graph/engine/validation/GraphValidationErrors.d.cts +34 -0
- package/lib/types/graph/engine/validation/GraphValidationErrors.d.mts +34 -0
- package/lib/types/graph/engine/validation/GraphValidationIssue.d.cts +39 -0
- package/lib/types/graph/engine/validation/GraphValidationIssue.d.mts +39 -0
- package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.cts +162 -0
- package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.mts +162 -0
- package/lib/types/graph/engine/validation/index.d.cts +12 -1
- package/lib/types/graph/engine/validation/index.d.mts +12 -1
- package/lib/types/graph/index.d.cts +4 -4
- package/lib/types/graph/index.d.mts +4 -4
- package/lib/types/graph/log/GraphRunLogger.d.cts +3 -1
- package/lib/types/graph/log/GraphRunLogger.d.mts +3 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/nest/graph/GraphExecutionController.d.cts +83 -4
- package/lib/types/nest/graph/GraphExecutionController.d.mts +83 -4
- package/lib/types/nest/graph/GraphExecutionModule.d.cts +64 -0
- package/lib/types/nest/graph/GraphExecutionModule.d.mts +64 -0
- package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +12 -0
- package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +12 -0
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +42 -28
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +42 -28
- package/lib/types/nest/graph/GraphNodeCatalogueController.d.cts +70 -0
- package/lib/types/nest/graph/GraphNodeCatalogueController.d.mts +70 -0
- package/lib/types/nest/graph/GraphResultService.d.cts +12 -0
- package/lib/types/nest/graph/GraphResultService.d.mts +12 -0
- package/lib/types/nest/graph/GraphRunController.d.cts +87 -0
- package/lib/types/nest/graph/GraphRunController.d.mts +87 -0
- package/lib/types/nest/graph/GraphRunModel.d.cts +22 -0
- package/lib/types/nest/graph/GraphRunModel.d.mts +22 -0
- package/lib/types/nest/graph/GraphRunModelService.d.cts +21 -0
- package/lib/types/nest/graph/GraphRunModelService.d.mts +21 -0
- package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.cts +28 -0
- package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.mts +28 -0
- package/lib/types/nest/graph/GraphWorkflowController.d.cts +62 -0
- package/lib/types/nest/graph/GraphWorkflowController.d.mts +62 -0
- package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.cts +33 -0
- package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.mts +33 -0
- package/lib/types/nest/graph/GraphWorkflowErrors.d.cts +13 -0
- package/lib/types/nest/graph/GraphWorkflowErrors.d.mts +13 -0
- package/lib/types/nest/graph/GraphWorkflowModel.d.cts +19 -1
- package/lib/types/nest/graph/GraphWorkflowModel.d.mts +19 -1
- package/lib/types/nest/graph/GraphWorkflowService.d.cts +48 -1
- package/lib/types/nest/graph/GraphWorkflowService.d.mts +48 -1
- package/lib/types/nest/graph/index.d.cts +8 -0
- package/lib/types/nest/graph/index.d.mts +8 -0
- package/lib/types/nest/keycloakModule.d.cts +9 -1
- package/lib/types/nest/keycloakModule.d.mts +9 -1
- package/lib/types/secrets/aws/AwsSecretEnvironment.d.cts +21 -0
- package/lib/types/secrets/aws/AwsSecretEnvironment.d.mts +21 -0
- package/lib/types/secrets/aws/AwsSecretService.d.cts +4 -3
- package/lib/types/secrets/aws/AwsSecretService.d.mts +4 -3
- package/lib/types/secrets/aws/index.d.cts +1 -0
- package/lib/types/secrets/aws/index.d.mts +1 -0
- package/lib/types/secrets/azure/AzureKeyVaultSecretService.d.cts +4 -3
- package/lib/types/secrets/azure/AzureKeyVaultSecretService.d.mts +4 -3
- package/lib/types/secrets/azure/AzureSecretEnvironment.d.cts +14 -0
- package/lib/types/secrets/azure/AzureSecretEnvironment.d.mts +14 -0
- package/lib/types/secrets/azure/index.d.cts +1 -0
- package/lib/types/secrets/azure/index.d.mts +1 -0
- package/lib/types/secrets/core/ClientBasedSecretService.d.cts +20 -0
- package/lib/types/secrets/core/ClientBasedSecretService.d.mts +20 -0
- package/lib/types/secrets/core/SecretEnvironment.d.cts +11 -0
- package/lib/types/secrets/core/SecretEnvironment.d.mts +11 -0
- package/lib/types/secrets/core/index.d.cts +2 -0
- package/lib/types/secrets/core/index.d.mts +2 -0
- package/lib/types/secrets/gcp/GcpSecretEnvironment.d.cts +16 -0
- package/lib/types/secrets/gcp/GcpSecretEnvironment.d.mts +16 -0
- package/lib/types/secrets/gcp/GcpSecretManagerService.d.cts +4 -3
- package/lib/types/secrets/gcp/GcpSecretManagerService.d.mts +4 -3
- package/lib/types/secrets/gcp/index.d.cts +1 -0
- package/lib/types/secrets/gcp/index.d.mts +1 -0
- package/lib/types/secrets/model/ModelSecretEnvironment.d.cts +14 -0
- package/lib/types/secrets/model/ModelSecretEnvironment.d.mts +14 -0
- package/lib/types/secrets/model/ModelSecretService.d.cts +4 -3
- package/lib/types/secrets/model/ModelSecretService.d.mts +4 -3
- package/lib/types/secrets/model/ModelSecretServiceConfig.d.cts +2 -1
- package/lib/types/secrets/model/ModelSecretServiceConfig.d.mts +2 -1
- package/lib/types/secrets/model/index.d.cts +1 -0
- package/lib/types/secrets/model/index.d.mts +1 -0
- package/lib/types/secrets/onepassword/OnePasswordSecretEnvironment.d.cts +17 -0
- package/lib/types/secrets/onepassword/OnePasswordSecretEnvironment.d.mts +17 -0
- package/lib/types/secrets/onepassword/OnePasswordSecretService.d.cts +4 -3
- package/lib/types/secrets/onepassword/OnePasswordSecretService.d.mts +4 -3
- package/lib/types/secrets/onepassword/index.d.cts +1 -0
- package/lib/types/secrets/onepassword/index.d.mts +1 -0
- package/lib/types/secrets/vault/VaultSecretEnvironment.d.cts +17 -0
- package/lib/types/secrets/vault/VaultSecretEnvironment.d.mts +17 -0
- package/lib/types/secrets/vault/VaultSecretService.d.cts +4 -3
- package/lib/types/secrets/vault/VaultSecretService.d.mts +4 -3
- package/lib/types/secrets/vault/index.d.cts +1 -0
- package/lib/types/secrets/vault/index.d.mts +1 -0
- package/lib/types/sftp/aws/AwsSftpEnvironment.d.cts +24 -0
- package/lib/types/sftp/aws/AwsSftpEnvironment.d.mts +24 -0
- package/lib/types/sftp/aws/AwsSftpService.d.cts +1 -0
- package/lib/types/sftp/aws/AwsSftpService.d.mts +1 -0
- package/lib/types/sftp/core/SftpEnvironment.d.cts +11 -0
- package/lib/types/sftp/core/SftpEnvironment.d.mts +11 -0
- package/lib/types/sftp/core/SftpSource.d.cts +7 -0
- package/lib/types/sftp/core/SftpSource.d.mts +7 -0
- package/lib/types/sftp/core/index.d.cts +1 -0
- package/lib/types/sftp/core/index.d.mts +1 -0
- package/lib/types/sftp/index.d.cts +3 -0
- package/lib/types/sftp/index.d.mts +3 -0
- package/lib/types/sftp/ssh2/Ssh2SftpEnvironment.d.cts +21 -0
- package/lib/types/sftp/ssh2/Ssh2SftpEnvironment.d.mts +21 -0
- package/lib/types/sftp/ssh2/Ssh2SftpService.d.cts +1 -0
- package/lib/types/sftp/ssh2/Ssh2SftpService.d.mts +1 -0
- package/lib/types/shared/environmentValue.d.cts +16 -0
- package/lib/types/shared/environmentValue.d.mts +16 -0
- package/package.json +6 -16
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +0 -4
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +0 -172
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +0 -1
- package/lib/cjs/graph/shared/GraphExecutionStateMapper.cjs +0 -97
- package/lib/cjs/graph/shared/GraphExecutionStateMapper.cjs.map +0 -1
- package/lib/cjs/graph/shared/constants.cjs +0 -99
- package/lib/cjs/graph/shared/constants.cjs.map +0 -1
- package/lib/cjs/graph/shared/index.cjs +0 -46
- package/lib/cjs/graph/shared/index.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/agent.cjs +0 -110
- package/lib/cjs/graph/shared/nodes/agent.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/base.cjs +0 -36
- package/lib/cjs/graph/shared/nodes/base.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +0 -38
- package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +0 -630
- package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/index.cjs +0 -35
- package/lib/cjs/graph/shared/nodes/index.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/triggers.cjs +0 -250
- package/lib/cjs/graph/shared/nodes/triggers.cjs.map +0 -1
- package/lib/cjs/graph/shared/types.cjs.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +0 -2
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +0 -167
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +0 -1
- package/lib/esm/graph/shared/GraphExecutionStateMapper.js +0 -91
- package/lib/esm/graph/shared/GraphExecutionStateMapper.js.map +0 -1
- package/lib/esm/graph/shared/constants.js +0 -135
- package/lib/esm/graph/shared/constants.js.map +0 -1
- package/lib/esm/graph/shared/index.js +0 -25
- package/lib/esm/graph/shared/index.js.map +0 -1
- package/lib/esm/graph/shared/nodes/agent.js +0 -101
- package/lib/esm/graph/shared/nodes/agent.js.map +0 -1
- package/lib/esm/graph/shared/nodes/base.js +0 -31
- package/lib/esm/graph/shared/nodes/base.js.map +0 -1
- package/lib/esm/graph/shared/nodes/category-styles.js +0 -34
- package/lib/esm/graph/shared/nodes/category-styles.js.map +0 -1
- package/lib/esm/graph/shared/nodes/flow-control.js +0 -621
- package/lib/esm/graph/shared/nodes/flow-control.js.map +0 -1
- package/lib/esm/graph/shared/nodes/index.js +0 -18
- package/lib/esm/graph/shared/nodes/index.js.map +0 -1
- package/lib/esm/graph/shared/nodes/triggers.js +0 -241
- package/lib/esm/graph/shared/nodes/triggers.js.map +0 -1
- package/lib/esm/graph/shared/types.js.map +0 -1
- package/lib/types/graph/engine/events/GraphExecutionEvent.d.cts +0 -6
- package/lib/types/graph/engine/events/GraphExecutionEvent.d.mts +0 -6
- package/lib/types/graph/engine/planning/GraphRelationResolver.d.cts +0 -62
- package/lib/types/graph/engine/planning/GraphRelationResolver.d.mts +0 -62
- package/lib/types/graph/shared/GraphExecutionStateMapper.d.cts +0 -66
- package/lib/types/graph/shared/GraphExecutionStateMapper.d.mts +0 -66
- package/lib/types/graph/shared/constants.d.cts +0 -120
- package/lib/types/graph/shared/constants.d.mts +0 -120
- package/lib/types/graph/shared/index.d.cts +0 -21
- package/lib/types/graph/shared/index.d.mts +0 -21
- package/lib/types/graph/shared/nodes/agent.d.cts +0 -44
- package/lib/types/graph/shared/nodes/agent.d.mts +0 -44
- package/lib/types/graph/shared/nodes/base.d.cts +0 -28
- package/lib/types/graph/shared/nodes/base.d.mts +0 -28
- package/lib/types/graph/shared/nodes/category-styles.d.cts +0 -8
- package/lib/types/graph/shared/nodes/category-styles.d.mts +0 -8
- package/lib/types/graph/shared/nodes/flow-control.d.cts +0 -163
- package/lib/types/graph/shared/nodes/flow-control.d.mts +0 -163
- package/lib/types/graph/shared/nodes/index.d.cts +0 -17
- package/lib/types/graph/shared/nodes/index.d.mts +0 -17
- package/lib/types/graph/shared/nodes/triggers.d.cts +0 -53
- package/lib/types/graph/shared/nodes/triggers.d.mts +0 -53
- package/lib/types/graph/shared/types.d.cts +0 -257
- package/lib/types/graph/shared/types.d.mts +0 -257
- /package/lib/cjs/graph/{shared → engine/runs}/types.cjs +0 -0
- /package/lib/esm/graph/{shared → engine/runs}/types.js +0 -0
|
@@ -2,11 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GraphExecutionEngine = void 0;
|
|
4
4
|
const constants_js_1 = require("./../constants.cjs");
|
|
5
|
-
const
|
|
5
|
+
const graph_1 = require("@decaf-ts/ui-decorators/graph");
|
|
6
6
|
const index_js_1 = require("./../errors/index.cjs");
|
|
7
7
|
const GraphExecutionEventEmitter_js_1 = require("./../events/GraphExecutionEventEmitter.cjs");
|
|
8
8
|
const GraphExecutionEventFactory_js_1 = require("./../events/GraphExecutionEventFactory.cjs");
|
|
9
9
|
const GraphExecutionPlanner_js_1 = require("./../planning/GraphExecutionPlanner.cjs");
|
|
10
|
+
const GraphWorkflowDocumentValidator_js_1 = require("./../validation/GraphWorkflowDocumentValidator.cjs");
|
|
11
|
+
const GraphParameterValidator_js_1 = require("./../validation/GraphParameterValidator.cjs");
|
|
12
|
+
const GraphValidationErrors_js_1 = require("./../validation/GraphValidationErrors.cjs");
|
|
10
13
|
const InMemoryGraphValueStoreAdapter_js_1 = require("./../store/InMemoryGraphValueStoreAdapter.cjs");
|
|
11
14
|
const GraphValueStore_js_1 = require("./../store/GraphValueStore.cjs");
|
|
12
15
|
const GraphPinningService_js_1 = require("./../pinning/GraphPinningService.cjs");
|
|
@@ -18,13 +21,20 @@ const GraphExecutionResult_js_1 = require("./GraphExecutionResult.cjs");
|
|
|
18
21
|
/**
|
|
19
22
|
* Reference graph execution engine.
|
|
20
23
|
*
|
|
21
|
-
* Executes a {@link
|
|
22
|
-
* 1.
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
24
|
+
* Executes a canonical {@link GraphWorkflowDocument} by:
|
|
25
|
+
* 1. Validating it through the nine-stage gate and resolving it against the
|
|
26
|
+
* backend catalogue (§4.8).
|
|
27
|
+
* 2. Planning the resolved workflow into topological layers (§4.9).
|
|
28
|
+
* 3. Seeding workflow inputs into the value store.
|
|
29
|
+
* 4. Executing nodes layer-by-layer with configurable concurrency, honouring
|
|
30
|
+
* disabled-node semantics.
|
|
31
|
+
* 5. Building node inputs from routed edges, literal bindings, allowed
|
|
32
|
+
* expressions, and manifest defaults; keeping configuration (parameters,
|
|
33
|
+
* credentials) separate from input data.
|
|
34
|
+
* 6. Validating executor outputs against the effective output manifest.
|
|
35
|
+
* 7. Routing values along data edges.
|
|
36
|
+
* 8. Emitting structured events through Decaf's Observable pipeline.
|
|
37
|
+
* 9. Returning a complete {@link GraphExecutionResult}.
|
|
28
38
|
*/
|
|
29
39
|
class GraphExecutionEngine {
|
|
30
40
|
constructor(config) {
|
|
@@ -35,6 +45,13 @@ class GraphExecutionEngine {
|
|
|
35
45
|
this.defaultOptions = config.defaultOptions ?? {};
|
|
36
46
|
this.codeSandboxEvaluator = config.codeSandboxEvaluator;
|
|
37
47
|
this.config = config;
|
|
48
|
+
this.documentValidator =
|
|
49
|
+
config.documentValidator ??
|
|
50
|
+
new GraphWorkflowDocumentValidator_js_1.GraphWorkflowDocumentValidator({
|
|
51
|
+
catalogue: config.catalogue ?? config.registry.catalog,
|
|
52
|
+
limits: config.documentLimits,
|
|
53
|
+
credentialAuthorizer: config.credentialAuthorizer,
|
|
54
|
+
});
|
|
38
55
|
config.onEngineCreated?.(this);
|
|
39
56
|
}
|
|
40
57
|
/**
|
|
@@ -63,85 +80,143 @@ class GraphExecutionEngine {
|
|
|
63
80
|
await this.emitter.updateObservers(event);
|
|
64
81
|
}
|
|
65
82
|
/**
|
|
66
|
-
* Executes a workflow with the given inputs and options.
|
|
83
|
+
* Executes a canonical workflow document with the given inputs and options.
|
|
84
|
+
*
|
|
85
|
+
* Resolution happens internally (DECAF-50 §4.9): the document is validated
|
|
86
|
+
* through the nine-stage gate and resolved against the backend catalogue
|
|
87
|
+
* before planning. Decorated `GraphWorkflowDefinition` objects are NOT
|
|
88
|
+
* accepted — compile them with the §4.18 transition compiler first.
|
|
67
89
|
*
|
|
68
|
-
* @param
|
|
69
|
-
* @param inputs - Workflow input values keyed by input port
|
|
90
|
+
* @param document - The canonical workflow document to execute.
|
|
91
|
+
* @param inputs - Workflow input values keyed by input port id.
|
|
70
92
|
* @param options - Optional execution overrides (merged over the defaults).
|
|
71
93
|
* @returns The complete execution result, including a `runId`, per-node
|
|
72
|
-
*
|
|
94
|
+
* results, and workflow outputs (or the failure payload).
|
|
95
|
+
* @throws {GraphDocumentValidationError} when the document fails the
|
|
96
|
+
* nine-stage validation gate (carries every structured issue).
|
|
73
97
|
*/
|
|
74
|
-
async execute(
|
|
98
|
+
async execute(document, inputs = {}, options = {}) {
|
|
75
99
|
const opts = this.mergeOptions(options);
|
|
100
|
+
this.assertNotAborted(opts);
|
|
76
101
|
const runId = opts.runId ?? this.generateRunId();
|
|
77
102
|
const path = opts.path ?? [];
|
|
78
103
|
const eventFactory = new GraphExecutionEventFactory_js_1.GraphExecutionEventFactory();
|
|
79
104
|
const valueStore = new GraphValueStore_js_1.GraphValueStore(this.valueStoreAdapter);
|
|
80
|
-
valueStore.seedWorkflowInputs(inputs);
|
|
81
|
-
const plan = this.planner.plan(workflow);
|
|
82
|
-
const frame = new GraphExecutionFrame_js_1.GraphExecutionFrame(runId, plan, valueStore, eventFactory);
|
|
105
|
+
valueStore.seedWorkflowInputs(this.withWorkflowInputDefaults(document, inputs));
|
|
83
106
|
const emitFn = async (partial) => {
|
|
84
107
|
await this.emitEvent(frame, {
|
|
85
|
-
type: partial.type ??
|
|
108
|
+
type: partial.type ?? graph_1.GraphExecutionEventType.NODE_OUTPUT,
|
|
86
109
|
runId,
|
|
87
110
|
parentRunId: opts.parentRunId,
|
|
88
|
-
workflowId:
|
|
111
|
+
workflowId: document.id || document.name,
|
|
89
112
|
nodeId: partial.nodeId,
|
|
90
113
|
path: partial.path ?? path,
|
|
91
114
|
...partial,
|
|
92
115
|
});
|
|
93
116
|
};
|
|
117
|
+
const emitValidationEvent = async (partial) => {
|
|
118
|
+
const event = eventFactory.create({
|
|
119
|
+
id: "",
|
|
120
|
+
sequence: 0,
|
|
121
|
+
timestamp: new Date(),
|
|
122
|
+
runId,
|
|
123
|
+
parentRunId: opts.parentRunId,
|
|
124
|
+
workflowId: document.id || document.name,
|
|
125
|
+
path,
|
|
126
|
+
...partial,
|
|
127
|
+
});
|
|
128
|
+
await this.emitter.updateObservers(event);
|
|
129
|
+
};
|
|
130
|
+
// ------------------------------------------------------------------
|
|
131
|
+
// Validation + resolution (nine-stage gate, §4.8) — internal.
|
|
132
|
+
// ------------------------------------------------------------------
|
|
133
|
+
await emitValidationEvent({
|
|
134
|
+
type: graph_1.GraphExecutionEventType.VALIDATION_STARTED,
|
|
135
|
+
status: graph_1.GraphExecutionStatus.PLANNING,
|
|
136
|
+
});
|
|
137
|
+
const validation = await this.documentValidator.validate(document);
|
|
138
|
+
if (!validation.valid || !validation.resolved) {
|
|
139
|
+
await emitValidationEvent({
|
|
140
|
+
type: graph_1.GraphExecutionEventType.VALIDATION_FAILED,
|
|
141
|
+
status: graph_1.GraphExecutionStatus.FAILED,
|
|
142
|
+
payload: { issues: validation.issues },
|
|
143
|
+
});
|
|
144
|
+
throw new GraphValidationErrors_js_1.GraphDocumentValidationError(`Graph workflow document '${document.id}' failed validation with ${validation.issues.length} issue(s)`, validation.issues);
|
|
145
|
+
}
|
|
146
|
+
await emitValidationEvent({
|
|
147
|
+
type: graph_1.GraphExecutionEventType.VALIDATION_COMPLETED,
|
|
148
|
+
status: graph_1.GraphExecutionStatus.PLANNING,
|
|
149
|
+
payload: { issues: validation.issues.length },
|
|
150
|
+
});
|
|
151
|
+
this.assertNotAborted(opts);
|
|
152
|
+
const plan = this.planner.plan(validation.resolved);
|
|
153
|
+
const frame = new GraphExecutionFrame_js_1.GraphExecutionFrame(runId, plan, valueStore, eventFactory);
|
|
94
154
|
await this.emitEvent(frame, {
|
|
95
|
-
type:
|
|
155
|
+
type: graph_1.GraphExecutionEventType.WORKFLOW_STARTED,
|
|
96
156
|
runId,
|
|
97
157
|
parentRunId: opts.parentRunId,
|
|
98
|
-
workflowId:
|
|
158
|
+
workflowId: plan.workflowId,
|
|
99
159
|
path,
|
|
100
|
-
status:
|
|
160
|
+
status: graph_1.GraphExecutionStatus.RUNNING,
|
|
101
161
|
payload: { inputs },
|
|
102
162
|
});
|
|
103
163
|
await this.emitEvent(frame, {
|
|
104
|
-
type:
|
|
164
|
+
type: graph_1.GraphExecutionEventType.WORKFLOW_PLANNED,
|
|
105
165
|
runId,
|
|
106
166
|
parentRunId: opts.parentRunId,
|
|
107
|
-
workflowId:
|
|
167
|
+
workflowId: plan.workflowId,
|
|
108
168
|
path,
|
|
109
|
-
status:
|
|
169
|
+
status: graph_1.GraphExecutionStatus.PLANNING,
|
|
110
170
|
payload: { layers: plan.layers.length, nodes: plan.nodes.length },
|
|
111
171
|
});
|
|
112
172
|
try {
|
|
113
173
|
for (const layer of plan.layers) {
|
|
174
|
+
this.assertNotAborted(opts);
|
|
114
175
|
await this.executeLayer(frame, plan, layer.nodes, opts, emitFn);
|
|
115
176
|
}
|
|
116
|
-
|
|
177
|
+
this.assertNotAborted(opts);
|
|
178
|
+
const firstFailure = [...frame.nodeResults.values()].find((result) => result.status === graph_1.GraphExecutionStatus.FAILED);
|
|
117
179
|
if (firstFailure?.error) {
|
|
118
180
|
throw new index_js_1.GraphExecutionError(firstFailure.error.message, firstFailure.error.code ?? "GRAPH_EXECUTION_ERROR", firstFailure.error.details);
|
|
119
181
|
}
|
|
120
182
|
frame.finish();
|
|
121
183
|
await this.emitEvent(frame, {
|
|
122
|
-
type:
|
|
184
|
+
type: graph_1.GraphExecutionEventType.WORKFLOW_COMPLETED,
|
|
123
185
|
runId,
|
|
124
186
|
parentRunId: opts.parentRunId,
|
|
125
|
-
workflowId:
|
|
187
|
+
workflowId: plan.workflowId,
|
|
126
188
|
path,
|
|
127
|
-
status:
|
|
189
|
+
status: graph_1.GraphExecutionStatus.SUCCEEDED,
|
|
128
190
|
payload: { outputs: valueStore.getWorkflowValues() },
|
|
129
191
|
});
|
|
130
|
-
return (0, GraphExecutionResult_js_1.buildGraphExecutionResult)(frame,
|
|
192
|
+
return (0, GraphExecutionResult_js_1.buildGraphExecutionResult)(frame, document, inputs, graph_1.GraphExecutionStatus.SUCCEEDED, opts.metadata);
|
|
131
193
|
}
|
|
132
194
|
catch (error) {
|
|
133
195
|
frame.finish();
|
|
134
196
|
const errorPayload = this.toErrorPayload(error);
|
|
197
|
+
if (error instanceof index_js_1.GraphRunCancelledError ||
|
|
198
|
+
opts.abortSignal?.aborted === true) {
|
|
199
|
+
await this.emitEvent(frame, {
|
|
200
|
+
type: graph_1.GraphExecutionEventType.WORKFLOW_CANCELLED,
|
|
201
|
+
runId,
|
|
202
|
+
parentRunId: opts.parentRunId,
|
|
203
|
+
workflowId: plan.workflowId,
|
|
204
|
+
path,
|
|
205
|
+
status: graph_1.GraphExecutionStatus.CANCELLED,
|
|
206
|
+
error: errorPayload,
|
|
207
|
+
});
|
|
208
|
+
return (0, GraphExecutionResult_js_1.buildGraphExecutionResult)(frame, document, inputs, graph_1.GraphExecutionStatus.CANCELLED, opts.metadata);
|
|
209
|
+
}
|
|
135
210
|
await this.emitEvent(frame, {
|
|
136
|
-
type:
|
|
211
|
+
type: graph_1.GraphExecutionEventType.WORKFLOW_FAILED,
|
|
137
212
|
runId,
|
|
138
213
|
parentRunId: opts.parentRunId,
|
|
139
|
-
workflowId:
|
|
214
|
+
workflowId: plan.workflowId,
|
|
140
215
|
path,
|
|
141
|
-
status:
|
|
216
|
+
status: graph_1.GraphExecutionStatus.FAILED,
|
|
142
217
|
error: errorPayload,
|
|
143
218
|
});
|
|
144
|
-
return (0, GraphExecutionResult_js_1.buildGraphExecutionResult)(frame,
|
|
219
|
+
return (0, GraphExecutionResult_js_1.buildGraphExecutionResult)(frame, document, inputs, graph_1.GraphExecutionStatus.FAILED, opts.metadata);
|
|
145
220
|
}
|
|
146
221
|
}
|
|
147
222
|
/**
|
|
@@ -153,7 +228,7 @@ class GraphExecutionEngine {
|
|
|
153
228
|
async pinNode(options) {
|
|
154
229
|
const service = this.createPinningService();
|
|
155
230
|
await service.pinNode(options);
|
|
156
|
-
await this.emitPinningEvent(options.nodeId,
|
|
231
|
+
await this.emitPinningEvent(options.nodeId, graph_1.GraphExecutionEventType.NODE_PINNED);
|
|
157
232
|
}
|
|
158
233
|
/**
|
|
159
234
|
* Unpins a node by its fingerprint.
|
|
@@ -161,7 +236,7 @@ class GraphExecutionEngine {
|
|
|
161
236
|
async unpinNode(options) {
|
|
162
237
|
const service = this.createPinningService();
|
|
163
238
|
await service.unpinNode(options);
|
|
164
|
-
await this.emitPinningEvent(options.nodeId,
|
|
239
|
+
await this.emitPinningEvent(options.nodeId, graph_1.GraphExecutionEventType.NODE_UNPINNED);
|
|
165
240
|
}
|
|
166
241
|
/**
|
|
167
242
|
* Creates a {@link GraphPinningService} backed by this engine's value store
|
|
@@ -188,6 +263,19 @@ class GraphExecutionEngine {
|
|
|
188
263
|
});
|
|
189
264
|
await this.emitter.updateObservers(event);
|
|
190
265
|
}
|
|
266
|
+
/**
|
|
267
|
+
* Fills unprovided workflow inputs with their declared port defaults.
|
|
268
|
+
*/
|
|
269
|
+
withWorkflowInputDefaults(document, inputs) {
|
|
270
|
+
const seeded = { ...inputs };
|
|
271
|
+
for (const port of document.inputs) {
|
|
272
|
+
if (seeded[port.id] === undefined &&
|
|
273
|
+
port.defaultValue !== undefined) {
|
|
274
|
+
seeded[port.id] = port.defaultValue;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return seeded;
|
|
278
|
+
}
|
|
191
279
|
/**
|
|
192
280
|
* Executes a layer of nodes with the configured concurrency.
|
|
193
281
|
*/
|
|
@@ -200,21 +288,26 @@ class GraphExecutionEngine {
|
|
|
200
288
|
}
|
|
201
289
|
}
|
|
202
290
|
/**
|
|
203
|
-
* Executes a single node.
|
|
291
|
+
* Executes a single node, honouring disabled-node semantics (§4.9).
|
|
204
292
|
*/
|
|
205
293
|
async executeNode(frame, plan, planNode, opts, emitFn) {
|
|
294
|
+
this.assertNotAborted(opts);
|
|
295
|
+
if (planNode.instance.disabled === true) {
|
|
296
|
+
await this.executeDisabledNode(frame, plan, planNode, opts);
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
206
299
|
const startedAt = new Date();
|
|
207
300
|
const nodePath = [...(opts.path ?? []), planNode.id];
|
|
208
301
|
await this.emitEvent(frame, {
|
|
209
|
-
type:
|
|
302
|
+
type: graph_1.GraphExecutionEventType.NODE_STARTED,
|
|
210
303
|
runId: frame.runId,
|
|
211
304
|
workflowId: plan.workflowId,
|
|
212
305
|
nodeId: planNode.id,
|
|
213
306
|
path: nodePath,
|
|
214
|
-
status:
|
|
307
|
+
status: graph_1.GraphExecutionStatus.RUNNING,
|
|
215
308
|
});
|
|
216
|
-
this.emitNodeStateChanged(frame, plan, planNode, nodePath,
|
|
217
|
-
const inputs = this.resolveNodeInputs(frame, plan, planNode);
|
|
309
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.RUNNING, graph_1.GraphExecutionStatus.RUNNING);
|
|
310
|
+
const inputs = await this.resolveNodeInputs(frame, plan, planNode, opts);
|
|
218
311
|
// Cache-hit: check for a pinned value before executing the node
|
|
219
312
|
if (opts.usePinnedValues) {
|
|
220
313
|
const cached = await this.tryPinnedValue(frame, plan, planNode, inputs);
|
|
@@ -224,7 +317,7 @@ class GraphExecutionEngine {
|
|
|
224
317
|
const finishedAt = new Date();
|
|
225
318
|
const result = {
|
|
226
319
|
nodeId: planNode.id,
|
|
227
|
-
status:
|
|
320
|
+
status: graph_1.GraphExecutionStatus.CACHED,
|
|
228
321
|
inputs,
|
|
229
322
|
outputs: cached.outputs,
|
|
230
323
|
startedAt,
|
|
@@ -235,62 +328,69 @@ class GraphExecutionEngine {
|
|
|
235
328
|
};
|
|
236
329
|
frame.recordNodeResult(result);
|
|
237
330
|
await this.emitEvent(frame, {
|
|
238
|
-
type:
|
|
331
|
+
type: graph_1.GraphExecutionEventType.NODE_CACHE_HIT,
|
|
239
332
|
runId: frame.runId,
|
|
240
333
|
workflowId: plan.workflowId,
|
|
241
334
|
nodeId: planNode.id,
|
|
242
335
|
path: nodePath,
|
|
243
|
-
status:
|
|
336
|
+
status: graph_1.GraphExecutionStatus.CACHED,
|
|
244
337
|
payload: { outputs: cached.outputs },
|
|
245
338
|
});
|
|
246
339
|
await this.emitEvent(frame, {
|
|
247
|
-
type:
|
|
340
|
+
type: graph_1.GraphExecutionEventType.NODE_COMPLETED,
|
|
248
341
|
runId: frame.runId,
|
|
249
342
|
workflowId: plan.workflowId,
|
|
250
343
|
nodeId: planNode.id,
|
|
251
344
|
path: nodePath,
|
|
252
|
-
status:
|
|
345
|
+
status: graph_1.GraphExecutionStatus.SUCCEEDED,
|
|
253
346
|
payload: { outputs: cached.outputs, fromCache: true },
|
|
254
347
|
});
|
|
255
|
-
this.emitNodeStateChanged(frame, plan, planNode, nodePath,
|
|
348
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.SUCCEEDED, graph_1.GraphExecutionStatus.SUCCEEDED);
|
|
256
349
|
return;
|
|
257
350
|
}
|
|
258
351
|
}
|
|
259
352
|
try {
|
|
260
|
-
const
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
353
|
+
const context = new GraphExecutionContext_js_1.GraphExecutionContext(frame.runId, opts.parentRunId, plan.workflowId, plan.resolved.document, planNode.instance, planNode.manifest, nodePath, emitFn, opts.metadata);
|
|
354
|
+
const request = {
|
|
355
|
+
nodeId: planNode.id,
|
|
356
|
+
kind: planNode.kind,
|
|
357
|
+
inputs,
|
|
358
|
+
parameters: planNode.instance.parameters ?? {},
|
|
359
|
+
credentials: this.collectCredentials(planNode),
|
|
360
|
+
metadata: planNode.instance.metadata,
|
|
361
|
+
};
|
|
362
|
+
const rawOutputs = await this.invokeExecutor(planNode, request, context);
|
|
363
|
+
const outputs = this.validateNodeOutputs(planNode, rawOutputs ?? {});
|
|
364
|
+
frame.valueStore.setNodeOutputs(planNode.id, outputs);
|
|
365
|
+
this.routeOutgoingEdges(frame, plan, planNode, outputs);
|
|
266
366
|
const finishedAt = new Date();
|
|
267
367
|
const result = {
|
|
268
368
|
nodeId: planNode.id,
|
|
269
|
-
status:
|
|
369
|
+
status: graph_1.GraphExecutionStatus.SUCCEEDED,
|
|
270
370
|
inputs,
|
|
271
|
-
outputs
|
|
371
|
+
outputs,
|
|
272
372
|
startedAt,
|
|
273
373
|
finishedAt,
|
|
274
374
|
events: [],
|
|
275
375
|
};
|
|
276
376
|
frame.recordNodeResult(result);
|
|
277
377
|
await this.emitEvent(frame, {
|
|
278
|
-
type:
|
|
378
|
+
type: graph_1.GraphExecutionEventType.NODE_COMPLETED,
|
|
279
379
|
runId: frame.runId,
|
|
280
380
|
workflowId: plan.workflowId,
|
|
281
381
|
nodeId: planNode.id,
|
|
282
382
|
path: nodePath,
|
|
283
|
-
status:
|
|
284
|
-
payload: { outputs
|
|
383
|
+
status: graph_1.GraphExecutionStatus.SUCCEEDED,
|
|
384
|
+
payload: { outputs },
|
|
285
385
|
});
|
|
286
|
-
this.emitNodeStateChanged(frame, plan, planNode, nodePath,
|
|
386
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.SUCCEEDED, graph_1.GraphExecutionStatus.SUCCEEDED);
|
|
287
387
|
}
|
|
288
388
|
catch (error) {
|
|
289
389
|
const finishedAt = new Date();
|
|
290
390
|
const errorPayload = this.toErrorPayload(error);
|
|
291
391
|
const result = {
|
|
292
392
|
nodeId: planNode.id,
|
|
293
|
-
status:
|
|
393
|
+
status: graph_1.GraphExecutionStatus.FAILED,
|
|
294
394
|
inputs,
|
|
295
395
|
error: errorPayload,
|
|
296
396
|
startedAt,
|
|
@@ -299,21 +399,158 @@ class GraphExecutionEngine {
|
|
|
299
399
|
};
|
|
300
400
|
frame.recordNodeResult(result);
|
|
301
401
|
await this.emitEvent(frame, {
|
|
302
|
-
type:
|
|
402
|
+
type: graph_1.GraphExecutionEventType.NODE_FAILED,
|
|
303
403
|
runId: frame.runId,
|
|
304
404
|
workflowId: plan.workflowId,
|
|
305
405
|
nodeId: planNode.id,
|
|
306
406
|
path: nodePath,
|
|
307
|
-
status:
|
|
407
|
+
status: graph_1.GraphExecutionStatus.FAILED,
|
|
308
408
|
error: errorPayload,
|
|
309
409
|
});
|
|
310
|
-
this.emitNodeStateChanged(frame, plan, planNode, nodePath,
|
|
410
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.FAILED, graph_1.GraphExecutionStatus.FAILED);
|
|
311
411
|
if (opts.failFast ?? true)
|
|
312
412
|
throw error;
|
|
313
413
|
}
|
|
314
414
|
}
|
|
315
415
|
/**
|
|
316
|
-
*
|
|
416
|
+
* Applies the explicit disabled-node semantics (§4.9):
|
|
417
|
+
* `skip`, `passThroughFirstInput`, or `emitDefaults`, resolved from the
|
|
418
|
+
* instance metadata, document settings, and the default.
|
|
419
|
+
*/
|
|
420
|
+
async executeDisabledNode(frame, plan, planNode, opts) {
|
|
421
|
+
const startedAt = new Date();
|
|
422
|
+
const nodePath = [...(opts.path ?? []), planNode.id];
|
|
423
|
+
const behavior = GraphParameterValidator_js_1.GraphParameterValidator.disabledBehaviorOf(planNode.instance, plan.resolved.document.settings);
|
|
424
|
+
await this.emitEvent(frame, {
|
|
425
|
+
type: graph_1.GraphExecutionEventType.NODE_SKIPPED,
|
|
426
|
+
runId: frame.runId,
|
|
427
|
+
workflowId: plan.workflowId,
|
|
428
|
+
nodeId: planNode.id,
|
|
429
|
+
path: nodePath,
|
|
430
|
+
status: graph_1.GraphExecutionStatus.SKIPPED,
|
|
431
|
+
payload: { disabled: true, behavior },
|
|
432
|
+
});
|
|
433
|
+
if (behavior === "skip") {
|
|
434
|
+
const result = {
|
|
435
|
+
nodeId: planNode.id,
|
|
436
|
+
status: graph_1.GraphExecutionStatus.SKIPPED,
|
|
437
|
+
inputs: {},
|
|
438
|
+
startedAt,
|
|
439
|
+
finishedAt: new Date(),
|
|
440
|
+
events: [],
|
|
441
|
+
};
|
|
442
|
+
frame.recordNodeResult(result);
|
|
443
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.SKIPPED, graph_1.GraphExecutionStatus.SKIPPED);
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
const inputs = await this.resolveNodeInputs(frame, plan, planNode, opts);
|
|
447
|
+
let outputs;
|
|
448
|
+
if (behavior === "passThroughFirstInput") {
|
|
449
|
+
const firstIncoming = (plan.incomingByNode.get(planNode.id) ?? []).find((edge) => edge.type === "data");
|
|
450
|
+
const firstOutput = planNode.manifest.outputs[0]?.id ?? "value";
|
|
451
|
+
const value = firstIncoming
|
|
452
|
+
? frame.valueStore.getPort(firstIncoming.sourceNodeId, firstIncoming.sourcePort)
|
|
453
|
+
: Object.values(inputs)[0];
|
|
454
|
+
outputs = { [firstOutput]: value };
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
// emitDefaults — every declared output port is emitted with its
|
|
458
|
+
// declared default (absent a declared default, undefined).
|
|
459
|
+
outputs = {};
|
|
460
|
+
for (const port of planNode.manifest.outputs) {
|
|
461
|
+
outputs[port.id] = port.metadata?.["defaultValue"];
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
frame.valueStore.setNodeOutputs(planNode.id, outputs);
|
|
465
|
+
this.routeOutgoingEdges(frame, plan, planNode, outputs);
|
|
466
|
+
const result = {
|
|
467
|
+
nodeId: planNode.id,
|
|
468
|
+
status: graph_1.GraphExecutionStatus.SUCCEEDED,
|
|
469
|
+
inputs,
|
|
470
|
+
outputs,
|
|
471
|
+
startedAt,
|
|
472
|
+
finishedAt: new Date(),
|
|
473
|
+
events: [],
|
|
474
|
+
};
|
|
475
|
+
frame.recordNodeResult(result);
|
|
476
|
+
this.emitNodeStateChanged(frame, plan, planNode, nodePath, graph_1.GraphVisualState.SUCCEEDED, graph_1.GraphExecutionStatus.SUCCEEDED);
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Invokes the node's catalogue-resolved executor (§4.9 request contract,
|
|
480
|
+
* post-cutover: every executor receives the full request with
|
|
481
|
+
* configuration and input data separated).
|
|
482
|
+
*/
|
|
483
|
+
async invokeExecutor(planNode, request, context) {
|
|
484
|
+
return await planNode.executor.execute(request, context);
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Validates executor outputs against the effective output manifest
|
|
488
|
+
* (§4.9): unknown outputs are rejected by default; missing required
|
|
489
|
+
* outputs fail the node. Lenient transition manifests (legacy
|
|
490
|
+
* executor-only registrations) are exempt until cutover.
|
|
491
|
+
*/
|
|
492
|
+
validateNodeOutputs(planNode, outputs) {
|
|
493
|
+
const manifest = planNode.manifest;
|
|
494
|
+
if (manifest.policies?.allowUnknownOutputs === true) {
|
|
495
|
+
return outputs;
|
|
496
|
+
}
|
|
497
|
+
const declaredOutputs = new Set(manifest.outputs.map((port) => port.id));
|
|
498
|
+
const unknownOutputs = Object.keys(outputs).filter((key) => !declaredOutputs.has(key));
|
|
499
|
+
if (unknownOutputs.length > 0) {
|
|
500
|
+
throw new index_js_1.GraphExecutionError(`Node '${planNode.id}' of kind '${planNode.kind}' produced unknown output(s): ${unknownOutputs.join(", ")}`, "GRAPH_OUTPUT_VALIDATION_FAILED", { nodeId: planNode.id, unknownOutputs });
|
|
501
|
+
}
|
|
502
|
+
const missingRequired = manifest.outputs
|
|
503
|
+
.filter((port) => port.required === true && !(port.id in outputs))
|
|
504
|
+
.map((port) => port.id);
|
|
505
|
+
if (missingRequired.length > 0) {
|
|
506
|
+
throw new index_js_1.GraphExecutionError(`Node '${planNode.id}' of kind '${planNode.kind}' did not produce required output(s): ${missingRequired.join(", ")}`, "GRAPH_OUTPUT_VALIDATION_FAILED", { nodeId: planNode.id, missingRequired });
|
|
507
|
+
}
|
|
508
|
+
return outputs;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Collects the resolved credential references for a node: credential-type
|
|
512
|
+
* parameter values plus the `credentials` record in instance metadata.
|
|
513
|
+
* Documents carry references only — secret material never enters requests.
|
|
514
|
+
*/
|
|
515
|
+
collectCredentials(planNode) {
|
|
516
|
+
const credentials = {};
|
|
517
|
+
for (const parameter of planNode.manifest.parameters) {
|
|
518
|
+
if (parameter.type !== "credential")
|
|
519
|
+
continue;
|
|
520
|
+
const value = (planNode.instance.parameters ?? {})[parameter.id];
|
|
521
|
+
if (typeof value === "string" && value.length > 0) {
|
|
522
|
+
credentials[parameter.id] = {
|
|
523
|
+
credentialId: value,
|
|
524
|
+
credentialType: parameter.credentialType ?? "",
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
else if ((0, GraphParameterValidator_js_1.isGraphCredentialReferenceLike)(value)) {
|
|
528
|
+
credentials[parameter.id] = {
|
|
529
|
+
credentialId: value.credentialId,
|
|
530
|
+
credentialType: value.credentialType,
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
const extra = (planNode.instance.metadata ?? {})["credentials"];
|
|
535
|
+
if (extra && typeof extra === "object" && !Array.isArray(extra)) {
|
|
536
|
+
for (const [key, raw] of Object.entries(extra)) {
|
|
537
|
+
const value = raw;
|
|
538
|
+
if (typeof value === "string" && value.length > 0) {
|
|
539
|
+
credentials[key] = { credentialId: value, credentialType: "" };
|
|
540
|
+
}
|
|
541
|
+
else if ((0, GraphParameterValidator_js_1.isGraphCredentialReferenceLike)(value)) {
|
|
542
|
+
credentials[key] = {
|
|
543
|
+
credentialId: value.credentialId,
|
|
544
|
+
credentialType: value.credentialType,
|
|
545
|
+
};
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
return credentials;
|
|
550
|
+
}
|
|
551
|
+
/**
|
|
552
|
+
* Resolves a node's input values from routed data edges, literal bindings,
|
|
553
|
+
* allowed expression bindings, and manifest port defaults (§4.9).
|
|
317
554
|
*
|
|
318
555
|
* When multiple edges target the same port, their values are spread into the
|
|
319
556
|
* top-level inputs keyed by each edge's `sourcePort`. This allows multiple
|
|
@@ -321,9 +558,9 @@ class GraphExecutionEngine {
|
|
|
321
558
|
* `data` port) and have all values accessible directly as
|
|
322
559
|
* `$input.{sourcePort}` (e.g. `$input.count`, `$input.text`).
|
|
323
560
|
*/
|
|
324
|
-
resolveNodeInputs(frame, plan, planNode) {
|
|
561
|
+
async resolveNodeInputs(frame, plan, planNode, opts) {
|
|
325
562
|
const inputs = {};
|
|
326
|
-
const incoming = plan.incomingByNode.get(planNode.id) ?? [];
|
|
563
|
+
const incoming = (plan.incomingByNode.get(planNode.id) ?? []).filter((edge) => edge.type === "data");
|
|
327
564
|
const edgesByTarget = new Map();
|
|
328
565
|
for (const edge of incoming) {
|
|
329
566
|
const list = edgesByTarget.get(edge.targetPort) ?? [];
|
|
@@ -340,8 +577,46 @@ class GraphExecutionEngine {
|
|
|
340
577
|
}
|
|
341
578
|
}
|
|
342
579
|
}
|
|
580
|
+
// Literal bindings, expression bindings, and manifest defaults.
|
|
581
|
+
const bindings = planNode.instance.inputBindings ?? {};
|
|
582
|
+
for (const port of planNode.manifest.inputs) {
|
|
583
|
+
const binding = bindings[port.id];
|
|
584
|
+
if (binding?.mode === "literal") {
|
|
585
|
+
inputs[port.id] = binding.value;
|
|
586
|
+
}
|
|
587
|
+
else if (binding?.mode === "expression") {
|
|
588
|
+
inputs[port.id] = await this.evaluateExpressionBinding(planNode, binding.expression, inputs, opts);
|
|
589
|
+
}
|
|
590
|
+
else if (inputs[port.id] === undefined) {
|
|
591
|
+
const defaultValue = port.metadata?.["defaultValue"];
|
|
592
|
+
if (defaultValue !== undefined) {
|
|
593
|
+
inputs[port.id] = defaultValue;
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
343
597
|
return inputs;
|
|
344
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* Evaluates an expression binding with the EXISTING allowed-expression
|
|
601
|
+
* machinery only (the pluggable {@link CodeSandboxEvaluator}, DECAF-32
|
|
602
|
+
* §22.4) — no new evaluator. The expression sees the already-routed input
|
|
603
|
+
* values as `$input` and the run metadata as context.
|
|
604
|
+
*/
|
|
605
|
+
async evaluateExpressionBinding(planNode, expression, inputs, opts) {
|
|
606
|
+
const evaluator = this.codeSandboxEvaluator;
|
|
607
|
+
if (!evaluator) {
|
|
608
|
+
throw new index_js_1.GraphExecutionError(`Expression binding on node '${planNode.id}' requires a CodeSandboxEvaluator to be registered in GraphExecutionEngineConfig.codeSandboxEvaluator`, "GRAPH_CODE_SANDBOX_NOT_CONFIGURED", { nodeId: planNode.id, expression });
|
|
609
|
+
}
|
|
610
|
+
const md = opts.metadata;
|
|
611
|
+
return await evaluator.evaluate({
|
|
612
|
+
code: expression,
|
|
613
|
+
language: "javascript",
|
|
614
|
+
input: inputs,
|
|
615
|
+
vars: md?.vars ?? undefined,
|
|
616
|
+
item: md?.item,
|
|
617
|
+
index: md?.index,
|
|
618
|
+
});
|
|
619
|
+
}
|
|
345
620
|
/**
|
|
346
621
|
* Attempts to read a pinned value for the node. Returns the cached outputs
|
|
347
622
|
* when a valid pinned value exists, or `undefined` to proceed with normal
|
|
@@ -353,7 +628,7 @@ class GraphExecutionEngine {
|
|
|
353
628
|
return undefined;
|
|
354
629
|
const service = this.createPinningService();
|
|
355
630
|
const depFingerprints = this.computeDependencyFingerprints(frame, plan, planNode.id);
|
|
356
|
-
return service.readPinnedValue(plan.
|
|
631
|
+
return service.readPinnedValue(plan.workflowId, planNode, inputs, depFingerprints);
|
|
357
632
|
}
|
|
358
633
|
/**
|
|
359
634
|
* Recursively computes fingerprints for all upstream dependencies of a node
|
|
@@ -370,24 +645,25 @@ class GraphExecutionEngine {
|
|
|
370
645
|
const depResult = frame.nodeResults.get(dep);
|
|
371
646
|
const inputs = depResult?.inputs ?? {};
|
|
372
647
|
const nestedDeps = this.computeDependencyFingerprints(frame, plan, dep);
|
|
373
|
-
fingerprints[dep] = service.computeFingerprint(plan.
|
|
648
|
+
fingerprints[dep] = service.computeFingerprint(plan.workflowId, node, inputs, nestedDeps);
|
|
374
649
|
}
|
|
375
650
|
}
|
|
376
651
|
return fingerprints;
|
|
377
652
|
}
|
|
378
653
|
/**
|
|
379
|
-
* Routes a node's outputs to downstream inputs and workflow outputs
|
|
654
|
+
* Routes a node's outputs to downstream inputs and workflow outputs along
|
|
655
|
+
* data edges (connection edges are structural and never route values).
|
|
380
656
|
*/
|
|
381
657
|
routeOutgoingEdges(frame, plan, planNode, outputs) {
|
|
382
|
-
const outgoing = plan.outgoingByNode.get(planNode.id) ?? [];
|
|
658
|
+
const outgoing = (plan.outgoingByNode.get(planNode.id) ?? []).filter((edge) => edge.type === "data");
|
|
383
659
|
for (const edge of outgoing) {
|
|
384
660
|
const value = outputs[edge.sourcePort];
|
|
385
661
|
if (edge.targetNodeId === constants_js_1.GRAPH_WORKFLOW_BOUNDARY) {
|
|
386
662
|
frame.valueStore.setWorkflowOutput(edge.targetPort, value);
|
|
387
663
|
}
|
|
388
|
-
this.emitEdgeStateChanged(frame, plan, planNode, edge,
|
|
664
|
+
this.emitEdgeStateChanged(frame, plan, planNode, edge, graph_1.GraphVisualState.SUCCEEDED, graph_1.GraphExecutionStatus.SUCCEEDED);
|
|
389
665
|
this.emitEvent(frame, {
|
|
390
|
-
type:
|
|
666
|
+
type: graph_1.GraphExecutionEventType.EDGE_VALUE_ROUTED,
|
|
391
667
|
runId: frame.runId,
|
|
392
668
|
workflowId: plan.workflowId,
|
|
393
669
|
edgeId: edge.id,
|
|
@@ -419,7 +695,7 @@ class GraphExecutionEngine {
|
|
|
419
695
|
*/
|
|
420
696
|
emitNodeStateChanged(frame, plan, planNode, nodePath, state, status) {
|
|
421
697
|
this.emitEvent(frame, {
|
|
422
|
-
type:
|
|
698
|
+
type: graph_1.GraphExecutionEventType.NODE_STATE_CHANGED,
|
|
423
699
|
runId: frame.runId,
|
|
424
700
|
workflowId: plan.workflowId,
|
|
425
701
|
nodeId: planNode.id,
|
|
@@ -442,7 +718,7 @@ class GraphExecutionEngine {
|
|
|
442
718
|
*/
|
|
443
719
|
emitEdgeStateChanged(frame, plan, planNode, edge, state, status) {
|
|
444
720
|
this.emitEvent(frame, {
|
|
445
|
-
type:
|
|
721
|
+
type: graph_1.GraphExecutionEventType.EDGE_STATE_CHANGED,
|
|
446
722
|
runId: frame.runId,
|
|
447
723
|
workflowId: plan.workflowId,
|
|
448
724
|
edgeId: edge.id,
|
|
@@ -478,6 +754,11 @@ class GraphExecutionEngine {
|
|
|
478
754
|
...options,
|
|
479
755
|
};
|
|
480
756
|
}
|
|
757
|
+
assertNotAborted(opts) {
|
|
758
|
+
if (opts.abortSignal?.aborted === true) {
|
|
759
|
+
throw new index_js_1.GraphRunCancelledError(opts.runId ?? "unknown");
|
|
760
|
+
}
|
|
761
|
+
}
|
|
481
762
|
/**
|
|
482
763
|
* Generates a unique run id.
|
|
483
764
|
*/
|