@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.
Files changed (610) hide show
  1. package/README.md +164 -0
  2. package/dist/integrations.cjs +1 -1
  3. package/dist/integrations.cjs.map +1 -1
  4. package/dist/integrations.js +1 -1
  5. package/dist/integrations.js.map +1 -1
  6. package/docker/mailpit-compose.yml +17 -0
  7. package/docker/postgres-compose.yml +26 -0
  8. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +12 -23
  9. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -1
  10. package/lib/cjs/blob/core/BlobStoreService.cjs +26 -25
  11. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -1
  12. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +12 -23
  13. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -1
  14. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +11 -16
  15. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -1
  16. package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +14 -16
  17. package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -1
  18. package/lib/cjs/calendar/environment.cjs +48 -0
  19. package/lib/cjs/calendar/environment.cjs.map +1 -0
  20. package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +338 -0
  21. package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +1 -0
  22. package/lib/cjs/calendar/google-calendar/index.cjs +20 -0
  23. package/lib/cjs/calendar/google-calendar/index.cjs.map +1 -0
  24. package/lib/cjs/comms/discord/DiscordService.cjs +318 -0
  25. package/lib/cjs/comms/discord/DiscordService.cjs.map +1 -0
  26. package/lib/cjs/comms/discord/index.cjs +19 -0
  27. package/lib/cjs/comms/discord/index.cjs.map +1 -0
  28. package/lib/cjs/comms/email/EmailService.cjs +376 -0
  29. package/lib/cjs/comms/email/EmailService.cjs.map +1 -0
  30. package/lib/cjs/comms/email/index.cjs +29 -0
  31. package/lib/cjs/comms/email/index.cjs.map +1 -0
  32. package/lib/cjs/comms/email/mime.cjs +225 -0
  33. package/lib/cjs/comms/email/mime.cjs.map +1 -0
  34. package/lib/cjs/comms/email/smtp.cjs +204 -0
  35. package/lib/cjs/comms/email/smtp.cjs.map +1 -0
  36. package/lib/cjs/comms/environment.cjs +79 -0
  37. package/lib/cjs/comms/environment.cjs.map +1 -0
  38. package/lib/cjs/comms/gmail/GmailService.cjs +235 -0
  39. package/lib/cjs/comms/gmail/GmailService.cjs.map +1 -0
  40. package/lib/cjs/comms/gmail/index.cjs +24 -0
  41. package/lib/cjs/comms/gmail/index.cjs.map +1 -0
  42. package/lib/cjs/comms/index.cjs +34 -0
  43. package/lib/cjs/comms/index.cjs.map +1 -0
  44. package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +325 -0
  45. package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +1 -0
  46. package/lib/cjs/comms/outlook/index.cjs +19 -0
  47. package/lib/cjs/comms/outlook/index.cjs.map +1 -0
  48. package/lib/cjs/comms/slack/SlackService.cjs +264 -0
  49. package/lib/cjs/comms/slack/SlackService.cjs.map +1 -0
  50. package/lib/cjs/comms/slack/index.cjs +24 -0
  51. package/lib/cjs/comms/slack/index.cjs.map +1 -0
  52. package/lib/cjs/comms/teams/TeamsService.cjs +212 -0
  53. package/lib/cjs/comms/teams/TeamsService.cjs.map +1 -0
  54. package/lib/cjs/comms/teams/index.cjs +24 -0
  55. package/lib/cjs/comms/teams/index.cjs.map +1 -0
  56. package/lib/cjs/comms/telegram/TelegramService.cjs +196 -0
  57. package/lib/cjs/comms/telegram/TelegramService.cjs.map +1 -0
  58. package/lib/cjs/comms/telegram/index.cjs +24 -0
  59. package/lib/cjs/comms/telegram/index.cjs.map +1 -0
  60. package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +274 -0
  61. package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +1 -0
  62. package/lib/cjs/comms/whatsapp/index.cjs +19 -0
  63. package/lib/cjs/comms/whatsapp/index.cjs.map +1 -0
  64. package/lib/cjs/devops/environment.cjs +43 -0
  65. package/lib/cjs/devops/environment.cjs.map +1 -0
  66. package/lib/cjs/devops/github/GithubService.cjs +302 -0
  67. package/lib/cjs/devops/github/GithubService.cjs.map +1 -0
  68. package/lib/cjs/devops/github/index.cjs +24 -0
  69. package/lib/cjs/devops/github/index.cjs.map +1 -0
  70. package/lib/cjs/devops/gitlab/GitlabService.cjs +282 -0
  71. package/lib/cjs/devops/gitlab/GitlabService.cjs.map +1 -0
  72. package/lib/cjs/devops/gitlab/index.cjs +24 -0
  73. package/lib/cjs/devops/gitlab/index.cjs.map +1 -0
  74. package/lib/cjs/devops/index.cjs +28 -0
  75. package/lib/cjs/devops/index.cjs.map +1 -0
  76. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -0
  77. package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -1
  78. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -0
  79. package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -1
  80. package/lib/cjs/index.cjs +3 -3
  81. package/lib/cjs/io/airtable/AirtableService.cjs +266 -0
  82. package/lib/cjs/io/airtable/AirtableService.cjs.map +1 -0
  83. package/lib/cjs/io/airtable/index.cjs +24 -0
  84. package/lib/cjs/io/airtable/index.cjs.map +1 -0
  85. package/lib/cjs/io/confluence/ConfluenceService.cjs +317 -0
  86. package/lib/cjs/io/confluence/ConfluenceService.cjs.map +1 -0
  87. package/lib/cjs/io/confluence/index.cjs +19 -0
  88. package/lib/cjs/io/confluence/index.cjs.map +1 -0
  89. package/lib/cjs/io/environment.cjs +74 -0
  90. package/lib/cjs/io/environment.cjs.map +1 -0
  91. package/lib/cjs/io/google-docs/GoogleDocsService.cjs +275 -0
  92. package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +1 -0
  93. package/lib/cjs/io/google-docs/index.cjs +19 -0
  94. package/lib/cjs/io/google-docs/index.cjs.map +1 -0
  95. package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +288 -0
  96. package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +1 -0
  97. package/lib/cjs/io/google-sheets/index.cjs +24 -0
  98. package/lib/cjs/io/google-sheets/index.cjs.map +1 -0
  99. package/lib/cjs/io/graphql/GraphqlService.cjs +143 -0
  100. package/lib/cjs/io/graphql/GraphqlService.cjs.map +1 -0
  101. package/lib/cjs/io/graphql/index.cjs +24 -0
  102. package/lib/cjs/io/graphql/index.cjs.map +1 -0
  103. package/lib/cjs/io/index.cjs +35 -0
  104. package/lib/cjs/io/index.cjs.map +1 -0
  105. package/lib/cjs/io/jira/JiraService.cjs +354 -0
  106. package/lib/cjs/io/jira/JiraService.cjs.map +1 -0
  107. package/lib/cjs/io/jira/index.cjs +19 -0
  108. package/lib/cjs/io/jira/index.cjs.map +1 -0
  109. package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +253 -0
  110. package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +1 -0
  111. package/lib/cjs/io/microsoft-excel/index.cjs +19 -0
  112. package/lib/cjs/io/microsoft-excel/index.cjs.map +1 -0
  113. package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +261 -0
  114. package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +1 -0
  115. package/lib/cjs/io/microsoft-sharepoint/index.cjs +19 -0
  116. package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +1 -0
  117. package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +205 -0
  118. package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +1 -0
  119. package/lib/cjs/io/spreadsheet/index.cjs +25 -0
  120. package/lib/cjs/io/spreadsheet/index.cjs.map +1 -0
  121. package/lib/cjs/namespaces/index.cjs +1 -0
  122. package/lib/cjs/namespaces/index.cjs.map +1 -1
  123. package/lib/cjs/namespaces/models/credential.model.cjs +115 -0
  124. package/lib/cjs/namespaces/models/credential.model.cjs.map +1 -0
  125. package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -0
  126. package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -1
  127. package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -0
  128. package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -1
  129. package/lib/cjs/namespaces/models/group.model.cjs +2 -0
  130. package/lib/cjs/namespaces/models/group.model.cjs.map +1 -1
  131. package/lib/cjs/namespaces/models/index.cjs +1 -0
  132. package/lib/cjs/namespaces/models/index.cjs.map +1 -1
  133. package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -0
  134. package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -1
  135. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -0
  136. package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -1
  137. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -0
  138. package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -1
  139. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -0
  140. package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -1
  141. package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -0
  142. package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -1
  143. package/lib/cjs/namespaces/models/permission.model.cjs +2 -0
  144. package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -1
  145. package/lib/cjs/namespaces/models/principal.model.cjs +2 -0
  146. package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -1
  147. package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -0
  148. package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -1
  149. package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -0
  150. package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -1
  151. package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -0
  152. package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -1
  153. package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -0
  154. package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -1
  155. package/lib/cjs/namespaces/models/role.model.cjs +2 -0
  156. package/lib/cjs/namespaces/models/role.model.cjs.map +1 -1
  157. package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -0
  158. package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -1
  159. package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -0
  160. package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -1
  161. package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -0
  162. package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -1
  163. package/lib/cjs/namespaces/models/tenant.model.cjs +2 -0
  164. package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -1
  165. package/lib/cjs/namespaces/models/user.model.cjs +2 -0
  166. package/lib/cjs/namespaces/models/user.model.cjs.map +1 -1
  167. package/lib/cjs/namespaces/rls/index.cjs +28 -0
  168. package/lib/cjs/namespaces/rls/index.cjs.map +1 -0
  169. package/lib/cjs/namespaces/rls/principal-resolver.cjs +66 -0
  170. package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +1 -0
  171. package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +269 -0
  172. package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +1 -0
  173. package/lib/cjs/namespaces/rls/rls.constants.cjs +79 -0
  174. package/lib/cjs/namespaces/rls/rls.constants.cjs.map +1 -0
  175. package/lib/cjs/namespaces/rls/rls.template.cjs +719 -0
  176. package/lib/cjs/namespaces/rls/rls.template.cjs.map +1 -0
  177. package/lib/cjs/namespaces/rls/rls.types.cjs +4 -0
  178. package/lib/cjs/namespaces/rls/rls.types.cjs.map +1 -0
  179. package/lib/cjs/namespaces/rls/session-binding.cjs +70 -0
  180. package/lib/cjs/namespaces/rls/session-binding.cjs.map +1 -0
  181. package/lib/cjs/namespaces/services/credential.service.cjs +327 -0
  182. package/lib/cjs/namespaces/services/credential.service.cjs.map +1 -0
  183. package/lib/cjs/namespaces/services/index.cjs +1 -0
  184. package/lib/cjs/namespaces/services/index.cjs.map +1 -1
  185. package/lib/cjs/namespaces/types.cjs +6 -1
  186. package/lib/cjs/namespaces/types.cjs.map +1 -1
  187. package/lib/cjs/redis/adapter.cjs +7 -1
  188. package/lib/cjs/redis/adapter.cjs.map +1 -1
  189. package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +80 -0
  190. package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +1 -0
  191. package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -15
  192. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -1
  193. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -16
  194. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -1
  195. package/lib/cjs/secrets/core/SecretReference.cjs +1 -0
  196. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -1
  197. package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +28 -0
  198. package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +1 -0
  199. package/lib/cjs/secrets/fs/FsSecretService.cjs +420 -0
  200. package/lib/cjs/secrets/fs/FsSecretService.cjs.map +1 -0
  201. package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +25 -0
  202. package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +1 -0
  203. package/lib/cjs/secrets/fs/index.cjs +27 -0
  204. package/lib/cjs/secrets/fs/index.cjs.map +1 -0
  205. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -16
  206. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -1
  207. package/lib/cjs/secrets/index.cjs +2 -0
  208. package/lib/cjs/secrets/index.cjs.map +1 -1
  209. package/lib/cjs/secrets/model/ModelSecretService.cjs +335 -43
  210. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -1
  211. package/lib/cjs/secrets/model/Secret.cjs +83 -5
  212. package/lib/cjs/secrets/model/Secret.cjs.map +1 -1
  213. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -16
  214. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -1
  215. package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -16
  216. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -1
  217. package/lib/cjs/shared/environmentValue.cjs +24 -0
  218. package/lib/cjs/shared/environmentValue.cjs.map +1 -1
  219. package/lib/cjs/shared/http/HttpApiService.cjs +190 -0
  220. package/lib/cjs/shared/http/HttpApiService.cjs.map +1 -0
  221. package/lib/cjs/shared/http/hermeticBoot.cjs +150 -0
  222. package/lib/cjs/shared/http/hermeticBoot.cjs.map +1 -0
  223. package/lib/cjs/shared/http/index.cjs +28 -0
  224. package/lib/cjs/shared/http/index.cjs.map +1 -0
  225. package/lib/esm/blob/azure/AzureBlobStoreService.js +13 -21
  226. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -1
  227. package/lib/esm/blob/core/BlobStoreService.js +26 -25
  228. package/lib/esm/blob/core/BlobStoreService.js.map +1 -1
  229. package/lib/esm/blob/gcp/GcsBlobStoreService.js +13 -21
  230. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -1
  231. package/lib/esm/blob/s3/S3BlobStoreService.js +12 -14
  232. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -1
  233. package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +14 -16
  234. package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -1
  235. package/lib/esm/calendar/environment.js +44 -0
  236. package/lib/esm/calendar/environment.js.map +1 -0
  237. package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +333 -0
  238. package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +1 -0
  239. package/lib/esm/calendar/google-calendar/index.js +3 -0
  240. package/lib/esm/calendar/google-calendar/index.js.map +1 -0
  241. package/lib/esm/comms/discord/DiscordService.js +313 -0
  242. package/lib/esm/comms/discord/DiscordService.js.map +1 -0
  243. package/lib/esm/comms/discord/index.js +2 -0
  244. package/lib/esm/comms/discord/index.js.map +1 -0
  245. package/lib/esm/comms/email/EmailService.js +338 -0
  246. package/lib/esm/comms/email/EmailService.js.map +1 -0
  247. package/lib/esm/comms/email/index.js +12 -0
  248. package/lib/esm/comms/email/index.js.map +1 -0
  249. package/lib/esm/comms/email/mime.js +218 -0
  250. package/lib/esm/comms/email/mime.js.map +1 -0
  251. package/lib/esm/comms/email/smtp.js +166 -0
  252. package/lib/esm/comms/email/smtp.js.map +1 -0
  253. package/lib/esm/comms/environment.js +75 -0
  254. package/lib/esm/comms/environment.js.map +1 -0
  255. package/lib/esm/comms/gmail/GmailService.js +230 -0
  256. package/lib/esm/comms/gmail/GmailService.js.map +1 -0
  257. package/lib/esm/comms/gmail/index.js +7 -0
  258. package/lib/esm/comms/gmail/index.js.map +1 -0
  259. package/lib/esm/comms/index.js +17 -0
  260. package/lib/esm/comms/index.js.map +1 -0
  261. package/lib/esm/comms/outlook/MicrosoftOutlookService.js +320 -0
  262. package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +1 -0
  263. package/lib/esm/comms/outlook/index.js +2 -0
  264. package/lib/esm/comms/outlook/index.js.map +1 -0
  265. package/lib/esm/comms/slack/SlackService.js +259 -0
  266. package/lib/esm/comms/slack/SlackService.js.map +1 -0
  267. package/lib/esm/comms/slack/index.js +7 -0
  268. package/lib/esm/comms/slack/index.js.map +1 -0
  269. package/lib/esm/comms/teams/TeamsService.js +204 -0
  270. package/lib/esm/comms/teams/TeamsService.js.map +1 -0
  271. package/lib/esm/comms/teams/index.js +7 -0
  272. package/lib/esm/comms/teams/index.js.map +1 -0
  273. package/lib/esm/comms/telegram/TelegramService.js +191 -0
  274. package/lib/esm/comms/telegram/TelegramService.js.map +1 -0
  275. package/lib/esm/comms/telegram/index.js +7 -0
  276. package/lib/esm/comms/telegram/index.js.map +1 -0
  277. package/lib/esm/comms/whatsapp/WhatsAppService.js +269 -0
  278. package/lib/esm/comms/whatsapp/WhatsAppService.js.map +1 -0
  279. package/lib/esm/comms/whatsapp/index.js +2 -0
  280. package/lib/esm/comms/whatsapp/index.js.map +1 -0
  281. package/lib/esm/devops/environment.js +39 -0
  282. package/lib/esm/devops/environment.js.map +1 -0
  283. package/lib/esm/devops/github/GithubService.js +297 -0
  284. package/lib/esm/devops/github/GithubService.js.map +1 -0
  285. package/lib/esm/devops/github/index.js +7 -0
  286. package/lib/esm/devops/github/index.js.map +1 -0
  287. package/lib/esm/devops/gitlab/GitlabService.js +277 -0
  288. package/lib/esm/devops/gitlab/GitlabService.js.map +1 -0
  289. package/lib/esm/devops/gitlab/index.js +7 -0
  290. package/lib/esm/devops/gitlab/index.js.map +1 -0
  291. package/lib/esm/devops/index.js +11 -0
  292. package/lib/esm/devops/index.js.map +1 -0
  293. package/lib/esm/feature-flags/models/FeatureFlag.model.js +2 -0
  294. package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -1
  295. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +2 -0
  296. package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -1
  297. package/lib/esm/index.js +3 -3
  298. package/lib/esm/io/airtable/AirtableService.js +261 -0
  299. package/lib/esm/io/airtable/AirtableService.js.map +1 -0
  300. package/lib/esm/io/airtable/index.js +7 -0
  301. package/lib/esm/io/airtable/index.js.map +1 -0
  302. package/lib/esm/io/confluence/ConfluenceService.js +312 -0
  303. package/lib/esm/io/confluence/ConfluenceService.js.map +1 -0
  304. package/lib/esm/io/confluence/index.js +2 -0
  305. package/lib/esm/io/confluence/index.js.map +1 -0
  306. package/lib/esm/io/environment.js +70 -0
  307. package/lib/esm/io/environment.js.map +1 -0
  308. package/lib/esm/io/google-docs/GoogleDocsService.js +270 -0
  309. package/lib/esm/io/google-docs/GoogleDocsService.js.map +1 -0
  310. package/lib/esm/io/google-docs/index.js +2 -0
  311. package/lib/esm/io/google-docs/index.js.map +1 -0
  312. package/lib/esm/io/google-sheets/GoogleSheetsService.js +283 -0
  313. package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +1 -0
  314. package/lib/esm/io/google-sheets/index.js +7 -0
  315. package/lib/esm/io/google-sheets/index.js.map +1 -0
  316. package/lib/esm/io/graphql/GraphqlService.js +138 -0
  317. package/lib/esm/io/graphql/GraphqlService.js.map +1 -0
  318. package/lib/esm/io/graphql/index.js +7 -0
  319. package/lib/esm/io/graphql/index.js.map +1 -0
  320. package/lib/esm/io/index.js +18 -0
  321. package/lib/esm/io/index.js.map +1 -0
  322. package/lib/esm/io/jira/JiraService.js +349 -0
  323. package/lib/esm/io/jira/JiraService.js.map +1 -0
  324. package/lib/esm/io/jira/index.js +2 -0
  325. package/lib/esm/io/jira/index.js.map +1 -0
  326. package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +248 -0
  327. package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +1 -0
  328. package/lib/esm/io/microsoft-excel/index.js +2 -0
  329. package/lib/esm/io/microsoft-excel/index.js.map +1 -0
  330. package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +256 -0
  331. package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +1 -0
  332. package/lib/esm/io/microsoft-sharepoint/index.js +2 -0
  333. package/lib/esm/io/microsoft-sharepoint/index.js.map +1 -0
  334. package/lib/esm/io/spreadsheet/SpreadsheetService.js +200 -0
  335. package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +1 -0
  336. package/lib/esm/io/spreadsheet/index.js +8 -0
  337. package/lib/esm/io/spreadsheet/index.js.map +1 -0
  338. package/lib/esm/namespaces/index.js +1 -0
  339. package/lib/esm/namespaces/index.js.map +1 -1
  340. package/lib/esm/namespaces/models/credential.model.js +106 -0
  341. package/lib/esm/namespaces/models/credential.model.js.map +1 -0
  342. package/lib/esm/namespaces/models/effective-permission.model.js +2 -0
  343. package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -1
  344. package/lib/esm/namespaces/models/group-membership.model.js +2 -0
  345. package/lib/esm/namespaces/models/group-membership.model.js.map +1 -1
  346. package/lib/esm/namespaces/models/group.model.js +2 -0
  347. package/lib/esm/namespaces/models/group.model.js.map +1 -1
  348. package/lib/esm/namespaces/models/index.js +1 -0
  349. package/lib/esm/namespaces/models/index.js.map +1 -1
  350. package/lib/esm/namespaces/models/inheritance-block.model.js +2 -0
  351. package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -1
  352. package/lib/esm/namespaces/models/org-unit-closure.model.js +2 -0
  353. package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -1
  354. package/lib/esm/namespaces/models/org-unit-membership.model.js +2 -0
  355. package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -1
  356. package/lib/esm/namespaces/models/org-unit-profile.model.js +2 -0
  357. package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -1
  358. package/lib/esm/namespaces/models/org-unit.model.js +2 -0
  359. package/lib/esm/namespaces/models/org-unit.model.js.map +1 -1
  360. package/lib/esm/namespaces/models/permission.model.js +2 -0
  361. package/lib/esm/namespaces/models/permission.model.js.map +1 -1
  362. package/lib/esm/namespaces/models/principal.model.js +2 -0
  363. package/lib/esm/namespaces/models/principal.model.js.map +1 -1
  364. package/lib/esm/namespaces/models/protected-resource.model.js +2 -0
  365. package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -1
  366. package/lib/esm/namespaces/models/resource-grant.model.js +2 -0
  367. package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -1
  368. package/lib/esm/namespaces/models/role-assignment.model.js +2 -0
  369. package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -1
  370. package/lib/esm/namespaces/models/role-permission.model.js +2 -0
  371. package/lib/esm/namespaces/models/role-permission.model.js.map +1 -1
  372. package/lib/esm/namespaces/models/role.model.js +2 -0
  373. package/lib/esm/namespaces/models/role.model.js.map +1 -1
  374. package/lib/esm/namespaces/models/storage-binding.model.js +2 -0
  375. package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -1
  376. package/lib/esm/namespaces/models/tenant-membership.model.js +2 -0
  377. package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -1
  378. package/lib/esm/namespaces/models/tenant-profile.model.js +2 -0
  379. package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -1
  380. package/lib/esm/namespaces/models/tenant.model.js +2 -0
  381. package/lib/esm/namespaces/models/tenant.model.js.map +1 -1
  382. package/lib/esm/namespaces/models/user.model.js +2 -0
  383. package/lib/esm/namespaces/models/user.model.js.map +1 -1
  384. package/lib/esm/namespaces/rls/index.js +11 -0
  385. package/lib/esm/namespaces/rls/index.js.map +1 -0
  386. package/lib/esm/namespaces/rls/principal-resolver.js +61 -0
  387. package/lib/esm/namespaces/rls/principal-resolver.js.map +1 -0
  388. package/lib/esm/namespaces/rls/rls-bootstrap.service.js +261 -0
  389. package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +1 -0
  390. package/lib/esm/namespaces/rls/rls.constants.js +75 -0
  391. package/lib/esm/namespaces/rls/rls.constants.js.map +1 -0
  392. package/lib/esm/namespaces/rls/rls.template.js +711 -0
  393. package/lib/esm/namespaces/rls/rls.template.js.map +1 -0
  394. package/lib/esm/namespaces/rls/rls.types.js +9 -0
  395. package/lib/esm/namespaces/rls/rls.types.js.map +1 -0
  396. package/lib/esm/namespaces/rls/session-binding.js +65 -0
  397. package/lib/esm/namespaces/rls/session-binding.js.map +1 -0
  398. package/lib/esm/namespaces/services/credential.service.js +322 -0
  399. package/lib/esm/namespaces/services/credential.service.js.map +1 -0
  400. package/lib/esm/namespaces/services/index.js +1 -0
  401. package/lib/esm/namespaces/services/index.js.map +1 -1
  402. package/lib/esm/namespaces/types.js +6 -0
  403. package/lib/esm/namespaces/types.js.map +1 -1
  404. package/lib/esm/redis/adapter.js +7 -1
  405. package/lib/esm/redis/adapter.js.map +1 -1
  406. package/lib/esm/secrets/InfraCredentialBootstrap.js +74 -0
  407. package/lib/esm/secrets/InfraCredentialBootstrap.js.map +1 -0
  408. package/lib/esm/secrets/aws/AwsSecretService.js +3 -13
  409. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -1
  410. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +2 -13
  411. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -1
  412. package/lib/esm/secrets/core/SecretReference.js +1 -0
  413. package/lib/esm/secrets/core/SecretReference.js.map +1 -1
  414. package/lib/esm/secrets/fs/FsSecretEnvironment.js +24 -0
  415. package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +1 -0
  416. package/lib/esm/secrets/fs/FsSecretService.js +412 -0
  417. package/lib/esm/secrets/fs/FsSecretService.js.map +1 -0
  418. package/lib/esm/secrets/fs/FsSecretServiceConfig.js +21 -0
  419. package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +1 -0
  420. package/lib/esm/secrets/fs/index.js +10 -0
  421. package/lib/esm/secrets/fs/index.js.map +1 -0
  422. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +2 -13
  423. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -1
  424. package/lib/esm/secrets/index.js +2 -0
  425. package/lib/esm/secrets/index.js.map +1 -1
  426. package/lib/esm/secrets/model/ModelSecretService.js +337 -42
  427. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -1
  428. package/lib/esm/secrets/model/Secret.js +86 -7
  429. package/lib/esm/secrets/model/Secret.js.map +1 -1
  430. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +2 -13
  431. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -1
  432. package/lib/esm/secrets/vault/VaultSecretService.js +2 -13
  433. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -1
  434. package/lib/esm/shared/environmentValue.js +24 -0
  435. package/lib/esm/shared/environmentValue.js.map +1 -1
  436. package/lib/esm/shared/http/HttpApiService.js +181 -0
  437. package/lib/esm/shared/http/HttpApiService.js.map +1 -0
  438. package/lib/esm/shared/http/hermeticBoot.js +146 -0
  439. package/lib/esm/shared/http/hermeticBoot.js.map +1 -0
  440. package/lib/esm/shared/http/index.js +11 -0
  441. package/lib/esm/shared/http/index.js.map +1 -0
  442. package/lib/types/blob/azure/AzureBlobStoreService.d.cts +7 -7
  443. package/lib/types/blob/azure/AzureBlobStoreService.d.mts +7 -7
  444. package/lib/types/blob/core/BlobStoreService.d.cts +28 -27
  445. package/lib/types/blob/core/BlobStoreService.d.mts +28 -27
  446. package/lib/types/blob/gcp/GcsBlobStoreService.d.cts +7 -7
  447. package/lib/types/blob/gcp/GcsBlobStoreService.d.mts +7 -7
  448. package/lib/types/blob/s3/S3BlobStoreService.d.cts +9 -1
  449. package/lib/types/blob/s3/S3BlobStoreService.d.mts +9 -1
  450. package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.cts +11 -15
  451. package/lib/types/blob/s3/S3CompatibleBlobStoreService.d.mts +11 -15
  452. package/lib/types/calendar/environment.d.cts +48 -0
  453. package/lib/types/calendar/environment.d.mts +48 -0
  454. package/lib/types/calendar/google-calendar/GoogleCalendarService.d.cts +316 -0
  455. package/lib/types/calendar/google-calendar/GoogleCalendarService.d.mts +316 -0
  456. package/lib/types/calendar/google-calendar/index.d.cts +2 -0
  457. package/lib/types/calendar/google-calendar/index.d.mts +2 -0
  458. package/lib/types/comms/discord/DiscordService.d.cts +285 -0
  459. package/lib/types/comms/discord/DiscordService.d.mts +285 -0
  460. package/lib/types/comms/discord/index.d.cts +1 -0
  461. package/lib/types/comms/discord/index.d.mts +1 -0
  462. package/lib/types/comms/email/EmailService.d.cts +184 -0
  463. package/lib/types/comms/email/EmailService.d.mts +184 -0
  464. package/lib/types/comms/email/index.d.cts +11 -0
  465. package/lib/types/comms/email/index.d.mts +11 -0
  466. package/lib/types/comms/email/mime.d.cts +84 -0
  467. package/lib/types/comms/email/mime.d.mts +84 -0
  468. package/lib/types/comms/email/smtp.d.cts +107 -0
  469. package/lib/types/comms/email/smtp.d.mts +107 -0
  470. package/lib/types/comms/environment.d.cts +110 -0
  471. package/lib/types/comms/environment.d.mts +110 -0
  472. package/lib/types/comms/gmail/GmailService.d.cts +190 -0
  473. package/lib/types/comms/gmail/GmailService.d.mts +190 -0
  474. package/lib/types/comms/gmail/index.d.cts +6 -0
  475. package/lib/types/comms/gmail/index.d.mts +6 -0
  476. package/lib/types/comms/index.d.cts +16 -0
  477. package/lib/types/comms/index.d.mts +16 -0
  478. package/lib/types/comms/outlook/MicrosoftOutlookService.d.cts +282 -0
  479. package/lib/types/comms/outlook/MicrosoftOutlookService.d.mts +282 -0
  480. package/lib/types/comms/outlook/index.d.cts +1 -0
  481. package/lib/types/comms/outlook/index.d.mts +1 -0
  482. package/lib/types/comms/slack/SlackService.d.cts +259 -0
  483. package/lib/types/comms/slack/SlackService.d.mts +259 -0
  484. package/lib/types/comms/slack/index.d.cts +6 -0
  485. package/lib/types/comms/slack/index.d.mts +6 -0
  486. package/lib/types/comms/teams/TeamsService.d.cts +172 -0
  487. package/lib/types/comms/teams/TeamsService.d.mts +172 -0
  488. package/lib/types/comms/teams/index.d.cts +6 -0
  489. package/lib/types/comms/teams/index.d.mts +6 -0
  490. package/lib/types/comms/telegram/TelegramService.d.cts +202 -0
  491. package/lib/types/comms/telegram/TelegramService.d.mts +202 -0
  492. package/lib/types/comms/telegram/index.d.cts +6 -0
  493. package/lib/types/comms/telegram/index.d.mts +6 -0
  494. package/lib/types/comms/whatsapp/WhatsAppService.d.cts +258 -0
  495. package/lib/types/comms/whatsapp/WhatsAppService.d.mts +258 -0
  496. package/lib/types/comms/whatsapp/index.d.cts +1 -0
  497. package/lib/types/comms/whatsapp/index.d.mts +1 -0
  498. package/lib/types/devops/environment.d.cts +62 -0
  499. package/lib/types/devops/environment.d.mts +62 -0
  500. package/lib/types/devops/github/GithubService.d.cts +287 -0
  501. package/lib/types/devops/github/GithubService.d.mts +287 -0
  502. package/lib/types/devops/github/index.d.cts +6 -0
  503. package/lib/types/devops/github/index.d.mts +6 -0
  504. package/lib/types/devops/gitlab/GitlabService.d.cts +277 -0
  505. package/lib/types/devops/gitlab/GitlabService.d.mts +277 -0
  506. package/lib/types/devops/gitlab/index.d.cts +6 -0
  507. package/lib/types/devops/gitlab/index.d.mts +6 -0
  508. package/lib/types/devops/index.d.cts +10 -0
  509. package/lib/types/devops/index.d.mts +10 -0
  510. package/lib/types/index.d.cts +2 -2
  511. package/lib/types/index.d.mts +2 -2
  512. package/lib/types/io/airtable/AirtableService.d.cts +268 -0
  513. package/lib/types/io/airtable/AirtableService.d.mts +268 -0
  514. package/lib/types/io/airtable/index.d.cts +6 -0
  515. package/lib/types/io/airtable/index.d.mts +6 -0
  516. package/lib/types/io/confluence/ConfluenceService.d.cts +250 -0
  517. package/lib/types/io/confluence/ConfluenceService.d.mts +250 -0
  518. package/lib/types/io/confluence/index.d.cts +1 -0
  519. package/lib/types/io/confluence/index.d.mts +1 -0
  520. package/lib/types/io/environment.d.cts +107 -0
  521. package/lib/types/io/environment.d.mts +107 -0
  522. package/lib/types/io/google-docs/GoogleDocsService.d.cts +188 -0
  523. package/lib/types/io/google-docs/GoogleDocsService.d.mts +188 -0
  524. package/lib/types/io/google-docs/index.d.cts +1 -0
  525. package/lib/types/io/google-docs/index.d.mts +1 -0
  526. package/lib/types/io/google-sheets/GoogleSheetsService.d.cts +204 -0
  527. package/lib/types/io/google-sheets/GoogleSheetsService.d.mts +204 -0
  528. package/lib/types/io/google-sheets/index.d.cts +6 -0
  529. package/lib/types/io/google-sheets/index.d.mts +6 -0
  530. package/lib/types/io/graphql/GraphqlService.d.cts +173 -0
  531. package/lib/types/io/graphql/GraphqlService.d.mts +173 -0
  532. package/lib/types/io/graphql/index.d.cts +6 -0
  533. package/lib/types/io/graphql/index.d.mts +6 -0
  534. package/lib/types/io/index.d.cts +17 -0
  535. package/lib/types/io/index.d.mts +17 -0
  536. package/lib/types/io/jira/JiraService.d.cts +300 -0
  537. package/lib/types/io/jira/JiraService.d.mts +300 -0
  538. package/lib/types/io/jira/index.d.cts +1 -0
  539. package/lib/types/io/jira/index.d.mts +1 -0
  540. package/lib/types/io/microsoft-excel/MicrosoftExcelService.d.cts +230 -0
  541. package/lib/types/io/microsoft-excel/MicrosoftExcelService.d.mts +230 -0
  542. package/lib/types/io/microsoft-excel/index.d.cts +1 -0
  543. package/lib/types/io/microsoft-excel/index.d.mts +1 -0
  544. package/lib/types/io/microsoft-sharepoint/MicrosoftSharePointService.d.cts +226 -0
  545. package/lib/types/io/microsoft-sharepoint/MicrosoftSharePointService.d.mts +226 -0
  546. package/lib/types/io/microsoft-sharepoint/index.d.cts +1 -0
  547. package/lib/types/io/microsoft-sharepoint/index.d.mts +1 -0
  548. package/lib/types/io/spreadsheet/SpreadsheetService.d.cts +144 -0
  549. package/lib/types/io/spreadsheet/SpreadsheetService.d.mts +144 -0
  550. package/lib/types/io/spreadsheet/index.d.cts +7 -0
  551. package/lib/types/io/spreadsheet/index.d.mts +7 -0
  552. package/lib/types/namespaces/index.d.cts +1 -0
  553. package/lib/types/namespaces/index.d.mts +1 -0
  554. package/lib/types/namespaces/models/credential.model.d.cts +23 -0
  555. package/lib/types/namespaces/models/credential.model.d.mts +23 -0
  556. package/lib/types/namespaces/models/index.d.cts +1 -0
  557. package/lib/types/namespaces/models/index.d.mts +1 -0
  558. package/lib/types/namespaces/rls/index.d.cts +10 -0
  559. package/lib/types/namespaces/rls/index.d.mts +10 -0
  560. package/lib/types/namespaces/rls/principal-resolver.d.cts +47 -0
  561. package/lib/types/namespaces/rls/principal-resolver.d.mts +47 -0
  562. package/lib/types/namespaces/rls/rls-bootstrap.service.d.cts +157 -0
  563. package/lib/types/namespaces/rls/rls-bootstrap.service.d.mts +157 -0
  564. package/lib/types/namespaces/rls/rls.constants.d.cts +52 -0
  565. package/lib/types/namespaces/rls/rls.constants.d.mts +52 -0
  566. package/lib/types/namespaces/rls/rls.template.d.cts +42 -0
  567. package/lib/types/namespaces/rls/rls.template.d.mts +42 -0
  568. package/lib/types/namespaces/rls/rls.types.d.cts +77 -0
  569. package/lib/types/namespaces/rls/rls.types.d.mts +77 -0
  570. package/lib/types/namespaces/rls/session-binding.d.cts +87 -0
  571. package/lib/types/namespaces/rls/session-binding.d.mts +87 -0
  572. package/lib/types/namespaces/services/credential.service.d.cts +175 -0
  573. package/lib/types/namespaces/services/credential.service.d.mts +175 -0
  574. package/lib/types/namespaces/services/index.d.cts +1 -0
  575. package/lib/types/namespaces/services/index.d.mts +1 -0
  576. package/lib/types/namespaces/types.d.cts +37 -0
  577. package/lib/types/namespaces/types.d.mts +37 -0
  578. package/lib/types/redis/adapter.d.cts +2 -0
  579. package/lib/types/redis/adapter.d.mts +2 -0
  580. package/lib/types/redis/types.d.cts +27 -2
  581. package/lib/types/redis/types.d.mts +27 -2
  582. package/lib/types/secrets/InfraCredentialBootstrap.d.cts +100 -0
  583. package/lib/types/secrets/InfraCredentialBootstrap.d.mts +100 -0
  584. package/lib/types/secrets/core/SecretTypes.d.cts +15 -1
  585. package/lib/types/secrets/core/SecretTypes.d.mts +15 -1
  586. package/lib/types/secrets/fs/FsSecretEnvironment.d.cts +42 -0
  587. package/lib/types/secrets/fs/FsSecretEnvironment.d.mts +42 -0
  588. package/lib/types/secrets/fs/FsSecretService.d.cts +207 -0
  589. package/lib/types/secrets/fs/FsSecretService.d.mts +207 -0
  590. package/lib/types/secrets/fs/FsSecretServiceConfig.d.cts +37 -0
  591. package/lib/types/secrets/fs/FsSecretServiceConfig.d.mts +37 -0
  592. package/lib/types/secrets/fs/index.d.cts +9 -0
  593. package/lib/types/secrets/fs/index.d.mts +9 -0
  594. package/lib/types/secrets/index.d.cts +2 -0
  595. package/lib/types/secrets/index.d.mts +2 -0
  596. package/lib/types/secrets/model/ModelSecretService.d.cts +190 -1
  597. package/lib/types/secrets/model/ModelSecretService.d.mts +190 -1
  598. package/lib/types/secrets/model/Secret.d.cts +44 -3
  599. package/lib/types/secrets/model/Secret.d.mts +44 -3
  600. package/lib/types/shared/environmentValue.d.cts +24 -0
  601. package/lib/types/shared/environmentValue.d.mts +24 -0
  602. package/lib/types/shared/http/HttpApiService.d.cts +193 -0
  603. package/lib/types/shared/http/HttpApiService.d.mts +193 -0
  604. package/lib/types/shared/http/hermeticBoot.d.cts +84 -0
  605. package/lib/types/shared/http/hermeticBoot.d.mts +84 -0
  606. package/lib/types/shared/http/index.d.cts +10 -0
  607. package/lib/types/shared/http/index.d.mts +10 -0
  608. package/package.json +279 -6
  609. package/sql/002_rls.sql +660 -15
  610. 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,6 @@
1
+ /**
2
+ * @module integrations/devops/github
3
+ * @summary GitHub REST v3 service (repositories, issues, pull requests).
4
+ * @description Re-exports the GitHub client-based service and its types.
5
+ */
6
+ export * from "./GithubService.d.cts";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/devops/github
3
+ * @summary GitHub REST v3 service (repositories, issues, pull requests).
4
+ * @description Re-exports the GitHub client-based service and its types.
5
+ */
6
+ export * from "./GithubService.d.mts";
@@ -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
+ }