@decaf-ts/integrations 0.10.8 → 0.12.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 +241 -5
- package/dist/integrations.cjs +1 -1
- package/dist/integrations.cjs.map +1 -1
- package/dist/integrations.js +1 -1
- package/dist/integrations.js.map +1 -1
- package/docker/dragonfly-compose.yml +19 -0
- package/docker/mailpit-compose.yml +17 -0
- package/docker/postgres-compose.yml +26 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +12 -23
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +0 -4
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -1
- package/lib/cjs/blob/core/BlobStoreService.cjs +26 -25
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +12 -23
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +11 -16
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +14 -16
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -1
- package/lib/cjs/comms/email/EmailService.cjs +376 -0
- package/lib/cjs/comms/email/EmailService.cjs.map +1 -0
- package/lib/cjs/comms/email/index.cjs +29 -0
- package/lib/cjs/comms/email/index.cjs.map +1 -0
- package/lib/cjs/comms/email/mime.cjs +225 -0
- package/lib/cjs/comms/email/mime.cjs.map +1 -0
- package/lib/cjs/comms/email/smtp.cjs +204 -0
- package/lib/cjs/comms/email/smtp.cjs.map +1 -0
- package/lib/cjs/comms/environment.cjs +63 -0
- package/lib/cjs/comms/environment.cjs.map +1 -0
- package/lib/cjs/comms/gmail/GmailService.cjs +235 -0
- package/lib/cjs/comms/gmail/GmailService.cjs.map +1 -0
- package/lib/cjs/comms/gmail/index.cjs +24 -0
- package/lib/cjs/comms/gmail/index.cjs.map +1 -0
- package/lib/cjs/comms/index.cjs +31 -0
- package/lib/cjs/comms/index.cjs.map +1 -0
- package/lib/cjs/comms/slack/SlackService.cjs +264 -0
- package/lib/cjs/comms/slack/SlackService.cjs.map +1 -0
- package/lib/cjs/comms/slack/index.cjs +24 -0
- package/lib/cjs/comms/slack/index.cjs.map +1 -0
- package/lib/cjs/comms/teams/TeamsService.cjs +212 -0
- package/lib/cjs/comms/teams/TeamsService.cjs.map +1 -0
- package/lib/cjs/comms/teams/index.cjs +24 -0
- package/lib/cjs/comms/teams/index.cjs.map +1 -0
- package/lib/cjs/comms/telegram/TelegramService.cjs +196 -0
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +1 -0
- package/lib/cjs/comms/telegram/index.cjs +24 -0
- package/lib/cjs/comms/telegram/index.cjs.map +1 -0
- package/lib/cjs/devops/environment.cjs +43 -0
- package/lib/cjs/devops/environment.cjs.map +1 -0
- package/lib/cjs/devops/github/GithubService.cjs +302 -0
- package/lib/cjs/devops/github/GithubService.cjs.map +1 -0
- package/lib/cjs/devops/github/index.cjs +24 -0
- package/lib/cjs/devops/github/index.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/GitlabService.cjs +282 -0
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/index.cjs +24 -0
- package/lib/cjs/devops/gitlab/index.cjs.map +1 -0
- package/lib/cjs/devops/index.cjs +28 -0
- package/lib/cjs/devops/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +214 -0
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/index.cjs +1 -0
- package/lib/cjs/feature-flags/index.cjs.map +1 -1
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -0
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -1
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -0
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -1
- package/lib/cjs/index.cjs +3 -3
- package/lib/cjs/io/airtable/AirtableService.cjs +266 -0
- package/lib/cjs/io/airtable/AirtableService.cjs.map +1 -0
- package/lib/cjs/io/airtable/index.cjs +24 -0
- package/lib/cjs/io/airtable/index.cjs.map +1 -0
- package/lib/cjs/io/environment.cjs +46 -0
- package/lib/cjs/io/environment.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +288 -0
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/index.cjs +24 -0
- package/lib/cjs/io/google-sheets/index.cjs.map +1 -0
- package/lib/cjs/io/graphql/GraphqlService.cjs +143 -0
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +1 -0
- package/lib/cjs/io/graphql/index.cjs +24 -0
- package/lib/cjs/io/graphql/index.cjs.map +1 -0
- package/lib/cjs/io/index.cjs +30 -0
- package/lib/cjs/io/index.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +205 -0
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/index.cjs +25 -0
- package/lib/cjs/io/spreadsheet/index.cjs.map +1 -0
- package/lib/cjs/loader/ObjectLoader.cjs +95 -11
- package/lib/cjs/loader/ObjectLoader.cjs.map +1 -1
- package/lib/cjs/loader/assets.cjs +160 -0
- package/lib/cjs/loader/assets.cjs.map +1 -0
- package/lib/cjs/loader/config.cjs +241 -0
- package/lib/cjs/loader/config.cjs.map +1 -0
- package/lib/cjs/loader/families.cjs +27 -12
- package/lib/cjs/loader/families.cjs.map +1 -1
- package/lib/cjs/loader/index.cjs +3 -0
- package/lib/cjs/loader/index.cjs.map +1 -1
- package/lib/cjs/loader/nest.cjs +331 -0
- package/lib/cjs/loader/nest.cjs.map +1 -0
- package/lib/cjs/namespaces/index.cjs +1 -0
- package/lib/cjs/namespaces/index.cjs.map +1 -1
- package/lib/cjs/namespaces/models/credential.model.cjs +115 -0
- package/lib/cjs/namespaces/models/credential.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/group.model.cjs +2 -0
- package/lib/cjs/namespaces/models/group.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/index.cjs +1 -0
- package/lib/cjs/namespaces/models/index.cjs.map +1 -1
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -0
- package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -0
- package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/role.model.cjs +2 -0
- package/lib/cjs/namespaces/models/role.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -1
- package/lib/cjs/namespaces/models/user.model.cjs +2 -0
- package/lib/cjs/namespaces/models/user.model.cjs.map +1 -1
- package/lib/cjs/namespaces/rls/index.cjs +28 -0
- package/lib/cjs/namespaces/rls/index.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +66 -0
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +269 -0
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.constants.cjs +79 -0
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.template.cjs +719 -0
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.types.cjs +4 -0
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/session-binding.cjs +70 -0
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +1 -0
- package/lib/cjs/namespaces/services/credential.service.cjs +327 -0
- package/lib/cjs/namespaces/services/credential.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/index.cjs +1 -0
- package/lib/cjs/namespaces/services/index.cjs.map +1 -1
- package/lib/cjs/namespaces/types.cjs +6 -1
- package/lib/cjs/namespaces/types.cjs.map +1 -1
- package/lib/cjs/redis/RedisContextLock.cjs +185 -0
- package/lib/cjs/redis/RedisContextLock.cjs.map +1 -0
- package/lib/cjs/redis/RedisDispatch.cjs +132 -0
- package/lib/cjs/redis/RedisDispatch.cjs.map +1 -0
- package/lib/cjs/redis/RedisPaginator.cjs +95 -0
- package/lib/cjs/redis/RedisPaginator.cjs.map +1 -0
- package/lib/cjs/redis/RedisStatement.cjs +433 -0
- package/lib/cjs/redis/RedisStatement.cjs.map +1 -0
- package/lib/cjs/redis/adapter.cjs +715 -0
- package/lib/cjs/redis/adapter.cjs.map +1 -0
- package/lib/cjs/redis/constants.cjs +31 -0
- package/lib/cjs/redis/constants.cjs.map +1 -0
- package/lib/cjs/redis/handlers.cjs +27 -0
- package/lib/cjs/redis/handlers.cjs.map +1 -0
- package/lib/cjs/redis/index.cjs +36 -0
- package/lib/cjs/redis/index.cjs.map +1 -0
- package/lib/cjs/redis/serialization.cjs +63 -0
- package/lib/cjs/redis/serialization.cjs.map +1 -0
- package/lib/cjs/redis/types.cjs.map +1 -0
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +80 -0
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -15
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -16
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/core/SecretReference.cjs +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -1
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +28 -0
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretService.cjs +420 -0
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +25 -0
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/fs/index.cjs +27 -0
- package/lib/cjs/secrets/fs/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -16
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -1
- package/lib/cjs/secrets/index.cjs +2 -0
- package/lib/cjs/secrets/index.cjs.map +1 -1
- package/lib/cjs/secrets/model/ModelSecretService.cjs +335 -43
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/model/Secret.cjs +83 -5
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -16
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -1
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -16
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -1
- package/lib/cjs/shared/environmentValue.cjs +24 -0
- package/lib/cjs/shared/environmentValue.cjs.map +1 -1
- package/lib/cjs/shared/http/HttpApiService.cjs +190 -0
- package/lib/cjs/shared/http/HttpApiService.cjs.map +1 -0
- package/lib/cjs/shared/http/hermeticBoot.cjs +150 -0
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +1 -0
- package/lib/cjs/shared/http/index.cjs +28 -0
- package/lib/cjs/shared/http/index.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +13 -21
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js +0 -4
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -1
- package/lib/esm/blob/core/BlobStoreService.js +26 -25
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +13 -21
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +12 -14
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +14 -16
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -1
- package/lib/esm/comms/email/EmailService.js +338 -0
- package/lib/esm/comms/email/EmailService.js.map +1 -0
- package/lib/esm/comms/email/index.js +12 -0
- package/lib/esm/comms/email/index.js.map +1 -0
- package/lib/esm/comms/email/mime.js +218 -0
- package/lib/esm/comms/email/mime.js.map +1 -0
- package/lib/esm/comms/email/smtp.js +166 -0
- package/lib/esm/comms/email/smtp.js.map +1 -0
- package/lib/esm/comms/environment.js +59 -0
- package/lib/esm/comms/environment.js.map +1 -0
- package/lib/esm/comms/gmail/GmailService.js +230 -0
- package/lib/esm/comms/gmail/GmailService.js.map +1 -0
- package/lib/esm/comms/gmail/index.js +7 -0
- package/lib/esm/comms/gmail/index.js.map +1 -0
- package/lib/esm/comms/index.js +14 -0
- package/lib/esm/comms/index.js.map +1 -0
- package/lib/esm/comms/slack/SlackService.js +259 -0
- package/lib/esm/comms/slack/SlackService.js.map +1 -0
- package/lib/esm/comms/slack/index.js +7 -0
- package/lib/esm/comms/slack/index.js.map +1 -0
- package/lib/esm/comms/teams/TeamsService.js +204 -0
- package/lib/esm/comms/teams/TeamsService.js.map +1 -0
- package/lib/esm/comms/teams/index.js +7 -0
- package/lib/esm/comms/teams/index.js.map +1 -0
- package/lib/esm/comms/telegram/TelegramService.js +191 -0
- package/lib/esm/comms/telegram/TelegramService.js.map +1 -0
- package/lib/esm/comms/telegram/index.js +7 -0
- package/lib/esm/comms/telegram/index.js.map +1 -0
- package/lib/esm/devops/environment.js +39 -0
- package/lib/esm/devops/environment.js.map +1 -0
- package/lib/esm/devops/github/GithubService.js +297 -0
- package/lib/esm/devops/github/GithubService.js.map +1 -0
- package/lib/esm/devops/github/index.js +7 -0
- package/lib/esm/devops/github/index.js.map +1 -0
- package/lib/esm/devops/gitlab/GitlabService.js +277 -0
- package/lib/esm/devops/gitlab/GitlabService.js.map +1 -0
- package/lib/esm/devops/gitlab/index.js +7 -0
- package/lib/esm/devops/gitlab/index.js.map +1 -0
- package/lib/esm/devops/index.js +11 -0
- package/lib/esm/devops/index.js.map +1 -0
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +203 -0
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/index.js +1 -0
- package/lib/esm/feature-flags/index.js.map +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +2 -0
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +2 -0
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -1
- package/lib/esm/index.js +3 -3
- package/lib/esm/io/airtable/AirtableService.js +261 -0
- package/lib/esm/io/airtable/AirtableService.js.map +1 -0
- package/lib/esm/io/airtable/index.js +7 -0
- package/lib/esm/io/airtable/index.js.map +1 -0
- package/lib/esm/io/environment.js +42 -0
- package/lib/esm/io/environment.js.map +1 -0
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +283 -0
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +1 -0
- package/lib/esm/io/google-sheets/index.js +7 -0
- package/lib/esm/io/google-sheets/index.js.map +1 -0
- package/lib/esm/io/graphql/GraphqlService.js +138 -0
- package/lib/esm/io/graphql/GraphqlService.js.map +1 -0
- package/lib/esm/io/graphql/index.js +7 -0
- package/lib/esm/io/graphql/index.js.map +1 -0
- package/lib/esm/io/index.js +13 -0
- package/lib/esm/io/index.js.map +1 -0
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +200 -0
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +1 -0
- package/lib/esm/io/spreadsheet/index.js +8 -0
- package/lib/esm/io/spreadsheet/index.js.map +1 -0
- package/lib/esm/loader/ObjectLoader.js +94 -11
- package/lib/esm/loader/ObjectLoader.js.map +1 -1
- package/lib/esm/loader/assets.js +155 -0
- package/lib/esm/loader/assets.js.map +1 -0
- package/lib/esm/loader/config.js +202 -0
- package/lib/esm/loader/config.js.map +1 -0
- package/lib/esm/loader/families.js +25 -10
- package/lib/esm/loader/families.js.map +1 -1
- package/lib/esm/loader/index.js +3 -0
- package/lib/esm/loader/index.js.map +1 -1
- package/lib/esm/loader/nest.js +292 -0
- package/lib/esm/loader/nest.js.map +1 -0
- package/lib/esm/namespaces/index.js +1 -0
- package/lib/esm/namespaces/index.js.map +1 -1
- package/lib/esm/namespaces/models/credential.model.js +106 -0
- package/lib/esm/namespaces/models/credential.model.js.map +1 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +2 -0
- package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js +2 -0
- package/lib/esm/namespaces/models/group-membership.model.js.map +1 -1
- package/lib/esm/namespaces/models/group.model.js +2 -0
- package/lib/esm/namespaces/models/group.model.js.map +1 -1
- package/lib/esm/namespaces/models/index.js +1 -0
- package/lib/esm/namespaces/models/index.js.map +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js +2 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js +2 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js +2 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js +2 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js +2 -0
- package/lib/esm/namespaces/models/org-unit.model.js.map +1 -1
- package/lib/esm/namespaces/models/permission.model.js +2 -0
- package/lib/esm/namespaces/models/permission.model.js.map +1 -1
- package/lib/esm/namespaces/models/principal.model.js +2 -0
- package/lib/esm/namespaces/models/principal.model.js.map +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js +2 -0
- package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js +2 -0
- package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js +2 -0
- package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js +2 -0
- package/lib/esm/namespaces/models/role-permission.model.js.map +1 -1
- package/lib/esm/namespaces/models/role.model.js +2 -0
- package/lib/esm/namespaces/models/role.model.js.map +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js +2 -0
- package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js +2 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js +2 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -1
- package/lib/esm/namespaces/models/tenant.model.js +2 -0
- package/lib/esm/namespaces/models/tenant.model.js.map +1 -1
- package/lib/esm/namespaces/models/user.model.js +2 -0
- package/lib/esm/namespaces/models/user.model.js.map +1 -1
- package/lib/esm/namespaces/rls/index.js +11 -0
- package/lib/esm/namespaces/rls/index.js.map +1 -0
- package/lib/esm/namespaces/rls/principal-resolver.js +61 -0
- package/lib/esm/namespaces/rls/principal-resolver.js.map +1 -0
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +261 -0
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.constants.js +75 -0
- package/lib/esm/namespaces/rls/rls.constants.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.template.js +711 -0
- package/lib/esm/namespaces/rls/rls.template.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.types.js +9 -0
- package/lib/esm/namespaces/rls/rls.types.js.map +1 -0
- package/lib/esm/namespaces/rls/session-binding.js +65 -0
- package/lib/esm/namespaces/rls/session-binding.js.map +1 -0
- package/lib/esm/namespaces/services/credential.service.js +322 -0
- package/lib/esm/namespaces/services/credential.service.js.map +1 -0
- package/lib/esm/namespaces/services/index.js +1 -0
- package/lib/esm/namespaces/services/index.js.map +1 -1
- package/lib/esm/namespaces/types.js +6 -0
- package/lib/esm/namespaces/types.js.map +1 -1
- package/lib/esm/redis/RedisContextLock.js +180 -0
- package/lib/esm/redis/RedisContextLock.js.map +1 -0
- package/lib/esm/redis/RedisDispatch.js +127 -0
- package/lib/esm/redis/RedisDispatch.js.map +1 -0
- package/lib/esm/redis/RedisPaginator.js +90 -0
- package/lib/esm/redis/RedisPaginator.js.map +1 -0
- package/lib/esm/redis/RedisStatement.js +428 -0
- package/lib/esm/redis/RedisStatement.js.map +1 -0
- package/lib/esm/redis/adapter.js +710 -0
- package/lib/esm/redis/adapter.js.map +1 -0
- package/lib/esm/redis/constants.js +27 -0
- package/lib/esm/redis/constants.js.map +1 -0
- package/lib/esm/redis/handlers.js +23 -0
- package/lib/esm/redis/handlers.js.map +1 -0
- package/lib/esm/redis/index.js +19 -0
- package/lib/esm/redis/index.js.map +1 -0
- package/lib/esm/redis/serialization.js +57 -0
- package/lib/esm/redis/serialization.js.map +1 -0
- package/lib/esm/redis/types.js.map +1 -0
- package/lib/esm/secrets/InfraCredentialBootstrap.js +74 -0
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +3 -13
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +2 -13
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -1
- package/lib/esm/secrets/core/SecretReference.js +1 -0
- package/lib/esm/secrets/core/SecretReference.js.map +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +24 -0
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretService.js +412 -0
- package/lib/esm/secrets/fs/FsSecretService.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +21 -0
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/fs/index.js +10 -0
- package/lib/esm/secrets/fs/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +2 -13
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -1
- package/lib/esm/secrets/index.js +2 -0
- package/lib/esm/secrets/index.js.map +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js +337 -42
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -1
- package/lib/esm/secrets/model/Secret.js +86 -7
- package/lib/esm/secrets/model/Secret.js.map +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +2 -13
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js +2 -13
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -1
- package/lib/esm/shared/environmentValue.js +24 -0
- package/lib/esm/shared/environmentValue.js.map +1 -1
- package/lib/esm/shared/http/HttpApiService.js +181 -0
- package/lib/esm/shared/http/HttpApiService.js.map +1 -0
- package/lib/esm/shared/http/hermeticBoot.js +146 -0
- package/lib/esm/shared/http/hermeticBoot.js.map +1 -0
- package/lib/esm/shared/http/index.js +11 -0
- package/lib/esm/shared/http/index.js.map +1 -0
- package/lib/types/blob/azure/AzureBlobStoreService.d.cts +7 -7
- package/lib/types/blob/azure/AzureBlobStoreService.d.mts +7 -7
- package/lib/types/blob/core/BlobStoreService.d.cts +28 -27
- package/lib/types/blob/core/BlobStoreService.d.mts +28 -27
- package/lib/types/blob/core/BlobTypes.d.cts +1 -14
- package/lib/types/blob/core/BlobTypes.d.mts +1 -14
- package/lib/types/blob/gcp/GcsBlobStoreService.d.cts +7 -7
- package/lib/types/blob/gcp/GcsBlobStoreService.d.mts +7 -7
- package/lib/types/blob/s3/S3BlobStoreService.d.cts +9 -1
- package/lib/types/blob/s3/S3BlobStoreService.d.mts +9 -1
- package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.cts +11 -15
- package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.mts +11 -15
- package/lib/types/comms/email/EmailService.d.cts +184 -0
- package/lib/types/comms/email/EmailService.d.mts +184 -0
- package/lib/types/comms/email/index.d.cts +11 -0
- package/lib/types/comms/email/index.d.mts +11 -0
- package/lib/types/comms/email/mime.d.cts +84 -0
- package/lib/types/comms/email/mime.d.mts +84 -0
- package/lib/types/comms/email/smtp.d.cts +107 -0
- package/lib/types/comms/email/smtp.d.mts +107 -0
- package/lib/types/comms/environment.d.cts +84 -0
- package/lib/types/comms/environment.d.mts +84 -0
- package/lib/types/comms/gmail/GmailService.d.cts +190 -0
- package/lib/types/comms/gmail/GmailService.d.mts +190 -0
- package/lib/types/comms/gmail/index.d.cts +6 -0
- package/lib/types/comms/gmail/index.d.mts +6 -0
- package/lib/types/comms/index.d.cts +13 -0
- package/lib/types/comms/index.d.mts +13 -0
- package/lib/types/comms/slack/SlackService.d.cts +259 -0
- package/lib/types/comms/slack/SlackService.d.mts +259 -0
- package/lib/types/comms/slack/index.d.cts +6 -0
- package/lib/types/comms/slack/index.d.mts +6 -0
- package/lib/types/comms/teams/TeamsService.d.cts +172 -0
- package/lib/types/comms/teams/TeamsService.d.mts +172 -0
- package/lib/types/comms/teams/index.d.cts +6 -0
- package/lib/types/comms/teams/index.d.mts +6 -0
- package/lib/types/comms/telegram/TelegramService.d.cts +202 -0
- package/lib/types/comms/telegram/TelegramService.d.mts +202 -0
- package/lib/types/comms/telegram/index.d.cts +6 -0
- package/lib/types/comms/telegram/index.d.mts +6 -0
- package/lib/types/devops/environment.d.cts +62 -0
- package/lib/types/devops/environment.d.mts +62 -0
- package/lib/types/devops/github/GithubService.d.cts +287 -0
- package/lib/types/devops/github/GithubService.d.mts +287 -0
- package/lib/types/devops/github/index.d.cts +6 -0
- package/lib/types/devops/github/index.d.mts +6 -0
- package/lib/types/devops/gitlab/GitlabService.d.cts +277 -0
- package/lib/types/devops/gitlab/GitlabService.d.mts +277 -0
- package/lib/types/devops/gitlab/index.d.cts +6 -0
- package/lib/types/devops/gitlab/index.d.mts +6 -0
- package/lib/types/devops/index.d.cts +10 -0
- package/lib/types/devops/index.d.mts +10 -0
- package/lib/types/feature-flags/EngineCapabilityFeatureFlag.service.d.cts +116 -0
- package/lib/types/feature-flags/EngineCapabilityFeatureFlag.service.d.mts +116 -0
- package/lib/types/feature-flags/index.d.cts +1 -0
- package/lib/types/feature-flags/index.d.mts +1 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/io/airtable/AirtableService.d.cts +268 -0
- package/lib/types/io/airtable/AirtableService.d.mts +268 -0
- package/lib/types/io/airtable/index.d.cts +6 -0
- package/lib/types/io/airtable/index.d.mts +6 -0
- package/lib/types/io/environment.d.cts +67 -0
- package/lib/types/io/environment.d.mts +67 -0
- package/lib/types/io/google-sheets/GoogleSheetsService.d.cts +204 -0
- package/lib/types/io/google-sheets/GoogleSheetsService.d.mts +204 -0
- package/lib/types/io/google-sheets/index.d.cts +6 -0
- package/lib/types/io/google-sheets/index.d.mts +6 -0
- package/lib/types/io/graphql/GraphqlService.d.cts +173 -0
- package/lib/types/io/graphql/GraphqlService.d.mts +173 -0
- package/lib/types/io/graphql/index.d.cts +6 -0
- package/lib/types/io/graphql/index.d.mts +6 -0
- package/lib/types/io/index.d.cts +12 -0
- package/lib/types/io/index.d.mts +12 -0
- package/lib/types/io/spreadsheet/SpreadsheetService.d.cts +144 -0
- package/lib/types/io/spreadsheet/SpreadsheetService.d.mts +144 -0
- package/lib/types/io/spreadsheet/index.d.cts +7 -0
- package/lib/types/io/spreadsheet/index.d.mts +7 -0
- package/lib/types/loader/ObjectLoader.d.cts +46 -2
- package/lib/types/loader/ObjectLoader.d.mts +46 -2
- package/lib/types/loader/assets.d.cts +43 -0
- package/lib/types/loader/assets.d.mts +43 -0
- package/lib/types/loader/config.d.cts +84 -0
- package/lib/types/loader/config.d.mts +84 -0
- package/lib/types/loader/families.d.cts +19 -7
- package/lib/types/loader/families.d.mts +19 -7
- package/lib/types/loader/index.d.cts +3 -0
- package/lib/types/loader/index.d.mts +3 -0
- package/lib/types/loader/nest.d.cts +102 -0
- package/lib/types/loader/nest.d.mts +102 -0
- package/lib/types/loader/types.d.cts +27 -1
- package/lib/types/loader/types.d.mts +27 -1
- package/lib/types/namespaces/index.d.cts +1 -0
- package/lib/types/namespaces/index.d.mts +1 -0
- package/lib/types/namespaces/models/credential.model.d.cts +23 -0
- package/lib/types/namespaces/models/credential.model.d.mts +23 -0
- package/lib/types/namespaces/models/index.d.cts +1 -0
- package/lib/types/namespaces/models/index.d.mts +1 -0
- package/lib/types/namespaces/rls/index.d.cts +10 -0
- package/lib/types/namespaces/rls/index.d.mts +10 -0
- package/lib/types/namespaces/rls/principal-resolver.d.cts +47 -0
- package/lib/types/namespaces/rls/principal-resolver.d.mts +47 -0
- package/lib/types/namespaces/rls/rls-bootstrap.service.d.cts +157 -0
- package/lib/types/namespaces/rls/rls-bootstrap.service.d.mts +157 -0
- package/lib/types/namespaces/rls/rls.constants.d.cts +52 -0
- package/lib/types/namespaces/rls/rls.constants.d.mts +52 -0
- package/lib/types/namespaces/rls/rls.template.d.cts +42 -0
- package/lib/types/namespaces/rls/rls.template.d.mts +42 -0
- package/lib/types/namespaces/rls/rls.types.d.cts +77 -0
- package/lib/types/namespaces/rls/rls.types.d.mts +77 -0
- package/lib/types/namespaces/rls/session-binding.d.cts +87 -0
- package/lib/types/namespaces/rls/session-binding.d.mts +87 -0
- package/lib/types/namespaces/services/credential.service.d.cts +175 -0
- package/lib/types/namespaces/services/credential.service.d.mts +175 -0
- package/lib/types/namespaces/services/index.d.cts +1 -0
- package/lib/types/namespaces/services/index.d.mts +1 -0
- package/lib/types/namespaces/types.d.cts +37 -0
- package/lib/types/namespaces/types.d.mts +37 -0
- package/lib/types/redis/RedisContextLock.d.cts +106 -0
- package/lib/types/redis/RedisContextLock.d.mts +106 -0
- package/lib/types/redis/RedisDispatch.d.cts +56 -0
- package/lib/types/redis/RedisDispatch.d.mts +56 -0
- package/lib/types/redis/RedisPaginator.d.cts +58 -0
- package/lib/types/redis/RedisPaginator.d.mts +58 -0
- package/lib/types/redis/RedisStatement.d.cts +175 -0
- package/lib/types/redis/RedisStatement.d.mts +175 -0
- package/lib/types/redis/adapter.d.cts +290 -0
- package/lib/types/redis/adapter.d.mts +290 -0
- package/lib/types/redis/constants.d.cts +26 -0
- package/lib/types/redis/constants.d.mts +26 -0
- package/lib/types/redis/handlers.d.cts +20 -0
- package/lib/types/redis/handlers.d.mts +20 -0
- package/lib/types/redis/index.d.cts +17 -0
- package/lib/types/redis/index.d.mts +17 -0
- package/lib/types/redis/serialization.d.cts +35 -0
- package/lib/types/redis/serialization.d.mts +35 -0
- package/lib/types/redis/types.d.cts +97 -0
- package/lib/types/redis/types.d.mts +97 -0
- package/lib/types/secrets/InfraCredentialBootstrap.d.cts +100 -0
- package/lib/types/secrets/InfraCredentialBootstrap.d.mts +100 -0
- package/lib/types/secrets/core/SecretTypes.d.cts +15 -1
- package/lib/types/secrets/core/SecretTypes.d.mts +15 -1
- package/lib/types/secrets/fs/FsSecretEnvironment.d.cts +42 -0
- package/lib/types/secrets/fs/FsSecretEnvironment.d.mts +42 -0
- package/lib/types/secrets/fs/FsSecretService.d.cts +207 -0
- package/lib/types/secrets/fs/FsSecretService.d.mts +207 -0
- package/lib/types/secrets/fs/FsSecretServiceConfig.d.cts +37 -0
- package/lib/types/secrets/fs/FsSecretServiceConfig.d.mts +37 -0
- package/lib/types/secrets/fs/index.d.cts +9 -0
- package/lib/types/secrets/fs/index.d.mts +9 -0
- package/lib/types/secrets/index.d.cts +2 -0
- package/lib/types/secrets/index.d.mts +2 -0
- package/lib/types/secrets/model/ModelSecretService.d.cts +190 -1
- package/lib/types/secrets/model/ModelSecretService.d.mts +190 -1
- package/lib/types/secrets/model/Secret.d.cts +44 -3
- package/lib/types/secrets/model/Secret.d.mts +44 -3
- package/lib/types/shared/environmentValue.d.cts +24 -0
- package/lib/types/shared/environmentValue.d.mts +24 -0
- package/lib/types/shared/http/HttpApiService.d.cts +193 -0
- package/lib/types/shared/http/HttpApiService.d.mts +193 -0
- package/lib/types/shared/http/hermeticBoot.d.cts +84 -0
- package/lib/types/shared/http/hermeticBoot.d.mts +84 -0
- package/lib/types/shared/http/index.d.cts +10 -0
- package/lib/types/shared/http/index.d.mts +10 -0
- package/package.json +195 -34
- package/sql/002_rls.sql +660 -15
- package/sql/004_credentials.sql +46 -0
- package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs +0 -30
- package/lib/cjs/blob/ipfs/IpfsBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +0 -248
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +0 -27
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +0 -35
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +0 -45
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +0 -35
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/index.cjs +0 -29
- package/lib/cjs/blob/ipfs/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs +0 -39
- package/lib/cjs/graph/engine/catalog/GraphBuiltInRegistrations.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs +0 -29
- package/lib/cjs/graph/engine/catalog/GraphCatalogueErrors.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs +0 -270
- package/lib/cjs/graph/engine/catalog/GraphNodeCatalogue.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs +0 -169
- package/lib/cjs/graph/engine/catalog/GraphNodeManifestResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs +0 -64
- package/lib/cjs/graph/engine/catalog/GraphNodeMethodRegistry.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs +0 -17
- package/lib/cjs/graph/engine/catalog/GraphNodeRegistration.cjs.map +0 -1
- package/lib/cjs/graph/engine/catalog/index.cjs +0 -24
- package/lib/cjs/graph/engine/catalog/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/constants.cjs +0 -58
- package/lib/cjs/graph/engine/constants.cjs.map +0 -1
- package/lib/cjs/graph/engine/decorators.cjs +0 -4
- package/lib/cjs/graph/engine/decorators.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs +0 -37
- package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +0 -28
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs +0 -18
- package/lib/cjs/graph/engine/errors/GraphRunCancelledError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +0 -20
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/index.cjs +0 -33
- package/lib/cjs/graph/engine/errors/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +0 -40
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +0 -37
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +0 -4
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/index.cjs +0 -26
- package/lib/cjs/graph/engine/events/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +0 -4
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +0 -116
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +0 -854
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +0 -48
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +0 -30
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +0 -4
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +0 -481
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/index.cjs +0 -30
- package/lib/cjs/graph/engine/execution/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/index.cjs +0 -79
- package/lib/cjs/graph/engine/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +0 -87
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +0 -85
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +0 -16
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/index.cjs +0 -26
- package/lib/cjs/graph/engine/loops/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +0 -28
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +0 -20
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +0 -34
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +0 -220
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/index.cjs +0 -27
- package/lib/cjs/graph/engine/pinning/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +0 -4
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +0 -4
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +0 -4
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +0 -4
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +0 -188
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +0 -57
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/index.cjs +0 -29
- package/lib/cjs/graph/engine/planning/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +0 -57
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +0 -27
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/index.cjs +0 -25
- package/lib/cjs/graph/engine/registry/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs +0 -69
- package/lib/cjs/graph/engine/runs/GraphRunEventPublisher.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs +0 -291
- package/lib/cjs/graph/engine/runs/GraphRunExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs +0 -29
- package/lib/cjs/graph/engine/runs/GraphRunFingerprint.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/GraphRunService.cjs +0 -259
- package/lib/cjs/graph/engine/runs/GraphRunService.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs +0 -69
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunEventStore.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs +0 -26
- package/lib/cjs/graph/engine/runs/InMemoryGraphRunStore.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/index.cjs +0 -26
- package/lib/cjs/graph/engine/runs/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/ownership.cjs +0 -34
- package/lib/cjs/graph/engine/runs/ownership.cjs.map +0 -1
- package/lib/cjs/graph/engine/runs/types.cjs.map +0 -1
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +0 -53
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
- package/lib/cjs/graph/engine/snapshots/index.cjs +0 -24
- package/lib/cjs/graph/engine/snapshots/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +0 -4
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +0 -4
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +0 -76
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +0 -4
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +0 -69
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/index.cjs +0 -28
- package/lib/cjs/graph/engine/store/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/types.cjs +0 -4
- package/lib/cjs/graph/engine/types.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs +0 -142
- package/lib/cjs/graph/engine/validation/GraphConnectionPolicyValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs +0 -160
- package/lib/cjs/graph/engine/validation/GraphCredentialReferenceValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +0 -29
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs +0 -166
- package/lib/cjs/graph/engine/validation/GraphEdgeInstanceValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs +0 -36
- package/lib/cjs/graph/engine/validation/GraphLooseNodeValidation.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs +0 -86
- package/lib/cjs/graph/engine/validation/GraphNodeInstanceValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs +0 -456
- package/lib/cjs/graph/engine/validation/GraphParameterValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +0 -58
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs +0 -4
- package/lib/cjs/graph/engine/validation/GraphResolvedWorkflow.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs +0 -50
- package/lib/cjs/graph/engine/validation/GraphValidationErrors.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs +0 -4
- package/lib/cjs/graph/engine/validation/GraphValidationIssue.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +0 -52
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs +0 -509
- package/lib/cjs/graph/engine/validation/GraphWorkflowDocumentValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/index.cjs +0 -38
- package/lib/cjs/graph/engine/validation/index.cjs.map +0 -1
- package/lib/cjs/graph/index.cjs +0 -30
- package/lib/cjs/graph/index.cjs.map +0 -1
- package/lib/cjs/graph/log/GraphRunLogger.cjs +0 -145
- package/lib/cjs/graph/log/GraphRunLogger.cjs.map +0 -1
- package/lib/cjs/graph/log/LogParameters.cjs +0 -73
- package/lib/cjs/graph/log/LogParameters.cjs.map +0 -1
- package/lib/cjs/graph/nodes/agents/agent.cjs +0 -118
- package/lib/cjs/graph/nodes/agents/agent.cjs.map +0 -1
- package/lib/cjs/graph/nodes/base.cjs +0 -61
- package/lib/cjs/graph/nodes/base.cjs.map +0 -1
- package/lib/cjs/graph/nodes/boundary/input-value.cjs +0 -59
- package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/break.cjs +0 -71
- package/lib/cjs/graph/nodes/flow-control/break.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +0 -72
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +0 -80
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/if.cjs +0 -82
- package/lib/cjs/graph/nodes/flow-control/if.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs +0 -69
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/switch.cjs +0 -190
- package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +0 -1
- package/lib/cjs/graph/nodes/index.cjs +0 -162
- package/lib/cjs/graph/nodes/index.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/foreach.cjs +0 -189
- package/lib/cjs/graph/nodes/loops/foreach.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/loop-metadata.cjs +0 -48
- package/lib/cjs/graph/nodes/loops/loop-metadata.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/until.cjs +0 -136
- package/lib/cjs/graph/nodes/loops/until.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/while.cjs +0 -133
- package/lib/cjs/graph/nodes/loops/while.cjs.map +0 -1
- package/lib/cjs/graph/nodes/manifests.cjs +0 -342
- package/lib/cjs/graph/nodes/manifests.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/chat.cjs +0 -82
- package/lib/cjs/graph/nodes/triggers/chat.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/event.cjs +0 -63
- package/lib/cjs/graph/nodes/triggers/event.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/form.cjs +0 -64
- package/lib/cjs/graph/nodes/triggers/form.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/manual.cjs +0 -65
- package/lib/cjs/graph/nodes/triggers/manual.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/schedule.cjs +0 -65
- package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/webhook.cjs +0 -67
- package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/code.cjs +0 -139
- package/lib/cjs/graph/nodes/utility/code.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/delay.cjs +0 -66
- package/lib/cjs/graph/nodes/utility/delay.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/log.cjs +0 -70
- package/lib/cjs/graph/nodes/utility/log.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/map.cjs +0 -69
- package/lib/cjs/graph/nodes/utility/map.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/merge.cjs +0 -67
- package/lib/cjs/graph/nodes/utility/merge.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/return.cjs +0 -69
- package/lib/cjs/graph/nodes/utility/return.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/utility-log.cjs +0 -77
- package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +0 -266
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +0 -178
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +0 -75
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +0 -106
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs +0 -270
- package/lib/cjs/nest/graph/GraphNodeCatalogueController.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphResultService.cjs +0 -69
- package/lib/cjs/nest/graph/GraphResultService.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphRunController.cjs +0 -279
- package/lib/cjs/nest/graph/GraphRunController.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphRunModel.cjs +0 -83
- package/lib/cjs/nest/graph/GraphRunModel.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphRunModelService.cjs +0 -121
- package/lib/cjs/nest/graph/GraphRunModelService.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs +0 -171
- package/lib/cjs/nest/graph/GraphWorkflowBoundaryValidation.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowController.cjs +0 -162
- package/lib/cjs/nest/graph/GraphWorkflowController.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs +0 -12
- package/lib/cjs/nest/graph/GraphWorkflowDocumentLimits.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs +0 -23
- package/lib/cjs/nest/graph/GraphWorkflowErrors.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +0 -66
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +0 -253
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +0 -1
- package/lib/cjs/nest/graph/index.cjs +0 -33
- package/lib/cjs/nest/graph/index.cjs.map +0 -1
- package/lib/cjs/nest/graph/main.cjs +0 -47
- package/lib/cjs/nest/graph/main.cjs.map +0 -1
- package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js +0 -26
- package/lib/esm/blob/ipfs/IpfsBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +0 -240
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +0 -23
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +0 -30
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +0 -40
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +0 -30
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/index.js +0 -12
- package/lib/esm/blob/ipfs/index.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js +0 -34
- package/lib/esm/graph/engine/catalog/GraphBuiltInRegistrations.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js +0 -22
- package/lib/esm/graph/engine/catalog/GraphCatalogueErrors.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js +0 -265
- package/lib/esm/graph/engine/catalog/GraphNodeCatalogue.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js +0 -162
- package/lib/esm/graph/engine/catalog/GraphNodeManifestResolver.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js +0 -59
- package/lib/esm/graph/engine/catalog/GraphNodeMethodRegistry.js.map +0 -1
- package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js +0 -12
- package/lib/esm/graph/engine/catalog/GraphNodeRegistration.js.map +0 -1
- package/lib/esm/graph/engine/catalog/index.js +0 -7
- package/lib/esm/graph/engine/catalog/index.js.map +0 -1
- package/lib/esm/graph/engine/constants.js +0 -62
- package/lib/esm/graph/engine/constants.js.map +0 -1
- package/lib/esm/graph/engine/decorators.js +0 -2
- package/lib/esm/graph/engine/decorators.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphBreakSignal.js +0 -32
- package/lib/esm/graph/engine/errors/GraphBreakSignal.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphCycleError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphCycleError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +0 -23
- package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphInputError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphInputError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphPinningError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphPinningError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphPortError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphPortError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphRunCancelledError.js +0 -13
- package/lib/esm/graph/engine/errors/GraphRunCancelledError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphStoreError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphStoreError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +0 -15
- package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +0 -1
- package/lib/esm/graph/engine/errors/index.js +0 -16
- package/lib/esm/graph/engine/errors/index.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +0 -35
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +0 -32
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +0 -2
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +0 -1
- package/lib/esm/graph/engine/events/index.js +0 -9
- package/lib/esm/graph/engine/events/index.js.map +0 -1
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +0 -18
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +0 -111
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +0 -849
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +0 -43
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +0 -26
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +0 -2
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +0 -440
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/execution/index.js +0 -13
- package/lib/esm/graph/engine/execution/index.js.map +0 -1
- package/lib/esm/graph/engine/index.js +0 -62
- package/lib/esm/graph/engine/index.js.map +0 -1
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +0 -82
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +0 -80
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +0 -11
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +0 -1
- package/lib/esm/graph/engine/loops/index.js +0 -9
- package/lib/esm/graph/engine/loops/index.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +0 -23
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +0 -15
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +0 -29
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +0 -215
- package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +0 -1
- package/lib/esm/graph/engine/pinning/index.js +0 -10
- package/lib/esm/graph/engine/pinning/index.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +0 -2
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +0 -9
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +0 -2
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +0 -2
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +0 -183
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphTopology.js +0 -52
- package/lib/esm/graph/engine/planning/GraphTopology.js.map +0 -1
- package/lib/esm/graph/engine/planning/index.js +0 -12
- package/lib/esm/graph/engine/planning/index.js.map +0 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +0 -52
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +0 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +0 -22
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +0 -1
- package/lib/esm/graph/engine/registry/index.js +0 -8
- package/lib/esm/graph/engine/registry/index.js.map +0 -1
- package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js +0 -64
- package/lib/esm/graph/engine/runs/GraphRunEventPublisher.js.map +0 -1
- package/lib/esm/graph/engine/runs/GraphRunExecutor.js +0 -286
- package/lib/esm/graph/engine/runs/GraphRunExecutor.js.map +0 -1
- package/lib/esm/graph/engine/runs/GraphRunFingerprint.js +0 -25
- package/lib/esm/graph/engine/runs/GraphRunFingerprint.js.map +0 -1
- package/lib/esm/graph/engine/runs/GraphRunService.js +0 -254
- package/lib/esm/graph/engine/runs/GraphRunService.js.map +0 -1
- package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js +0 -64
- package/lib/esm/graph/engine/runs/InMemoryGraphRunEventStore.js.map +0 -1
- package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js +0 -21
- package/lib/esm/graph/engine/runs/InMemoryGraphRunStore.js.map +0 -1
- package/lib/esm/graph/engine/runs/index.js +0 -9
- package/lib/esm/graph/engine/runs/index.js.map +0 -1
- package/lib/esm/graph/engine/runs/ownership.js +0 -30
- package/lib/esm/graph/engine/runs/ownership.js.map +0 -1
- package/lib/esm/graph/engine/runs/types.js.map +0 -1
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +0 -48
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
- package/lib/esm/graph/engine/snapshots/index.js +0 -7
- package/lib/esm/graph/engine/snapshots/index.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphCachedValue.js +0 -2
- package/lib/esm/graph/engine/store/GraphCachedValue.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueKey.js +0 -7
- package/lib/esm/graph/engine/store/GraphValueKey.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueStore.js +0 -71
- package/lib/esm/graph/engine/store/GraphValueStore.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +0 -2
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +0 -64
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/engine/store/index.js +0 -11
- package/lib/esm/graph/engine/store/index.js.map +0 -1
- package/lib/esm/graph/engine/types.js +0 -2
- package/lib/esm/graph/engine/types.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js +0 -137
- package/lib/esm/graph/engine/validation/GraphConnectionPolicyValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js +0 -155
- package/lib/esm/graph/engine/validation/GraphCredentialReferenceValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +0 -24
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js +0 -161
- package/lib/esm/graph/engine/validation/GraphEdgeInstanceValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js +0 -32
- package/lib/esm/graph/engine/validation/GraphLooseNodeValidation.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js +0 -81
- package/lib/esm/graph/engine/validation/GraphNodeInstanceValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js +0 -449
- package/lib/esm/graph/engine/validation/GraphParameterValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +0 -53
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js +0 -2
- package/lib/esm/graph/engine/validation/GraphResolvedWorkflow.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphValidationErrors.js +0 -43
- package/lib/esm/graph/engine/validation/GraphValidationErrors.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphValidationIssue.js +0 -2
- package/lib/esm/graph/engine/validation/GraphValidationIssue.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +0 -47
- package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js +0 -503
- package/lib/esm/graph/engine/validation/GraphWorkflowDocumentValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/index.js +0 -21
- package/lib/esm/graph/engine/validation/index.js.map +0 -1
- package/lib/esm/graph/index.js +0 -13
- package/lib/esm/graph/index.js.map +0 -1
- package/lib/esm/graph/log/GraphRunLogger.js +0 -140
- package/lib/esm/graph/log/GraphRunLogger.js.map +0 -1
- package/lib/esm/graph/log/LogParameters.js +0 -69
- package/lib/esm/graph/log/LogParameters.js.map +0 -1
- package/lib/esm/graph/nodes/agents/agent.js +0 -109
- package/lib/esm/graph/nodes/agents/agent.js.map +0 -1
- package/lib/esm/graph/nodes/base.js +0 -56
- package/lib/esm/graph/nodes/base.js.map +0 -1
- package/lib/esm/graph/nodes/boundary/input-value.js +0 -50
- package/lib/esm/graph/nodes/boundary/input-value.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/break.js +0 -62
- package/lib/esm/graph/nodes/flow-control/break.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/error-boundary.js +0 -63
- package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/human-approval.js +0 -71
- package/lib/esm/graph/nodes/flow-control/human-approval.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/if.js +0 -73
- package/lib/esm/graph/nodes/flow-control/if.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/parallel.js +0 -60
- package/lib/esm/graph/nodes/flow-control/parallel.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/switch.js +0 -181
- package/lib/esm/graph/nodes/flow-control/switch.js.map +0 -1
- package/lib/esm/graph/nodes/index.js +0 -144
- package/lib/esm/graph/nodes/index.js.map +0 -1
- package/lib/esm/graph/nodes/loops/foreach.js +0 -180
- package/lib/esm/graph/nodes/loops/foreach.js.map +0 -1
- package/lib/esm/graph/nodes/loops/loop-metadata.js +0 -44
- package/lib/esm/graph/nodes/loops/loop-metadata.js.map +0 -1
- package/lib/esm/graph/nodes/loops/until.js +0 -127
- package/lib/esm/graph/nodes/loops/until.js.map +0 -1
- package/lib/esm/graph/nodes/loops/while.js +0 -124
- package/lib/esm/graph/nodes/loops/while.js.map +0 -1
- package/lib/esm/graph/nodes/manifests.js +0 -338
- package/lib/esm/graph/nodes/manifests.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/chat.js +0 -73
- package/lib/esm/graph/nodes/triggers/chat.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/event.js +0 -54
- package/lib/esm/graph/nodes/triggers/event.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/form.js +0 -55
- package/lib/esm/graph/nodes/triggers/form.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/manual.js +0 -56
- package/lib/esm/graph/nodes/triggers/manual.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/schedule.js +0 -56
- package/lib/esm/graph/nodes/triggers/schedule.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/webhook.js +0 -58
- package/lib/esm/graph/nodes/triggers/webhook.js.map +0 -1
- package/lib/esm/graph/nodes/utility/code.js +0 -130
- package/lib/esm/graph/nodes/utility/code.js.map +0 -1
- package/lib/esm/graph/nodes/utility/delay.js +0 -57
- package/lib/esm/graph/nodes/utility/delay.js.map +0 -1
- package/lib/esm/graph/nodes/utility/log.js +0 -61
- package/lib/esm/graph/nodes/utility/log.js.map +0 -1
- package/lib/esm/graph/nodes/utility/map.js +0 -60
- package/lib/esm/graph/nodes/utility/map.js.map +0 -1
- package/lib/esm/graph/nodes/utility/merge.js +0 -58
- package/lib/esm/graph/nodes/utility/merge.js.map +0 -1
- package/lib/esm/graph/nodes/utility/return.js +0 -60
- package/lib/esm/graph/nodes/utility/return.js.map +0 -1
- package/lib/esm/graph/nodes/utility/utility-log.js +0 -68
- package/lib/esm/graph/nodes/utility/utility-log.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionController.js +0 -257
- package/lib/esm/nest/graph/GraphExecutionController.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js +0 -137
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +0 -66
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +0 -99
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +0 -1
- package/lib/esm/nest/graph/GraphNodeCatalogueController.js +0 -261
- package/lib/esm/nest/graph/GraphNodeCatalogueController.js.map +0 -1
- package/lib/esm/nest/graph/GraphResultService.js +0 -60
- package/lib/esm/nest/graph/GraphResultService.js.map +0 -1
- package/lib/esm/nest/graph/GraphRunController.js +0 -270
- package/lib/esm/nest/graph/GraphRunController.js.map +0 -1
- package/lib/esm/nest/graph/GraphRunModel.js +0 -74
- package/lib/esm/nest/graph/GraphRunModel.js.map +0 -1
- package/lib/esm/nest/graph/GraphRunModelService.js +0 -112
- package/lib/esm/nest/graph/GraphRunModelService.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js +0 -166
- package/lib/esm/nest/graph/GraphWorkflowBoundaryValidation.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowController.js +0 -153
- package/lib/esm/nest/graph/GraphWorkflowController.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js +0 -8
- package/lib/esm/nest/graph/GraphWorkflowDocumentLimits.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowErrors.js +0 -18
- package/lib/esm/nest/graph/GraphWorkflowErrors.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowModel.js +0 -57
- package/lib/esm/nest/graph/GraphWorkflowModel.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js +0 -243
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +0 -1
- package/lib/esm/nest/graph/index.js +0 -16
- package/lib/esm/nest/graph/index.js.map +0 -1
- package/lib/esm/nest/graph/main.js +0 -44
- package/lib/esm/nest/graph/main.js.map +0 -1
- package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.cts +0 -24
- package/lib/types/blob/ipfs/IpfsBlobEnvironment.d.mts +0 -24
- package/lib/types/blob/ipfs/IpfsBlobStoreService.d.cts +0 -61
- package/lib/types/blob/ipfs/IpfsBlobStoreService.d.mts +0 -61
- package/lib/types/blob/ipfs/IpfsKeyIndex.d.cts +0 -9
- package/lib/types/blob/ipfs/IpfsKeyIndex.d.mts +0 -9
- package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.cts +0 -11
- package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.mts +0 -11
- package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.cts +0 -15
- package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.mts +0 -15
- package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.cts +0 -11
- package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.mts +0 -11
- package/lib/types/blob/ipfs/index.d.cts +0 -11
- package/lib/types/blob/ipfs/index.d.mts +0 -11
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.cts +0 -14
- package/lib/types/graph/engine/catalog/GraphBuiltInRegistrations.d.mts +0 -14
- package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.cts +0 -13
- package/lib/types/graph/engine/catalog/GraphCatalogueErrors.d.mts +0 -13
- package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.cts +0 -71
- package/lib/types/graph/engine/catalog/GraphNodeCatalogue.d.mts +0 -71
- package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.cts +0 -42
- package/lib/types/graph/engine/catalog/GraphNodeManifestResolver.d.mts +0 -42
- package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.cts +0 -22
- package/lib/types/graph/engine/catalog/GraphNodeMethodRegistry.d.mts +0 -22
- package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.cts +0 -68
- package/lib/types/graph/engine/catalog/GraphNodeRegistration.d.mts +0 -68
- package/lib/types/graph/engine/catalog/index.d.cts +0 -6
- package/lib/types/graph/engine/catalog/index.d.mts +0 -6
- package/lib/types/graph/engine/constants.d.cts +0 -59
- package/lib/types/graph/engine/constants.d.mts +0 -59
- package/lib/types/graph/engine/decorators.d.cts +0 -6
- package/lib/types/graph/engine/decorators.d.mts +0 -6
- package/lib/types/graph/engine/errors/GraphBreakSignal.d.cts +0 -28
- package/lib/types/graph/engine/errors/GraphBreakSignal.d.mts +0 -28
- package/lib/types/graph/engine/errors/GraphCycleError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphCycleError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphExecutionError.d.cts +0 -19
- package/lib/types/graph/engine/errors/GraphExecutionError.d.mts +0 -19
- package/lib/types/graph/engine/errors/GraphInputError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphInputError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphLoopLimitError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphLoopLimitError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphPinningError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphPinningError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphPortError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphPortError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphRunCancelledError.d.cts +0 -9
- package/lib/types/graph/engine/errors/GraphRunCancelledError.d.mts +0 -9
- package/lib/types/graph/engine/errors/GraphStoreError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphStoreError.d.mts +0 -12
- package/lib/types/graph/engine/errors/GraphTopologyError.d.cts +0 -12
- package/lib/types/graph/engine/errors/GraphTopologyError.d.mts +0 -12
- package/lib/types/graph/engine/errors/index.d.cts +0 -15
- package/lib/types/graph/engine/errors/index.d.mts +0 -15
- package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.cts +0 -26
- package/lib/types/graph/engine/events/GraphExecutionEventEmitter.d.mts +0 -26
- package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.cts +0 -25
- package/lib/types/graph/engine/events/GraphExecutionEventFactory.d.mts +0 -25
- package/lib/types/graph/engine/events/GraphExecutionObserver.d.cts +0 -17
- package/lib/types/graph/engine/events/GraphExecutionObserver.d.mts +0 -17
- package/lib/types/graph/engine/events/index.d.cts +0 -8
- package/lib/types/graph/engine/events/index.d.mts +0 -8
- package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.cts +0 -76
- package/lib/types/graph/engine/execution/CodeSandboxEvaluator.d.mts +0 -76
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.cts +0 -79
- package/lib/types/graph/engine/execution/GraphExecutionContext.d.mts +0 -79
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.cts +0 -278
- package/lib/types/graph/engine/execution/GraphExecutionEngine.d.mts +0 -278
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.cts +0 -42
- package/lib/types/graph/engine/execution/GraphExecutionFrame.d.mts +0 -42
- package/lib/types/graph/engine/execution/GraphExecutionResult.d.cts +0 -13
- package/lib/types/graph/engine/execution/GraphExecutionResult.d.mts +0 -13
- package/lib/types/graph/engine/execution/GraphNodeExecutor.d.cts +0 -31
- package/lib/types/graph/engine/execution/GraphNodeExecutor.d.mts +0 -31
- package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.cts +0 -63
- package/lib/types/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.d.mts +0 -63
- package/lib/types/graph/engine/execution/index.d.cts +0 -12
- package/lib/types/graph/engine/execution/index.d.mts +0 -12
- package/lib/types/graph/engine/index.d.cts +0 -56
- package/lib/types/graph/engine/index.d.mts +0 -56
- package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.cts +0 -36
- package/lib/types/graph/engine/loops/ConditionExpressionEvaluator.d.mts +0 -36
- package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.cts +0 -40
- package/lib/types/graph/engine/loops/GraphConditionEvaluator.d.mts +0 -40
- package/lib/types/graph/engine/loops/GraphLoopExecutionContext.d.cts +0 -15
- package/lib/types/graph/engine/loops/GraphLoopExecutionContext.d.mts +0 -15
- package/lib/types/graph/engine/loops/index.d.cts +0 -8
- package/lib/types/graph/engine/loops/index.d.mts +0 -8
- package/lib/types/graph/engine/pinning/GraphPinningDependencyResolver.d.cts +0 -21
- package/lib/types/graph/engine/pinning/GraphPinningDependencyResolver.d.mts +0 -21
- package/lib/types/graph/engine/pinning/GraphPinningMetadata.d.cts +0 -14
- package/lib/types/graph/engine/pinning/GraphPinningMetadata.d.mts +0 -14
- package/lib/types/graph/engine/pinning/GraphPinningPolicy.d.cts +0 -20
- package/lib/types/graph/engine/pinning/GraphPinningPolicy.d.mts +0 -20
- package/lib/types/graph/engine/pinning/GraphPinningService.d.cts +0 -70
- package/lib/types/graph/engine/pinning/GraphPinningService.d.mts +0 -70
- package/lib/types/graph/engine/pinning/index.d.cts +0 -9
- package/lib/types/graph/engine/pinning/index.d.mts +0 -9
- package/lib/types/graph/engine/planning/GraphExecutionPlan.d.cts +0 -25
- package/lib/types/graph/engine/planning/GraphExecutionPlan.d.mts +0 -25
- package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.cts +0 -26
- package/lib/types/graph/engine/planning/GraphExecutionPlanEdge.d.mts +0 -26
- package/lib/types/graph/engine/planning/GraphExecutionPlanLayer.d.cts +0 -13
- package/lib/types/graph/engine/planning/GraphExecutionPlanLayer.d.mts +0 -13
- package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.cts +0 -28
- package/lib/types/graph/engine/planning/GraphExecutionPlanNode.d.mts +0 -28
- package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.cts +0 -48
- package/lib/types/graph/engine/planning/GraphExecutionPlanner.d.mts +0 -48
- package/lib/types/graph/engine/planning/GraphTopology.d.cts +0 -23
- package/lib/types/graph/engine/planning/GraphTopology.d.mts +0 -23
- package/lib/types/graph/engine/planning/index.d.cts +0 -11
- package/lib/types/graph/engine/planning/index.d.mts +0 -11
- package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.cts +0 -39
- package/lib/types/graph/engine/registry/GraphNodeExecutorRegistry.d.mts +0 -39
- package/lib/types/graph/engine/registry/GraphNodeExecutorResolver.d.cts +0 -21
- package/lib/types/graph/engine/registry/GraphNodeExecutorResolver.d.mts +0 -21
- package/lib/types/graph/engine/registry/index.d.cts +0 -7
- package/lib/types/graph/engine/registry/index.d.mts +0 -7
- package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.cts +0 -26
- package/lib/types/graph/engine/runs/GraphRunEventPublisher.d.mts +0 -26
- package/lib/types/graph/engine/runs/GraphRunExecutor.d.cts +0 -75
- package/lib/types/graph/engine/runs/GraphRunExecutor.d.mts +0 -75
- package/lib/types/graph/engine/runs/GraphRunFingerprint.d.cts +0 -8
- package/lib/types/graph/engine/runs/GraphRunFingerprint.d.mts +0 -8
- package/lib/types/graph/engine/runs/GraphRunService.d.cts +0 -93
- package/lib/types/graph/engine/runs/GraphRunService.d.mts +0 -93
- package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.cts +0 -28
- package/lib/types/graph/engine/runs/InMemoryGraphRunEventStore.d.mts +0 -28
- package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.cts +0 -12
- package/lib/types/graph/engine/runs/InMemoryGraphRunStore.d.mts +0 -12
- package/lib/types/graph/engine/runs/index.d.cts +0 -8
- package/lib/types/graph/engine/runs/index.d.mts +0 -8
- package/lib/types/graph/engine/runs/ownership.d.cts +0 -25
- package/lib/types/graph/engine/runs/ownership.d.mts +0 -25
- package/lib/types/graph/engine/runs/types.d.cts +0 -83
- package/lib/types/graph/engine/runs/types.d.mts +0 -83
- package/lib/types/graph/engine/snapshots/GraphExecutionSnapshotMapper.d.cts +0 -10
- package/lib/types/graph/engine/snapshots/GraphExecutionSnapshotMapper.d.mts +0 -10
- package/lib/types/graph/engine/snapshots/index.d.cts +0 -6
- package/lib/types/graph/engine/snapshots/index.d.mts +0 -6
- package/lib/types/graph/engine/store/GraphCachedValue.d.cts +0 -20
- package/lib/types/graph/engine/store/GraphCachedValue.d.mts +0 -20
- package/lib/types/graph/engine/store/GraphValueKey.d.cts +0 -18
- package/lib/types/graph/engine/store/GraphValueKey.d.mts +0 -18
- package/lib/types/graph/engine/store/GraphValueStore.d.cts +0 -41
- package/lib/types/graph/engine/store/GraphValueStore.d.mts +0 -41
- package/lib/types/graph/engine/store/GraphValueStoreAdapter.d.cts +0 -32
- package/lib/types/graph/engine/store/GraphValueStoreAdapter.d.mts +0 -32
- package/lib/types/graph/engine/store/InMemoryGraphValueStoreAdapter.d.cts +0 -33
- package/lib/types/graph/engine/store/InMemoryGraphValueStoreAdapter.d.mts +0 -33
- package/lib/types/graph/engine/store/index.d.cts +0 -10
- package/lib/types/graph/engine/store/index.d.mts +0 -10
- package/lib/types/graph/engine/types.d.cts +0 -208
- package/lib/types/graph/engine/types.d.mts +0 -208
- package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.cts +0 -32
- package/lib/types/graph/engine/validation/GraphConnectionPolicyValidator.d.mts +0 -32
- package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.cts +0 -62
- package/lib/types/graph/engine/validation/GraphCredentialReferenceValidator.d.mts +0 -62
- package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.cts +0 -23
- package/lib/types/graph/engine/validation/GraphDefinitionValidator.d.mts +0 -23
- package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.cts +0 -32
- package/lib/types/graph/engine/validation/GraphEdgeInstanceValidator.d.mts +0 -32
- package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.cts +0 -21
- package/lib/types/graph/engine/validation/GraphLooseNodeValidation.d.mts +0 -21
- package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.cts +0 -37
- package/lib/types/graph/engine/validation/GraphNodeInstanceValidator.d.mts +0 -37
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.cts +0 -116
- package/lib/types/graph/engine/validation/GraphParameterValidator.d.mts +0 -116
- package/lib/types/graph/engine/validation/GraphPortSchemaResolver.d.cts +0 -39
- package/lib/types/graph/engine/validation/GraphPortSchemaResolver.d.mts +0 -39
- package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.cts +0 -66
- package/lib/types/graph/engine/validation/GraphResolvedWorkflow.d.mts +0 -66
- package/lib/types/graph/engine/validation/GraphValidationErrors.d.cts +0 -34
- package/lib/types/graph/engine/validation/GraphValidationErrors.d.mts +0 -34
- package/lib/types/graph/engine/validation/GraphValidationIssue.d.cts +0 -39
- package/lib/types/graph/engine/validation/GraphValidationIssue.d.mts +0 -39
- package/lib/types/graph/engine/validation/GraphValueValidator.d.cts +0 -27
- package/lib/types/graph/engine/validation/GraphValueValidator.d.mts +0 -27
- package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.cts +0 -162
- package/lib/types/graph/engine/validation/GraphWorkflowDocumentValidator.d.mts +0 -162
- package/lib/types/graph/engine/validation/index.d.cts +0 -20
- package/lib/types/graph/engine/validation/index.d.mts +0 -20
- package/lib/types/graph/index.d.cts +0 -12
- package/lib/types/graph/index.d.mts +0 -12
- package/lib/types/graph/log/GraphRunLogger.d.cts +0 -76
- package/lib/types/graph/log/GraphRunLogger.d.mts +0 -76
- package/lib/types/graph/log/LogParameters.d.cts +0 -7
- package/lib/types/graph/log/LogParameters.d.mts +0 -7
- package/lib/types/graph/nodes/agents/agent.d.cts +0 -31
- package/lib/types/graph/nodes/agents/agent.d.mts +0 -31
- package/lib/types/graph/nodes/base.d.cts +0 -58
- package/lib/types/graph/nodes/base.d.mts +0 -58
- package/lib/types/graph/nodes/boundary/input-value.d.cts +0 -6
- package/lib/types/graph/nodes/boundary/input-value.d.mts +0 -6
- package/lib/types/graph/nodes/flow-control/break.d.cts +0 -8
- package/lib/types/graph/nodes/flow-control/break.d.mts +0 -8
- package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +0 -8
- package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +0 -8
- package/lib/types/graph/nodes/flow-control/human-approval.d.cts +0 -8
- package/lib/types/graph/nodes/flow-control/human-approval.d.mts +0 -8
- package/lib/types/graph/nodes/flow-control/if.d.cts +0 -8
- package/lib/types/graph/nodes/flow-control/if.d.mts +0 -8
- package/lib/types/graph/nodes/flow-control/parallel.d.cts +0 -7
- package/lib/types/graph/nodes/flow-control/parallel.d.mts +0 -7
- package/lib/types/graph/nodes/flow-control/switch.d.cts +0 -23
- package/lib/types/graph/nodes/flow-control/switch.d.mts +0 -23
- package/lib/types/graph/nodes/index.d.cts +0 -93
- package/lib/types/graph/nodes/index.d.mts +0 -93
- package/lib/types/graph/nodes/loops/foreach.d.cts +0 -11
- package/lib/types/graph/nodes/loops/foreach.d.mts +0 -11
- package/lib/types/graph/nodes/loops/loop-metadata.d.cts +0 -20
- package/lib/types/graph/nodes/loops/loop-metadata.d.mts +0 -20
- package/lib/types/graph/nodes/loops/until.d.cts +0 -8
- package/lib/types/graph/nodes/loops/until.d.mts +0 -8
- package/lib/types/graph/nodes/loops/while.d.cts +0 -8
- package/lib/types/graph/nodes/loops/while.d.mts +0 -8
- package/lib/types/graph/nodes/manifests.d.cts +0 -62
- package/lib/types/graph/nodes/manifests.d.mts +0 -62
- package/lib/types/graph/nodes/triggers/chat.d.cts +0 -8
- package/lib/types/graph/nodes/triggers/chat.d.mts +0 -8
- package/lib/types/graph/nodes/triggers/event.d.cts +0 -6
- package/lib/types/graph/nodes/triggers/event.d.mts +0 -6
- package/lib/types/graph/nodes/triggers/form.d.cts +0 -6
- package/lib/types/graph/nodes/triggers/form.d.mts +0 -6
- package/lib/types/graph/nodes/triggers/manual.d.cts +0 -6
- package/lib/types/graph/nodes/triggers/manual.d.mts +0 -6
- package/lib/types/graph/nodes/triggers/schedule.d.cts +0 -6
- package/lib/types/graph/nodes/triggers/schedule.d.mts +0 -6
- package/lib/types/graph/nodes/triggers/webhook.d.cts +0 -6
- package/lib/types/graph/nodes/triggers/webhook.d.mts +0 -6
- package/lib/types/graph/nodes/utility/code.d.cts +0 -36
- package/lib/types/graph/nodes/utility/code.d.mts +0 -36
- package/lib/types/graph/nodes/utility/delay.d.cts +0 -7
- package/lib/types/graph/nodes/utility/delay.d.mts +0 -7
- package/lib/types/graph/nodes/utility/log.d.cts +0 -8
- package/lib/types/graph/nodes/utility/log.d.mts +0 -8
- package/lib/types/graph/nodes/utility/map.d.cts +0 -7
- package/lib/types/graph/nodes/utility/map.d.mts +0 -7
- package/lib/types/graph/nodes/utility/merge.d.cts +0 -7
- package/lib/types/graph/nodes/utility/merge.d.mts +0 -7
- package/lib/types/graph/nodes/utility/return.d.cts +0 -7
- package/lib/types/graph/nodes/utility/return.d.mts +0 -7
- package/lib/types/graph/nodes/utility/utility-log.d.cts +0 -10
- package/lib/types/graph/nodes/utility/utility-log.d.mts +0 -10
- package/lib/types/nest/graph/GraphExecutionController.d.cts +0 -110
- package/lib/types/nest/graph/GraphExecutionController.d.mts +0 -110
- package/lib/types/nest/graph/GraphExecutionModule.d.cts +0 -83
- package/lib/types/nest/graph/GraphExecutionModule.d.mts +0 -83
- package/lib/types/nest/graph/GraphExecutionResultModel.d.cts +0 -24
- package/lib/types/nest/graph/GraphExecutionResultModel.d.mts +0 -24
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.cts +0 -68
- package/lib/types/nest/graph/GraphExecutorRegistryFactory.d.mts +0 -68
- package/lib/types/nest/graph/GraphNodeCatalogueController.d.cts +0 -70
- package/lib/types/nest/graph/GraphNodeCatalogueController.d.mts +0 -70
- package/lib/types/nest/graph/GraphResultService.d.cts +0 -20
- package/lib/types/nest/graph/GraphResultService.d.mts +0 -20
- package/lib/types/nest/graph/GraphRunController.d.cts +0 -87
- package/lib/types/nest/graph/GraphRunController.d.mts +0 -87
- package/lib/types/nest/graph/GraphRunModel.d.cts +0 -22
- package/lib/types/nest/graph/GraphRunModel.d.mts +0 -22
- package/lib/types/nest/graph/GraphRunModelService.d.cts +0 -21
- package/lib/types/nest/graph/GraphRunModelService.d.mts +0 -21
- package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.cts +0 -28
- package/lib/types/nest/graph/GraphWorkflowBoundaryValidation.d.mts +0 -28
- package/lib/types/nest/graph/GraphWorkflowController.d.cts +0 -62
- package/lib/types/nest/graph/GraphWorkflowController.d.mts +0 -62
- package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.cts +0 -33
- package/lib/types/nest/graph/GraphWorkflowDocumentLimits.d.mts +0 -33
- package/lib/types/nest/graph/GraphWorkflowErrors.d.cts +0 -13
- package/lib/types/nest/graph/GraphWorkflowErrors.d.mts +0 -13
- package/lib/types/nest/graph/GraphWorkflowModel.d.cts +0 -24
- package/lib/types/nest/graph/GraphWorkflowModel.d.mts +0 -24
- package/lib/types/nest/graph/GraphWorkflowService.d.cts +0 -54
- package/lib/types/nest/graph/GraphWorkflowService.d.mts +0 -54
- package/lib/types/nest/graph/index.d.cts +0 -15
- package/lib/types/nest/graph/index.d.mts +0 -15
- package/lib/types/nest/graph/main.d.cts +0 -1
- package/lib/types/nest/graph/main.d.mts +0 -1
- /package/lib/cjs/{graph/engine/runs → redis}/types.cjs +0 -0
- /package/lib/esm/{graph/engine/runs → redis}/types.js +0 -0
|
@@ -0,0 +1,710 @@
|
|
|
1
|
+
import "reflect-metadata";
|
|
2
|
+
import { Adapter, ConnectionError, PersistenceKeys, Sequence, } from "@decaf-ts/core";
|
|
3
|
+
import { createClient } from "redis";
|
|
4
|
+
import { QueryError } from "@decaf-ts/core";
|
|
5
|
+
import { BaseError, ConflictError, DBKeys, generated, InternalError, NotFoundError, onCreate, onCreateUpdate, } from "@decaf-ts/db-decorators";
|
|
6
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
7
|
+
import { Decoration, Metadata, propMetadata, } from "@decaf-ts/decoration";
|
|
8
|
+
import { RedisDefaultPrefix, RedisFlavour } from "./constants.js";
|
|
9
|
+
import { RedisStatement } from "./RedisStatement.js";
|
|
10
|
+
import { RedisPaginator } from "./RedisPaginator.js";
|
|
11
|
+
import { RedisDispatch } from "./RedisDispatch.js";
|
|
12
|
+
import { RedisContextLock } from "./RedisContextLock.js";
|
|
13
|
+
import { createdByOnRedisCreateUpdate } from "./handlers.js";
|
|
14
|
+
import { deserialize, serialize } from "./serialization.js";
|
|
15
|
+
/**
|
|
16
|
+
* @description Redis adapter for data persistence
|
|
17
|
+
* @summary The RedisAdapter implements the persistence layer on top of Redis
|
|
18
|
+
* (or any Redis-compatible server such as DragonflyDB). Each model table is
|
|
19
|
+
* stored as a single Redis hash whose fields are record ids and whose values are
|
|
20
|
+
* serialized records. The adapter is modelled on the core RAM adapter: raw queries
|
|
21
|
+
* load the matching table, revert every record to a model and then apply the same
|
|
22
|
+
* filtering, sorting, aggregation and pagination logic in JavaScript.
|
|
23
|
+
* `@transactional()` is backed by {@link RedisContextLock}, which buffers writes
|
|
24
|
+
* on a dedicated connection and flushes them atomically with `MULTI`/`EXEC`.
|
|
25
|
+
* @class RedisAdapter
|
|
26
|
+
* @category Redis
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const adapter = new RedisAdapter({ url: "redis://localhost:6379" });
|
|
30
|
+
* await adapter.initialize();
|
|
31
|
+
* const repo = new (adapter.repository<User>())(User, adapter);
|
|
32
|
+
* await repo.create(new User({ name: "John" }));
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export class RedisAdapter extends Adapter {
|
|
36
|
+
constructor(conf = {}, alias) {
|
|
37
|
+
super(conf, RedisFlavour, alias);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @description Creates operation flags with a user identity
|
|
41
|
+
* @summary Extends the base flags with a `UUID` used by the `createdBy` and
|
|
42
|
+
* `updatedBy` handlers. Defaults to the configured `user` or the current time.
|
|
43
|
+
* @template M - The model type for the operation
|
|
44
|
+
* @param {OperationKeys} operation - The operation being performed
|
|
45
|
+
* @param {Constructor<M>} model - The model constructor
|
|
46
|
+
* @param {Partial<RedisFlags>} flags - Partial flags to extend
|
|
47
|
+
* @return {Promise<RedisFlags>} The complete flags with a UUID
|
|
48
|
+
*/
|
|
49
|
+
async flags(operation, model, flags) {
|
|
50
|
+
return Object.assign(await super.flags(operation, model, Object.assign({
|
|
51
|
+
UUID: flags.UUID || this.config.user || "" + Date.now(),
|
|
52
|
+
}, flags)));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @description Creates the Redis event dispatcher
|
|
56
|
+
* @return {RedisDispatch} A Redis-aware dispatch instance
|
|
57
|
+
*/
|
|
58
|
+
Dispatch() {
|
|
59
|
+
return new RedisDispatch();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @description Provides the Redis transaction lock implementation
|
|
63
|
+
* @summary Returns a fresh {@link RedisContextLock} per top-level transaction
|
|
64
|
+
* so `@transactional()` can buffer writes on a dedicated connection.
|
|
65
|
+
* @param {...any[]} args - Optional arguments forwarded to the lock
|
|
66
|
+
* @return {RedisContextLock} A fresh Redis transaction lock
|
|
67
|
+
*/
|
|
68
|
+
transactionLock(...args) {
|
|
69
|
+
return new RedisContextLock(this, ...args);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* @description Initializes the adapter and opens the Redis connection
|
|
73
|
+
* @param {...MaybeContextualArg} args - Initialization arguments
|
|
74
|
+
* @return {Promise<void>} A promise that resolves once initialization is complete
|
|
75
|
+
*/
|
|
76
|
+
async initialize(...args) {
|
|
77
|
+
const { log } = (await this.logCtx(args, PersistenceKeys.INITIALIZATION, true)).for(this.initialize);
|
|
78
|
+
const client = this.client;
|
|
79
|
+
try {
|
|
80
|
+
if (!client.isOpen)
|
|
81
|
+
await client.connect();
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
throw this.parseError(e);
|
|
85
|
+
}
|
|
86
|
+
this._redisClient = client;
|
|
87
|
+
await super.initialize(...args);
|
|
88
|
+
log.verbose(`${this.toString()} initialized`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @description Shuts down the adapter and closes the Redis connection
|
|
92
|
+
* @param {...MaybeContextualArg} args - Shutdown arguments
|
|
93
|
+
* @return {Promise<void>} A promise that resolves once shutdown is complete
|
|
94
|
+
*/
|
|
95
|
+
async shutdown(...args) {
|
|
96
|
+
await super.shutdown(...args);
|
|
97
|
+
const client = this._redisClient ?? this._client;
|
|
98
|
+
this._redisClient = undefined;
|
|
99
|
+
this._client = undefined;
|
|
100
|
+
if (!client)
|
|
101
|
+
return;
|
|
102
|
+
try {
|
|
103
|
+
await client.quit();
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
try {
|
|
107
|
+
client.destroy();
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// the connection is already closed; nothing left to release
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* @description Builds the namespaced Redis key for a table
|
|
116
|
+
* @param {string} table - The table (model) name
|
|
117
|
+
* @return {string} The namespaced Redis hash key
|
|
118
|
+
*/
|
|
119
|
+
recordKey(table) {
|
|
120
|
+
return `${this.config.prefix ?? RedisDefaultPrefix}:${table}`;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* @description Resolves the active transaction lock from a context, when present
|
|
124
|
+
* @summary Returns the {@link RedisContextLock} only while a transaction is
|
|
125
|
+
* actually open, so CRUD operations buffer their writes during a transaction and
|
|
126
|
+
* go straight to Redis otherwise.
|
|
127
|
+
* @param {RedisContext} [ctx] - The operation context
|
|
128
|
+
* @return {RedisContextLock | undefined} The active lock, when one exists
|
|
129
|
+
*/
|
|
130
|
+
activeLock(ctx) {
|
|
131
|
+
const lock = ctx?.getOrUndefined("transactionLock");
|
|
132
|
+
return lock instanceof RedisContextLock && lock.active ? lock : undefined;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @description Prepares a model for storage
|
|
136
|
+
* @summary Delegates to the base implementation, which extracts the primary
|
|
137
|
+
* key from the record before it is handed to {@link create}.
|
|
138
|
+
* @template M - The model type being prepared
|
|
139
|
+
* @param {M} model - The model instance to prepare
|
|
140
|
+
* @return Object containing the record, id and transient data
|
|
141
|
+
*/
|
|
142
|
+
prepare(model, ...args) {
|
|
143
|
+
const ctx = args.pop();
|
|
144
|
+
return super.prepare(model, ...args, ctx);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* @description Converts a stored record back to a model instance
|
|
148
|
+
* @summary Delegates to the base implementation, reattaching the primary key
|
|
149
|
+
* extracted from the record's Redis hash field.
|
|
150
|
+
* @template M - The model type to revert to
|
|
151
|
+
* @param {Record<string, any>} obj - The stored record
|
|
152
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
153
|
+
* @param {PrimaryKeyType} id - The primary key value
|
|
154
|
+
* @return {M} The reconstructed model instance
|
|
155
|
+
*/
|
|
156
|
+
revert(obj, clazz, id, transient, ...args) {
|
|
157
|
+
return super.revert(obj, clazz, id, transient, ...args);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* @description Creates a new record in Redis
|
|
161
|
+
* @summary Writes the serialized record to the table hash. Inside a
|
|
162
|
+
* transaction the write is buffered (read-your-writes) instead of hitting
|
|
163
|
+
* Redis; otherwise `HSETNX` guarantees the record does not already exist.
|
|
164
|
+
* @template M - The model type
|
|
165
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
166
|
+
* @param {PrimaryKeyType} id - The unique record identifier
|
|
167
|
+
* @param {Record<string, any>} model - The record to store
|
|
168
|
+
* @return {Promise<Record<string, any>>} The stored record
|
|
169
|
+
*/
|
|
170
|
+
async create(clazz, id, model, ...args) {
|
|
171
|
+
const { log, ctx } = this.logCtx(args, this.create);
|
|
172
|
+
const table = Model.tableName(clazz);
|
|
173
|
+
log.debug(`creating record in table ${table} with id ${id}`);
|
|
174
|
+
const field = String(id);
|
|
175
|
+
const key = this.recordKey(table);
|
|
176
|
+
const lock = this.activeLock(ctx);
|
|
177
|
+
const serialized = serialize(model);
|
|
178
|
+
if (lock) {
|
|
179
|
+
const buffered = lock.getRecord(table, field);
|
|
180
|
+
const exists = buffered.found && buffered.value !== null
|
|
181
|
+
? true
|
|
182
|
+
: await this.client.hExists(key, field);
|
|
183
|
+
if (exists)
|
|
184
|
+
throw new ConflictError(`Record with id ${id} already exists in table ${table}`);
|
|
185
|
+
lock.setRecord(table, field, serialized);
|
|
186
|
+
return model;
|
|
187
|
+
}
|
|
188
|
+
const created = await this.client.hSetNX(key, field, serialized);
|
|
189
|
+
if (created === 0)
|
|
190
|
+
throw new ConflictError(`Record with id ${id} already exists in table ${table}`);
|
|
191
|
+
return model;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* @description Reads a record from Redis
|
|
195
|
+
* @summary Reads the record from the table hash. Inside a transaction the
|
|
196
|
+
* buffered value wins (read-your-writes); a buffered delete is treated as a
|
|
197
|
+
* missing record.
|
|
198
|
+
* @template M - The model type
|
|
199
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
200
|
+
* @param {PrimaryKeyType} id - The unique record identifier
|
|
201
|
+
* @return {Promise<Record<string, any>>} The stored record
|
|
202
|
+
*/
|
|
203
|
+
async read(clazz, id, ...args) {
|
|
204
|
+
const { log, ctx } = this.logCtx(args, this.read);
|
|
205
|
+
const table = Model.tableName(clazz);
|
|
206
|
+
log.debug(`reading record in table ${table} with id ${id}`);
|
|
207
|
+
const field = String(id);
|
|
208
|
+
const lock = this.activeLock(ctx);
|
|
209
|
+
if (lock) {
|
|
210
|
+
const buffered = lock.getRecord(table, field);
|
|
211
|
+
if (buffered.found) {
|
|
212
|
+
if (buffered.value === null)
|
|
213
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
214
|
+
return deserialize(buffered.value);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
const raw = await this.client.hGet(this.recordKey(table), field);
|
|
218
|
+
if (raw === null || raw === undefined)
|
|
219
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
220
|
+
return deserialize(raw);
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* @description Updates an existing record in Redis
|
|
224
|
+
* @summary Inside a transaction the write is buffered; otherwise the record
|
|
225
|
+
* is overwritten in place. A missing record raises a `NotFoundError`.
|
|
226
|
+
* @template M - The model type
|
|
227
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
228
|
+
* @param {PrimaryKeyType} id - The unique record identifier
|
|
229
|
+
* @param {Record<string, any>} model - The new record data
|
|
230
|
+
* @return {Promise<Record<string, any>>} The updated record
|
|
231
|
+
*/
|
|
232
|
+
async update(clazz, id, model, ...args) {
|
|
233
|
+
const { log, ctx } = this.logCtx(args, this.update);
|
|
234
|
+
const table = Model.tableName(clazz);
|
|
235
|
+
log.debug(`updating record in table ${table} with id ${id}`);
|
|
236
|
+
const field = String(id);
|
|
237
|
+
const key = this.recordKey(table);
|
|
238
|
+
const lock = this.activeLock(ctx);
|
|
239
|
+
const serialized = serialize(model);
|
|
240
|
+
if (lock) {
|
|
241
|
+
const buffered = lock.getRecord(table, field);
|
|
242
|
+
const deleted = buffered.found && buffered.value === null;
|
|
243
|
+
const exists = deleted || buffered.found
|
|
244
|
+
? !deleted
|
|
245
|
+
: await this.client.hExists(key, field);
|
|
246
|
+
if (!exists)
|
|
247
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
248
|
+
lock.setRecord(table, field, serialized);
|
|
249
|
+
return model;
|
|
250
|
+
}
|
|
251
|
+
const exists = await this.client.hExists(key, field);
|
|
252
|
+
if (!exists)
|
|
253
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
254
|
+
await this.client.hSet(key, field, serialized);
|
|
255
|
+
return model;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* @description Deletes a record from Redis
|
|
259
|
+
* @summary Inside a transaction the delete is buffered; otherwise the field
|
|
260
|
+
* is removed from the table hash immediately. A missing record raises a
|
|
261
|
+
* `NotFoundError`.
|
|
262
|
+
* @template M - The model type
|
|
263
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
264
|
+
* @param {PrimaryKeyType} id - The unique record identifier
|
|
265
|
+
* @return {Promise<Record<string, any>>} The deleted record
|
|
266
|
+
*/
|
|
267
|
+
async delete(clazz, id, ...args) {
|
|
268
|
+
const { log, ctx } = this.logCtx(args, this.delete);
|
|
269
|
+
const table = Model.tableName(clazz);
|
|
270
|
+
log.debug(`deleting record from table ${table} with id ${id}`);
|
|
271
|
+
const field = String(id);
|
|
272
|
+
const key = this.recordKey(table);
|
|
273
|
+
const lock = this.activeLock(ctx);
|
|
274
|
+
if (lock) {
|
|
275
|
+
const buffered = lock.getRecord(table, field);
|
|
276
|
+
const raw = buffered.found
|
|
277
|
+
? buffered.value
|
|
278
|
+
: await this.client.hGet(key, field);
|
|
279
|
+
if (raw === null || raw === undefined)
|
|
280
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
281
|
+
lock.deleteRecord(table, field);
|
|
282
|
+
return deserialize(raw);
|
|
283
|
+
}
|
|
284
|
+
const raw = await this.client.hGet(key, field);
|
|
285
|
+
if (raw === null || raw === undefined)
|
|
286
|
+
throw new NotFoundError(`Record with id ${id} not found in table ${table}`);
|
|
287
|
+
await this.client.hDel(key, field);
|
|
288
|
+
return deserialize(raw);
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* @description Loads every record of a table, applying buffered writes
|
|
292
|
+
* @summary Reads the table hash and merges the transaction buffer on top so a
|
|
293
|
+
* query inside a transaction observes the transaction's own writes.
|
|
294
|
+
* @param {string} table - The table (model) name
|
|
295
|
+
* @param {RedisContext} [ctx] - The operation context
|
|
296
|
+
* @return {Promise<[string, string][]>} The record id/serialized pairs
|
|
297
|
+
*/
|
|
298
|
+
async loadTable(table, ctx) {
|
|
299
|
+
const raw = await this.client.hGetAll(this.recordKey(table));
|
|
300
|
+
const merged = new Map(Object.entries(raw));
|
|
301
|
+
const lock = this.activeLock(ctx);
|
|
302
|
+
if (lock) {
|
|
303
|
+
const buffered = lock.tableEntries(table);
|
|
304
|
+
if (buffered) {
|
|
305
|
+
for (const [id, value] of buffered) {
|
|
306
|
+
if (value === null)
|
|
307
|
+
merged.delete(id);
|
|
308
|
+
else
|
|
309
|
+
merged.set(id, value);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return [...merged.entries()];
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* @description Executes a raw query against Redis
|
|
317
|
+
* @summary Loads the matching table, reverts every record to a model and
|
|
318
|
+
* applies the in-memory filtering, sorting, aggregation and pagination logic.
|
|
319
|
+
* This mirrors the core RAM adapter, since Redis hashes are not queryable.
|
|
320
|
+
* @template R - The query return type
|
|
321
|
+
* @template D - Whether only documents are returned
|
|
322
|
+
* @param {RawRedisQuery<any>} rawInput - The query specification
|
|
323
|
+
* @param {D} docsOnly - Whether to return only documents (default true)
|
|
324
|
+
* @return {Promise<RawResult<R, D>>} The query result
|
|
325
|
+
*/
|
|
326
|
+
async raw(rawInput, docsOnly = true, ...args) {
|
|
327
|
+
const { log, ctx } = this.logCtx(args, this.raw);
|
|
328
|
+
log.debug(`performing raw query: ${JSON.stringify(rawInput)}`);
|
|
329
|
+
const { where, sort, limit, skip, from, groupBy, count: countField, countDistinct: countDistinctField, min: minField, max: maxField, sum: sumField, avg: avgField, distinct: distinctField, } = rawInput;
|
|
330
|
+
let { select } = rawInput;
|
|
331
|
+
const table = Model.tableName(from);
|
|
332
|
+
const entries = await this.loadTable(table, ctx);
|
|
333
|
+
const clazz = from;
|
|
334
|
+
const id = Model.pk(from);
|
|
335
|
+
const props = Metadata.get(from, Metadata.key(DBKeys.ID, id));
|
|
336
|
+
let result = entries.map(([pk, r]) => this.revert(deserialize(r), from, Sequence.parseValue(props.type, pk), undefined, ctx));
|
|
337
|
+
if (sort)
|
|
338
|
+
result = result.sort(sort);
|
|
339
|
+
result = where ? result.filter(where) : result;
|
|
340
|
+
if ("count" in rawInput) {
|
|
341
|
+
if (!countField)
|
|
342
|
+
return result.length;
|
|
343
|
+
const count = result.filter((r) => r[countField] !== undefined &&
|
|
344
|
+
r[countField] !== null).length;
|
|
345
|
+
return count;
|
|
346
|
+
}
|
|
347
|
+
if (countDistinctField !== undefined) {
|
|
348
|
+
const seen = new Set();
|
|
349
|
+
for (const item of result) {
|
|
350
|
+
const value = item[countDistinctField];
|
|
351
|
+
if (value !== undefined && value !== null)
|
|
352
|
+
seen.add(JSON.stringify(value));
|
|
353
|
+
}
|
|
354
|
+
return seen.size;
|
|
355
|
+
}
|
|
356
|
+
if (minField !== undefined) {
|
|
357
|
+
this.ensureFieldType(clazz, minField, "MIN operation", (type) => this.isNumericType(type) || type === "date", "numeric or date");
|
|
358
|
+
if (result.length === 0)
|
|
359
|
+
return null;
|
|
360
|
+
const values = result
|
|
361
|
+
.map((r) => r[minField])
|
|
362
|
+
.filter((v) => v !== undefined && v !== null);
|
|
363
|
+
if (values.length === 0)
|
|
364
|
+
return null;
|
|
365
|
+
let minValue = values[0];
|
|
366
|
+
for (const v of values) {
|
|
367
|
+
const comparison = v instanceof Date
|
|
368
|
+
? v.getTime()
|
|
369
|
+
: typeof v === "bigint"
|
|
370
|
+
? Number(v)
|
|
371
|
+
: Number(v);
|
|
372
|
+
const minComparison = minValue instanceof Date
|
|
373
|
+
? minValue.getTime()
|
|
374
|
+
: typeof minValue === "bigint"
|
|
375
|
+
? Number(minValue)
|
|
376
|
+
: Number(minValue);
|
|
377
|
+
if (comparison < minComparison)
|
|
378
|
+
minValue = v;
|
|
379
|
+
}
|
|
380
|
+
return minValue;
|
|
381
|
+
}
|
|
382
|
+
if (maxField !== undefined) {
|
|
383
|
+
this.ensureFieldType(clazz, maxField, "MAX operation", (type) => this.isNumericType(type) || type === "date", "numeric or date");
|
|
384
|
+
if (result.length === 0)
|
|
385
|
+
return null;
|
|
386
|
+
const values = result
|
|
387
|
+
.map((r) => r[maxField])
|
|
388
|
+
.filter((v) => v !== undefined && v !== null);
|
|
389
|
+
if (values.length === 0)
|
|
390
|
+
return null;
|
|
391
|
+
let maxValue = values[0];
|
|
392
|
+
for (const v of values) {
|
|
393
|
+
const comparison = v instanceof Date
|
|
394
|
+
? v.getTime()
|
|
395
|
+
: typeof v === "bigint"
|
|
396
|
+
? Number(v)
|
|
397
|
+
: Number(v);
|
|
398
|
+
const maxComparison = maxValue instanceof Date
|
|
399
|
+
? maxValue.getTime()
|
|
400
|
+
: typeof maxValue === "bigint"
|
|
401
|
+
? Number(maxValue)
|
|
402
|
+
: Number(maxValue);
|
|
403
|
+
if (comparison > maxComparison)
|
|
404
|
+
maxValue = v;
|
|
405
|
+
}
|
|
406
|
+
return maxValue;
|
|
407
|
+
}
|
|
408
|
+
if (sumField !== undefined) {
|
|
409
|
+
this.ensureFieldType(clazz, sumField, "SUM operation", (type) => this.isNumericType(type), "numeric");
|
|
410
|
+
if (result.length === 0)
|
|
411
|
+
return null;
|
|
412
|
+
const values = result
|
|
413
|
+
.map((r) => r[sumField])
|
|
414
|
+
.filter((v) => v !== undefined && v !== null);
|
|
415
|
+
if (values.length === 0)
|
|
416
|
+
return null;
|
|
417
|
+
const sum = values.reduce((acc, v) => acc + this.toNumericValue(v, sumField, "SUM operation"), 0);
|
|
418
|
+
return sum;
|
|
419
|
+
}
|
|
420
|
+
if (avgField !== undefined) {
|
|
421
|
+
const fieldType = this.resolveFieldType(clazz, avgField);
|
|
422
|
+
const isDateField = fieldType === "date";
|
|
423
|
+
this.ensureFieldType(clazz, avgField, "AVG operation", (type) => this.isNumericType(type) || type === "date", "numeric or date");
|
|
424
|
+
if (result.length === 0)
|
|
425
|
+
return null;
|
|
426
|
+
const values = result
|
|
427
|
+
.map((r) => r[avgField])
|
|
428
|
+
.filter((v) => v !== undefined && v !== null);
|
|
429
|
+
if (values.length === 0)
|
|
430
|
+
return null;
|
|
431
|
+
if (isDateField) {
|
|
432
|
+
const timestamps = values.map((v) => v instanceof Date ? v.getTime() : new Date(v).getTime());
|
|
433
|
+
const avgTimestamp = timestamps.reduce((acc, t) => acc + t, 0) / timestamps.length;
|
|
434
|
+
return new Date(avgTimestamp);
|
|
435
|
+
}
|
|
436
|
+
const total = values.reduce((acc, v) => acc + this.toNumericValue(v, avgField, "AVG operation"), 0);
|
|
437
|
+
return (total / values.length);
|
|
438
|
+
}
|
|
439
|
+
if (distinctField !== undefined) {
|
|
440
|
+
const seen = new Set();
|
|
441
|
+
const distinctResults = [];
|
|
442
|
+
for (const item of result) {
|
|
443
|
+
const value = item[distinctField];
|
|
444
|
+
const key = JSON.stringify(value);
|
|
445
|
+
if (!seen.has(key)) {
|
|
446
|
+
seen.add(key);
|
|
447
|
+
distinctResults.push(value);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
return distinctResults;
|
|
451
|
+
}
|
|
452
|
+
let count;
|
|
453
|
+
let output;
|
|
454
|
+
if (groupBy && groupBy.length) {
|
|
455
|
+
const grouped = this.groupRecords(result, groupBy);
|
|
456
|
+
const keys = Object.keys(grouped);
|
|
457
|
+
count = keys.length;
|
|
458
|
+
output = this.applyGroupPagination(grouped, skip, limit);
|
|
459
|
+
}
|
|
460
|
+
else {
|
|
461
|
+
count = result.length;
|
|
462
|
+
let paged = result;
|
|
463
|
+
if (skip)
|
|
464
|
+
paged = paged.slice(skip);
|
|
465
|
+
if (limit)
|
|
466
|
+
paged = paged.slice(0, limit);
|
|
467
|
+
output = paged;
|
|
468
|
+
}
|
|
469
|
+
if (select && !(groupBy && groupBy.length)) {
|
|
470
|
+
select = Array.isArray(select) ? select : [select];
|
|
471
|
+
output = output.map((row) => Object.entries(row).reduce((acc, [key, val]) => {
|
|
472
|
+
if (select.includes(key))
|
|
473
|
+
acc[key] = val;
|
|
474
|
+
return acc;
|
|
475
|
+
}, {}));
|
|
476
|
+
}
|
|
477
|
+
if (docsOnly)
|
|
478
|
+
return output;
|
|
479
|
+
return { data: output, count };
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* @description Groups records by one or more attributes
|
|
483
|
+
* @summary Recursively nests groups when multiple selectors are provided; the
|
|
484
|
+
* top-level result maps each group key to the matching records (or nested groups).
|
|
485
|
+
* @param {any[]} records - The records to group
|
|
486
|
+
* @param {(keyof Model)[]} selectors - The attributes to group by
|
|
487
|
+
* @return {Record<string, any>} The grouped records keyed by normalized group keys
|
|
488
|
+
*/
|
|
489
|
+
groupRecords(records, selectors) {
|
|
490
|
+
if (!selectors.length)
|
|
491
|
+
return records;
|
|
492
|
+
const [current, ...rest] = selectors;
|
|
493
|
+
const grouped = {};
|
|
494
|
+
for (const record of records) {
|
|
495
|
+
const key = this.normalizeGroupKey(record[current]);
|
|
496
|
+
if (!grouped[key])
|
|
497
|
+
grouped[key] = [];
|
|
498
|
+
grouped[key].push(record);
|
|
499
|
+
}
|
|
500
|
+
if (!rest.length)
|
|
501
|
+
return grouped;
|
|
502
|
+
const nested = {};
|
|
503
|
+
for (const [key, values] of Object.entries(grouped)) {
|
|
504
|
+
nested[key] = this.groupRecords(values, rest);
|
|
505
|
+
}
|
|
506
|
+
return nested;
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* @description Normalizes a group key to a string
|
|
510
|
+
* @summary Produces a stable string key for `undefined`, `null`, symbols,
|
|
511
|
+
* objects (via JSON) and primitives.
|
|
512
|
+
* @param {any} value - The raw group key value
|
|
513
|
+
* @return {string} The normalized key
|
|
514
|
+
*/
|
|
515
|
+
normalizeGroupKey(value) {
|
|
516
|
+
if (value === undefined)
|
|
517
|
+
return "undefined";
|
|
518
|
+
if (value === null)
|
|
519
|
+
return "null";
|
|
520
|
+
if (typeof value === "symbol")
|
|
521
|
+
return value.toString();
|
|
522
|
+
if (typeof value === "object") {
|
|
523
|
+
try {
|
|
524
|
+
return JSON.stringify(value);
|
|
525
|
+
}
|
|
526
|
+
catch {
|
|
527
|
+
return String(value);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
return String(value);
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* @description Applies skip/limit pagination over grouped results
|
|
534
|
+
* @summary Pages the group keys while preserving their associated records.
|
|
535
|
+
* @param {Record<string, any>} grouped - The grouped records
|
|
536
|
+
* @param {number} [skip] - The number of groups to skip
|
|
537
|
+
* @param {number} [limit] - The maximum number of groups to return
|
|
538
|
+
* @return {Record<string, any>} The paged groups
|
|
539
|
+
*/
|
|
540
|
+
applyGroupPagination(grouped, skip, limit) {
|
|
541
|
+
if (typeof skip === "undefined" && typeof limit === "undefined")
|
|
542
|
+
return grouped;
|
|
543
|
+
const keys = Object.keys(grouped);
|
|
544
|
+
const start = skip ?? 0;
|
|
545
|
+
const end = typeof limit === "undefined" ? undefined : start + limit;
|
|
546
|
+
const paged = {};
|
|
547
|
+
for (const key of keys.slice(start, end)) {
|
|
548
|
+
paged[key] = grouped[key];
|
|
549
|
+
}
|
|
550
|
+
return paged;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* @description Parses and converts errors to appropriate types
|
|
554
|
+
* @summary Returns `BaseError` instances unchanged, maps connection
|
|
555
|
+
* failures to `ConnectionError` and wraps everything else in an
|
|
556
|
+
* `InternalError`.
|
|
557
|
+
* @template V - The expected error type
|
|
558
|
+
* @param {Error} err - The error to parse
|
|
559
|
+
* @return {V} The parsed error
|
|
560
|
+
*/
|
|
561
|
+
parseError(err) {
|
|
562
|
+
if (err instanceof BaseError)
|
|
563
|
+
return err;
|
|
564
|
+
const message = err?.message ?? String(err);
|
|
565
|
+
if (/ECONNREFUSED|ENOTFOUND|ETIMEDOUT|Connection is closed|Socket closed|WRONGPASS|NOAUTH/i.test(message))
|
|
566
|
+
return new ConnectionError(err);
|
|
567
|
+
return new InternalError(err);
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* @description Creates a new statement builder for queries
|
|
571
|
+
* @template M - The model type for the statement
|
|
572
|
+
* @param {Partial<AdapterFlags>} [overrides] - Optional adapter flag overrides
|
|
573
|
+
* @return {RedisStatement<M, any, Adapter<...>>} A new statement builder
|
|
574
|
+
*/
|
|
575
|
+
Statement(overrides) {
|
|
576
|
+
return new RedisStatement(this, overrides);
|
|
577
|
+
}
|
|
578
|
+
/**
|
|
579
|
+
* @description Creates a new paginator for queries
|
|
580
|
+
* @template M - The model type for the paginator
|
|
581
|
+
* @param {RawRedisQuery} query - The query to paginate
|
|
582
|
+
* @param {number} size - The page size
|
|
583
|
+
* @param {Constructor<M>} clazz - The model constructor
|
|
584
|
+
* @return {RedisPaginator<M>} A new paginator
|
|
585
|
+
*/
|
|
586
|
+
Paginator(query, size, clazz) {
|
|
587
|
+
return new RedisPaginator(this, query, size, clazz);
|
|
588
|
+
}
|
|
589
|
+
/**
|
|
590
|
+
* @description Validates that an aggregation targets an attribute of the expected kind
|
|
591
|
+
* @summary Resolves the attribute type from the model metadata and raises a
|
|
592
|
+
* `QueryError` when the type does not satisfy the given predicate.
|
|
593
|
+
* @param {Constructor<Model>} clazz - The model constructor
|
|
594
|
+
* @param {string} field - The attribute name to validate
|
|
595
|
+
* @param {string} context - The aggregation context used in error messages
|
|
596
|
+
* @param {function(string): boolean} predicate - Type acceptance predicate
|
|
597
|
+
* @param {string} description - Human readable description of the accepted types
|
|
598
|
+
* @return {void}
|
|
599
|
+
*/
|
|
600
|
+
ensureFieldType(clazz, field, context, predicate, description) {
|
|
601
|
+
const type = this.resolveFieldType(clazz, field);
|
|
602
|
+
if (!type || !predicate(type)) {
|
|
603
|
+
throw new QueryError(`${context} requires ${description} attribute, but "${field}" is ${type || "unknown"}`);
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* @description Resolves the attribute type from the model metadata
|
|
608
|
+
* @summary Reads the metadata or design type of the attribute and normalizes it
|
|
609
|
+
* to a lowercase type name.
|
|
610
|
+
* @param {Constructor<Model>} clazz - The model constructor
|
|
611
|
+
* @param {string} field - The attribute name
|
|
612
|
+
* @return {string | undefined} The normalized attribute type, when resolvable
|
|
613
|
+
*/
|
|
614
|
+
resolveFieldType(clazz, field) {
|
|
615
|
+
const propKey = field;
|
|
616
|
+
const metaType = Metadata.type(clazz, propKey) ??
|
|
617
|
+
Metadata.getPropDesignTypes(clazz, propKey)?.designType;
|
|
618
|
+
return this.normalizeMetaType(metaType);
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* @description Normalizes a raw metadata type to a lowercase type name
|
|
622
|
+
* @param {any} metaType - The raw metadata type value
|
|
623
|
+
* @return {string | undefined} The normalized type name, when resolvable
|
|
624
|
+
*/
|
|
625
|
+
normalizeMetaType(metaType) {
|
|
626
|
+
if (!metaType)
|
|
627
|
+
return undefined;
|
|
628
|
+
if (typeof metaType === "string")
|
|
629
|
+
return metaType.toLowerCase();
|
|
630
|
+
if (typeof metaType === "function" && metaType.name)
|
|
631
|
+
return metaType.name.toLowerCase();
|
|
632
|
+
return undefined;
|
|
633
|
+
}
|
|
634
|
+
/**
|
|
635
|
+
* @description Whether the given type name is a numeric type
|
|
636
|
+
* @param {string} [type] - The normalized type name
|
|
637
|
+
* @return {boolean} True for "number" and "bigint"
|
|
638
|
+
*/
|
|
639
|
+
isNumericType(type) {
|
|
640
|
+
return type === "number" || type === "bigint";
|
|
641
|
+
}
|
|
642
|
+
/**
|
|
643
|
+
* @description Converts a value to a numeric value for aggregation
|
|
644
|
+
* @summary Accepts numbers and bigints (converted to `Number`) and raises a
|
|
645
|
+
* `QueryError` for any other value kind.
|
|
646
|
+
* @param {any} value - The value to convert
|
|
647
|
+
* @param {string} field - The attribute name used in error messages
|
|
648
|
+
* @param {string} context - The aggregation context used in error messages
|
|
649
|
+
* @return {number} The numeric value
|
|
650
|
+
*/
|
|
651
|
+
toNumericValue(value, field, context) {
|
|
652
|
+
if (typeof value === "number")
|
|
653
|
+
return value;
|
|
654
|
+
if (typeof value === "bigint")
|
|
655
|
+
return Number(value);
|
|
656
|
+
throw new QueryError(`${context} on "${field}" requires numeric values, but got ${typeof value}`);
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* @description Creates the underlying Redis client
|
|
660
|
+
* @summary Returns the already connected client when one exists (including
|
|
661
|
+
* through a `for()` configuration-scoped proxy, whose own `_client` slot would
|
|
662
|
+
* otherwise be empty and build a fresh unconnected client). Otherwise builds a
|
|
663
|
+
* node-redis client from the configured URL or discrete host/port/credentials.
|
|
664
|
+
* When `tls` is set, `tls: true` plus any supplied `tls.connect` options are
|
|
665
|
+
* merged into the socket options (a `rediss://` URL is passed through as-is).
|
|
666
|
+
* The client is created lazily and connected by {@link initialize}.
|
|
667
|
+
* @return {RedisClientType} The Redis client
|
|
668
|
+
*/
|
|
669
|
+
getClient() {
|
|
670
|
+
if (this._redisClient)
|
|
671
|
+
return this._redisClient;
|
|
672
|
+
const { url, host, port, username, password, database, tls } = this.config;
|
|
673
|
+
const options = url
|
|
674
|
+
? { url }
|
|
675
|
+
: { socket: { host: host ?? "localhost", port: port ?? 6379 } };
|
|
676
|
+
if (tls) {
|
|
677
|
+
const tlsOptions = typeof tls === "object" ? tls : {};
|
|
678
|
+
options.socket = { ...(options.socket ?? {}), tls: true, ...tlsOptions };
|
|
679
|
+
}
|
|
680
|
+
if (username)
|
|
681
|
+
options.username = username;
|
|
682
|
+
if (password)
|
|
683
|
+
options.password = password;
|
|
684
|
+
if (typeof database === "number")
|
|
685
|
+
options.database = database;
|
|
686
|
+
return createClient(options);
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* @description Registers Redis-specific decorations for model properties
|
|
690
|
+
* @summary Configures `createdBy` and `updatedBy` handlers for the Redis
|
|
691
|
+
* flavour so those fields are populated from the context UUID.
|
|
692
|
+
* @return {void}
|
|
693
|
+
*/
|
|
694
|
+
static decoration() {
|
|
695
|
+
super.decoration();
|
|
696
|
+
const createdByKey = PersistenceKeys.CREATED_BY;
|
|
697
|
+
const updatedByKey = PersistenceKeys.UPDATED_BY;
|
|
698
|
+
Decoration.flavouredAs(RedisFlavour)
|
|
699
|
+
.for(createdByKey)
|
|
700
|
+
.define(onCreate(createdByOnRedisCreateUpdate), propMetadata(createdByKey, {}), generated(createdByKey))
|
|
701
|
+
.apply();
|
|
702
|
+
Decoration.flavouredAs(RedisFlavour)
|
|
703
|
+
.for(updatedByKey)
|
|
704
|
+
.define(onCreateUpdate(createdByOnRedisCreateUpdate), propMetadata(updatedByKey, {}), generated(updatedByKey))
|
|
705
|
+
.apply();
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
Adapter.setCurrent(RedisFlavour);
|
|
709
|
+
RedisAdapter.decoration();
|
|
710
|
+
//# sourceMappingURL=adapter.js.map
|