@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,190 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
|
|
2
|
+
import { type EmailMessageInput } from "../email/mime.d.cts";
|
|
3
|
+
/**
|
|
4
|
+
* @description Configuration for the Gmail service
|
|
5
|
+
* @summary Extends {@link HttpApiServiceConfig} with the OAuth access token
|
|
6
|
+
* (sent as a bearer token) and the mailbox `userId` used in the API path
|
|
7
|
+
* (defaults to `"me"`). When omitted, the `comms.gmail` environment slice
|
|
8
|
+
* supplies the token (and optional `userId`, `baseUrl`, `timeout`).
|
|
9
|
+
* @category Comms
|
|
10
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
11
|
+
*/
|
|
12
|
+
export interface GmailServiceConfig extends HttpApiServiceConfig {
|
|
13
|
+
/**
|
|
14
|
+
* @description Gmail API OAuth access token
|
|
15
|
+
* @summary Sent as `Authorization: Bearer <token>` with every API call.
|
|
16
|
+
*/
|
|
17
|
+
token?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description Mailbox user identifier
|
|
20
|
+
* @summary The special value `"me"` (the default) refers to the authenticated user.
|
|
21
|
+
*/
|
|
22
|
+
userId?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @description Result of a sent Gmail message
|
|
26
|
+
* @summary Echoes Gmail's identifiers for the sent message: the message `id`,
|
|
27
|
+
* its `threadId` when Gmail assigned one, and the applied `labelIds`.
|
|
28
|
+
* @category Comms
|
|
29
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
30
|
+
*/
|
|
31
|
+
export interface GmailSendResult {
|
|
32
|
+
id: string;
|
|
33
|
+
threadId?: string;
|
|
34
|
+
labelIds?: string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description Result of a Gmail message list call
|
|
38
|
+
* @summary Carries one page of message references (`messages` with `id` and
|
|
39
|
+
* optional `threadId`), the `nextPageToken` to pass back as `pageToken` for
|
|
40
|
+
* the next page, and Gmail's `resultSizeEstimate`.
|
|
41
|
+
* @category Comms
|
|
42
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
43
|
+
*/
|
|
44
|
+
export interface GmailListResult {
|
|
45
|
+
messages: Array<{
|
|
46
|
+
id: string;
|
|
47
|
+
threadId?: string;
|
|
48
|
+
}>;
|
|
49
|
+
nextPageToken?: string;
|
|
50
|
+
resultSizeEstimate?: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @description Gmail API integration service
|
|
54
|
+
* @summary An undecorated HTTP service for sending MIME-built
|
|
55
|
+
* emails, listing messages with Gmail query syntax and page tokens, fetching
|
|
56
|
+
* a single message in a chosen format, and listing labels. All operations
|
|
57
|
+
* require an OAuth token (`requireToken()`) and operate on the configured
|
|
58
|
+
* `userId` mailbox (default `"me"`); transport failures are mapped to decaf
|
|
59
|
+
* errors via {@link httpError}.
|
|
60
|
+
* @class GmailService
|
|
61
|
+
* @category Comms
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { GmailService } from "@decaf-ts/integrations/comms/gmail";
|
|
65
|
+
*
|
|
66
|
+
* const gmail = new GmailService();
|
|
67
|
+
* await gmail.initialize({
|
|
68
|
+
* token: process.env.GRAPH_CREDENTIAL_GMAIL_TOKEN,
|
|
69
|
+
* });
|
|
70
|
+
* await gmail.send({
|
|
71
|
+
* from: "bot@example.com",
|
|
72
|
+
* to: "ops@example.com",
|
|
73
|
+
* subject: "Deploy",
|
|
74
|
+
* text: "Release 1.2.0 is live",
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
78
|
+
*/
|
|
79
|
+
export declare class GmailService extends HttpApiService<GmailServiceConfig> {
|
|
80
|
+
/**
|
|
81
|
+
* @description The provider name used in error messages
|
|
82
|
+
*/
|
|
83
|
+
protected readonly serviceName = "Gmail";
|
|
84
|
+
/**
|
|
85
|
+
* @description The Gmail REST API base URL
|
|
86
|
+
* @summary Used when the resolved config carries no `baseUrl`.
|
|
87
|
+
* @returns {string} `"https://gmail.googleapis.com/gmail/v1"`.
|
|
88
|
+
*/
|
|
89
|
+
protected defaultBaseUrl(): string;
|
|
90
|
+
/**
|
|
91
|
+
* @description Builds the Gmail OAuth bearer authorization headers
|
|
92
|
+
* @summary Returns the `Authorization: Bearer <token>` header when the
|
|
93
|
+
* config carries a token, and no headers otherwise.
|
|
94
|
+
* @param {GmailServiceConfig} config - The resolved service configuration.
|
|
95
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
96
|
+
*/
|
|
97
|
+
protected authHeaders(config: GmailServiceConfig): Record<string, string>;
|
|
98
|
+
/**
|
|
99
|
+
* @description Reads the Gmail credentials and defaults from the environment
|
|
100
|
+
* @summary Reads the `comms.gmail` environment slice and returns a partial
|
|
101
|
+
* config when a token is configured, `undefined` otherwise. Values pass
|
|
102
|
+
* through `envString`/`envNumber` to reject unset-leaf proxies.
|
|
103
|
+
* @returns {Partial<GmailServiceConfig> | undefined} A partial config, or `undefined` when no Gmail token is configured.
|
|
104
|
+
*/
|
|
105
|
+
protected configFromEnvironment(): Partial<GmailServiceConfig> | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* @description Builds the mailbox-scoped API path
|
|
108
|
+
* @summary Returns `/users/<userId>` with the configured `userId` (or
|
|
109
|
+
* `"me"` when unset) URL-encoded; all message and label operations are
|
|
110
|
+
* relative to this path.
|
|
111
|
+
* @returns {string} The URL-encoded mailbox path.
|
|
112
|
+
*/
|
|
113
|
+
protected userPath(): string;
|
|
114
|
+
/**
|
|
115
|
+
* @description Sends an email through the Gmail API
|
|
116
|
+
* @summary Builds a raw MIME message from the input with the shared email
|
|
117
|
+
* MIME builder (`buildEmail`), base64url-encodes it, and `POST`s it to
|
|
118
|
+
* `users.messages.send`. Requires a token and a `from` sender address.
|
|
119
|
+
* @param {EmailMessageInput} input - The message envelope and body (`from`, `to`, `subject`, and optional `cc`/`bcc`/`text`/`html`/`replyTo`/`attachments`).
|
|
120
|
+
* @returns {Promise<GmailSendResult>} Gmail's identifiers for the sent message.
|
|
121
|
+
* @throws {InternalError} When no token is configured or the sender address is missing.
|
|
122
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
123
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
124
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status (e.g. invalid recipients).
|
|
125
|
+
*/
|
|
126
|
+
send(input: EmailMessageInput): Promise<GmailSendResult>;
|
|
127
|
+
/**
|
|
128
|
+
* @description Lists mailbox messages with Gmail query paging
|
|
129
|
+
* @summary `GET`s `users.messages.list` with an optional Gmail `query`
|
|
130
|
+
* (`q` parameter, e.g. `"from:user@example.com is:unread"`), a page size
|
|
131
|
+
* (default `25`), a `pageToken` from the previous page, and `labelIds`
|
|
132
|
+
* filtering. Returns the message references and the `nextPageToken` to pass
|
|
133
|
+
* back as `pageToken` for the next page.
|
|
134
|
+
* @param {object} [options] - Query and paging options.
|
|
135
|
+
* @param {string} [options.query] - Gmail search query (`q` parameter).
|
|
136
|
+
* @param {number} [options.maxResults] - Page size; defaults to `25`.
|
|
137
|
+
* @param {string} [options.pageToken] - The `nextPageToken` from the previous page.
|
|
138
|
+
* @param {string[]} [options.labelIds] - Label IDs the messages must carry.
|
|
139
|
+
* @returns {Promise<GmailListResult>} One page of message references with the next page token when more pages exist.
|
|
140
|
+
* @throws {InternalError} When no token is configured.
|
|
141
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
142
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
143
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status (e.g. invalid query).
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* let pageToken: string | undefined;
|
|
147
|
+
* do {
|
|
148
|
+
* const page = await gmail.listMessages({
|
|
149
|
+
* query: "is:unread",
|
|
150
|
+
* maxResults: 100,
|
|
151
|
+
* pageToken,
|
|
152
|
+
* });
|
|
153
|
+
* console.log(page.messages);
|
|
154
|
+
* pageToken = page.nextPageToken;
|
|
155
|
+
* } while (pageToken);
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
listMessages(options?: {
|
|
159
|
+
query?: string;
|
|
160
|
+
maxResults?: number;
|
|
161
|
+
pageToken?: string;
|
|
162
|
+
labelIds?: string[];
|
|
163
|
+
}): Promise<GmailListResult>;
|
|
164
|
+
/**
|
|
165
|
+
* @description Fetches a single Gmail message
|
|
166
|
+
* @summary `GET`s `users.messages.get` for the given message ID with the
|
|
167
|
+
* requested `format`. With `"full"` (the default) the payload includes the
|
|
168
|
+
* parsed body parts; `"metadata"` limits it to headers and labels,
|
|
169
|
+
* `"minimal"` to identifiers only, and `"raw"` returns the raw MIME string.
|
|
170
|
+
* @param {string} id - The Gmail message ID.
|
|
171
|
+
* @param {"full" | "metadata" | "minimal" | "raw"} [format] - The message format to request; defaults to `"full"`.
|
|
172
|
+
* @returns {Promise<Record<string, unknown>>} The raw Gmail message payload in the requested format.
|
|
173
|
+
* @throws {InternalError} When no token is configured or the message ID is empty.
|
|
174
|
+
* @throws {NotFoundError} When the message does not exist (HTTP 404).
|
|
175
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
176
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status.
|
|
177
|
+
*/
|
|
178
|
+
getMessage(id: string, format?: "full" | "metadata" | "minimal" | "raw"): Promise<Record<string, unknown>>;
|
|
179
|
+
/**
|
|
180
|
+
* @description Lists the mailbox's Gmail labels
|
|
181
|
+
* @summary `GET`s `users.labels.list` and returns the raw label payloads
|
|
182
|
+
* (including `id`, `name`, and `type`).
|
|
183
|
+
* @returns {Promise<Array<Record<string, unknown>>>} The raw Gmail label payloads.
|
|
184
|
+
* @throws {InternalError} When no token is configured.
|
|
185
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
186
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
187
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status.
|
|
188
|
+
*/
|
|
189
|
+
listLabels(): Promise<Array<Record<string, unknown>>>;
|
|
190
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
|
|
2
|
+
import { type EmailMessageInput } from "../email/mime.d.mts";
|
|
3
|
+
/**
|
|
4
|
+
* @description Configuration for the Gmail service
|
|
5
|
+
* @summary Extends {@link HttpApiServiceConfig} with the OAuth access token
|
|
6
|
+
* (sent as a bearer token) and the mailbox `userId` used in the API path
|
|
7
|
+
* (defaults to `"me"`). When omitted, the `comms.gmail` environment slice
|
|
8
|
+
* supplies the token (and optional `userId`, `baseUrl`, `timeout`).
|
|
9
|
+
* @category Comms
|
|
10
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
11
|
+
*/
|
|
12
|
+
export interface GmailServiceConfig extends HttpApiServiceConfig {
|
|
13
|
+
/**
|
|
14
|
+
* @description Gmail API OAuth access token
|
|
15
|
+
* @summary Sent as `Authorization: Bearer <token>` with every API call.
|
|
16
|
+
*/
|
|
17
|
+
token?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description Mailbox user identifier
|
|
20
|
+
* @summary The special value `"me"` (the default) refers to the authenticated user.
|
|
21
|
+
*/
|
|
22
|
+
userId?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @description Result of a sent Gmail message
|
|
26
|
+
* @summary Echoes Gmail's identifiers for the sent message: the message `id`,
|
|
27
|
+
* its `threadId` when Gmail assigned one, and the applied `labelIds`.
|
|
28
|
+
* @category Comms
|
|
29
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
30
|
+
*/
|
|
31
|
+
export interface GmailSendResult {
|
|
32
|
+
id: string;
|
|
33
|
+
threadId?: string;
|
|
34
|
+
labelIds?: string[];
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @description Result of a Gmail message list call
|
|
38
|
+
* @summary Carries one page of message references (`messages` with `id` and
|
|
39
|
+
* optional `threadId`), the `nextPageToken` to pass back as `pageToken` for
|
|
40
|
+
* the next page, and Gmail's `resultSizeEstimate`.
|
|
41
|
+
* @category Comms
|
|
42
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
43
|
+
*/
|
|
44
|
+
export interface GmailListResult {
|
|
45
|
+
messages: Array<{
|
|
46
|
+
id: string;
|
|
47
|
+
threadId?: string;
|
|
48
|
+
}>;
|
|
49
|
+
nextPageToken?: string;
|
|
50
|
+
resultSizeEstimate?: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* @description Gmail API integration service
|
|
54
|
+
* @summary An undecorated HTTP service for sending MIME-built
|
|
55
|
+
* emails, listing messages with Gmail query syntax and page tokens, fetching
|
|
56
|
+
* a single message in a chosen format, and listing labels. All operations
|
|
57
|
+
* require an OAuth token (`requireToken()`) and operate on the configured
|
|
58
|
+
* `userId` mailbox (default `"me"`); transport failures are mapped to decaf
|
|
59
|
+
* errors via {@link httpError}.
|
|
60
|
+
* @class GmailService
|
|
61
|
+
* @category Comms
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { GmailService } from "@decaf-ts/integrations/comms/gmail";
|
|
65
|
+
*
|
|
66
|
+
* const gmail = new GmailService();
|
|
67
|
+
* await gmail.initialize({
|
|
68
|
+
* token: process.env.GRAPH_CREDENTIAL_GMAIL_TOKEN,
|
|
69
|
+
* });
|
|
70
|
+
* await gmail.send({
|
|
71
|
+
* from: "bot@example.com",
|
|
72
|
+
* to: "ops@example.com",
|
|
73
|
+
* subject: "Deploy",
|
|
74
|
+
* text: "Release 1.2.0 is live",
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
* @memberOf module:integrations/comms/gmail/service
|
|
78
|
+
*/
|
|
79
|
+
export declare class GmailService extends HttpApiService<GmailServiceConfig> {
|
|
80
|
+
/**
|
|
81
|
+
* @description The provider name used in error messages
|
|
82
|
+
*/
|
|
83
|
+
protected readonly serviceName = "Gmail";
|
|
84
|
+
/**
|
|
85
|
+
* @description The Gmail REST API base URL
|
|
86
|
+
* @summary Used when the resolved config carries no `baseUrl`.
|
|
87
|
+
* @returns {string} `"https://gmail.googleapis.com/gmail/v1"`.
|
|
88
|
+
*/
|
|
89
|
+
protected defaultBaseUrl(): string;
|
|
90
|
+
/**
|
|
91
|
+
* @description Builds the Gmail OAuth bearer authorization headers
|
|
92
|
+
* @summary Returns the `Authorization: Bearer <token>` header when the
|
|
93
|
+
* config carries a token, and no headers otherwise.
|
|
94
|
+
* @param {GmailServiceConfig} config - The resolved service configuration.
|
|
95
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
96
|
+
*/
|
|
97
|
+
protected authHeaders(config: GmailServiceConfig): Record<string, string>;
|
|
98
|
+
/**
|
|
99
|
+
* @description Reads the Gmail credentials and defaults from the environment
|
|
100
|
+
* @summary Reads the `comms.gmail` environment slice and returns a partial
|
|
101
|
+
* config when a token is configured, `undefined` otherwise. Values pass
|
|
102
|
+
* through `envString`/`envNumber` to reject unset-leaf proxies.
|
|
103
|
+
* @returns {Partial<GmailServiceConfig> | undefined} A partial config, or `undefined` when no Gmail token is configured.
|
|
104
|
+
*/
|
|
105
|
+
protected configFromEnvironment(): Partial<GmailServiceConfig> | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* @description Builds the mailbox-scoped API path
|
|
108
|
+
* @summary Returns `/users/<userId>` with the configured `userId` (or
|
|
109
|
+
* `"me"` when unset) URL-encoded; all message and label operations are
|
|
110
|
+
* relative to this path.
|
|
111
|
+
* @returns {string} The URL-encoded mailbox path.
|
|
112
|
+
*/
|
|
113
|
+
protected userPath(): string;
|
|
114
|
+
/**
|
|
115
|
+
* @description Sends an email through the Gmail API
|
|
116
|
+
* @summary Builds a raw MIME message from the input with the shared email
|
|
117
|
+
* MIME builder (`buildEmail`), base64url-encodes it, and `POST`s it to
|
|
118
|
+
* `users.messages.send`. Requires a token and a `from` sender address.
|
|
119
|
+
* @param {EmailMessageInput} input - The message envelope and body (`from`, `to`, `subject`, and optional `cc`/`bcc`/`text`/`html`/`replyTo`/`attachments`).
|
|
120
|
+
* @returns {Promise<GmailSendResult>} Gmail's identifiers for the sent message.
|
|
121
|
+
* @throws {InternalError} When no token is configured or the sender address is missing.
|
|
122
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
123
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
124
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status (e.g. invalid recipients).
|
|
125
|
+
*/
|
|
126
|
+
send(input: EmailMessageInput): Promise<GmailSendResult>;
|
|
127
|
+
/**
|
|
128
|
+
* @description Lists mailbox messages with Gmail query paging
|
|
129
|
+
* @summary `GET`s `users.messages.list` with an optional Gmail `query`
|
|
130
|
+
* (`q` parameter, e.g. `"from:user@example.com is:unread"`), a page size
|
|
131
|
+
* (default `25`), a `pageToken` from the previous page, and `labelIds`
|
|
132
|
+
* filtering. Returns the message references and the `nextPageToken` to pass
|
|
133
|
+
* back as `pageToken` for the next page.
|
|
134
|
+
* @param {object} [options] - Query and paging options.
|
|
135
|
+
* @param {string} [options.query] - Gmail search query (`q` parameter).
|
|
136
|
+
* @param {number} [options.maxResults] - Page size; defaults to `25`.
|
|
137
|
+
* @param {string} [options.pageToken] - The `nextPageToken` from the previous page.
|
|
138
|
+
* @param {string[]} [options.labelIds] - Label IDs the messages must carry.
|
|
139
|
+
* @returns {Promise<GmailListResult>} One page of message references with the next page token when more pages exist.
|
|
140
|
+
* @throws {InternalError} When no token is configured.
|
|
141
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
142
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
143
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status (e.g. invalid query).
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* let pageToken: string | undefined;
|
|
147
|
+
* do {
|
|
148
|
+
* const page = await gmail.listMessages({
|
|
149
|
+
* query: "is:unread",
|
|
150
|
+
* maxResults: 100,
|
|
151
|
+
* pageToken,
|
|
152
|
+
* });
|
|
153
|
+
* console.log(page.messages);
|
|
154
|
+
* pageToken = page.nextPageToken;
|
|
155
|
+
* } while (pageToken);
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
listMessages(options?: {
|
|
159
|
+
query?: string;
|
|
160
|
+
maxResults?: number;
|
|
161
|
+
pageToken?: string;
|
|
162
|
+
labelIds?: string[];
|
|
163
|
+
}): Promise<GmailListResult>;
|
|
164
|
+
/**
|
|
165
|
+
* @description Fetches a single Gmail message
|
|
166
|
+
* @summary `GET`s `users.messages.get` for the given message ID with the
|
|
167
|
+
* requested `format`. With `"full"` (the default) the payload includes the
|
|
168
|
+
* parsed body parts; `"metadata"` limits it to headers and labels,
|
|
169
|
+
* `"minimal"` to identifiers only, and `"raw"` returns the raw MIME string.
|
|
170
|
+
* @param {string} id - The Gmail message ID.
|
|
171
|
+
* @param {"full" | "metadata" | "minimal" | "raw"} [format] - The message format to request; defaults to `"full"`.
|
|
172
|
+
* @returns {Promise<Record<string, unknown>>} The raw Gmail message payload in the requested format.
|
|
173
|
+
* @throws {InternalError} When no token is configured or the message ID is empty.
|
|
174
|
+
* @throws {NotFoundError} When the message does not exist (HTTP 404).
|
|
175
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
176
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status.
|
|
177
|
+
*/
|
|
178
|
+
getMessage(id: string, format?: "full" | "metadata" | "minimal" | "raw"): Promise<Record<string, unknown>>;
|
|
179
|
+
/**
|
|
180
|
+
* @description Lists the mailbox's Gmail labels
|
|
181
|
+
* @summary `GET`s `users.labels.list` and returns the raw label payloads
|
|
182
|
+
* (including `id`, `name`, and `type`).
|
|
183
|
+
* @returns {Promise<Array<Record<string, unknown>>>} The raw Gmail label payloads.
|
|
184
|
+
* @throws {InternalError} When no token is configured.
|
|
185
|
+
* @throws {NotFoundError} When the endpoint answers with HTTP 404.
|
|
186
|
+
* @throws {ConflictError} When Gmail answers with HTTP 409.
|
|
187
|
+
* @throws {BadRequestError} When Gmail answers with any other HTTP error status.
|
|
188
|
+
*/
|
|
189
|
+
listLabels(): Promise<Array<Record<string, unknown>>>;
|
|
190
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/comms
|
|
3
|
+
* @summary Comms integration services (Slack, Telegram, Teams, Gmail, Email).
|
|
4
|
+
* @description Re-exports the messaging/email services, their per-service
|
|
5
|
+
* modules, and the shared `comms` environment slice. Each sub-module is also
|
|
6
|
+
* available through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./email/index.d.cts";
|
|
9
|
+
export * from "./gmail/index.d.cts";
|
|
10
|
+
export * from "./slack/index.d.cts";
|
|
11
|
+
export * from "./teams/index.d.cts";
|
|
12
|
+
export * from "./telegram/index.d.cts";
|
|
13
|
+
export * from "./discord/index.d.cts";
|
|
14
|
+
export * from "./whatsapp/index.d.cts";
|
|
15
|
+
export * from "./outlook/index.d.cts";
|
|
16
|
+
export * from "./environment.d.cts";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/comms
|
|
3
|
+
* @summary Comms integration services (Slack, Telegram, Teams, Gmail, Email).
|
|
4
|
+
* @description Re-exports the messaging/email services, their per-service
|
|
5
|
+
* modules, and the shared `comms` environment slice. Each sub-module is also
|
|
6
|
+
* available through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./email/index.d.mts";
|
|
9
|
+
export * from "./gmail/index.d.mts";
|
|
10
|
+
export * from "./slack/index.d.mts";
|
|
11
|
+
export * from "./teams/index.d.mts";
|
|
12
|
+
export * from "./telegram/index.d.mts";
|
|
13
|
+
export * from "./discord/index.d.mts";
|
|
14
|
+
export * from "./whatsapp/index.d.mts";
|
|
15
|
+
export * from "./outlook/index.d.mts";
|
|
16
|
+
export * from "./environment.d.mts";
|