@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,287 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
|
|
2
|
+
/**
|
|
3
|
+
* @description Configuration for the GitHub service
|
|
4
|
+
* @summary Extends {@link HttpApiServiceConfig} with the GitHub personal
|
|
5
|
+
* access token (sent as a bearer token with the GitHub API version headers)
|
|
6
|
+
* and the default `owner`/`repo` used when a call does not override them.
|
|
7
|
+
* When omitted, the `devops.github` environment slice supplies the token
|
|
8
|
+
* (and optional `owner`, `repo`, `baseUrl`, `timeout`).
|
|
9
|
+
* @category DevOps
|
|
10
|
+
* @memberOf module:integrations/devops/github/service
|
|
11
|
+
*/
|
|
12
|
+
export interface GithubServiceConfig extends HttpApiServiceConfig {
|
|
13
|
+
/**
|
|
14
|
+
* @description GitHub personal access token
|
|
15
|
+
* @summary Sent as `Authorization: Bearer <token>` with every API call.
|
|
16
|
+
*/
|
|
17
|
+
token?: string;
|
|
18
|
+
/**
|
|
19
|
+
* @description Default repository owner used when a call does not override it
|
|
20
|
+
*/
|
|
21
|
+
owner?: string;
|
|
22
|
+
/**
|
|
23
|
+
* @description Default repository name used when a call does not override it
|
|
24
|
+
*/
|
|
25
|
+
repo?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* @description Repository targeting reference
|
|
29
|
+
* @summary Carries the optional `owner`/`repo` override for a single call;
|
|
30
|
+
* when either field is omitted the service falls back to the configured
|
|
31
|
+
* `GithubServiceConfig.owner`/`repo`. Operations that cannot resolve both
|
|
32
|
+
* values throw `InternalError`.
|
|
33
|
+
* @category DevOps
|
|
34
|
+
* @memberOf module:integrations/devops/github/service
|
|
35
|
+
*/
|
|
36
|
+
export interface GithubRepositoryRef {
|
|
37
|
+
/**
|
|
38
|
+
* @description Repository owner for this call
|
|
39
|
+
*/
|
|
40
|
+
owner?: string;
|
|
41
|
+
/**
|
|
42
|
+
* @description Repository name for this call
|
|
43
|
+
*/
|
|
44
|
+
repo?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* @description Input for creating a GitHub issue
|
|
48
|
+
* @summary Extends {@link GithubRepositoryRef} with the required issue
|
|
49
|
+
* `title` and the optional body, labels, assignees, and milestone number.
|
|
50
|
+
* @category DevOps
|
|
51
|
+
* @memberOf module:integrations/devops/github/service
|
|
52
|
+
*/
|
|
53
|
+
export interface GithubIssueInput extends GithubRepositoryRef {
|
|
54
|
+
/**
|
|
55
|
+
* @description Issue title (required by the GitHub API)
|
|
56
|
+
*/
|
|
57
|
+
title: string;
|
|
58
|
+
/**
|
|
59
|
+
* @description Issue body in markdown
|
|
60
|
+
*/
|
|
61
|
+
body?: string;
|
|
62
|
+
/**
|
|
63
|
+
* @description Label names to apply
|
|
64
|
+
*/
|
|
65
|
+
labels?: string[];
|
|
66
|
+
/**
|
|
67
|
+
* @description Usernames to assign
|
|
68
|
+
*/
|
|
69
|
+
assignees?: string[];
|
|
70
|
+
/**
|
|
71
|
+
* @description Milestone number to associate
|
|
72
|
+
*/
|
|
73
|
+
milestone?: number;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @description Normalized GitHub issue descriptor
|
|
77
|
+
* @summary Maps the raw GitHub issue payload onto camelCase fields: identity
|
|
78
|
+
* (`number`, `title`, `state`), `htmlUrl`, body and author, `labels` (label
|
|
79
|
+
* names only), `comments` count, and `createdAt`/`updatedAt` timestamps.
|
|
80
|
+
* Pull requests returned by the issues endpoint are filtered out.
|
|
81
|
+
* @category DevOps
|
|
82
|
+
* @memberOf module:integrations/devops/github/service
|
|
83
|
+
*/
|
|
84
|
+
export interface GithubIssue extends GithubRepositoryRef {
|
|
85
|
+
number: number;
|
|
86
|
+
title: string;
|
|
87
|
+
state?: string;
|
|
88
|
+
htmlUrl?: string;
|
|
89
|
+
body?: string;
|
|
90
|
+
user?: string;
|
|
91
|
+
labels?: string[];
|
|
92
|
+
comments?: number;
|
|
93
|
+
createdAt?: string;
|
|
94
|
+
updatedAt?: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* @description Options for listing GitHub issues or pull requests
|
|
98
|
+
* @summary Extends {@link GithubRepositoryRef} with the issue/PR `state`
|
|
99
|
+
* filter, a page size (`limit`) and `page` number for paging, and a
|
|
100
|
+
* comma-separated `labels` filter applied to issue listings.
|
|
101
|
+
* @category DevOps
|
|
102
|
+
* @memberOf module:integrations/devops/github/service
|
|
103
|
+
*/
|
|
104
|
+
export interface GithubListOptions extends GithubRepositoryRef {
|
|
105
|
+
/**
|
|
106
|
+
* @description Issue/PR state filter
|
|
107
|
+
*/
|
|
108
|
+
state?: "open" | "closed" | "all";
|
|
109
|
+
/**
|
|
110
|
+
* @description Page size (GitHub's `per_page`); defaults to `30`
|
|
111
|
+
*/
|
|
112
|
+
limit?: number;
|
|
113
|
+
/**
|
|
114
|
+
* @description Page number to request
|
|
115
|
+
*/
|
|
116
|
+
page?: number;
|
|
117
|
+
/**
|
|
118
|
+
* @description Comma-separated label names to filter issues by
|
|
119
|
+
*/
|
|
120
|
+
labels?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* @description GitHub REST API integration service
|
|
124
|
+
* @summary An undecorated HTTP service for looking up
|
|
125
|
+
* repositories, listing issues (excluding pull requests), creating issues,
|
|
126
|
+
* commenting on issues, and listing pull requests. Repository targets resolve
|
|
127
|
+
* per call from the input's `owner`/`repo`, falling back to the configured
|
|
128
|
+
* config values, and throw `InternalError` when unresolved. The token is sent
|
|
129
|
+
* as a bearer token with the GitHub `Accept` and API-version headers, and
|
|
130
|
+
* transport failures are mapped to decaf errors via {@link httpError}.
|
|
131
|
+
* @class GithubService
|
|
132
|
+
* @category DevOps
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts
|
|
135
|
+
* import { GithubService } from "@decaf-ts/integrations/devops/github";
|
|
136
|
+
*
|
|
137
|
+
* const github = new GithubService();
|
|
138
|
+
* await github.initialize({
|
|
139
|
+
* token: process.env.GRAPH_CREDENTIAL_GITHUB_TOKEN,
|
|
140
|
+
* owner: "example-org",
|
|
141
|
+
* repo: "example-repo",
|
|
142
|
+
* });
|
|
143
|
+
* const issue = await github.createIssue({
|
|
144
|
+
* title: "Bug report",
|
|
145
|
+
* body: "Something is broken",
|
|
146
|
+
* labels: ["bug"],
|
|
147
|
+
* });
|
|
148
|
+
* ```
|
|
149
|
+
* @memberOf module:integrations/devops/github/service
|
|
150
|
+
*/
|
|
151
|
+
export declare class GithubService extends HttpApiService<GithubServiceConfig> {
|
|
152
|
+
/**
|
|
153
|
+
* @description The provider name used in error messages
|
|
154
|
+
*/
|
|
155
|
+
protected readonly serviceName = "GitHub";
|
|
156
|
+
/**
|
|
157
|
+
* @description The GitHub REST API base URL
|
|
158
|
+
* @summary Used when the resolved config carries no `baseUrl`.
|
|
159
|
+
* @returns {string} `"https://api.github.com"`.
|
|
160
|
+
*/
|
|
161
|
+
protected defaultBaseUrl(): string;
|
|
162
|
+
/**
|
|
163
|
+
* @description Builds the GitHub authentication and API version headers
|
|
164
|
+
* @summary Returns `Authorization: Bearer <token>`, the GitHub JSON
|
|
165
|
+
* `Accept` header, and the `X-GitHub-Api-Version` header when the config
|
|
166
|
+
* carries a token; without a token only the `Accept` headers are sent.
|
|
167
|
+
* @param {GithubServiceConfig} config - The resolved service configuration.
|
|
168
|
+
* @returns {Record<string, string>} The authorization and version headers.
|
|
169
|
+
*/
|
|
170
|
+
protected authHeaders(config: GithubServiceConfig): Record<string, string>;
|
|
171
|
+
/**
|
|
172
|
+
* @description Reads the GitHub credentials and defaults from the environment
|
|
173
|
+
* @summary Reads the `devops.github` environment slice and returns a
|
|
174
|
+
* partial config when a token is configured, `undefined` otherwise. Values
|
|
175
|
+
* pass through `envString`/`envNumber` to reject unset-leaf proxies.
|
|
176
|
+
* @returns {Partial<GithubServiceConfig> | undefined} A partial config, or `undefined` when no GitHub token is configured.
|
|
177
|
+
*/
|
|
178
|
+
protected configFromEnvironment(): Partial<GithubServiceConfig> | undefined;
|
|
179
|
+
/**
|
|
180
|
+
* @description Resolves the URL-encoded repository path for a call
|
|
181
|
+
* @summary Builds `/repos/<owner>/<repo>` from the input's `owner`/`repo`,
|
|
182
|
+
* falling back to the configured config values, and throws when either
|
|
183
|
+
* value is missing.
|
|
184
|
+
* @param {GithubRepositoryRef} [input] - The per-call repository override.
|
|
185
|
+
* @returns {string} The URL-encoded repository API path.
|
|
186
|
+
* @throws {InternalError} When neither the input nor the config yields an owner and repository.
|
|
187
|
+
*/
|
|
188
|
+
protected repoPath(input?: GithubRepositoryRef): string;
|
|
189
|
+
/**
|
|
190
|
+
* @description Normalizes a raw GitHub issue payload
|
|
191
|
+
* @summary Maps the raw issue JSON onto a {@link GithubIssue}: label objects
|
|
192
|
+
* are reduced to names, the author to its `login`, and numeric/string
|
|
193
|
+
* fields are coerced. The repository reference is echoed from the input,
|
|
194
|
+
* falling back to the configured `owner`/`repo`.
|
|
195
|
+
* @param {Record<string, unknown>} raw - The raw GitHub issue payload.
|
|
196
|
+
* @param {GithubRepositoryRef} ref - The repository reference the issue belongs to.
|
|
197
|
+
* @returns {GithubIssue} The normalized issue descriptor.
|
|
198
|
+
*/
|
|
199
|
+
protected mapIssue(raw: Record<string, unknown>, ref: GithubRepositoryRef): GithubIssue;
|
|
200
|
+
/**
|
|
201
|
+
* @description Fetches a GitHub repository
|
|
202
|
+
* @summary `GET`s `/repos/<owner>/<repo>` for the given reference (falling
|
|
203
|
+
* back to the configured `owner`/`repo`) and returns the raw repository
|
|
204
|
+
* payload.
|
|
205
|
+
* @param {GithubRepositoryRef} [ref] - The repository to look up; defaults to the configured `owner`/`repo`.
|
|
206
|
+
* @returns {Promise<unknown>} The raw GitHub repository payload.
|
|
207
|
+
* @throws {InternalError} When the repository reference cannot be resolved.
|
|
208
|
+
* @throws {NotFoundError} When the repository does not exist (HTTP 404).
|
|
209
|
+
* @throws {ConflictError} When GitHub answers with HTTP 409.
|
|
210
|
+
* @throws {BadRequestError} When GitHub answers with any other HTTP error status.
|
|
211
|
+
*/
|
|
212
|
+
getRepository(ref?: GithubRepositoryRef): Promise<unknown>;
|
|
213
|
+
/**
|
|
214
|
+
* @description Lists GitHub issues with state, label, and page filtering
|
|
215
|
+
* @summary `GET`s `/repos/<owner>/<repo>/issues` with a `state` filter
|
|
216
|
+
* (default `"open"`), a page size (`per_page`, default `30`), a page
|
|
217
|
+
* number, and a comma-separated `labels` filter. Entries carrying a
|
|
218
|
+
* `pull_request` key are filtered out so only true issues are returned.
|
|
219
|
+
* @param {GithubListOptions} [options] - Repository override, state, paging, and label options.
|
|
220
|
+
* @returns {Promise<GithubIssue[]>} The normalized issues for the requested page.
|
|
221
|
+
* @throws {InternalError} When the repository reference cannot be resolved.
|
|
222
|
+
* @throws {NotFoundError} When the repository does not exist (HTTP 404).
|
|
223
|
+
* @throws {ConflictError} When GitHub answers with HTTP 409.
|
|
224
|
+
* @throws {BadRequestError} When GitHub answers with any other HTTP error status.
|
|
225
|
+
* @example
|
|
226
|
+
* ```ts
|
|
227
|
+
* let page = 1;
|
|
228
|
+
* for (;;) {
|
|
229
|
+
* const issues = await github.listIssues({
|
|
230
|
+
* state: "open",
|
|
231
|
+
* labels: "bug,priority:high",
|
|
232
|
+
* limit: 50,
|
|
233
|
+
* page,
|
|
234
|
+
* });
|
|
235
|
+
* if (issues.length === 0) break;
|
|
236
|
+
* page += 1;
|
|
237
|
+
* }
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
listIssues(options?: GithubListOptions): Promise<GithubIssue[]>;
|
|
241
|
+
/**
|
|
242
|
+
* @description Creates a GitHub issue
|
|
243
|
+
* @summary `POST`s the title, body, labels, assignees, and milestone to
|
|
244
|
+
* `/repos/<owner>/<repo>/issues` and returns the normalized issue
|
|
245
|
+
* descriptor. Requires a non-empty `title` and a resolvable repository
|
|
246
|
+
* reference.
|
|
247
|
+
* @param {GithubIssueInput} input - The issue content and repository targeting.
|
|
248
|
+
* @returns {Promise<GithubIssue>} The normalized created issue.
|
|
249
|
+
* @throws {InternalError} When the title is empty or the repository reference cannot be resolved.
|
|
250
|
+
* @throws {NotFoundError} When the repository does not exist (HTTP 404).
|
|
251
|
+
* @throws {ConflictError} When GitHub answers with HTTP 409.
|
|
252
|
+
* @throws {BadRequestError} When GitHub answers with any other HTTP error status (e.g. invalid labels or assignees).
|
|
253
|
+
*/
|
|
254
|
+
createIssue(input: GithubIssueInput): Promise<GithubIssue>;
|
|
255
|
+
/**
|
|
256
|
+
* @description Comments on a GitHub issue
|
|
257
|
+
* @summary `POST`s the comment body to
|
|
258
|
+
* `/repos/<owner>/<repo>/issues/<number>/comments` and returns the comment
|
|
259
|
+
* identifier and its HTML URL. Requires a non-empty issue number and body.
|
|
260
|
+
* @param {GithubRepositoryRef & {number: number, body: string}} input - The repository targeting, issue number, and comment body.
|
|
261
|
+
* @returns {Promise<{id: number, htmlUrl?: string}>} The created comment's ID and HTML URL.
|
|
262
|
+
* @throws {InternalError} When the issue number or body is empty, or the repository reference cannot be resolved.
|
|
263
|
+
* @throws {NotFoundError} When the issue does not exist (HTTP 404).
|
|
264
|
+
* @throws {ConflictError} When GitHub answers with HTTP 409.
|
|
265
|
+
* @throws {BadRequestError} When GitHub answers with any other HTTP error status.
|
|
266
|
+
*/
|
|
267
|
+
commentOnIssue(input: GithubRepositoryRef & {
|
|
268
|
+
number: number;
|
|
269
|
+
body: string;
|
|
270
|
+
}): Promise<{
|
|
271
|
+
id: number;
|
|
272
|
+
htmlUrl?: string;
|
|
273
|
+
}>;
|
|
274
|
+
/**
|
|
275
|
+
* @description Lists GitHub pull requests with state and page filtering
|
|
276
|
+
* @summary `GET`s `/repos/<owner>/<repo>/pulls` with a `state` filter
|
|
277
|
+
* (default `"open"`), a page size (`per_page`, default `30`), and a page
|
|
278
|
+
* number. Pull requests are returned as raw GitHub payloads.
|
|
279
|
+
* @param {GithubListOptions} [options] - Repository override, state, and paging options.
|
|
280
|
+
* @returns {Promise<unknown[]>} The raw GitHub pull-request payloads.
|
|
281
|
+
* @throws {InternalError} When the repository reference cannot be resolved.
|
|
282
|
+
* @throws {NotFoundError} When the repository does not exist (HTTP 404).
|
|
283
|
+
* @throws {ConflictError} When GitHub answers with HTTP 409.
|
|
284
|
+
* @throws {BadRequestError} When GitHub answers with any other HTTP error status.
|
|
285
|
+
*/
|
|
286
|
+
listPullRequests(options?: GithubListOptions): Promise<unknown[]>;
|
|
287
|
+
}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
|
|
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
|
+
}
|