@decaf-ts/integrations 0.11.0 → 0.14.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 +164 -0
- 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/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/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/calendar/environment.cjs +48 -0
- package/lib/cjs/calendar/environment.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +338 -0
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/index.cjs +20 -0
- package/lib/cjs/calendar/google-calendar/index.cjs.map +1 -0
- package/lib/cjs/comms/discord/DiscordService.cjs +318 -0
- package/lib/cjs/comms/discord/DiscordService.cjs.map +1 -0
- package/lib/cjs/comms/discord/index.cjs +19 -0
- package/lib/cjs/comms/discord/index.cjs.map +1 -0
- 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 +79 -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 +34 -0
- package/lib/cjs/comms/index.cjs.map +1 -0
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +325 -0
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +1 -0
- package/lib/cjs/comms/outlook/index.cjs +19 -0
- package/lib/cjs/comms/outlook/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/comms/whatsapp/WhatsAppService.cjs +274 -0
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +1 -0
- package/lib/cjs/comms/whatsapp/index.cjs +19 -0
- package/lib/cjs/comms/whatsapp/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/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/confluence/ConfluenceService.cjs +317 -0
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +1 -0
- package/lib/cjs/io/confluence/index.cjs +19 -0
- package/lib/cjs/io/confluence/index.cjs.map +1 -0
- package/lib/cjs/io/environment.cjs +74 -0
- package/lib/cjs/io/environment.cjs.map +1 -0
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +275 -0
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +1 -0
- package/lib/cjs/io/google-docs/index.cjs +19 -0
- package/lib/cjs/io/google-docs/index.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 +35 -0
- package/lib/cjs/io/index.cjs.map +1 -0
- package/lib/cjs/io/jira/JiraService.cjs +354 -0
- package/lib/cjs/io/jira/JiraService.cjs.map +1 -0
- package/lib/cjs/io/jira/index.cjs +19 -0
- package/lib/cjs/io/jira/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +253 -0
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/index.cjs +19 -0
- package/lib/cjs/io/microsoft-excel/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +261 -0
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +19 -0
- package/lib/cjs/io/microsoft-sharepoint/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/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/adapter.cjs +7 -1
- package/lib/cjs/redis/adapter.cjs.map +1 -1
- 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/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/calendar/environment.js +44 -0
- package/lib/esm/calendar/environment.js.map +1 -0
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +333 -0
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +1 -0
- package/lib/esm/calendar/google-calendar/index.js +3 -0
- package/lib/esm/calendar/google-calendar/index.js.map +1 -0
- package/lib/esm/comms/discord/DiscordService.js +313 -0
- package/lib/esm/comms/discord/DiscordService.js.map +1 -0
- package/lib/esm/comms/discord/index.js +2 -0
- package/lib/esm/comms/discord/index.js.map +1 -0
- 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 +75 -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 +17 -0
- package/lib/esm/comms/index.js.map +1 -0
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +320 -0
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +1 -0
- package/lib/esm/comms/outlook/index.js +2 -0
- package/lib/esm/comms/outlook/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/comms/whatsapp/WhatsAppService.js +269 -0
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +1 -0
- package/lib/esm/comms/whatsapp/index.js +2 -0
- package/lib/esm/comms/whatsapp/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/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/confluence/ConfluenceService.js +312 -0
- package/lib/esm/io/confluence/ConfluenceService.js.map +1 -0
- package/lib/esm/io/confluence/index.js +2 -0
- package/lib/esm/io/confluence/index.js.map +1 -0
- package/lib/esm/io/environment.js +70 -0
- package/lib/esm/io/environment.js.map +1 -0
- package/lib/esm/io/google-docs/GoogleDocsService.js +270 -0
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +1 -0
- package/lib/esm/io/google-docs/index.js +2 -0
- package/lib/esm/io/google-docs/index.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 +18 -0
- package/lib/esm/io/index.js.map +1 -0
- package/lib/esm/io/jira/JiraService.js +349 -0
- package/lib/esm/io/jira/JiraService.js.map +1 -0
- package/lib/esm/io/jira/index.js +2 -0
- package/lib/esm/io/jira/index.js.map +1 -0
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +248 -0
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +1 -0
- package/lib/esm/io/microsoft-excel/index.js +2 -0
- package/lib/esm/io/microsoft-excel/index.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +256 -0
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/index.js +2 -0
- package/lib/esm/io/microsoft-sharepoint/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/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/adapter.js +7 -1
- package/lib/esm/redis/adapter.js.map +1 -1
- 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/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/calendar/environment.d.cts +48 -0
- package/lib/types/calendar/environment.d.mts +48 -0
- package/lib/types/calendar/google-calendar/GoogleCalendarService.d.cts +316 -0
- package/lib/types/calendar/google-calendar/GoogleCalendarService.d.mts +316 -0
- package/lib/types/calendar/google-calendar/index.d.cts +2 -0
- package/lib/types/calendar/google-calendar/index.d.mts +2 -0
- package/lib/types/comms/discord/DiscordService.d.cts +285 -0
- package/lib/types/comms/discord/DiscordService.d.mts +285 -0
- package/lib/types/comms/discord/index.d.cts +1 -0
- package/lib/types/comms/discord/index.d.mts +1 -0
- 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 +110 -0
- package/lib/types/comms/environment.d.mts +110 -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 +16 -0
- package/lib/types/comms/index.d.mts +16 -0
- package/lib/types/comms/outlook/MicrosoftOutlookService.d.cts +282 -0
- package/lib/types/comms/outlook/MicrosoftOutlookService.d.mts +282 -0
- package/lib/types/comms/outlook/index.d.cts +1 -0
- package/lib/types/comms/outlook/index.d.mts +1 -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/comms/whatsapp/WhatsAppService.d.cts +258 -0
- package/lib/types/comms/whatsapp/WhatsAppService.d.mts +258 -0
- package/lib/types/comms/whatsapp/index.d.cts +1 -0
- package/lib/types/comms/whatsapp/index.d.mts +1 -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/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/confluence/ConfluenceService.d.cts +250 -0
- package/lib/types/io/confluence/ConfluenceService.d.mts +250 -0
- package/lib/types/io/confluence/index.d.cts +1 -0
- package/lib/types/io/confluence/index.d.mts +1 -0
- package/lib/types/io/environment.d.cts +107 -0
- package/lib/types/io/environment.d.mts +107 -0
- package/lib/types/io/google-docs/GoogleDocsService.d.cts +188 -0
- package/lib/types/io/google-docs/GoogleDocsService.d.mts +188 -0
- package/lib/types/io/google-docs/index.d.cts +1 -0
- package/lib/types/io/google-docs/index.d.mts +1 -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 +17 -0
- package/lib/types/io/index.d.mts +17 -0
- package/lib/types/io/jira/JiraService.d.cts +300 -0
- package/lib/types/io/jira/JiraService.d.mts +300 -0
- package/lib/types/io/jira/index.d.cts +1 -0
- package/lib/types/io/jira/index.d.mts +1 -0
- package/lib/types/io/microsoft-excel/MicrosoftExcelService.d.cts +230 -0
- package/lib/types/io/microsoft-excel/MicrosoftExcelService.d.mts +230 -0
- package/lib/types/io/microsoft-excel/index.d.cts +1 -0
- package/lib/types/io/microsoft-excel/index.d.mts +1 -0
- package/lib/types/io/microsoft-sharepoint/MicrosoftSharePointService.d.cts +226 -0
- package/lib/types/io/microsoft-sharepoint/MicrosoftSharePointService.d.mts +226 -0
- package/lib/types/io/microsoft-sharepoint/index.d.cts +1 -0
- package/lib/types/io/microsoft-sharepoint/index.d.mts +1 -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/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/adapter.d.cts +2 -0
- package/lib/types/redis/adapter.d.mts +2 -0
- package/lib/types/redis/types.d.cts +27 -2
- package/lib/types/redis/types.d.mts +27 -2
- 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 +279 -6
- package/sql/002_rls.sql +660 -15
- package/sql/004_credentials.sql +46 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/io/graphql/service
|
|
3
|
+
* @summary Generic GraphQL endpoint integration service for executing queries and mutations.
|
|
4
|
+
* @description Posts GraphQL documents to any endpoint as an undecorated
|
|
5
|
+
* client-based service built on {@link HttpApiService}.
|
|
6
|
+
* The endpoint is supplied as `endpoint` (an alias normalized to `baseUrl`
|
|
7
|
+
* during initialization) or the `io.graphql` environment slice; an optional
|
|
8
|
+
* bearer token is attached to every request, per-request headers can extend
|
|
9
|
+
* it, and failures are mapped to decaf errors via {@link httpError}. GraphQL
|
|
10
|
+
* field-level `errors` are returned in the response rather than thrown —
|
|
11
|
+
* callers decide how to handle partial results.
|
|
12
|
+
*/
|
|
13
|
+
import { type MaybeContextualArg } from "@decaf-ts/core";
|
|
14
|
+
import type { AxiosInstance } from "axios";
|
|
15
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
|
|
16
|
+
/**
|
|
17
|
+
* @description Configuration for the GraphQL service
|
|
18
|
+
* @summary Extends {@link HttpApiServiceConfig} with the GraphQL `endpoint`
|
|
19
|
+
* URL (normalized to `baseUrl` during initialization) and the optional bearer
|
|
20
|
+
* token. When omitted, the `io.graphql` environment slice supplies the
|
|
21
|
+
* endpoint (and optional `token`, `timeout`).
|
|
22
|
+
* @category IO
|
|
23
|
+
* @memberOf module:integrations/io/graphql/service
|
|
24
|
+
*/
|
|
25
|
+
export interface GraphqlServiceConfig extends HttpApiServiceConfig {
|
|
26
|
+
/**
|
|
27
|
+
* @description GraphQL endpoint URL
|
|
28
|
+
* @summary Aliased to `baseUrl` by {@link GraphqlService.initialize}; every
|
|
29
|
+
* request is posted to this URL.
|
|
30
|
+
*/
|
|
31
|
+
endpoint?: string;
|
|
32
|
+
/**
|
|
33
|
+
* @description Bearer token for the endpoint
|
|
34
|
+
* @summary Sent as `Authorization: Bearer <token>` with every request.
|
|
35
|
+
*/
|
|
36
|
+
token?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @description Input for a GraphQL request
|
|
40
|
+
* @summary Carries the `query` document, the `variables` map referenced by
|
|
41
|
+
* it, the optional `operationName` when the document holds multiple named
|
|
42
|
+
* operations, and per-request `headers` merged into the client's defaults.
|
|
43
|
+
* @category IO
|
|
44
|
+
* @memberOf module:integrations/io/graphql/service
|
|
45
|
+
*/
|
|
46
|
+
export interface GraphqlRequest {
|
|
47
|
+
/**
|
|
48
|
+
* @description The GraphQL query or mutation document (required)
|
|
49
|
+
*/
|
|
50
|
+
query: string;
|
|
51
|
+
/**
|
|
52
|
+
* @description Variable values for the document's declared variables
|
|
53
|
+
*/
|
|
54
|
+
variables?: Record<string, unknown>;
|
|
55
|
+
/**
|
|
56
|
+
* @description The operation to execute when the document defines several
|
|
57
|
+
*/
|
|
58
|
+
operationName?: string;
|
|
59
|
+
/**
|
|
60
|
+
* @description Extra headers merged over the client's defaults for this request
|
|
61
|
+
*/
|
|
62
|
+
headers?: Record<string, string>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @description GraphQL response envelope
|
|
66
|
+
* @summary The standard GraphQL execution result: `data` when the operation
|
|
67
|
+
* produced results, field-level `errors` (message plus response path) when
|
|
68
|
+
* execution partially failed, and provider `extensions`.
|
|
69
|
+
* @template T - The expected type of the `data` payload.
|
|
70
|
+
* @category IO
|
|
71
|
+
* @memberOf module:integrations/io/graphql/service
|
|
72
|
+
*/
|
|
73
|
+
export interface GraphqlResponse<T = unknown> {
|
|
74
|
+
data?: T;
|
|
75
|
+
errors?: Array<{
|
|
76
|
+
message: string;
|
|
77
|
+
path?: Array<string | number>;
|
|
78
|
+
}>;
|
|
79
|
+
extensions?: Record<string, unknown>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Generic GraphQL endpoint integration service
|
|
83
|
+
* @summary An undecorated HTTP service that `POST`s GraphQL
|
|
84
|
+
* documents to any endpoint. Unlike the other integration services there is
|
|
85
|
+
* no default base URL — the endpoint must come from the config (`endpoint` or
|
|
86
|
+
* `baseUrl`) or the `io.graphql` environment slice. Initialization normalizes
|
|
87
|
+
* the `endpoint` alias to `baseUrl` before delegating to the shared
|
|
88
|
+
* {@link HttpApiService.initialize}; the optional token is sent as a bearer
|
|
89
|
+
* header and per-request headers extend it. Transport failures are mapped to
|
|
90
|
+
* decaf errors via {@link httpError}, while GraphQL field-level `errors` are
|
|
91
|
+
* returned in the response for the caller to interpret.
|
|
92
|
+
* @class GraphqlService
|
|
93
|
+
* @category IO
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { GraphqlService } from "@decaf-ts/integrations/io/graphql";
|
|
97
|
+
*
|
|
98
|
+
* const graphql = new GraphqlService();
|
|
99
|
+
* await graphql.initialize({
|
|
100
|
+
* endpoint: "https://api.example.com/graphql",
|
|
101
|
+
* token: process.env.GRAPH_CREDENTIAL_GRAPHQL_TOKEN,
|
|
102
|
+
* });
|
|
103
|
+
* const response = await graphql.request<{ user: { name: string } }>({
|
|
104
|
+
* query: `query GetUser($id: ID!) {
|
|
105
|
+
* user(id: $id) { name }
|
|
106
|
+
* }`,
|
|
107
|
+
* variables: { id: "123" },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
* @memberOf module:integrations/io/graphql/service
|
|
111
|
+
*/
|
|
112
|
+
export declare class GraphqlService extends HttpApiService<GraphqlServiceConfig> {
|
|
113
|
+
/**
|
|
114
|
+
* @description The provider name used in error messages
|
|
115
|
+
*/
|
|
116
|
+
protected readonly serviceName = "GraphQL";
|
|
117
|
+
/**
|
|
118
|
+
* @description The absence of a default GraphQL endpoint
|
|
119
|
+
* @summary Returns an empty string because GraphQL endpoints are
|
|
120
|
+
* provider-specific; {@link GraphqlService.request} rejects execution when
|
|
121
|
+
* no endpoint was configured.
|
|
122
|
+
* @returns {string} An empty string.
|
|
123
|
+
*/
|
|
124
|
+
protected defaultBaseUrl(): string;
|
|
125
|
+
/**
|
|
126
|
+
* @description Normalizes the `endpoint` alias before shared initialization
|
|
127
|
+
* @summary When the provided config carries no `baseUrl` but an `endpoint`,
|
|
128
|
+
* copies `endpoint` into `baseUrl` and delegates to
|
|
129
|
+
* {@link HttpApiService.initialize}, which merges the environment slice and
|
|
130
|
+
* builds the Axios client.
|
|
131
|
+
* @param {...MaybeContextualArg<any>} args - An optional `Partial<GraphqlServiceConfig>`, optionally followed by a decaf `Context`.
|
|
132
|
+
* @returns {Promise<{config: GraphqlServiceConfig, client: AxiosInstance}>} The merged configuration and the configured Axios instance.
|
|
133
|
+
* @throws {InternalError} When no base URL can be resolved from the config or environment.
|
|
134
|
+
*/
|
|
135
|
+
initialize(...args: MaybeContextualArg<any>): Promise<{
|
|
136
|
+
config: GraphqlServiceConfig;
|
|
137
|
+
client: AxiosInstance;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* @description Builds the GraphQL bearer authorization headers
|
|
141
|
+
* @summary Returns the `Authorization: Bearer <token>` header when the
|
|
142
|
+
* config carries a token, and no headers otherwise.
|
|
143
|
+
* @param {GraphqlServiceConfig} config - The resolved service configuration.
|
|
144
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
145
|
+
*/
|
|
146
|
+
protected authHeaders(config: GraphqlServiceConfig): Record<string, string>;
|
|
147
|
+
/**
|
|
148
|
+
* @description Reads the GraphQL endpoint and token from the environment
|
|
149
|
+
* @summary Reads the `io.graphql` environment slice and returns a partial
|
|
150
|
+
* config (with `endpoint` also mirrored to `baseUrl`) when an endpoint is
|
|
151
|
+
* configured, `undefined` otherwise. Values pass through
|
|
152
|
+
* `envString`/`envNumber` to reject unset-leaf proxies.
|
|
153
|
+
* @returns {Partial<GraphqlServiceConfig> | undefined} A partial config, or `undefined` when no GraphQL endpoint is configured.
|
|
154
|
+
*/
|
|
155
|
+
protected configFromEnvironment(): Partial<GraphqlServiceConfig> | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* @description Executes a GraphQL query or mutation against the configured endpoint
|
|
158
|
+
* @summary `POST`s the standard GraphQL request body (`query`,
|
|
159
|
+
* `variables`, `operationName`) to the resolved endpoint with the optional
|
|
160
|
+
* per-request headers merged over the client defaults. Requires a
|
|
161
|
+
* non-empty query and a configured endpoint. Returns the raw execution
|
|
162
|
+
* envelope: field-level `errors` are reported in `GraphqlResponse.errors`
|
|
163
|
+
* rather than thrown, so callers must inspect them for partial failures.
|
|
164
|
+
* @template T - The expected type of the `data` payload.
|
|
165
|
+
* @param {GraphqlRequest} input - The query document, variables, operation name, and per-request headers.
|
|
166
|
+
* @returns {Promise<GraphqlResponse<T>>} The execution envelope with `data`, `errors`, and `extensions`.
|
|
167
|
+
* @throws {InternalError} When the query is empty or no endpoint is configured.
|
|
168
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
169
|
+
* @throws {ConflictError} When the endpoint answers with HTTP 409.
|
|
170
|
+
* @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
|
|
171
|
+
*/
|
|
172
|
+
request<T = unknown>(input: GraphqlRequest): Promise<GraphqlResponse<T>>;
|
|
173
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/io/graphql/service
|
|
3
|
+
* @summary Generic GraphQL endpoint integration service for executing queries and mutations.
|
|
4
|
+
* @description Posts GraphQL documents to any endpoint as an undecorated
|
|
5
|
+
* client-based service built on {@link HttpApiService}.
|
|
6
|
+
* The endpoint is supplied as `endpoint` (an alias normalized to `baseUrl`
|
|
7
|
+
* during initialization) or the `io.graphql` environment slice; an optional
|
|
8
|
+
* bearer token is attached to every request, per-request headers can extend
|
|
9
|
+
* it, and failures are mapped to decaf errors via {@link httpError}. GraphQL
|
|
10
|
+
* field-level `errors` are returned in the response rather than thrown —
|
|
11
|
+
* callers decide how to handle partial results.
|
|
12
|
+
*/
|
|
13
|
+
import { type MaybeContextualArg } from "@decaf-ts/core";
|
|
14
|
+
import type { AxiosInstance } from "axios";
|
|
15
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
|
|
16
|
+
/**
|
|
17
|
+
* @description Configuration for the GraphQL service
|
|
18
|
+
* @summary Extends {@link HttpApiServiceConfig} with the GraphQL `endpoint`
|
|
19
|
+
* URL (normalized to `baseUrl` during initialization) and the optional bearer
|
|
20
|
+
* token. When omitted, the `io.graphql` environment slice supplies the
|
|
21
|
+
* endpoint (and optional `token`, `timeout`).
|
|
22
|
+
* @category IO
|
|
23
|
+
* @memberOf module:integrations/io/graphql/service
|
|
24
|
+
*/
|
|
25
|
+
export interface GraphqlServiceConfig extends HttpApiServiceConfig {
|
|
26
|
+
/**
|
|
27
|
+
* @description GraphQL endpoint URL
|
|
28
|
+
* @summary Aliased to `baseUrl` by {@link GraphqlService.initialize}; every
|
|
29
|
+
* request is posted to this URL.
|
|
30
|
+
*/
|
|
31
|
+
endpoint?: string;
|
|
32
|
+
/**
|
|
33
|
+
* @description Bearer token for the endpoint
|
|
34
|
+
* @summary Sent as `Authorization: Bearer <token>` with every request.
|
|
35
|
+
*/
|
|
36
|
+
token?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @description Input for a GraphQL request
|
|
40
|
+
* @summary Carries the `query` document, the `variables` map referenced by
|
|
41
|
+
* it, the optional `operationName` when the document holds multiple named
|
|
42
|
+
* operations, and per-request `headers` merged into the client's defaults.
|
|
43
|
+
* @category IO
|
|
44
|
+
* @memberOf module:integrations/io/graphql/service
|
|
45
|
+
*/
|
|
46
|
+
export interface GraphqlRequest {
|
|
47
|
+
/**
|
|
48
|
+
* @description The GraphQL query or mutation document (required)
|
|
49
|
+
*/
|
|
50
|
+
query: string;
|
|
51
|
+
/**
|
|
52
|
+
* @description Variable values for the document's declared variables
|
|
53
|
+
*/
|
|
54
|
+
variables?: Record<string, unknown>;
|
|
55
|
+
/**
|
|
56
|
+
* @description The operation to execute when the document defines several
|
|
57
|
+
*/
|
|
58
|
+
operationName?: string;
|
|
59
|
+
/**
|
|
60
|
+
* @description Extra headers merged over the client's defaults for this request
|
|
61
|
+
*/
|
|
62
|
+
headers?: Record<string, string>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @description GraphQL response envelope
|
|
66
|
+
* @summary The standard GraphQL execution result: `data` when the operation
|
|
67
|
+
* produced results, field-level `errors` (message plus response path) when
|
|
68
|
+
* execution partially failed, and provider `extensions`.
|
|
69
|
+
* @template T - The expected type of the `data` payload.
|
|
70
|
+
* @category IO
|
|
71
|
+
* @memberOf module:integrations/io/graphql/service
|
|
72
|
+
*/
|
|
73
|
+
export interface GraphqlResponse<T = unknown> {
|
|
74
|
+
data?: T;
|
|
75
|
+
errors?: Array<{
|
|
76
|
+
message: string;
|
|
77
|
+
path?: Array<string | number>;
|
|
78
|
+
}>;
|
|
79
|
+
extensions?: Record<string, unknown>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Generic GraphQL endpoint integration service
|
|
83
|
+
* @summary An undecorated HTTP service that `POST`s GraphQL
|
|
84
|
+
* documents to any endpoint. Unlike the other integration services there is
|
|
85
|
+
* no default base URL — the endpoint must come from the config (`endpoint` or
|
|
86
|
+
* `baseUrl`) or the `io.graphql` environment slice. Initialization normalizes
|
|
87
|
+
* the `endpoint` alias to `baseUrl` before delegating to the shared
|
|
88
|
+
* {@link HttpApiService.initialize}; the optional token is sent as a bearer
|
|
89
|
+
* header and per-request headers extend it. Transport failures are mapped to
|
|
90
|
+
* decaf errors via {@link httpError}, while GraphQL field-level `errors` are
|
|
91
|
+
* returned in the response for the caller to interpret.
|
|
92
|
+
* @class GraphqlService
|
|
93
|
+
* @category IO
|
|
94
|
+
* @example
|
|
95
|
+
* ```ts
|
|
96
|
+
* import { GraphqlService } from "@decaf-ts/integrations/io/graphql";
|
|
97
|
+
*
|
|
98
|
+
* const graphql = new GraphqlService();
|
|
99
|
+
* await graphql.initialize({
|
|
100
|
+
* endpoint: "https://api.example.com/graphql",
|
|
101
|
+
* token: process.env.GRAPH_CREDENTIAL_GRAPHQL_TOKEN,
|
|
102
|
+
* });
|
|
103
|
+
* const response = await graphql.request<{ user: { name: string } }>({
|
|
104
|
+
* query: `query GetUser($id: ID!) {
|
|
105
|
+
* user(id: $id) { name }
|
|
106
|
+
* }`,
|
|
107
|
+
* variables: { id: "123" },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
* @memberOf module:integrations/io/graphql/service
|
|
111
|
+
*/
|
|
112
|
+
export declare class GraphqlService extends HttpApiService<GraphqlServiceConfig> {
|
|
113
|
+
/**
|
|
114
|
+
* @description The provider name used in error messages
|
|
115
|
+
*/
|
|
116
|
+
protected readonly serviceName = "GraphQL";
|
|
117
|
+
/**
|
|
118
|
+
* @description The absence of a default GraphQL endpoint
|
|
119
|
+
* @summary Returns an empty string because GraphQL endpoints are
|
|
120
|
+
* provider-specific; {@link GraphqlService.request} rejects execution when
|
|
121
|
+
* no endpoint was configured.
|
|
122
|
+
* @returns {string} An empty string.
|
|
123
|
+
*/
|
|
124
|
+
protected defaultBaseUrl(): string;
|
|
125
|
+
/**
|
|
126
|
+
* @description Normalizes the `endpoint` alias before shared initialization
|
|
127
|
+
* @summary When the provided config carries no `baseUrl` but an `endpoint`,
|
|
128
|
+
* copies `endpoint` into `baseUrl` and delegates to
|
|
129
|
+
* {@link HttpApiService.initialize}, which merges the environment slice and
|
|
130
|
+
* builds the Axios client.
|
|
131
|
+
* @param {...MaybeContextualArg<any>} args - An optional `Partial<GraphqlServiceConfig>`, optionally followed by a decaf `Context`.
|
|
132
|
+
* @returns {Promise<{config: GraphqlServiceConfig, client: AxiosInstance}>} The merged configuration and the configured Axios instance.
|
|
133
|
+
* @throws {InternalError} When no base URL can be resolved from the config or environment.
|
|
134
|
+
*/
|
|
135
|
+
initialize(...args: MaybeContextualArg<any>): Promise<{
|
|
136
|
+
config: GraphqlServiceConfig;
|
|
137
|
+
client: AxiosInstance;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* @description Builds the GraphQL bearer authorization headers
|
|
141
|
+
* @summary Returns the `Authorization: Bearer <token>` header when the
|
|
142
|
+
* config carries a token, and no headers otherwise.
|
|
143
|
+
* @param {GraphqlServiceConfig} config - The resolved service configuration.
|
|
144
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
145
|
+
*/
|
|
146
|
+
protected authHeaders(config: GraphqlServiceConfig): Record<string, string>;
|
|
147
|
+
/**
|
|
148
|
+
* @description Reads the GraphQL endpoint and token from the environment
|
|
149
|
+
* @summary Reads the `io.graphql` environment slice and returns a partial
|
|
150
|
+
* config (with `endpoint` also mirrored to `baseUrl`) when an endpoint is
|
|
151
|
+
* configured, `undefined` otherwise. Values pass through
|
|
152
|
+
* `envString`/`envNumber` to reject unset-leaf proxies.
|
|
153
|
+
* @returns {Partial<GraphqlServiceConfig> | undefined} A partial config, or `undefined` when no GraphQL endpoint is configured.
|
|
154
|
+
*/
|
|
155
|
+
protected configFromEnvironment(): Partial<GraphqlServiceConfig> | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* @description Executes a GraphQL query or mutation against the configured endpoint
|
|
158
|
+
* @summary `POST`s the standard GraphQL request body (`query`,
|
|
159
|
+
* `variables`, `operationName`) to the resolved endpoint with the optional
|
|
160
|
+
* per-request headers merged over the client defaults. Requires a
|
|
161
|
+
* non-empty query and a configured endpoint. Returns the raw execution
|
|
162
|
+
* envelope: field-level `errors` are reported in `GraphqlResponse.errors`
|
|
163
|
+
* rather than thrown, so callers must inspect them for partial failures.
|
|
164
|
+
* @template T - The expected type of the `data` payload.
|
|
165
|
+
* @param {GraphqlRequest} input - The query document, variables, operation name, and per-request headers.
|
|
166
|
+
* @returns {Promise<GraphqlResponse<T>>} The execution envelope with `data`, `errors`, and `extensions`.
|
|
167
|
+
* @throws {InternalError} When the query is empty or no endpoint is configured.
|
|
168
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
169
|
+
* @throws {ConflictError} When the endpoint answers with HTTP 409.
|
|
170
|
+
* @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
|
|
171
|
+
*/
|
|
172
|
+
request<T = unknown>(input: GraphqlRequest): Promise<GraphqlResponse<T>>;
|
|
173
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/io
|
|
3
|
+
* @summary IO integration services (Google Sheets, Airtable, GraphQL, Spreadsheet).
|
|
4
|
+
* @description Re-exports the data-source services, their per-service modules,
|
|
5
|
+
* and the shared `io` environment slice. Each sub-module is also available
|
|
6
|
+
* through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./airtable/index.d.cts";
|
|
9
|
+
export * from "./google-sheets/index.d.cts";
|
|
10
|
+
export * from "./graphql/index.d.cts";
|
|
11
|
+
export * from "./spreadsheet/index.d.cts";
|
|
12
|
+
export * from "./microsoft-excel/index.d.cts";
|
|
13
|
+
export * from "./confluence/index.d.cts";
|
|
14
|
+
export * from "./jira/index.d.cts";
|
|
15
|
+
export * from "./google-docs/index.d.cts";
|
|
16
|
+
export * from "./microsoft-sharepoint/index.d.cts";
|
|
17
|
+
export * from "./environment.d.cts";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/io
|
|
3
|
+
* @summary IO integration services (Google Sheets, Airtable, GraphQL, Spreadsheet).
|
|
4
|
+
* @description Re-exports the data-source services, their per-service modules,
|
|
5
|
+
* and the shared `io` environment slice. Each sub-module is also available
|
|
6
|
+
* through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./airtable/index.d.mts";
|
|
9
|
+
export * from "./google-sheets/index.d.mts";
|
|
10
|
+
export * from "./graphql/index.d.mts";
|
|
11
|
+
export * from "./spreadsheet/index.d.mts";
|
|
12
|
+
export * from "./microsoft-excel/index.d.mts";
|
|
13
|
+
export * from "./confluence/index.d.mts";
|
|
14
|
+
export * from "./jira/index.d.mts";
|
|
15
|
+
export * from "./google-docs/index.d.mts";
|
|
16
|
+
export * from "./microsoft-sharepoint/index.d.mts";
|
|
17
|
+
export * from "./environment.d.mts";
|