@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,74 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { model } from "@decaf-ts/decorator-validation";
|
|
11
|
+
import { BaseModel, column, pk, table } from "@decaf-ts/core";
|
|
12
|
+
/**
|
|
13
|
+
* Persistent run record for the graph run lifecycle (DECAF-50 §4.14): one
|
|
14
|
+
* row per {@link GraphRun}, storing lifecycle status, the executed
|
|
15
|
+
* document's fingerprint, inputs, result, and error payloads. Written and
|
|
16
|
+
* read through {@link GraphRunModelService}, which adapts it to the
|
|
17
|
+
* engine-side {@link GraphRun} shape.
|
|
18
|
+
*/
|
|
19
|
+
let GraphRunModel = class GraphRunModel extends BaseModel {
|
|
20
|
+
constructor(arg) {
|
|
21
|
+
super(arg);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__decorate([
|
|
25
|
+
pk({ type: String, generated: false }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], GraphRunModel.prototype, "runId", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
column(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], GraphRunModel.prototype, "workflowId", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
column(),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], GraphRunModel.prototype, "owner", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
column(),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], GraphRunModel.prototype, "status", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
column(),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], GraphRunModel.prototype, "documentFingerprint", void 0);
|
|
44
|
+
__decorate([
|
|
45
|
+
column(),
|
|
46
|
+
__metadata("design:type", Object)
|
|
47
|
+
], GraphRunModel.prototype, "inputs", void 0);
|
|
48
|
+
__decorate([
|
|
49
|
+
column(),
|
|
50
|
+
__metadata("design:type", Object)
|
|
51
|
+
], GraphRunModel.prototype, "result", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
column(),
|
|
54
|
+
__metadata("design:type", Object)
|
|
55
|
+
], GraphRunModel.prototype, "error", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
column(),
|
|
58
|
+
__metadata("design:type", Date)
|
|
59
|
+
], GraphRunModel.prototype, "createdAt", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
column(),
|
|
62
|
+
__metadata("design:type", Date)
|
|
63
|
+
], GraphRunModel.prototype, "startedAt", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
column(),
|
|
66
|
+
__metadata("design:type", Date)
|
|
67
|
+
], GraphRunModel.prototype, "finishedAt", void 0);
|
|
68
|
+
GraphRunModel = __decorate([
|
|
69
|
+
table("graph_run"),
|
|
70
|
+
model(),
|
|
71
|
+
__metadata("design:paramtypes", [Object])
|
|
72
|
+
], GraphRunModel);
|
|
73
|
+
export { GraphRunModel };
|
|
74
|
+
//# sourceMappingURL=GraphRunModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphRunModel.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphRunModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;;;GAMG;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,SAAS;IAkC1C,YAAY,GAA4B;QACtC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAnCC;IADC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;4CACxB;AAGf;IADC,MAAM,EAAE;;iDACW;AAGpB;IADC,MAAM,EAAE;;4CACM;AAGf;IADC,MAAM,EAAE;;6CACO;AAGhB;IADC,MAAM,EAAE;;0DACoB;AAG7B;IADC,MAAM,EAAE;;6CACwB;AAGjC;IADC,MAAM,EAAE;;6CACwB;AAGjC;IADC,MAAM,EAAE;;4CACuB;AAGhC;IADC,MAAM,EAAE;8BACG,IAAI;gDAAC;AAGjB;IADC,MAAM,EAAE;8BACG,IAAI;gDAAC;AAGjB;IADC,MAAM,EAAE;8BACI,IAAI;iDAAC;AAhCP,aAAa;IAFzB,KAAK,CAAC,WAAW,CAAC;IAClB,KAAK,EAAE;;GACK,aAAa,CAqCzB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @module integrations/nest/graph/GraphRunModelService
|
|
12
|
+
* @summary Persistent run store on the Decaf model layer.
|
|
13
|
+
* @description Persists {@link GraphRun} rows as {@link GraphRunModel} via
|
|
14
|
+
* the Decaf {@link ModelService}, implementing the engine-side
|
|
15
|
+
* {@link GraphRunStore} and converting between the engine run shape and the
|
|
16
|
+
* JSON-safe persisted columns.
|
|
17
|
+
*/
|
|
18
|
+
import { ModelService, service, } from "@decaf-ts/core";
|
|
19
|
+
import { isGraphRunStatus } from "@decaf-ts/ui-decorators/graph";
|
|
20
|
+
import { GraphRunModel } from "./GraphRunModel.js";
|
|
21
|
+
function toJsonSafe(value) {
|
|
22
|
+
if (value === undefined || value === null)
|
|
23
|
+
return undefined;
|
|
24
|
+
return JSON.parse(JSON.stringify(value));
|
|
25
|
+
}
|
|
26
|
+
function runToModel(run) {
|
|
27
|
+
return new GraphRunModel({
|
|
28
|
+
runId: run.runId,
|
|
29
|
+
workflowId: run.workflowId,
|
|
30
|
+
...(run.ownerUser ? { owner: run.ownerUser } : {}),
|
|
31
|
+
status: run.status,
|
|
32
|
+
...(run.documentFingerprint
|
|
33
|
+
? { documentFingerprint: run.documentFingerprint }
|
|
34
|
+
: {}),
|
|
35
|
+
...(run.result !== undefined
|
|
36
|
+
? { result: toJsonSafe(run.result) }
|
|
37
|
+
: {}),
|
|
38
|
+
...(run.error ? { error: toJsonSafe(run.error) } : {}),
|
|
39
|
+
createdAt: new Date(run.createdAt),
|
|
40
|
+
...(run.startedAt ? { startedAt: new Date(run.startedAt) } : {}),
|
|
41
|
+
...(run.finishedAt ? { finishedAt: new Date(run.finishedAt) } : {}),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function modelToRun(model) {
|
|
45
|
+
const result = model.result;
|
|
46
|
+
return {
|
|
47
|
+
runId: model.runId,
|
|
48
|
+
workflowId: model.workflowId,
|
|
49
|
+
ownerUser: model.owner ?? null,
|
|
50
|
+
status: isGraphRunStatus(model.status) ? model.status : "failed",
|
|
51
|
+
createdAt: model.createdAt.toISOString(),
|
|
52
|
+
...(model.startedAt ? { startedAt: model.startedAt.toISOString() } : {}),
|
|
53
|
+
...(model.finishedAt ? { finishedAt: model.finishedAt.toISOString() } : {}),
|
|
54
|
+
...(result ? { result } : {}),
|
|
55
|
+
...(model.error
|
|
56
|
+
? { error: model.error }
|
|
57
|
+
: {}),
|
|
58
|
+
...(model.documentFingerprint
|
|
59
|
+
? { documentFingerprint: model.documentFingerprint }
|
|
60
|
+
: {}),
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Model-backed {@link GraphRunStore}: persists runs as {@link GraphRunModel}
|
|
65
|
+
* rows via the Decaf ModelService, converting between the engine-side
|
|
66
|
+
* {@link GraphRun} shape and the JSON-safe persisted columns.
|
|
67
|
+
*/
|
|
68
|
+
let GraphRunModelService = class GraphRunModelService extends ModelService {
|
|
69
|
+
constructor() {
|
|
70
|
+
super(GraphRunModel);
|
|
71
|
+
}
|
|
72
|
+
async saveRun(run, ...args) {
|
|
73
|
+
const { ctxArgs } = (await this.logCtx(args, "saveRun", true)).for(this.saveRun);
|
|
74
|
+
const model = runToModel(run);
|
|
75
|
+
let existing;
|
|
76
|
+
try {
|
|
77
|
+
existing = (await super.read(run.runId, ...ctxArgs));
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
existing = null;
|
|
81
|
+
}
|
|
82
|
+
if (existing) {
|
|
83
|
+
existing.workflowId = model.workflowId;
|
|
84
|
+
existing.owner = model.owner;
|
|
85
|
+
existing.status = model.status;
|
|
86
|
+
existing.documentFingerprint = model.documentFingerprint;
|
|
87
|
+
existing.result = model.result;
|
|
88
|
+
existing.error = model.error;
|
|
89
|
+
existing.startedAt = model.startedAt;
|
|
90
|
+
existing.finishedAt = model.finishedAt;
|
|
91
|
+
await this.update(existing, ...ctxArgs);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
await this.create(model, ...ctxArgs);
|
|
95
|
+
}
|
|
96
|
+
async readRun(runId, ...args) {
|
|
97
|
+
const { ctxArgs } = (await this.logCtx(args, "readRun", true)).for(this.readRun);
|
|
98
|
+
try {
|
|
99
|
+
const model = (await super.read(runId, ...ctxArgs));
|
|
100
|
+
return modelToRun(model);
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
GraphRunModelService = __decorate([
|
|
108
|
+
service(GraphRunModel),
|
|
109
|
+
__metadata("design:paramtypes", [])
|
|
110
|
+
], GraphRunModelService);
|
|
111
|
+
export { GraphRunModelService };
|
|
112
|
+
//# sourceMappingURL=GraphRunModelService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphRunModelService.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphRunModelService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { ValidationError } from "@decaf-ts/db-decorators";
|
|
2
|
+
import { assertGraphWorkflowDocumentValid, isGraphJsonSafeValue, isGraphWorkflowDocumentShape, } from "@decaf-ts/ui-decorators/graph";
|
|
3
|
+
import { DEFAULT_GRAPH_WORKFLOW_DOCUMENT_LIMITS, } from "./GraphWorkflowDocumentLimits.js";
|
|
4
|
+
/**
|
|
5
|
+
* Field keys that must never appear on a submitted workflow document or any
|
|
6
|
+
* of its structural records (DECAF-50 §4.16): client input resembling node,
|
|
7
|
+
* definition, executor, authoritative ports, or frontend component
|
|
8
|
+
* definitions is rejected at the boundary.
|
|
9
|
+
*/
|
|
10
|
+
export const GRAPH_WORKFLOW_FORBIDDEN_FIELD_KEYS = [
|
|
11
|
+
"node",
|
|
12
|
+
"definition",
|
|
13
|
+
"executor",
|
|
14
|
+
"execute",
|
|
15
|
+
"ports",
|
|
16
|
+
"component",
|
|
17
|
+
];
|
|
18
|
+
function issue(code, path, message, extra) {
|
|
19
|
+
return {
|
|
20
|
+
code,
|
|
21
|
+
path,
|
|
22
|
+
message,
|
|
23
|
+
...(extra?.nodeId !== undefined ? { nodeId: extra.nodeId } : {}),
|
|
24
|
+
...(extra?.edgeId !== undefined ? { edgeId: extra.edgeId } : {}),
|
|
25
|
+
...(extra?.details ? { details: extra.details } : {}),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function forbiddenFieldIssues(record, path) {
|
|
29
|
+
const issues = [];
|
|
30
|
+
for (const key of Object.keys(record)) {
|
|
31
|
+
if (GRAPH_WORKFLOW_FORBIDDEN_FIELD_KEYS.includes(key)) {
|
|
32
|
+
issues.push(issue("document.forbidden-field", `${path}.${key}`, `Field '${key}' is not accepted in a canonical workflow document: node, definition, executor, execute, ports and component fields are rejected at the boundary`, {
|
|
33
|
+
details: { field: key },
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return issues;
|
|
38
|
+
}
|
|
39
|
+
function collectForbiddenFieldIssues(document, issues) {
|
|
40
|
+
issues.push(...forbiddenFieldIssues(document, "$"));
|
|
41
|
+
document.inputs.forEach((port, index) => issues.push(...forbiddenFieldIssues(port, `inputs[${index}]`)));
|
|
42
|
+
document.outputs.forEach((port, index) => issues.push(...forbiddenFieldIssues(port, `outputs[${index}]`)));
|
|
43
|
+
for (const node of document.nodes) {
|
|
44
|
+
issues.push(...forbiddenFieldIssues(node, `nodes[${node.id}]`));
|
|
45
|
+
if (node.loop) {
|
|
46
|
+
issues.push(...forbiddenFieldIssues(node.loop, `nodes[${node.id}].loop`));
|
|
47
|
+
collectForbiddenFieldIssues(node.loop.body, issues);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
for (const edge of document.edges) {
|
|
51
|
+
issues.push(...forbiddenFieldIssues(edge, `edges[${edge.id}]`));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function duplicateIdIssues(document) {
|
|
55
|
+
const issues = [];
|
|
56
|
+
const portIds = new Set();
|
|
57
|
+
for (const port of [...document.inputs, ...document.outputs]) {
|
|
58
|
+
if (portIds.has(port.id)) {
|
|
59
|
+
issues.push(issue("document.duplicate-port-id", `ports[${port.id}]`, `Workflow port '${port.id}' is declared more than once; workflow port ids must be unique`));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
portIds.add(port.id);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const nodeIds = new Set();
|
|
66
|
+
for (const node of document.nodes) {
|
|
67
|
+
if (nodeIds.has(node.id)) {
|
|
68
|
+
issues.push(issue("document.duplicate-node-id", `nodes[${node.id}]`, `Node '${node.id}' is declared more than once; node ids must be unique`, { nodeId: node.id }));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
nodeIds.add(node.id);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const edgeIds = new Set();
|
|
75
|
+
for (const edge of document.edges) {
|
|
76
|
+
if (edgeIds.has(edge.id)) {
|
|
77
|
+
issues.push(issue("document.duplicate-edge-id", `edges[${edge.id}]`, `Edge '${edge.id}' is declared more than once; edge ids must be unique`, { edgeId: edge.id }));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
edgeIds.add(edge.id);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return issues;
|
|
84
|
+
}
|
|
85
|
+
function limitIssues(document, limits) {
|
|
86
|
+
const issues = [];
|
|
87
|
+
if (document.nodes.length > limits.maxNodes) {
|
|
88
|
+
issues.push(issue("document.limit.nodes", "$.nodes", `Document declares ${document.nodes.length} nodes; at most ${limits.maxNodes} are allowed`, { details: { count: document.nodes.length, limit: limits.maxNodes } }));
|
|
89
|
+
}
|
|
90
|
+
if (document.edges.length > limits.maxEdges) {
|
|
91
|
+
issues.push(issue("document.limit.edges", "$.edges", `Document declares ${document.edges.length} edges; at most ${limits.maxEdges} are allowed`, { details: { count: document.edges.length, limit: limits.maxEdges } }));
|
|
92
|
+
}
|
|
93
|
+
const maxDepth = maxNestingDepthOf(document);
|
|
94
|
+
if (maxDepth > limits.maxNestingDepth) {
|
|
95
|
+
issues.push(issue("document.limit.depth", "$.nodes", `Document nests loop bodies ${maxDepth} levels deep; at most ${limits.maxNestingDepth} levels are allowed`, { details: { depth: maxDepth, limit: limits.maxNestingDepth } }));
|
|
96
|
+
}
|
|
97
|
+
const bytes = Buffer.byteLength(JSON.stringify(document), "utf8");
|
|
98
|
+
if (bytes > limits.maxDocumentBytes) {
|
|
99
|
+
issues.push(issue("document.limit.size", "$", `Document serializes to ${bytes} bytes; at most ${limits.maxDocumentBytes} bytes are allowed`, { details: { bytes, limit: limits.maxDocumentBytes } }));
|
|
100
|
+
}
|
|
101
|
+
return issues;
|
|
102
|
+
}
|
|
103
|
+
function maxNestingDepthOf(document, depth = 0) {
|
|
104
|
+
let max = depth;
|
|
105
|
+
for (const node of document.nodes) {
|
|
106
|
+
if (node.loop?.body) {
|
|
107
|
+
max = Math.max(max, maxNestingDepthOf(node.loop.body, depth + 1));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return max;
|
|
111
|
+
}
|
|
112
|
+
function kindIssues(document, catalogue) {
|
|
113
|
+
const issues = [];
|
|
114
|
+
for (const node of document.nodes) {
|
|
115
|
+
if (!catalogue.has(node.kind)) {
|
|
116
|
+
issues.push(issue("node.unknown-kind", `nodes[${node.id}].kind`, `Node '${node.id}' references kind '${node.kind}' which is not registered in the backend catalogue`, { nodeId: node.id, details: { kind: node.kind } }));
|
|
117
|
+
}
|
|
118
|
+
if (node.loop?.body) {
|
|
119
|
+
issues.push(...kindIssues(node.loop.body, catalogue));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return issues;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Validates a submitted canonical workflow document at the persistence
|
|
126
|
+
* boundary (DECAF-50 §4.10/§4.16): document shape, JSON safety, forbidden
|
|
127
|
+
* definition/executor/component fields, duplicate ids, backend-enforced
|
|
128
|
+
* resource limits, structural validity (via the shared document contract
|
|
129
|
+
* assertions) and catalogue kind existence. Issues accumulate as structured
|
|
130
|
+
* {@link GraphValidationIssue}s instead of failing abruptly.
|
|
131
|
+
*
|
|
132
|
+
* Full nine-stage document/catalogue validation (DECAF-50 §4.8) is owned by
|
|
133
|
+
* the engine validation phase; this boundary pass is the persistence gate.
|
|
134
|
+
*/
|
|
135
|
+
export function validateGraphWorkflowDocumentAtBoundary(document, options = {}) {
|
|
136
|
+
const limits = {
|
|
137
|
+
...DEFAULT_GRAPH_WORKFLOW_DOCUMENT_LIMITS,
|
|
138
|
+
...options.limits,
|
|
139
|
+
};
|
|
140
|
+
const issues = [];
|
|
141
|
+
if (!isGraphWorkflowDocumentShape(document)) {
|
|
142
|
+
issues.push(issue("document.shape", "$", "Payload is not a canonical GraphWorkflowDocument: id and name must be strings and inputs, outputs, nodes and edges must be arrays"));
|
|
143
|
+
return { valid: false, issues };
|
|
144
|
+
}
|
|
145
|
+
if (!isGraphJsonSafeValue(document)) {
|
|
146
|
+
issues.push(issue("document.json-unsafe", "$", "Document contains JSON-unsafe values: functions, class instances, undefined, NaN/Infinity, symbol keys and unsafe prototype keys (__proto__/prototype/constructor) are rejected"));
|
|
147
|
+
return { valid: false, issues };
|
|
148
|
+
}
|
|
149
|
+
collectForbiddenFieldIssues(document, issues);
|
|
150
|
+
issues.push(...duplicateIdIssues(document));
|
|
151
|
+
issues.push(...limitIssues(document, limits));
|
|
152
|
+
try {
|
|
153
|
+
assertGraphWorkflowDocumentValid(document);
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
const message = e instanceof ValidationError ? e.message : String(e);
|
|
157
|
+
issues.push(issue("document.structure", "$", message));
|
|
158
|
+
}
|
|
159
|
+
if (options.catalogue) {
|
|
160
|
+
issues.push(...kindIssues(document, options.catalogue));
|
|
161
|
+
}
|
|
162
|
+
return { valid: issues.length === 0, issues };
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=GraphWorkflowBoundaryValidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphWorkflowBoundaryValidation.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowBoundaryValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Body, Controller, Get, HttpException, HttpStatus, NotFoundException, Optional, Param, Put, Post, Inject, } from "@nestjs/common";
|
|
14
|
+
import { NotFoundError, ValidationError } from "@decaf-ts/db-decorators";
|
|
15
|
+
import { AuthorizationError, ForbiddenError } from "@decaf-ts/core";
|
|
16
|
+
import { DecafRequestContext } from "@decaf-ts/for-nest";
|
|
17
|
+
import { GraphWorkflowService, GRAPH_WORKFLOW_OPTIONS } from "./GraphWorkflowService.js";
|
|
18
|
+
import { GraphWorkflowDocumentRejectedError } from "./GraphWorkflowErrors.js";
|
|
19
|
+
function graphWorkflowHttpErrorOf(e, workflowId) {
|
|
20
|
+
if (e instanceof GraphWorkflowDocumentRejectedError) {
|
|
21
|
+
return new HttpException({
|
|
22
|
+
message: "Graph workflow document rejected at the boundary",
|
|
23
|
+
issues: e.issues,
|
|
24
|
+
}, HttpStatus.UNPROCESSABLE_ENTITY);
|
|
25
|
+
}
|
|
26
|
+
if (e instanceof ForbiddenError || e instanceof AuthorizationError) {
|
|
27
|
+
return new HttpException(workflowId
|
|
28
|
+
? `Graph workflow '${workflowId}' is owned by another user`
|
|
29
|
+
: e.message, HttpStatus.FORBIDDEN);
|
|
30
|
+
}
|
|
31
|
+
if (e instanceof NotFoundError) {
|
|
32
|
+
return new NotFoundException(e.message);
|
|
33
|
+
}
|
|
34
|
+
if (e instanceof ValidationError) {
|
|
35
|
+
return new HttpException(e.message, HttpStatus.BAD_REQUEST);
|
|
36
|
+
}
|
|
37
|
+
if (e instanceof HttpException)
|
|
38
|
+
return e;
|
|
39
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
40
|
+
return new HttpException(message, HttpStatus.INTERNAL_SERVER_ERROR);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Canonical workflow document persistence endpoints (DECAF-50 §4.10):
|
|
44
|
+
*
|
|
45
|
+
* - `PUT /graph/workflows/{workflowId}` — validate and persist a canonical
|
|
46
|
+
* document (or a `{ document, editor, metadata }` snapshot wrapper, whose
|
|
47
|
+
* editor state is preserved verbatim for lossless round trips).
|
|
48
|
+
* - `GET /graph/workflows/{workflowId}` — load the canonical document;
|
|
49
|
+
* legacy persisted snapshots are converted losslessly on the read path.
|
|
50
|
+
* - `POST /graph/workflows/validate` — run boundary validation and return
|
|
51
|
+
* structured issues (`code`, `path`, `nodeId`, `edgeId`, `message`,
|
|
52
|
+
* safe `details`).
|
|
53
|
+
*
|
|
54
|
+
* @class GraphWorkflowController
|
|
55
|
+
*/
|
|
56
|
+
let GraphWorkflowController = class GraphWorkflowController {
|
|
57
|
+
constructor(workflowService, requestContext, options = {}) {
|
|
58
|
+
this.workflowService = workflowService;
|
|
59
|
+
this.requestContext = requestContext;
|
|
60
|
+
this.options = options;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Enforces the configured authentication mode: `auth` defaults to
|
|
64
|
+
* `"required"` (SAA-595 secure-defaults alignment) and rejects
|
|
65
|
+
* unauthenticated calls with `401`; `"optional"` admits anonymous
|
|
66
|
+
* requests for standalone module runs (DECAF-48 §4.15).
|
|
67
|
+
*/
|
|
68
|
+
requireAuthenticatedContext() {
|
|
69
|
+
if ((this.options.auth ?? "required") !== "required") {
|
|
70
|
+
return this.requestContext;
|
|
71
|
+
}
|
|
72
|
+
if (!this.requestContext) {
|
|
73
|
+
throw new HttpException("Graph workflow access requires an authenticated request context", HttpStatus.UNAUTHORIZED);
|
|
74
|
+
}
|
|
75
|
+
return this.requestContext;
|
|
76
|
+
}
|
|
77
|
+
async saveWorkflow(workflowId, body) {
|
|
78
|
+
const context = this.requireAuthenticatedContext();
|
|
79
|
+
try {
|
|
80
|
+
const model = this.isCanonicalWrapper(body)
|
|
81
|
+
? await this.workflowService.saveSnapshot(workflowId, body, context)
|
|
82
|
+
: await this.workflowService.saveDocument(workflowId, body, context);
|
|
83
|
+
return {
|
|
84
|
+
workflowId,
|
|
85
|
+
...(model.name ? { name: model.name } : {}),
|
|
86
|
+
savedAt: model.updatedAt.toISOString(),
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
throw graphWorkflowHttpErrorOf(e, workflowId);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async getWorkflow(workflowId) {
|
|
94
|
+
const context = this.requireAuthenticatedContext();
|
|
95
|
+
try {
|
|
96
|
+
return await this.workflowService.getDocument(workflowId, context);
|
|
97
|
+
}
|
|
98
|
+
catch (e) {
|
|
99
|
+
throw graphWorkflowHttpErrorOf(e, workflowId);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async validateWorkflow(body) {
|
|
103
|
+
this.requireAuthenticatedContext();
|
|
104
|
+
const document = this.documentOf(body);
|
|
105
|
+
return this.workflowService.validateDocument(document, this.requestContext);
|
|
106
|
+
}
|
|
107
|
+
isCanonicalWrapper(body) {
|
|
108
|
+
return (!!body &&
|
|
109
|
+
typeof body === "object" &&
|
|
110
|
+
!Array.isArray(body) &&
|
|
111
|
+
body["document"] !== undefined &&
|
|
112
|
+
body["nodes"] === undefined);
|
|
113
|
+
}
|
|
114
|
+
documentOf(body) {
|
|
115
|
+
if (this.isCanonicalWrapper(body)) {
|
|
116
|
+
return body.document;
|
|
117
|
+
}
|
|
118
|
+
return body;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
__decorate([
|
|
122
|
+
Put("workflows/:workflowId"),
|
|
123
|
+
__param(0, Param("workflowId")),
|
|
124
|
+
__param(1, Body()),
|
|
125
|
+
__metadata("design:type", Function),
|
|
126
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
127
|
+
__metadata("design:returntype", Promise)
|
|
128
|
+
], GraphWorkflowController.prototype, "saveWorkflow", null);
|
|
129
|
+
__decorate([
|
|
130
|
+
Get("workflows/:workflowId"),
|
|
131
|
+
__param(0, Param("workflowId")),
|
|
132
|
+
__metadata("design:type", Function),
|
|
133
|
+
__metadata("design:paramtypes", [String]),
|
|
134
|
+
__metadata("design:returntype", Promise)
|
|
135
|
+
], GraphWorkflowController.prototype, "getWorkflow", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
Post("workflows/validate"),
|
|
138
|
+
__param(0, Body()),
|
|
139
|
+
__metadata("design:type", Function),
|
|
140
|
+
__metadata("design:paramtypes", [Object]),
|
|
141
|
+
__metadata("design:returntype", Promise)
|
|
142
|
+
], GraphWorkflowController.prototype, "validateWorkflow", null);
|
|
143
|
+
GraphWorkflowController = __decorate([
|
|
144
|
+
Controller("graph"),
|
|
145
|
+
__param(1, Optional()),
|
|
146
|
+
__param(1, Inject(DecafRequestContext)),
|
|
147
|
+
__param(2, Optional()),
|
|
148
|
+
__param(2, Inject(GRAPH_WORKFLOW_OPTIONS)),
|
|
149
|
+
__metadata("design:paramtypes", [GraphWorkflowService,
|
|
150
|
+
DecafRequestContext, Object])
|
|
151
|
+
], GraphWorkflowController);
|
|
152
|
+
export { GraphWorkflowController };
|
|
153
|
+
//# sourceMappingURL=GraphWorkflowController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphWorkflowController.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Default document resource limits (§4.16): payload size, nesting depth, node and edge counts. */
|
|
2
|
+
export const DEFAULT_GRAPH_WORKFLOW_DOCUMENT_LIMITS = {
|
|
3
|
+
maxDocumentBytes: 2_000_000,
|
|
4
|
+
maxNestingDepth: 10,
|
|
5
|
+
maxNodes: 500,
|
|
6
|
+
maxEdges: 1_000,
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=GraphWorkflowDocumentLimits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphWorkflowDocumentLimits.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowDocumentLimits.ts"],"names":[],"mappings":"AAgCA,mGAAmG;AACnG,MAAM,CAAC,MAAM,sCAAsC,GACjD;IACE,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,EAAE;IACnB,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,KAAK;CAChB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ValidationError } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* Raised when a submitted workflow document fails boundary validation and
|
|
4
|
+
* must not be persisted (DECAF-50 §4.10). Carries the structured issues so
|
|
5
|
+
* HTTP transports can surface them without re-running validation.
|
|
6
|
+
*
|
|
7
|
+
* @class GraphWorkflowDocumentRejectedError
|
|
8
|
+
*/
|
|
9
|
+
export class GraphWorkflowDocumentRejectedError extends ValidationError {
|
|
10
|
+
constructor(issues) {
|
|
11
|
+
super(`Graph workflow document rejected with ${issues.length} issue(s): ${issues
|
|
12
|
+
.map((i) => `${i.code} at ${i.path} (${i.message})`)
|
|
13
|
+
.join("; ")}`);
|
|
14
|
+
this.name = GraphWorkflowDocumentRejectedError.name;
|
|
15
|
+
this.issues = issues;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=GraphWorkflowErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GraphWorkflowErrors.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowErrors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;;;;;GAMG;AACH,MAAM,OAAO,kCAAmC,SAAQ,eAAe;IAGrE,YAAY,MAA8B;QACxC,KAAK,CACH,yCAAyC,MAAM,CAAC,MAAM,cAAc,MAAM;aACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC;aACnD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC,IAAI,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -9,6 +9,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
};
|
|
10
10
|
import { model } from "@decaf-ts/decorator-validation";
|
|
11
11
|
import { BaseModel, column, pk, table } from "@decaf-ts/core";
|
|
12
|
+
/**
|
|
13
|
+
* Canonical workflow persistence model (DECAF-50 §4.10).
|
|
14
|
+
*
|
|
15
|
+
* `document` is the executable source of truth. `snapshot` is retained
|
|
16
|
+
* temporarily (DECAF-50 §4.18 transition) so legacy persisted snapshots keep
|
|
17
|
+
* loading through lossless read-path conversion; it must never become the
|
|
18
|
+
* executable source of truth again and is removed at cutover (P7).
|
|
19
|
+
*
|
|
20
|
+
* `owner` implements the DECAF-48 `{ workflowId, ownerUser }` ownership tuple:
|
|
21
|
+
* the authenticated user that created the workflow, or `undefined` for
|
|
22
|
+
* system/standalone saves (tolerated per DECAF-48 §4.15).
|
|
23
|
+
*
|
|
24
|
+
* @class GraphWorkflowModel
|
|
25
|
+
*/
|
|
12
26
|
let GraphWorkflowModel = class GraphWorkflowModel extends BaseModel {
|
|
13
27
|
constructor(arg) {
|
|
14
28
|
super(arg);
|
|
@@ -18,12 +32,24 @@ __decorate([
|
|
|
18
32
|
pk({ type: String, generated: false }),
|
|
19
33
|
__metadata("design:type", String)
|
|
20
34
|
], GraphWorkflowModel.prototype, "workflowId", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
column(),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], GraphWorkflowModel.prototype, "name", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
column(),
|
|
41
|
+
__metadata("design:type", Object)
|
|
42
|
+
], GraphWorkflowModel.prototype, "document", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
column(),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], GraphWorkflowModel.prototype, "owner", void 0);
|
|
21
47
|
__decorate([
|
|
22
48
|
column(),
|
|
23
49
|
__metadata("design:type", Object)
|
|
24
50
|
], GraphWorkflowModel.prototype, "snapshot", void 0);
|
|
25
51
|
GraphWorkflowModel = __decorate([
|
|
26
|
-
table("
|
|
52
|
+
table("graph_workflow"),
|
|
27
53
|
model(),
|
|
28
54
|
__metadata("design:paramtypes", [Object])
|
|
29
55
|
], GraphWorkflowModel);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphWorkflowModel.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphWorkflowModel.js","sourceRoot":"","sources":["../../../../src/nest/graph/GraphWorkflowModel.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG9D;;;;;;;;;;;;;GAaG;AAGI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAgB/C,YAAY,GAAiC;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAjBC;IADC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;sDACnB;AAGpB;IADC,MAAM,EAAE;;gDACK;AAGd;IADC,MAAM,EAAE;;oDACwB;AAGjC;IADC,MAAM,EAAE;;iDACM;AAGf;IADC,MAAM,EAAE;;oDAC0B;AAdxB,kBAAkB;IAF9B,KAAK,CAAC,gBAAgB,CAAC;IACvB,KAAK,EAAE;;GACK,kBAAkB,CAmB9B"}
|