@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
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Context, MaybeContextualArg } from "@decaf-ts/core";
|
|
2
|
+
import { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.cts";
|
|
3
|
+
import { type GraphRunEventEnvelope, type GraphRunLimits } from "@decaf-ts/ui-decorators/graph";
|
|
4
|
+
import { type GraphRun, type GraphRunCreateRequest, type GraphRunDocumentResolver, type GraphRunEventStore, type GraphRunStore } from "./types.d.cts";
|
|
5
|
+
/** Construction options for {@link GraphRunService}. */
|
|
6
|
+
export interface GraphRunServiceOptions {
|
|
7
|
+
/** Run limits (timeouts, event payload caps, concurrency); defaults from {@link DEFAULT_GRAPH_RUN_LIMITS}. */
|
|
8
|
+
limits?: GraphRunLimits;
|
|
9
|
+
/** Resolves saved workflow documents for by-`workflowId` run requests. */
|
|
10
|
+
documentResolver?: GraphRunDocumentResolver;
|
|
11
|
+
/** Called once per run when it reaches a terminal state. */
|
|
12
|
+
onRunCompleted?: (run: GraphRun, result?: GraphRun["result"]) => Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Explicit DECAF-48 §4.15 standalone tolerance: when `true`, anonymous
|
|
15
|
+
* callers (no resolved identity) are tolerated on owned runs. Defaults to
|
|
16
|
+
* `false` — ownership checks fail closed for absent identities (SAA-595).
|
|
17
|
+
*/
|
|
18
|
+
allowAnonymousAccess?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run lifecycle service (DECAF-50 §4.16): creates, tracks, cancels, and
|
|
22
|
+
* observes graph runs on top of a {@link GraphRunStore} and
|
|
23
|
+
* {@link GraphRunEventStore}. Enforces per-caller run limits (concurrency
|
|
24
|
+
* buckets keyed by owner or caller key, timeout, event payload size), scopes
|
|
25
|
+
* every read/cancel to the owning user, auto-releases retained event state
|
|
26
|
+
* after the configured replay window (SAA-595), and exposes the sequenced
|
|
27
|
+
* event stream the SSE controller replays.
|
|
28
|
+
*/
|
|
29
|
+
export declare class GraphRunService {
|
|
30
|
+
private readonly engine;
|
|
31
|
+
private readonly runStore;
|
|
32
|
+
private readonly eventStore;
|
|
33
|
+
private readonly publisher;
|
|
34
|
+
private readonly executor;
|
|
35
|
+
private readonly options;
|
|
36
|
+
private readonly activeByCaller;
|
|
37
|
+
private readonly callerKeysByRun;
|
|
38
|
+
private readonly releaseTimers;
|
|
39
|
+
constructor(engine: GraphExecutionEngine, runStore: GraphRunStore, eventStore: GraphRunEventStore, options?: GraphRunServiceOptions);
|
|
40
|
+
/** Effective run limits, with defaults applied. */
|
|
41
|
+
get limits(): Required<GraphRunLimits>;
|
|
42
|
+
/**
|
|
43
|
+
* Creates and schedules a run for a saved `workflowId` or an inline
|
|
44
|
+
* workflow document, enforcing the per-caller concurrency limit and
|
|
45
|
+
* ownership bookkeeping. Returns the queued run immediately; execution
|
|
46
|
+
* continues in the background.
|
|
47
|
+
*
|
|
48
|
+
* `concurrencyKey` buckets anonymous callers for the per-caller
|
|
49
|
+
* concurrency cap (e.g. a per-IP key from the HTTP layer); it defaults to
|
|
50
|
+
* the owner user, or `"anonymous"` when both are absent.
|
|
51
|
+
*
|
|
52
|
+
* @throws ValidationError when the request carries no workflow identity, a
|
|
53
|
+
* `workflowId` without a configured resolver, or the per-caller concurrency
|
|
54
|
+
* limit is exhausted.
|
|
55
|
+
*/
|
|
56
|
+
createRun(request: GraphRunCreateRequest, ownerUser: string | null, concurrencyKey?: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
57
|
+
/** Reads a run, asserting it belongs to `ownerUser`. */
|
|
58
|
+
getRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
59
|
+
/**
|
|
60
|
+
* Cancels a non-terminal run: aborts in-flight execution and persists the
|
|
61
|
+
* `cancelled` status. Terminal runs are returned unchanged.
|
|
62
|
+
*/
|
|
63
|
+
cancelRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
64
|
+
/** Lists a run's event envelopes after the given sequence (ownership-checked). */
|
|
65
|
+
listEvents(runId: string, afterSequence: number, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRunEventEnvelope[]>;
|
|
66
|
+
/** Subscribes a live listener to a run's event stream (ownership-checked); returns an unsubscribe function. */
|
|
67
|
+
subscribeEvents(runId: string, ownerUser: string | null, listener: (event: GraphRunEventEnvelope) => void, ...args: MaybeContextualArg<Context>): Promise<() => void>;
|
|
68
|
+
/** Subscribes a listener to a run's event stream without re-reading the run. */
|
|
69
|
+
subscribeRunEvents(run: GraphRun, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
70
|
+
/** Waits for a scheduled run to finish, then returns its final state. */
|
|
71
|
+
waitForRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
72
|
+
/**
|
|
73
|
+
* Convenience helper: creates a run and waits for its completion. The
|
|
74
|
+
* optional `concurrencyKey` is forwarded to {@link createRun} to bucket
|
|
75
|
+
* anonymous callers for the per-caller concurrency cap.
|
|
76
|
+
*/
|
|
77
|
+
executeAndWait(request: GraphRunCreateRequest, ownerUser: string | null, concurrencyKey?: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
78
|
+
/**
|
|
79
|
+
* Releases all per-run bookkeeping for a finished run: caller-bucket
|
|
80
|
+
* membership, executor state, publisher sequencing, retained event state,
|
|
81
|
+
* and any pending auto-release timer.
|
|
82
|
+
*/
|
|
83
|
+
release(runId: string): void;
|
|
84
|
+
/**
|
|
85
|
+
* Removes a run from its caller's concurrency bucket and schedules event
|
|
86
|
+
* state release after the configured replay window.
|
|
87
|
+
*/
|
|
88
|
+
private finishActiveRun;
|
|
89
|
+
private validateCreateRequest;
|
|
90
|
+
private documentProviderFor;
|
|
91
|
+
private assertOwnership;
|
|
92
|
+
private generateRunId;
|
|
93
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { Context, MaybeContextualArg } from "@decaf-ts/core";
|
|
2
|
+
import { GraphExecutionEngine } from "../execution/GraphExecutionEngine.d.mts";
|
|
3
|
+
import { type GraphRunEventEnvelope, type GraphRunLimits } from "@decaf-ts/ui-decorators/graph";
|
|
4
|
+
import { type GraphRun, type GraphRunCreateRequest, type GraphRunDocumentResolver, type GraphRunEventStore, type GraphRunStore } from "./types.d.mts";
|
|
5
|
+
/** Construction options for {@link GraphRunService}. */
|
|
6
|
+
export interface GraphRunServiceOptions {
|
|
7
|
+
/** Run limits (timeouts, event payload caps, concurrency); defaults from {@link DEFAULT_GRAPH_RUN_LIMITS}. */
|
|
8
|
+
limits?: GraphRunLimits;
|
|
9
|
+
/** Resolves saved workflow documents for by-`workflowId` run requests. */
|
|
10
|
+
documentResolver?: GraphRunDocumentResolver;
|
|
11
|
+
/** Called once per run when it reaches a terminal state. */
|
|
12
|
+
onRunCompleted?: (run: GraphRun, result?: GraphRun["result"]) => Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Explicit DECAF-48 §4.15 standalone tolerance: when `true`, anonymous
|
|
15
|
+
* callers (no resolved identity) are tolerated on owned runs. Defaults to
|
|
16
|
+
* `false` — ownership checks fail closed for absent identities (SAA-595).
|
|
17
|
+
*/
|
|
18
|
+
allowAnonymousAccess?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run lifecycle service (DECAF-50 §4.16): creates, tracks, cancels, and
|
|
22
|
+
* observes graph runs on top of a {@link GraphRunStore} and
|
|
23
|
+
* {@link GraphRunEventStore}. Enforces per-caller run limits (concurrency
|
|
24
|
+
* buckets keyed by owner or caller key, timeout, event payload size), scopes
|
|
25
|
+
* every read/cancel to the owning user, auto-releases retained event state
|
|
26
|
+
* after the configured replay window (SAA-595), and exposes the sequenced
|
|
27
|
+
* event stream the SSE controller replays.
|
|
28
|
+
*/
|
|
29
|
+
export declare class GraphRunService {
|
|
30
|
+
private readonly engine;
|
|
31
|
+
private readonly runStore;
|
|
32
|
+
private readonly eventStore;
|
|
33
|
+
private readonly publisher;
|
|
34
|
+
private readonly executor;
|
|
35
|
+
private readonly options;
|
|
36
|
+
private readonly activeByCaller;
|
|
37
|
+
private readonly callerKeysByRun;
|
|
38
|
+
private readonly releaseTimers;
|
|
39
|
+
constructor(engine: GraphExecutionEngine, runStore: GraphRunStore, eventStore: GraphRunEventStore, options?: GraphRunServiceOptions);
|
|
40
|
+
/** Effective run limits, with defaults applied. */
|
|
41
|
+
get limits(): Required<GraphRunLimits>;
|
|
42
|
+
/**
|
|
43
|
+
* Creates and schedules a run for a saved `workflowId` or an inline
|
|
44
|
+
* workflow document, enforcing the per-caller concurrency limit and
|
|
45
|
+
* ownership bookkeeping. Returns the queued run immediately; execution
|
|
46
|
+
* continues in the background.
|
|
47
|
+
*
|
|
48
|
+
* `concurrencyKey` buckets anonymous callers for the per-caller
|
|
49
|
+
* concurrency cap (e.g. a per-IP key from the HTTP layer); it defaults to
|
|
50
|
+
* the owner user, or `"anonymous"` when both are absent.
|
|
51
|
+
*
|
|
52
|
+
* @throws ValidationError when the request carries no workflow identity, a
|
|
53
|
+
* `workflowId` without a configured resolver, or the per-caller concurrency
|
|
54
|
+
* limit is exhausted.
|
|
55
|
+
*/
|
|
56
|
+
createRun(request: GraphRunCreateRequest, ownerUser: string | null, concurrencyKey?: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
57
|
+
/** Reads a run, asserting it belongs to `ownerUser`. */
|
|
58
|
+
getRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
59
|
+
/**
|
|
60
|
+
* Cancels a non-terminal run: aborts in-flight execution and persists the
|
|
61
|
+
* `cancelled` status. Terminal runs are returned unchanged.
|
|
62
|
+
*/
|
|
63
|
+
cancelRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
64
|
+
/** Lists a run's event envelopes after the given sequence (ownership-checked). */
|
|
65
|
+
listEvents(runId: string, afterSequence: number, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRunEventEnvelope[]>;
|
|
66
|
+
/** Subscribes a live listener to a run's event stream (ownership-checked); returns an unsubscribe function. */
|
|
67
|
+
subscribeEvents(runId: string, ownerUser: string | null, listener: (event: GraphRunEventEnvelope) => void, ...args: MaybeContextualArg<Context>): Promise<() => void>;
|
|
68
|
+
/** Subscribes a listener to a run's event stream without re-reading the run. */
|
|
69
|
+
subscribeRunEvents(run: GraphRun, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
70
|
+
/** Waits for a scheduled run to finish, then returns its final state. */
|
|
71
|
+
waitForRun(runId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
72
|
+
/**
|
|
73
|
+
* Convenience helper: creates a run and waits for its completion. The
|
|
74
|
+
* optional `concurrencyKey` is forwarded to {@link createRun} to bucket
|
|
75
|
+
* anonymous callers for the per-caller concurrency cap.
|
|
76
|
+
*/
|
|
77
|
+
executeAndWait(request: GraphRunCreateRequest, ownerUser: string | null, concurrencyKey?: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun>;
|
|
78
|
+
/**
|
|
79
|
+
* Releases all per-run bookkeeping for a finished run: caller-bucket
|
|
80
|
+
* membership, executor state, publisher sequencing, retained event state,
|
|
81
|
+
* and any pending auto-release timer.
|
|
82
|
+
*/
|
|
83
|
+
release(runId: string): void;
|
|
84
|
+
/**
|
|
85
|
+
* Removes a run from its caller's concurrency bucket and schedules event
|
|
86
|
+
* state release after the configured replay window.
|
|
87
|
+
*/
|
|
88
|
+
private finishActiveRun;
|
|
89
|
+
private validateCreateRequest;
|
|
90
|
+
private documentProviderFor;
|
|
91
|
+
private assertOwnership;
|
|
92
|
+
private generateRunId;
|
|
93
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/engine/runs/InMemoryGraphRunEventStore
|
|
3
|
+
* @summary In-memory reference run event store.
|
|
4
|
+
* @description Non-persistent {@link GraphRunEventStore} backed by per-run
|
|
5
|
+
* arrays: appends notify live subscribers, `listAfter` serves SSE replays,
|
|
6
|
+
* and retention keeps at most `maxEventsPerRun` envelopes per run — evicting
|
|
7
|
+
* non-terminal events first so terminal outcomes are never dropped.
|
|
8
|
+
*/
|
|
9
|
+
import type { GraphRunEventEnvelope } from "@decaf-ts/ui-decorators/graph";
|
|
10
|
+
import type { GraphRunEventStore } from "./types.d.cts";
|
|
11
|
+
import { type GraphRunLimits } from "@decaf-ts/ui-decorators/graph";
|
|
12
|
+
/**
|
|
13
|
+
* Non-persistent {@link GraphRunEventStore} backed by per-run arrays:
|
|
14
|
+
* appends notify live subscribers, `listAfter` serves SSE replays, and
|
|
15
|
+
* retention keeps at most `maxEventsPerRun` envelopes per run — evicting
|
|
16
|
+
* non-terminal events first so terminal outcomes are never dropped.
|
|
17
|
+
*/
|
|
18
|
+
export declare class InMemoryGraphRunEventStore implements GraphRunEventStore {
|
|
19
|
+
private readonly events;
|
|
20
|
+
private readonly listeners;
|
|
21
|
+
private readonly limits;
|
|
22
|
+
constructor(limits?: GraphRunLimits);
|
|
23
|
+
append(event: GraphRunEventEnvelope): Promise<void>;
|
|
24
|
+
listAfter(runId: string, sequence: number): Promise<GraphRunEventEnvelope[]>;
|
|
25
|
+
subscribe(runId: string, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
26
|
+
release(runId: string): void;
|
|
27
|
+
private enforceRetention;
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/engine/runs/InMemoryGraphRunEventStore
|
|
3
|
+
* @summary In-memory reference run event store.
|
|
4
|
+
* @description Non-persistent {@link GraphRunEventStore} backed by per-run
|
|
5
|
+
* arrays: appends notify live subscribers, `listAfter` serves SSE replays,
|
|
6
|
+
* and retention keeps at most `maxEventsPerRun` envelopes per run — evicting
|
|
7
|
+
* non-terminal events first so terminal outcomes are never dropped.
|
|
8
|
+
*/
|
|
9
|
+
import type { GraphRunEventEnvelope } from "@decaf-ts/ui-decorators/graph";
|
|
10
|
+
import type { GraphRunEventStore } from "./types.d.mts";
|
|
11
|
+
import { type GraphRunLimits } from "@decaf-ts/ui-decorators/graph";
|
|
12
|
+
/**
|
|
13
|
+
* Non-persistent {@link GraphRunEventStore} backed by per-run arrays:
|
|
14
|
+
* appends notify live subscribers, `listAfter` serves SSE replays, and
|
|
15
|
+
* retention keeps at most `maxEventsPerRun` envelopes per run — evicting
|
|
16
|
+
* non-terminal events first so terminal outcomes are never dropped.
|
|
17
|
+
*/
|
|
18
|
+
export declare class InMemoryGraphRunEventStore implements GraphRunEventStore {
|
|
19
|
+
private readonly events;
|
|
20
|
+
private readonly listeners;
|
|
21
|
+
private readonly limits;
|
|
22
|
+
constructor(limits?: GraphRunLimits);
|
|
23
|
+
append(event: GraphRunEventEnvelope): Promise<void>;
|
|
24
|
+
listAfter(runId: string, sequence: number): Promise<GraphRunEventEnvelope[]>;
|
|
25
|
+
subscribe(runId: string, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
26
|
+
release(runId: string): void;
|
|
27
|
+
private enforceRetention;
|
|
28
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { GraphRun, GraphRunStore } from "./types.d.cts";
|
|
2
|
+
/**
|
|
3
|
+
* Non-persistent {@link GraphRunStore} backed by a `Map`: serves tests and
|
|
4
|
+
* in-process deployments. Runs are cloned on save/read so callers never
|
|
5
|
+
* share mutable references with the store.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InMemoryGraphRunStore implements GraphRunStore {
|
|
8
|
+
private readonly runs;
|
|
9
|
+
saveRun(run: GraphRun): Promise<void>;
|
|
10
|
+
readRun(runId: string): Promise<GraphRun | null>;
|
|
11
|
+
release(runId: string): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { GraphRun, GraphRunStore } from "./types.d.mts";
|
|
2
|
+
/**
|
|
3
|
+
* Non-persistent {@link GraphRunStore} backed by a `Map`: serves tests and
|
|
4
|
+
* in-process deployments. Runs are cloned on save/read so callers never
|
|
5
|
+
* share mutable references with the store.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InMemoryGraphRunStore implements GraphRunStore {
|
|
8
|
+
private readonly runs;
|
|
9
|
+
saveRun(run: GraphRun): Promise<void>;
|
|
10
|
+
readRun(runId: string): Promise<GraphRun | null>;
|
|
11
|
+
release(runId: string): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./types.d.cts";
|
|
2
|
+
export * from "./ownership.d.cts";
|
|
3
|
+
export * from "./GraphRunFingerprint.d.cts";
|
|
4
|
+
export * from "./InMemoryGraphRunEventStore.d.cts";
|
|
5
|
+
export * from "./InMemoryGraphRunStore.d.cts";
|
|
6
|
+
export * from "./GraphRunEventPublisher.d.cts";
|
|
7
|
+
export * from "./GraphRunExecutor.d.cts";
|
|
8
|
+
export * from "./GraphRunService.d.cts";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./types.d.mts";
|
|
2
|
+
export * from "./ownership.d.mts";
|
|
3
|
+
export * from "./GraphRunFingerprint.d.mts";
|
|
4
|
+
export * from "./InMemoryGraphRunEventStore.d.mts";
|
|
5
|
+
export * from "./InMemoryGraphRunStore.d.mts";
|
|
6
|
+
export * from "./GraphRunEventPublisher.d.mts";
|
|
7
|
+
export * from "./GraphRunExecutor.d.mts";
|
|
8
|
+
export * from "./GraphRunService.d.mts";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized graph resource ownership check (SAA-595 security hardening).
|
|
3
|
+
*
|
|
4
|
+
* Fail-closed by default: a resource that carries an owner is only accessible
|
|
5
|
+
* to that owner; an absent caller identity is denied unless the explicit
|
|
6
|
+
* `allowAnonymousAccess` tolerance (DECAF-48 §4.15 standalone runs) is set.
|
|
7
|
+
* Owner-less resources remain accessible to everyone.
|
|
8
|
+
*
|
|
9
|
+
* @param resource - The guarded resource (or its persisted record); only its
|
|
10
|
+
* `owner` member is read. `null`/`undefined` counts as owner-less.
|
|
11
|
+
* @param callerOwner - Identity of the caller resolved from the request
|
|
12
|
+
* context; `null`/`undefined`/`""` represent anonymous callers.
|
|
13
|
+
* @param options - `resourceKind`/`resourceId` name the resource in the
|
|
14
|
+
* denial message; `allowAnonymousAccess` opts in to the DECAF-48 §4.15
|
|
15
|
+
* standalone tolerance (default `false`).
|
|
16
|
+
* @throws ForbiddenError when the resource is owned and the caller is a
|
|
17
|
+
* different user, or an anonymous caller without the explicit tolerance.
|
|
18
|
+
*/
|
|
19
|
+
export declare function assertGraphResourceOwnership(resource: {
|
|
20
|
+
owner?: string | null;
|
|
21
|
+
} | null | undefined, callerOwner: string | null | undefined, options: {
|
|
22
|
+
allowAnonymousAccess?: boolean;
|
|
23
|
+
resourceKind: string;
|
|
24
|
+
resourceId: string;
|
|
25
|
+
}): void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized graph resource ownership check (SAA-595 security hardening).
|
|
3
|
+
*
|
|
4
|
+
* Fail-closed by default: a resource that carries an owner is only accessible
|
|
5
|
+
* to that owner; an absent caller identity is denied unless the explicit
|
|
6
|
+
* `allowAnonymousAccess` tolerance (DECAF-48 §4.15 standalone runs) is set.
|
|
7
|
+
* Owner-less resources remain accessible to everyone.
|
|
8
|
+
*
|
|
9
|
+
* @param resource - The guarded resource (or its persisted record); only its
|
|
10
|
+
* `owner` member is read. `null`/`undefined` counts as owner-less.
|
|
11
|
+
* @param callerOwner - Identity of the caller resolved from the request
|
|
12
|
+
* context; `null`/`undefined`/`""` represent anonymous callers.
|
|
13
|
+
* @param options - `resourceKind`/`resourceId` name the resource in the
|
|
14
|
+
* denial message; `allowAnonymousAccess` opts in to the DECAF-48 §4.15
|
|
15
|
+
* standalone tolerance (default `false`).
|
|
16
|
+
* @throws ForbiddenError when the resource is owned and the caller is a
|
|
17
|
+
* different user, or an anonymous caller without the explicit tolerance.
|
|
18
|
+
*/
|
|
19
|
+
export declare function assertGraphResourceOwnership(resource: {
|
|
20
|
+
owner?: string | null;
|
|
21
|
+
} | null | undefined, callerOwner: string | null | undefined, options: {
|
|
22
|
+
allowAnonymousAccess?: boolean;
|
|
23
|
+
resourceKind: string;
|
|
24
|
+
resourceId: string;
|
|
25
|
+
}): void;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/engine/runs/types
|
|
3
|
+
* @summary Graph run lifecycle contracts (engine side).
|
|
4
|
+
* @description Engine-scoped run contracts for the lifecycle subsystem
|
|
5
|
+
* (DECAF-50 §4.14–§4.16). The frontend-safe run wire contract —
|
|
6
|
+
* `GraphRunStatus`, `GraphRunEventEnvelope`, `GraphRunEventEnvelopeInput`
|
|
7
|
+
* and the run limits/terminal predicates — lives in
|
|
8
|
+
* `@decaf-ts/ui-decorators/graph` (imported from there).
|
|
9
|
+
*
|
|
10
|
+
* Engine-only contracts: the full {@link GraphRun} shape (whose `result?`
|
|
11
|
+
* carries engine dates) and the run store/event-store/create-request/
|
|
12
|
+
* document-resolver ports.
|
|
13
|
+
*/
|
|
14
|
+
import type { Context, MaybeContextualArg } from "@decaf-ts/core";
|
|
15
|
+
import type { GraphWorkflowDocument } from "@decaf-ts/ui-decorators/graph";
|
|
16
|
+
import type { GraphExecutionResult, GraphExecutionValues } from "../types.d.cts";
|
|
17
|
+
import type { GraphExecutionErrorPayload } from "@decaf-ts/ui-decorators/graph";
|
|
18
|
+
import type { GraphRunEventEnvelope, GraphRunStatus } from "@decaf-ts/ui-decorators/graph";
|
|
19
|
+
/**
|
|
20
|
+
* Engine-side run record (DECAF-50 §4.14): lifecycle status, timestamps, and
|
|
21
|
+
* — once terminal — the execution result, error payload, and the fingerprint
|
|
22
|
+
* of the document the run executed.
|
|
23
|
+
*/
|
|
24
|
+
export interface GraphRun {
|
|
25
|
+
/** Unique run id. */
|
|
26
|
+
runId: string;
|
|
27
|
+
/** Workflow (document) id the run executes. */
|
|
28
|
+
workflowId: string;
|
|
29
|
+
/** Owning user; `null` for anonymous callers. */
|
|
30
|
+
ownerUser: string | null;
|
|
31
|
+
/** Current lifecycle status. */
|
|
32
|
+
status: GraphRunStatus;
|
|
33
|
+
/** ISO timestamp when the run was created. */
|
|
34
|
+
createdAt: string;
|
|
35
|
+
/** ISO timestamp when execution started, once it has. */
|
|
36
|
+
startedAt?: string;
|
|
37
|
+
/** ISO timestamp when the run reached a terminal state. */
|
|
38
|
+
finishedAt?: string;
|
|
39
|
+
/** Execution result, present on successful completion. */
|
|
40
|
+
result?: GraphExecutionResult;
|
|
41
|
+
/** Structured error payload, present on failure. */
|
|
42
|
+
error?: GraphExecutionErrorPayload;
|
|
43
|
+
/** Fingerprint of the executed document (stable SHA-256). */
|
|
44
|
+
documentFingerprint?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Persistence port for run records: durable implementations save/read runs
|
|
48
|
+
* with an optional leading Decaf {@link Context}.
|
|
49
|
+
*/
|
|
50
|
+
export interface GraphRunEventStore {
|
|
51
|
+
/** Appends a sequenced event envelope and notifies live subscribers. */
|
|
52
|
+
append(event: GraphRunEventEnvelope): Promise<void>;
|
|
53
|
+
/** Returns the run's envelopes with `sequence` greater than the given one (SSE replay). */
|
|
54
|
+
listAfter(runId: string, sequence: number): Promise<GraphRunEventEnvelope[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Subscribes a live listener to the run's stream; returns an unsubscribe function.
|
|
57
|
+
*/
|
|
58
|
+
subscribe(runId: string, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
59
|
+
/**
|
|
60
|
+
* Releases all retained event state for a finished run (after the replay
|
|
61
|
+
* window). Optional: in-memory stores implement it; durable stores may
|
|
62
|
+
* no-op or keep events for audit.
|
|
63
|
+
*/
|
|
64
|
+
release?(runId: string): void;
|
|
65
|
+
}
|
|
66
|
+
/** Persistence port for run records: save and read {@link GraphRun}s by id, with optional leading {@link Context}. */
|
|
67
|
+
export interface GraphRunStore {
|
|
68
|
+
saveRun(run: GraphRun, ...args: MaybeContextualArg<Context>): Promise<void>;
|
|
69
|
+
readRun(runId: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun | null>;
|
|
70
|
+
}
|
|
71
|
+
/** A run-creation request: an inline workflow document, or a saved `workflowId` plus optional input values. */
|
|
72
|
+
export interface GraphRunCreateRequest {
|
|
73
|
+
/** Inline workflow document to execute. */
|
|
74
|
+
workflow?: GraphWorkflowDocument;
|
|
75
|
+
/** Saved workflow id to execute (requires a document resolver). */
|
|
76
|
+
workflowId?: string;
|
|
77
|
+
/** Input values bound to the workflow's input ports. */
|
|
78
|
+
inputs?: GraphExecutionValues;
|
|
79
|
+
}
|
|
80
|
+
/** Resolves a saved workflow document by id for by-`workflowId` run requests. */
|
|
81
|
+
export interface GraphRunDocumentResolver {
|
|
82
|
+
resolve(workflowId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphWorkflowDocument>;
|
|
83
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/graph/engine/runs/types
|
|
3
|
+
* @summary Graph run lifecycle contracts (engine side).
|
|
4
|
+
* @description Engine-scoped run contracts for the lifecycle subsystem
|
|
5
|
+
* (DECAF-50 §4.14–§4.16). The frontend-safe run wire contract —
|
|
6
|
+
* `GraphRunStatus`, `GraphRunEventEnvelope`, `GraphRunEventEnvelopeInput`
|
|
7
|
+
* and the run limits/terminal predicates — lives in
|
|
8
|
+
* `@decaf-ts/ui-decorators/graph` (imported from there).
|
|
9
|
+
*
|
|
10
|
+
* Engine-only contracts: the full {@link GraphRun} shape (whose `result?`
|
|
11
|
+
* carries engine dates) and the run store/event-store/create-request/
|
|
12
|
+
* document-resolver ports.
|
|
13
|
+
*/
|
|
14
|
+
import type { Context, MaybeContextualArg } from "@decaf-ts/core";
|
|
15
|
+
import type { GraphWorkflowDocument } from "@decaf-ts/ui-decorators/graph";
|
|
16
|
+
import type { GraphExecutionResult, GraphExecutionValues } from "../types.d.mts";
|
|
17
|
+
import type { GraphExecutionErrorPayload } from "@decaf-ts/ui-decorators/graph";
|
|
18
|
+
import type { GraphRunEventEnvelope, GraphRunStatus } from "@decaf-ts/ui-decorators/graph";
|
|
19
|
+
/**
|
|
20
|
+
* Engine-side run record (DECAF-50 §4.14): lifecycle status, timestamps, and
|
|
21
|
+
* — once terminal — the execution result, error payload, and the fingerprint
|
|
22
|
+
* of the document the run executed.
|
|
23
|
+
*/
|
|
24
|
+
export interface GraphRun {
|
|
25
|
+
/** Unique run id. */
|
|
26
|
+
runId: string;
|
|
27
|
+
/** Workflow (document) id the run executes. */
|
|
28
|
+
workflowId: string;
|
|
29
|
+
/** Owning user; `null` for anonymous callers. */
|
|
30
|
+
ownerUser: string | null;
|
|
31
|
+
/** Current lifecycle status. */
|
|
32
|
+
status: GraphRunStatus;
|
|
33
|
+
/** ISO timestamp when the run was created. */
|
|
34
|
+
createdAt: string;
|
|
35
|
+
/** ISO timestamp when execution started, once it has. */
|
|
36
|
+
startedAt?: string;
|
|
37
|
+
/** ISO timestamp when the run reached a terminal state. */
|
|
38
|
+
finishedAt?: string;
|
|
39
|
+
/** Execution result, present on successful completion. */
|
|
40
|
+
result?: GraphExecutionResult;
|
|
41
|
+
/** Structured error payload, present on failure. */
|
|
42
|
+
error?: GraphExecutionErrorPayload;
|
|
43
|
+
/** Fingerprint of the executed document (stable SHA-256). */
|
|
44
|
+
documentFingerprint?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Persistence port for run records: durable implementations save/read runs
|
|
48
|
+
* with an optional leading Decaf {@link Context}.
|
|
49
|
+
*/
|
|
50
|
+
export interface GraphRunEventStore {
|
|
51
|
+
/** Appends a sequenced event envelope and notifies live subscribers. */
|
|
52
|
+
append(event: GraphRunEventEnvelope): Promise<void>;
|
|
53
|
+
/** Returns the run's envelopes with `sequence` greater than the given one (SSE replay). */
|
|
54
|
+
listAfter(runId: string, sequence: number): Promise<GraphRunEventEnvelope[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Subscribes a live listener to the run's stream; returns an unsubscribe function.
|
|
57
|
+
*/
|
|
58
|
+
subscribe(runId: string, listener: (event: GraphRunEventEnvelope) => void): () => void;
|
|
59
|
+
/**
|
|
60
|
+
* Releases all retained event state for a finished run (after the replay
|
|
61
|
+
* window). Optional: in-memory stores implement it; durable stores may
|
|
62
|
+
* no-op or keep events for audit.
|
|
63
|
+
*/
|
|
64
|
+
release?(runId: string): void;
|
|
65
|
+
}
|
|
66
|
+
/** Persistence port for run records: save and read {@link GraphRun}s by id, with optional leading {@link Context}. */
|
|
67
|
+
export interface GraphRunStore {
|
|
68
|
+
saveRun(run: GraphRun, ...args: MaybeContextualArg<Context>): Promise<void>;
|
|
69
|
+
readRun(runId: string, ...args: MaybeContextualArg<Context>): Promise<GraphRun | null>;
|
|
70
|
+
}
|
|
71
|
+
/** A run-creation request: an inline workflow document, or a saved `workflowId` plus optional input values. */
|
|
72
|
+
export interface GraphRunCreateRequest {
|
|
73
|
+
/** Inline workflow document to execute. */
|
|
74
|
+
workflow?: GraphWorkflowDocument;
|
|
75
|
+
/** Saved workflow id to execute (requires a document resolver). */
|
|
76
|
+
workflowId?: string;
|
|
77
|
+
/** Input values bound to the workflow's input ports. */
|
|
78
|
+
inputs?: GraphExecutionValues;
|
|
79
|
+
}
|
|
80
|
+
/** Resolves a saved workflow document by id for by-`workflowId` run requests. */
|
|
81
|
+
export interface GraphRunDocumentResolver {
|
|
82
|
+
resolve(workflowId: string, ownerUser: string | null, ...args: MaybeContextualArg<Context>): Promise<GraphWorkflowDocument>;
|
|
83
|
+
}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* types (`ExprValue`, `ConditionExpression`, `CodeCondition`,
|
|
6
6
|
* `SwitchCaseCondition`, `SwitchCase`, `SwitchNodeMetadata`,
|
|
7
7
|
* `NodeMetadataChange`, `GraphExecutionEvent`, `GraphExecutionErrorPayload`)
|
|
8
|
-
* live in
|
|
9
|
-
* and engine-private symbols from here.
|
|
8
|
+
* live in `@decaf-ts/ui-decorators/graph`; engine modules import shared
|
|
9
|
+
* symbols from there and engine-private symbols from here.
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
|
|
11
|
+
import type { GraphCredentialReference, GraphJsonValue, GraphNodeInstance, GraphWorkflowDocument } from "@decaf-ts/ui-decorators/graph";
|
|
12
|
+
import type { GraphResolvedNodeManifest } from "@decaf-ts/ui-decorators/graph";
|
|
13
|
+
import type { GraphExecutionStatus } from "@decaf-ts/ui-decorators/graph";
|
|
14
|
+
import type { GraphExecutionErrorPayload, GraphExecutionEvent } from "@decaf-ts/ui-decorators/graph";
|
|
15
15
|
/**
|
|
16
16
|
* Unique identifier for a single graph execution run.
|
|
17
17
|
*/
|
|
@@ -49,6 +49,7 @@ export interface GraphExecutionOptions {
|
|
|
49
49
|
usePinnedValues?: boolean;
|
|
50
50
|
writeThroughCache?: boolean;
|
|
51
51
|
metadata?: Record<string, unknown>;
|
|
52
|
+
abortSignal?: AbortSignal;
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Result of executing a single node.
|
|
@@ -67,13 +68,16 @@ export interface GraphNodeExecutionResult {
|
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
69
70
|
* Result of executing an entire workflow.
|
|
71
|
+
*
|
|
72
|
+
* The executed source of truth is the canonical {@link GraphWorkflowDocument}
|
|
73
|
+
* (never a decorated workflow definition).
|
|
70
74
|
*/
|
|
71
75
|
export interface GraphExecutionResult {
|
|
72
76
|
runId: GraphRunId;
|
|
73
77
|
parentRunId?: GraphRunId;
|
|
74
78
|
workflowId: GraphWorkflowId;
|
|
75
79
|
status: GraphExecutionStatus;
|
|
76
|
-
|
|
80
|
+
document: GraphWorkflowDocument;
|
|
77
81
|
inputs: GraphExecutionValues;
|
|
78
82
|
outputs: GraphExecutionValues;
|
|
79
83
|
nodeResults: Record<GraphNodeId, GraphNodeExecutionResult>;
|
|
@@ -82,14 +86,34 @@ export interface GraphExecutionResult {
|
|
|
82
86
|
finishedAt?: Date;
|
|
83
87
|
metadata?: Record<string, unknown>;
|
|
84
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Credential references resolved for a node execution (DECAF-50 §4.9/§4.16).
|
|
91
|
+
* Documents carry references only; secret material never enters the request.
|
|
92
|
+
*/
|
|
93
|
+
export type GraphResolvedCredentials = Record<string, GraphCredentialReference>;
|
|
94
|
+
/**
|
|
95
|
+
* Request passed to request-based node executors (DECAF-50 §4.9).
|
|
96
|
+
* Configuration (`parameters`, `credentials`, `metadata`) and input data
|
|
97
|
+
* (`inputs`) are separated.
|
|
98
|
+
*/
|
|
99
|
+
export interface GraphNodeExecutionRequest {
|
|
100
|
+
nodeId: string;
|
|
101
|
+
kind: string;
|
|
102
|
+
inputs: GraphExecutionValues;
|
|
103
|
+
parameters: Record<string, GraphJsonValue>;
|
|
104
|
+
credentials: GraphResolvedCredentials;
|
|
105
|
+
metadata?: Record<string, GraphJsonValue>;
|
|
106
|
+
}
|
|
85
107
|
/**
|
|
86
108
|
* Options used to construct a {@link GraphExecutionContext}.
|
|
87
109
|
*/
|
|
88
110
|
export interface GraphExecutionContextOptions {
|
|
89
111
|
runId: GraphRunId;
|
|
90
112
|
parentRunId?: GraphRunId;
|
|
91
|
-
|
|
92
|
-
|
|
113
|
+
workflowId: GraphWorkflowId;
|
|
114
|
+
document: GraphWorkflowDocument;
|
|
115
|
+
node: GraphNodeInstance;
|
|
116
|
+
manifest: GraphResolvedNodeManifest;
|
|
93
117
|
path: string[];
|
|
94
118
|
metadata?: Record<string, unknown>;
|
|
95
119
|
}
|
|
@@ -97,7 +121,8 @@ export interface GraphExecutionContextOptions {
|
|
|
97
121
|
* Metadata describing a loop node's behaviour.
|
|
98
122
|
*/
|
|
99
123
|
export interface GraphLoopMetadata {
|
|
100
|
-
body
|
|
124
|
+
/** The nested loop-body workflow document (DECAF-50 §4.9). */
|
|
125
|
+
body: GraphWorkflowDocument;
|
|
101
126
|
maxIterations?: number;
|
|
102
127
|
timeoutMs?: number;
|
|
103
128
|
condition?: GraphConditionDefinition;
|
|
@@ -142,7 +167,7 @@ export interface GraphPinningMetadata {
|
|
|
142
167
|
* Options for pinning a node after a completed run.
|
|
143
168
|
*/
|
|
144
169
|
export interface GraphPinNodeOptions {
|
|
145
|
-
|
|
170
|
+
document: GraphWorkflowDocument;
|
|
146
171
|
plan: unknown;
|
|
147
172
|
result: GraphExecutionResult;
|
|
148
173
|
nodeId: string;
|
|
@@ -153,7 +178,7 @@ export interface GraphPinNodeOptions {
|
|
|
153
178
|
* Options for unpinning a node.
|
|
154
179
|
*/
|
|
155
180
|
export interface GraphUnpinNodeOptions {
|
|
156
|
-
|
|
181
|
+
document: GraphWorkflowDocument;
|
|
157
182
|
nodeId: string;
|
|
158
183
|
fingerprint: string;
|
|
159
184
|
namespace?: string;
|