@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,277 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
|
|
2
|
+
/**
|
|
3
|
+
* @description Configuration for the GitLab service
|
|
4
|
+
* @summary Extends {@link HttpApiServiceConfig} with the GitLab personal
|
|
5
|
+
* access token (sent as the `PRIVATE-TOKEN` header) and the default
|
|
6
|
+
* `projectId` used when a call does not override it. When omitted, the
|
|
7
|
+
* `devops.gitlab` environment slice supplies the token (and optional
|
|
8
|
+
* `projectId`, `baseUrl`, `timeout`).
|
|
9
|
+
* @category DevOps
|
|
10
|
+
* @memberOf module:integrations/devops/gitlab/service
|
|
11
|
+
*/
|
|
12
|
+
export interface GitlabServiceConfig extends HttpApiServiceConfig {
|
|
13
|
+
/**
|
|
14
|
+
* @description GitLab personal access token
|
|
15
|
+
* @summary Sent as the `PRIVATE-TOKEN` header with every API call.
|
|
16
|
+
*/
|
|
17
|
+
token?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description Default project ID used when a call does not override it
|
|
20
|
+
* @summary Accepts the URL-encoded project path or the numeric project ID.
|
|
21
|
+
*/
|
|
22
|
+
projectId?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* @description Input for creating a GitLab issue
|
|
26
|
+
* @summary Carries the optional `projectId` override, the required issue
|
|
27
|
+
* `title`, and the optional description, comma-separated `labels`,
|
|
28
|
+
* `assigneeIds`, and `milestoneId`.
|
|
29
|
+
* @category DevOps
|
|
30
|
+
* @memberOf module:integrations/devops/gitlab/service
|
|
31
|
+
*/
|
|
32
|
+
export interface GitlabIssueInput {
|
|
33
|
+
/**
|
|
34
|
+
* @description Project ID for this call
|
|
35
|
+
* @summary Falls back to the configured `GitlabServiceConfig.projectId`.
|
|
36
|
+
*/
|
|
37
|
+
projectId?: string;
|
|
38
|
+
/**
|
|
39
|
+
* @description Issue title (required by the GitLab API)
|
|
40
|
+
*/
|
|
41
|
+
title: string;
|
|
42
|
+
/**
|
|
43
|
+
* @description Issue description in markdown
|
|
44
|
+
*/
|
|
45
|
+
description?: string;
|
|
46
|
+
/**
|
|
47
|
+
* @description Comma-separated label names to apply
|
|
48
|
+
*/
|
|
49
|
+
labels?: string;
|
|
50
|
+
/**
|
|
51
|
+
* @description GitLab user IDs to assign
|
|
52
|
+
*/
|
|
53
|
+
assigneeIds?: number[];
|
|
54
|
+
/**
|
|
55
|
+
* @description Milestone ID to associate
|
|
56
|
+
*/
|
|
57
|
+
milestoneId?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* @description Normalized GitLab issue descriptor
|
|
61
|
+
* @summary Maps the raw GitLab issue payload onto camelCase fields: identity
|
|
62
|
+
* (`iid`, `title`, `state`), `webUrl`, description and author, `labels`,
|
|
63
|
+
* and `createdAt`/`updatedAt` timestamps.
|
|
64
|
+
* @category DevOps
|
|
65
|
+
* @memberOf module:integrations/devops/gitlab/service
|
|
66
|
+
*/
|
|
67
|
+
export interface GitlabIssue {
|
|
68
|
+
projectId?: string;
|
|
69
|
+
iid: number;
|
|
70
|
+
title: string;
|
|
71
|
+
state?: string;
|
|
72
|
+
webUrl?: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
author?: string;
|
|
75
|
+
labels?: string[];
|
|
76
|
+
createdAt?: string;
|
|
77
|
+
updatedAt?: string;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* @description Options for listing GitLab issues or merge requests
|
|
81
|
+
* @summary Carries the optional `projectId` override, the `state` filter, a
|
|
82
|
+
* page size (`limit`) and `page` number for paging, a comma-separated
|
|
83
|
+
* `labels` filter, and a `search` term. Merge-request listings pass the state
|
|
84
|
+
* through unchanged except for `"all"`, which GitLab models by omitting the
|
|
85
|
+
* parameter.
|
|
86
|
+
* @category DevOps
|
|
87
|
+
* @memberOf module:integrations/devops/gitlab/service
|
|
88
|
+
*/
|
|
89
|
+
export interface GitlabListOptions {
|
|
90
|
+
/**
|
|
91
|
+
* @description Project ID for this call
|
|
92
|
+
* @summary Falls back to the configured `GitlabServiceConfig.projectId`.
|
|
93
|
+
*/
|
|
94
|
+
projectId?: string;
|
|
95
|
+
/**
|
|
96
|
+
* @description Issue/merge-request state filter
|
|
97
|
+
*/
|
|
98
|
+
state?: "opened" | "closed" | "all";
|
|
99
|
+
/**
|
|
100
|
+
* @description Page size (GitLab's `per_page`); defaults to `30`
|
|
101
|
+
*/
|
|
102
|
+
limit?: number;
|
|
103
|
+
/**
|
|
104
|
+
* @description Page number to request
|
|
105
|
+
*/
|
|
106
|
+
page?: number;
|
|
107
|
+
/**
|
|
108
|
+
* @description Comma-separated label names to filter issues by
|
|
109
|
+
*/
|
|
110
|
+
labels?: string;
|
|
111
|
+
/**
|
|
112
|
+
* @description Search term matched against issue/merge-request titles and descriptions
|
|
113
|
+
*/
|
|
114
|
+
search?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* @description GitLab REST API integration service
|
|
118
|
+
* @summary An undecorated HTTP service for looking up projects,
|
|
119
|
+
* listing issues, creating issues, commenting on issues (notes), and listing
|
|
120
|
+
* merge requests. Project targets resolve per call from the input's
|
|
121
|
+
* `projectId`, falling back to the configured value, and throw
|
|
122
|
+
* `InternalError` when unresolved. The token is sent as the `PRIVATE-TOKEN`
|
|
123
|
+
* header, and transport failures are mapped to decaf errors via
|
|
124
|
+
* {@link httpError}.
|
|
125
|
+
* @class GitlabService
|
|
126
|
+
* @category DevOps
|
|
127
|
+
* @example
|
|
128
|
+
* ```ts
|
|
129
|
+
* import { GitlabService } from "@decaf-ts/integrations/devops/gitlab";
|
|
130
|
+
*
|
|
131
|
+
* const gitlab = new GitlabService();
|
|
132
|
+
* await gitlab.initialize({
|
|
133
|
+
* token: process.env.GRAPH_CREDENTIAL_GITLAB_TOKEN,
|
|
134
|
+
* projectId: "example-org%2Fexample-repo",
|
|
135
|
+
* });
|
|
136
|
+
* const issue = await gitlab.createIssue({
|
|
137
|
+
* title: "Bug report",
|
|
138
|
+
* description: "Something is broken",
|
|
139
|
+
* });
|
|
140
|
+
* ```
|
|
141
|
+
* @memberOf module:integrations/devops/gitlab/service
|
|
142
|
+
*/
|
|
143
|
+
export declare class GitlabService extends HttpApiService<GitlabServiceConfig> {
|
|
144
|
+
/**
|
|
145
|
+
* @description The provider name used in error messages
|
|
146
|
+
*/
|
|
147
|
+
protected readonly serviceName = "GitLab";
|
|
148
|
+
/**
|
|
149
|
+
* @description The GitLab REST v4 base URL
|
|
150
|
+
* @summary Used when the resolved config carries no `baseUrl`.
|
|
151
|
+
* @returns {string} `"https://gitlab.com/api/v4"`.
|
|
152
|
+
*/
|
|
153
|
+
protected defaultBaseUrl(): string;
|
|
154
|
+
/**
|
|
155
|
+
* @description Builds the GitLab `PRIVATE-TOKEN` authorization headers
|
|
156
|
+
* @summary Returns the `PRIVATE-TOKEN: <token>` header when the config
|
|
157
|
+
* carries a token, and no headers otherwise.
|
|
158
|
+
* @param {GitlabServiceConfig} config - The resolved service configuration.
|
|
159
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
160
|
+
*/
|
|
161
|
+
protected authHeaders(config: GitlabServiceConfig): Record<string, string>;
|
|
162
|
+
/**
|
|
163
|
+
* @description Reads the GitLab credentials and defaults from the environment
|
|
164
|
+
* @summary Reads the `devops.gitlab` environment slice and returns a
|
|
165
|
+
* partial config when a token is configured, `undefined` otherwise. Values
|
|
166
|
+
* pass through `envString`/`envNumber` to reject unset-leaf proxies.
|
|
167
|
+
* @returns {Partial<GitlabServiceConfig> | undefined} A partial config, or `undefined` when no GitLab token is configured.
|
|
168
|
+
*/
|
|
169
|
+
protected configFromEnvironment(): Partial<GitlabServiceConfig> | undefined;
|
|
170
|
+
/**
|
|
171
|
+
* @description Resolves the URL-encoded project path for a call
|
|
172
|
+
* @summary Builds `/projects/<projectId>` from the given project ID,
|
|
173
|
+
* falling back to the configured value, and throws when neither is
|
|
174
|
+
* available.
|
|
175
|
+
* @param {string} [projectId] - The per-call project override (URL-encoded path or numeric ID).
|
|
176
|
+
* @returns {string} The URL-encoded project API path.
|
|
177
|
+
* @throws {InternalError} When neither the input nor the config yields a project ID.
|
|
178
|
+
*/
|
|
179
|
+
protected projectPath(projectId?: string): string;
|
|
180
|
+
/**
|
|
181
|
+
* @description Normalizes a raw GitLab issue payload
|
|
182
|
+
* @summary Maps the raw issue JSON onto a {@link GitlabIssue}: the author
|
|
183
|
+
* to its `username`, the label array to strings, and numeric/string fields
|
|
184
|
+
* are coerced. The project ID is echoed from the input, falling back to the
|
|
185
|
+
* configured value.
|
|
186
|
+
* @param {Record<string, unknown>} raw - The raw GitLab issue payload.
|
|
187
|
+
* @param {string} [projectId] - The project ID the issue belongs to.
|
|
188
|
+
* @returns {GitlabIssue} The normalized issue descriptor.
|
|
189
|
+
*/
|
|
190
|
+
protected mapIssue(raw: Record<string, unknown>, projectId?: string): GitlabIssue;
|
|
191
|
+
/**
|
|
192
|
+
* @description Fetches a GitLab project
|
|
193
|
+
* @summary `GET`s `/projects/<projectId>` for the given ID (falling back to
|
|
194
|
+
* the configured `projectId`) and returns the raw project payload.
|
|
195
|
+
* @param {string} [projectId] - The project to look up; defaults to the configured `projectId`.
|
|
196
|
+
* @returns {Promise<unknown>} The raw GitLab project payload.
|
|
197
|
+
* @throws {InternalError} When the project ID cannot be resolved.
|
|
198
|
+
* @throws {NotFoundError} When the project does not exist (HTTP 404).
|
|
199
|
+
* @throws {ConflictError} When GitLab answers with HTTP 409.
|
|
200
|
+
* @throws {BadRequestError} When GitLab answers with any other HTTP error status.
|
|
201
|
+
*/
|
|
202
|
+
getProject(projectId?: string): Promise<unknown>;
|
|
203
|
+
/**
|
|
204
|
+
* @description Lists GitLab issues with state, label, search, and page filtering
|
|
205
|
+
* @summary `GET`s `/projects/<projectId>/issues` with a `state` filter
|
|
206
|
+
* (default `"opened"`), a page size (`per_page`, default `30`), a page
|
|
207
|
+
* number, a comma-separated `labels` filter, and a `search` term.
|
|
208
|
+
* @param {GitlabListOptions} [options] - Project override, state, paging, label, and search options.
|
|
209
|
+
* @returns {Promise<GitlabIssue[]>} The normalized issues for the requested page.
|
|
210
|
+
* @throws {InternalError} When the project ID cannot be resolved.
|
|
211
|
+
* @throws {NotFoundError} When the project does not exist (HTTP 404).
|
|
212
|
+
* @throws {ConflictError} When GitLab answers with HTTP 409.
|
|
213
|
+
* @throws {BadRequestError} When GitLab answers with any other HTTP error status.
|
|
214
|
+
* @example
|
|
215
|
+
* ```ts
|
|
216
|
+
* const issues = await gitlab.listIssues({
|
|
217
|
+
* projectId: "example-org%2Fexample-repo",
|
|
218
|
+
* state: "opened",
|
|
219
|
+
* labels: "bug,priority::high",
|
|
220
|
+
* limit: 50,
|
|
221
|
+
* page: 1,
|
|
222
|
+
* });
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
listIssues(options?: GitlabListOptions): Promise<GitlabIssue[]>;
|
|
226
|
+
/**
|
|
227
|
+
* @description Creates a GitLab issue
|
|
228
|
+
* @summary `POST`s the title, description, labels, assignee IDs, and
|
|
229
|
+
* milestone ID to `/projects/<projectId>/issues` and returns the normalized
|
|
230
|
+
* issue descriptor. Requires a non-empty `title` and a resolvable project
|
|
231
|
+
* ID.
|
|
232
|
+
* @param {GitlabIssueInput} input - The issue content and project targeting.
|
|
233
|
+
* @returns {Promise<GitlabIssue>} The normalized created issue.
|
|
234
|
+
* @throws {InternalError} When the title is empty or the project ID cannot be resolved.
|
|
235
|
+
* @throws {NotFoundError} When the project does not exist (HTTP 404).
|
|
236
|
+
* @throws {ConflictError} When GitLab answers with HTTP 409.
|
|
237
|
+
* @throws {BadRequestError} When GitLab answers with any other HTTP error status (e.g. invalid labels or assignees).
|
|
238
|
+
*/
|
|
239
|
+
createIssue(input: GitlabIssueInput): Promise<GitlabIssue>;
|
|
240
|
+
/**
|
|
241
|
+
* @description Comments on a GitLab issue
|
|
242
|
+
* @summary `POST`s the comment body as a note to
|
|
243
|
+
* `/projects/<projectId>/issues/<iid>/notes` and returns the note
|
|
244
|
+
* identifier and its web URL. Requires a non-empty issue IID and body.
|
|
245
|
+
* @param {object} input - The comment target and body.
|
|
246
|
+
* @param {string} [input.projectId] - The project override; falls back to the configured `projectId`.
|
|
247
|
+
* @param {number} input.iid - The issue's project-scoped IID.
|
|
248
|
+
* @param {string} input.body - The comment body.
|
|
249
|
+
* @returns {Promise<{id: number, webUrl?: string}>} The created note's ID and web URL.
|
|
250
|
+
* @throws {InternalError} When the issue IID or body is empty, or the project ID cannot be resolved.
|
|
251
|
+
* @throws {NotFoundError} When the issue does not exist (HTTP 404).
|
|
252
|
+
* @throws {ConflictError} When GitLab answers with HTTP 409.
|
|
253
|
+
* @throws {BadRequestError} When GitLab answers with any other HTTP error status.
|
|
254
|
+
*/
|
|
255
|
+
commentOnIssue(input: {
|
|
256
|
+
projectId?: string;
|
|
257
|
+
iid: number;
|
|
258
|
+
body: string;
|
|
259
|
+
}): Promise<{
|
|
260
|
+
id: number;
|
|
261
|
+
webUrl?: string;
|
|
262
|
+
}>;
|
|
263
|
+
/**
|
|
264
|
+
* @description Lists GitLab merge requests with state, search, and page filtering
|
|
265
|
+
* @summary `GET`s `/projects/<projectId>/merge_requests` with a `state`
|
|
266
|
+
* filter (default `"opened"`; `"all"` is sent as no state parameter),
|
|
267
|
+
* a page size (`per_page`, default `30`), a page number, and a `search`
|
|
268
|
+
* term. Merge requests are returned as raw GitLab payloads.
|
|
269
|
+
* @param {GitlabListOptions} [options] - Project override, state, paging, and search options.
|
|
270
|
+
* @returns {Promise<unknown[]>} The raw GitLab merge-request payloads.
|
|
271
|
+
* @throws {InternalError} When the project ID cannot be resolved.
|
|
272
|
+
* @throws {NotFoundError} When the project does not exist (HTTP 404).
|
|
273
|
+
* @throws {ConflictError} When GitLab answers with HTTP 409.
|
|
274
|
+
* @throws {BadRequestError} When GitLab answers with any other HTTP error status.
|
|
275
|
+
*/
|
|
276
|
+
listMergeRequests(options?: GitlabListOptions): Promise<unknown[]>;
|
|
277
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/devops
|
|
3
|
+
* @summary DevOps integration services (GitHub, GitLab).
|
|
4
|
+
* @description Re-exports the repository-hosting services, their per-service
|
|
5
|
+
* modules, and the shared `devops` environment slice. Each sub-module is also
|
|
6
|
+
* available through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./github/index.d.cts";
|
|
9
|
+
export * from "./gitlab/index.d.cts";
|
|
10
|
+
export * from "./environment.d.cts";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module integrations/devops
|
|
3
|
+
* @summary DevOps integration services (GitHub, GitLab).
|
|
4
|
+
* @description Re-exports the repository-hosting services, their per-service
|
|
5
|
+
* modules, and the shared `devops` environment slice. Each sub-module is also
|
|
6
|
+
* available through its own package subpath export.
|
|
7
|
+
*/
|
|
8
|
+
export * from "./github/index.d.mts";
|
|
9
|
+
export * from "./gitlab/index.d.mts";
|
|
10
|
+
export * from "./environment.d.mts";
|
package/lib/types/index.d.cts
CHANGED
|
@@ -7,6 +7,6 @@ export * from "./utils.d.cts";
|
|
|
7
7
|
export * from "./namespaces/index.d.cts";
|
|
8
8
|
export * from "./feature-flags/index.d.cts";
|
|
9
9
|
export declare const VERSION: string;
|
|
10
|
-
export declare const COMMIT = "
|
|
11
|
-
export declare const FULL_VERSION = "0.
|
|
10
|
+
export declare const COMMIT = "91b0244";
|
|
11
|
+
export declare const FULL_VERSION = "0.13.0-91b0244";
|
|
12
12
|
export declare const PACKAGE_NAME: string;
|
package/lib/types/index.d.mts
CHANGED
|
@@ -7,6 +7,6 @@ export * from "./utils.d.mts";
|
|
|
7
7
|
export * from "./namespaces/index.d.mts";
|
|
8
8
|
export * from "./feature-flags/index.d.mts";
|
|
9
9
|
export declare const VERSION: string;
|
|
10
|
-
export declare const COMMIT = "
|
|
11
|
-
export declare const FULL_VERSION = "0.
|
|
10
|
+
export declare const COMMIT = "91b0244";
|
|
11
|
+
export declare const FULL_VERSION = "0.13.0-91b0244";
|
|
12
12
|
export declare const PACKAGE_NAME: string;
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
|
|
2
|
+
/**
|
|
3
|
+
* @description Configuration for the Airtable service
|
|
4
|
+
* @summary Extends {@link HttpApiServiceConfig} with the Airtable personal
|
|
5
|
+
* access token (sent as a bearer token) and the default `baseId` used when a
|
|
6
|
+
* call does not override it. When omitted, the `io.airtable` environment
|
|
7
|
+
* slice supplies the token (and optional `baseId`, `baseUrl`, `timeout`).
|
|
8
|
+
* @category IO
|
|
9
|
+
* @memberOf module:integrations/io/airtable/service
|
|
10
|
+
*/
|
|
11
|
+
export interface AirtableServiceConfig extends HttpApiServiceConfig {
|
|
12
|
+
/**
|
|
13
|
+
* @description Airtable personal access token
|
|
14
|
+
* @summary Sent as `Authorization: Bearer <token>` with every API call.
|
|
15
|
+
*/
|
|
16
|
+
token?: string;
|
|
17
|
+
/**
|
|
18
|
+
* @description Default base ID used when a call does not override it
|
|
19
|
+
*/
|
|
20
|
+
baseId?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @description Normalized Airtable record descriptor
|
|
24
|
+
* @summary The Airtable record envelope: the record `id`, the `fields` map
|
|
25
|
+
* (column name to value), and the optional `createdTime` timestamp.
|
|
26
|
+
* @category IO
|
|
27
|
+
* @memberOf module:integrations/io/airtable/service
|
|
28
|
+
*/
|
|
29
|
+
export interface AirtableRecord {
|
|
30
|
+
id: string;
|
|
31
|
+
fields: Record<string, unknown>;
|
|
32
|
+
createdTime?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* @description Options for listing Airtable records
|
|
36
|
+
* @summary Carries the required `table` name plus the view, formula filter,
|
|
37
|
+
* record caps and paging offset, field projection, and first-sort configuration
|
|
38
|
+
* Airtable supports. Only the first sort entry is sent (Airtable's
|
|
39
|
+
* `sort[0][field]`/`sort[0][direction]` query parameters); paging works by
|
|
40
|
+
* passing the previous page's `offset` back as `offset`.
|
|
41
|
+
* @category IO
|
|
42
|
+
* @memberOf module:integrations/io/airtable/service
|
|
43
|
+
*/
|
|
44
|
+
export interface AirtableListOptions {
|
|
45
|
+
/**
|
|
46
|
+
* @description Table name or ID to list records from (required)
|
|
47
|
+
*/
|
|
48
|
+
table: string;
|
|
49
|
+
/**
|
|
50
|
+
* @description View name or ID to restrict the listing to
|
|
51
|
+
*/
|
|
52
|
+
view?: string;
|
|
53
|
+
/**
|
|
54
|
+
* @description Airtable formula restricting the returned records (e.g. `"{Status} = 'Active'"`)
|
|
55
|
+
*/
|
|
56
|
+
filterByFormula?: string;
|
|
57
|
+
/**
|
|
58
|
+
* @description Maximum number of records to return in total
|
|
59
|
+
*/
|
|
60
|
+
maxRecords?: number;
|
|
61
|
+
/**
|
|
62
|
+
* @description Number of records per page
|
|
63
|
+
*/
|
|
64
|
+
pageSize?: number;
|
|
65
|
+
/**
|
|
66
|
+
* @description The `offset` from the previous page's result
|
|
67
|
+
*/
|
|
68
|
+
offset?: string;
|
|
69
|
+
/**
|
|
70
|
+
* @description Column names to project
|
|
71
|
+
*/
|
|
72
|
+
fields?: string[];
|
|
73
|
+
/**
|
|
74
|
+
* @description First sort entry applied to the listing
|
|
75
|
+
*/
|
|
76
|
+
sort?: Array<{
|
|
77
|
+
field: string;
|
|
78
|
+
direction?: "asc" | "desc";
|
|
79
|
+
}>;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @description Result of an Airtable record listing
|
|
83
|
+
* @summary Carries the page of `records` and the `offset` cursor to pass back
|
|
84
|
+
* as `AirtableListOptions.offset` when more pages exist.
|
|
85
|
+
* @category IO
|
|
86
|
+
* @memberOf module:integrations/io/airtable/service
|
|
87
|
+
*/
|
|
88
|
+
export interface AirtableListResult {
|
|
89
|
+
records: AirtableRecord[];
|
|
90
|
+
offset?: string;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* @description Input for creating or updating an Airtable record
|
|
94
|
+
* @summary Carries the required `table` name, the `fields` map to write, and
|
|
95
|
+
* the `typecast` flag letting Airtable convert values to the column types.
|
|
96
|
+
* `updateRecord` additionally carries the `recordId`.
|
|
97
|
+
* @category IO
|
|
98
|
+
* @memberOf module:integrations/io/airtable/service
|
|
99
|
+
*/
|
|
100
|
+
export interface AirtableWriteInput {
|
|
101
|
+
table: string;
|
|
102
|
+
fields: Record<string, unknown>;
|
|
103
|
+
typecast?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* @description Airtable Web API integration service
|
|
107
|
+
* @summary An undecorated HTTP service for listing records
|
|
108
|
+
* with filtering, sorting, and cursor paging; fetching, creating, updating,
|
|
109
|
+
* and deleting individual records. Base targets resolve per call from the
|
|
110
|
+
* `baseId` argument, falling back to the configured value, and throw
|
|
111
|
+
* `InternalError` when unresolved. Every operation requires a token
|
|
112
|
+
* (`requireToken()`), and transport failures are mapped to decaf errors via
|
|
113
|
+
* {@link httpError}.
|
|
114
|
+
* @class AirtableService
|
|
115
|
+
* @category IO
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* import { AirtableService } from "@decaf-ts/integrations/io/airtable";
|
|
119
|
+
*
|
|
120
|
+
* const airtable = new AirtableService();
|
|
121
|
+
* await airtable.initialize({
|
|
122
|
+
* token: process.env.GRAPH_CREDENTIAL_AIRTABLE_TOKEN,
|
|
123
|
+
* baseId: "appExampleBase",
|
|
124
|
+
* });
|
|
125
|
+
* const created = await airtable.createRecord({
|
|
126
|
+
* table: "Tasks",
|
|
127
|
+
* fields: { Name: "Ship release", Status: "Todo" },
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
* @memberOf module:integrations/io/airtable/service
|
|
131
|
+
*/
|
|
132
|
+
export declare class AirtableService extends HttpApiService<AirtableServiceConfig> {
|
|
133
|
+
/**
|
|
134
|
+
* @description The provider name used in error messages
|
|
135
|
+
*/
|
|
136
|
+
protected readonly serviceName = "Airtable";
|
|
137
|
+
/**
|
|
138
|
+
* @description The Airtable Web API v0 base URL
|
|
139
|
+
* @summary Used when the resolved config carries no `baseUrl`.
|
|
140
|
+
* @returns {string} `"https://api.airtable.com/v0"`.
|
|
141
|
+
*/
|
|
142
|
+
protected defaultBaseUrl(): string;
|
|
143
|
+
/**
|
|
144
|
+
* @description Builds the Airtable bearer authorization headers
|
|
145
|
+
* @summary Returns the `Authorization: Bearer <token>` header when the
|
|
146
|
+
* config carries a token, and no headers otherwise.
|
|
147
|
+
* @param {AirtableServiceConfig} config - The resolved service configuration.
|
|
148
|
+
* @returns {Record<string, string>} The authorization headers (empty without a token).
|
|
149
|
+
*/
|
|
150
|
+
protected authHeaders(config: AirtableServiceConfig): Record<string, string>;
|
|
151
|
+
/**
|
|
152
|
+
* @description Reads the Airtable credentials and defaults from the environment
|
|
153
|
+
* @summary Reads the `io.airtable` environment slice and returns a partial
|
|
154
|
+
* config when a token is configured, `undefined` otherwise. Values pass
|
|
155
|
+
* through `envString`/`envNumber` to reject unset-leaf proxies.
|
|
156
|
+
* @returns {Partial<AirtableServiceConfig> | undefined} A partial config, or `undefined` when no Airtable token is configured.
|
|
157
|
+
*/
|
|
158
|
+
protected configFromEnvironment(): Partial<AirtableServiceConfig> | undefined;
|
|
159
|
+
/**
|
|
160
|
+
* @description Resolves the URL-encoded base path for a call
|
|
161
|
+
* @summary Builds `/<baseId>` from the given base ID, falling back to the
|
|
162
|
+
* configured value, and throws when neither is available.
|
|
163
|
+
* @param {string} [baseId] - The per-call base override.
|
|
164
|
+
* @returns {string} The URL-encoded base API path.
|
|
165
|
+
* @throws {InternalError} When neither the input nor the config yields a base ID.
|
|
166
|
+
*/
|
|
167
|
+
protected basePath(baseId?: string): string;
|
|
168
|
+
/**
|
|
169
|
+
* @description Resolves the URL-encoded table path for a call
|
|
170
|
+
* @summary Builds `<basePath>/<table>` with both segments URL-encoded, and
|
|
171
|
+
* throws when the table name is empty (or the base cannot be resolved).
|
|
172
|
+
* @param {string} table - The table name or ID.
|
|
173
|
+
* @param {string} [baseId] - The per-call base override.
|
|
174
|
+
* @returns {string} The URL-encoded table API path.
|
|
175
|
+
* @throws {InternalError} When the table name is empty or the base ID cannot be resolved.
|
|
176
|
+
*/
|
|
177
|
+
protected tablePath(table: string, baseId?: string): string;
|
|
178
|
+
/**
|
|
179
|
+
* @description Lists records in an Airtable table with cursor paging
|
|
180
|
+
* @summary `GET`s the table endpoint with the configured view, formula
|
|
181
|
+
* filter, record caps, page size, page offset, field projection, and first
|
|
182
|
+
* sort entry. Return the `offset` cursor as the next call's
|
|
183
|
+
* `AirtableListOptions.offset` to fetch further pages.
|
|
184
|
+
* @param {AirtableListOptions} options - The table and filter/sort/paging options.
|
|
185
|
+
* @param {string} [baseId] - The base override; falls back to the configured `baseId`.
|
|
186
|
+
* @returns {Promise<AirtableListResult>} The page of records and the next offset cursor when more pages exist.
|
|
187
|
+
* @throws {InternalError} When no token is configured or the table/base cannot be resolved.
|
|
188
|
+
* @throws {NotFoundError} When the base or table does not exist (HTTP 404).
|
|
189
|
+
* @throws {ConflictError} When Airtable answers with HTTP 409.
|
|
190
|
+
* @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid formula).
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* let offset: string | undefined;
|
|
194
|
+
* do {
|
|
195
|
+
* const page = await airtable.listRecords({
|
|
196
|
+
* table: "Tasks",
|
|
197
|
+
* filterByFormula: "{Status} = 'Active'",
|
|
198
|
+
* pageSize: 100,
|
|
199
|
+
* offset,
|
|
200
|
+
* sort: [{ field: "Name", direction: "asc" }],
|
|
201
|
+
* });
|
|
202
|
+
* console.log(page.records);
|
|
203
|
+
* offset = page.offset;
|
|
204
|
+
* } while (offset);
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
listRecords(options: AirtableListOptions, baseId?: string): Promise<AirtableListResult>;
|
|
208
|
+
/**
|
|
209
|
+
* @description Fetches a single Airtable record
|
|
210
|
+
* @summary `GET`s the table endpoint with the record ID appended and
|
|
211
|
+
* returns the record envelope.
|
|
212
|
+
* @param {string} table - The table name or ID.
|
|
213
|
+
* @param {string} recordId - The record ID to fetch (e.g. `"rec1234567890"`).
|
|
214
|
+
* @param {string} [baseId] - The base override; falls back to the configured `baseId`.
|
|
215
|
+
* @returns {Promise<AirtableRecord>} The record envelope.
|
|
216
|
+
* @throws {InternalError} When no token is configured or the table/base cannot be resolved.
|
|
217
|
+
* @throws {NotFoundError} When the record does not exist (HTTP 404).
|
|
218
|
+
* @throws {ConflictError} When Airtable answers with HTTP 409.
|
|
219
|
+
* @throws {BadRequestError} When Airtable answers with any other HTTP error status.
|
|
220
|
+
*/
|
|
221
|
+
getRecord(table: string, recordId: string, baseId?: string): Promise<AirtableRecord>;
|
|
222
|
+
/**
|
|
223
|
+
* @description Creates an Airtable record
|
|
224
|
+
* @summary `POST`s the fields map to the table endpoint; `typecast` lets
|
|
225
|
+
* Airtable coerce values into the column types (disabled by default).
|
|
226
|
+
* @param {AirtableWriteInput} input - The table, fields, and typecast option.
|
|
227
|
+
* @param {string} [baseId] - The base override; falls back to the configured `baseId`.
|
|
228
|
+
* @returns {Promise<AirtableRecord>} The created record envelope.
|
|
229
|
+
* @throws {InternalError} When no token is configured or the table/base cannot be resolved.
|
|
230
|
+
* @throws {NotFoundError} When the base or table does not exist (HTTP 404).
|
|
231
|
+
* @throws {ConflictError} When Airtable answers with HTTP 409.
|
|
232
|
+
* @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid field values).
|
|
233
|
+
*/
|
|
234
|
+
createRecord(input: AirtableWriteInput, baseId?: string): Promise<AirtableRecord>;
|
|
235
|
+
/**
|
|
236
|
+
* @description Updates an Airtable record
|
|
237
|
+
* @summary `PATCH`es the fields map onto the record identified by
|
|
238
|
+
* `recordId`; only the provided fields change. `typecast` lets Airtable
|
|
239
|
+
* coerce values into the column types (disabled by default).
|
|
240
|
+
* @param {AirtableWriteInput & {recordId: string}} input - The table, fields, typecast option, and target record ID.
|
|
241
|
+
* @param {string} [baseId] - The base override; falls back to the configured `baseId`.
|
|
242
|
+
* @returns {Promise<AirtableRecord>} The updated record envelope.
|
|
243
|
+
* @throws {InternalError} When no token is configured or the table/base cannot be resolved.
|
|
244
|
+
* @throws {NotFoundError} When the record does not exist (HTTP 404).
|
|
245
|
+
* @throws {ConflictError} When Airtable answers with HTTP 409.
|
|
246
|
+
* @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid field values).
|
|
247
|
+
*/
|
|
248
|
+
updateRecord(input: AirtableWriteInput & {
|
|
249
|
+
recordId: string;
|
|
250
|
+
}, baseId?: string): Promise<AirtableRecord>;
|
|
251
|
+
/**
|
|
252
|
+
* @description Deletes an Airtable record
|
|
253
|
+
* @summary `DELETE`s the record identified by `recordId` and returns the
|
|
254
|
+
* Airtable deletion confirmation.
|
|
255
|
+
* @param {string} table - The table name or ID.
|
|
256
|
+
* @param {string} recordId - The record ID to delete.
|
|
257
|
+
* @param {string} [baseId] - The base override; falls back to the configured `baseId`.
|
|
258
|
+
* @returns {Promise<{id: string, deleted: boolean}>} The deleted record's ID and Airtable's `deleted` confirmation.
|
|
259
|
+
* @throws {InternalError} When no token is configured or the table/base cannot be resolved.
|
|
260
|
+
* @throws {NotFoundError} When the record does not exist (HTTP 404).
|
|
261
|
+
* @throws {ConflictError} When Airtable answers with HTTP 409.
|
|
262
|
+
* @throws {BadRequestError} When Airtable answers with any other HTTP error status.
|
|
263
|
+
*/
|
|
264
|
+
deleteRecord(table: string, recordId: string, baseId?: string): Promise<{
|
|
265
|
+
id: string;
|
|
266
|
+
deleted: boolean;
|
|
267
|
+
}>;
|
|
268
|
+
}
|