@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,316 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Google Calendar service
4
+ * @summary Extends {@link HttpApiServiceConfig} with an optional OAuth
5
+ * `token`, an optional `apiKey`, and a default `calendarId`. When omitted, the
6
+ * `calendar.googleCalendar` environment slice supplies the same values (plus
7
+ * optional `baseUrl`/`timeout`). At least one credential is required; the token
8
+ * wins when both are set, and the calendar defaults to `"primary"`.
9
+ * @category Calendar
10
+ * @memberOf module:integrations/calendar/google-calendar/service
11
+ */
12
+ export interface GoogleCalendarServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Google OAuth access token
15
+ * @summary Sent as `Authorization: Bearer <token>` when present.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Google API key
20
+ * @summary Sent as the `key` query parameter only when no OAuth token is configured.
21
+ */
22
+ apiKey?: string;
23
+ /**
24
+ * @description Default calendar ID used when a call does not override it
25
+ */
26
+ calendarId?: string;
27
+ }
28
+ /**
29
+ * @description Input for creating a Google Calendar event
30
+ * @summary Carries the optional target `calendarId`, `summary`, optional
31
+ * description and location, start/end values (date or date-time), an optional
32
+ * time zone, and attendee email addresses.
33
+ * @category Calendar
34
+ * @memberOf module:integrations/calendar/google-calendar/service
35
+ */
36
+ export interface GoogleCalendarEventInput {
37
+ /**
38
+ * @description Calendar ID (defaults to the configured value or `primary`)
39
+ */
40
+ calendarId?: string;
41
+ /**
42
+ * @description Event summary/title
43
+ */
44
+ summary: string;
45
+ /**
46
+ * @description Event description
47
+ */
48
+ description?: string;
49
+ /**
50
+ * @description Event location
51
+ */
52
+ location?: string;
53
+ /**
54
+ * @description Start date (`YYYY-MM-DD`) or date-time (ISO 8601)
55
+ */
56
+ start: string;
57
+ /**
58
+ * @description End date (`YYYY-MM-DD`) or date-time (ISO 8601)
59
+ */
60
+ end: string;
61
+ /**
62
+ * @description IANA time zone applied to date-time values
63
+ */
64
+ timeZone?: string;
65
+ /**
66
+ * @description Attendee email addresses
67
+ */
68
+ attendees?: string[];
69
+ }
70
+ /**
71
+ * @description Input for listing Google Calendar events
72
+ * @summary Carries the optional `calendarId` plus the time window, result cap,
73
+ * free-text query, and single-events expansion flag.
74
+ * @category Calendar
75
+ * @memberOf module:integrations/calendar/google-calendar/service
76
+ */
77
+ export interface GoogleCalendarListEventsInput {
78
+ /**
79
+ * @description Calendar ID (defaults to the configured value or `primary`)
80
+ */
81
+ calendarId?: string;
82
+ /**
83
+ * @description Lower bound for event start time (ISO 8601)
84
+ */
85
+ timeMin?: string;
86
+ /**
87
+ * @description Upper bound for event start time (ISO 8601)
88
+ */
89
+ timeMax?: string;
90
+ /**
91
+ * @description Maximum number of events to return
92
+ */
93
+ maxResults?: number;
94
+ /**
95
+ * @description Free-text search across event fields
96
+ */
97
+ q?: string;
98
+ /**
99
+ * @description Whether recurring events are expanded into instances
100
+ */
101
+ singleEvents?: boolean;
102
+ }
103
+ /**
104
+ * @description Input for updating a Google Calendar event
105
+ * @summary Carries the optional `calendarId` and the fields to change; omitted
106
+ * fields are left untouched by the partial update.
107
+ * @category Calendar
108
+ * @memberOf module:integrations/calendar/google-calendar/service
109
+ */
110
+ export interface GoogleCalendarEventUpdate {
111
+ /**
112
+ * @description Calendar ID (defaults to the configured value or `primary`)
113
+ */
114
+ calendarId?: string;
115
+ /**
116
+ * @description New event summary/title
117
+ */
118
+ summary?: string;
119
+ /**
120
+ * @description New event description
121
+ */
122
+ description?: string;
123
+ /**
124
+ * @description New event location
125
+ */
126
+ location?: string;
127
+ /**
128
+ * @description New start date or date-time
129
+ */
130
+ start?: string;
131
+ /**
132
+ * @description New end date or date-time
133
+ */
134
+ end?: string;
135
+ /**
136
+ * @description IANA time zone applied to date-time values
137
+ */
138
+ timeZone?: string;
139
+ /**
140
+ * @description Replacement attendee email addresses
141
+ */
142
+ attendees?: string[];
143
+ }
144
+ /**
145
+ * @description Google Calendar API integration service
146
+ * @summary An undecorated HTTP service for listing calendars and events and
147
+ * for creating, reading, updating, and deleting events. Every operation needs
148
+ * either an OAuth token or an API key; missing credentials or identifiers raise
149
+ * `InternalError`, and transport failures are mapped to decaf errors via
150
+ * {@link httpError}.
151
+ * @class GoogleCalendarService
152
+ * @extends HttpApiService
153
+ * @category Calendar
154
+ * @example
155
+ * ```ts
156
+ * import { GoogleCalendarService } from "@decaf-ts/integrations/calendar/google-calendar";
157
+ *
158
+ * const calendar = new GoogleCalendarService();
159
+ * await calendar.initialize({
160
+ * token: process.env.GRAPH_CREDENTIAL_GOOGLE_CALENDAR_TOKEN,
161
+ * calendarId: "primary",
162
+ * });
163
+ * await calendar.listEvents({ timeMin: new Date().toISOString() });
164
+ * ```
165
+ * @mermaid
166
+ * sequenceDiagram
167
+ * autonumber
168
+ * participant Caller
169
+ * participant Service as GoogleCalendarService
170
+ * participant API as Google Calendar API
171
+ * Caller->>Service: createEvent(input)
172
+ * activate Service
173
+ * Service->>Service: requireAuth()
174
+ * Service->>API: POST /calendars/{id}/events
175
+ * activate API
176
+ * API-->>Service: created event
177
+ * deactivate API
178
+ * Service-->>Caller: created event
179
+ * deactivate Service
180
+ * @memberOf module:integrations/calendar/google-calendar/service
181
+ */
182
+ export declare class GoogleCalendarService extends HttpApiService<GoogleCalendarServiceConfig> {
183
+ /**
184
+ * @description The provider name used in error messages
185
+ */
186
+ protected readonly serviceName = "Google Calendar";
187
+ /**
188
+ * @description The Google Calendar API base URL
189
+ * @summary Used when the resolved config carries no `baseUrl`.
190
+ * @returns {string} `"https://www.googleapis.com/calendar/v3"`.
191
+ */
192
+ protected defaultBaseUrl(): string;
193
+ /**
194
+ * @description Builds the Google Calendar authorization headers
195
+ * @summary Returns `Authorization: Bearer <token>` when an OAuth token is
196
+ * configured, and no headers otherwise (API keys travel as query parameters).
197
+ * @param {GoogleCalendarServiceConfig} config - The resolved service configuration.
198
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
199
+ */
200
+ protected authHeaders(config: GoogleCalendarServiceConfig): Record<string, string>;
201
+ /**
202
+ * @description Reads the Google Calendar credentials and defaults from the environment
203
+ * @summary Reads the `calendar.googleCalendar` slice and returns a partial
204
+ * config when a token or API key is configured, `undefined` otherwise. Values
205
+ * pass through `envString`/`envNumber` to reject unset-leaf proxies.
206
+ * @returns {Partial<GoogleCalendarServiceConfig> | undefined} A partial config, or `undefined` when no credential is configured.
207
+ */
208
+ protected configFromEnvironment(): Partial<GoogleCalendarServiceConfig> | undefined;
209
+ /**
210
+ * @description Asserts that an OAuth token or API key is configured
211
+ * @summary Called by every operation before it touches the network.
212
+ * @returns {void}
213
+ * @throws {InternalError} When neither a token nor an API key is configured.
214
+ */
215
+ protected requireAuth(): void;
216
+ /**
217
+ * @description Builds API-key query parameters when no OAuth token is set
218
+ * @summary Returns `{ key }` for API-key authentication, and an empty object
219
+ * when an OAuth token is used (or no API key is configured).
220
+ * @returns {Record<string, string>} The query parameters carrying the API key, if any.
221
+ */
222
+ private authParams;
223
+ /**
224
+ * @description Builds the encoded events path for a calendar
225
+ * @summary Resolves the calendar ID from the argument, the configured
226
+ * default, or `"primary"`, then encodes it into
227
+ * `/calendars/<id>/events`.
228
+ * @param {string} [calendarId] - Optional per-call calendar ID.
229
+ * @returns {string} The calendar events API path.
230
+ */
231
+ private calendarPath;
232
+ /**
233
+ * @description Builds the Google Calendar start/end object
234
+ * @summary Emits `{ date }` for all-day values and `{ dateTime, timeZone? }`
235
+ * for values containing a `T` separator.
236
+ * @param {string} value - The date or date-time value.
237
+ * @param {string} [timeZone] - Optional IANA time zone for date-time values.
238
+ * @returns {Record<string, string>} The Calendar API time object.
239
+ */
240
+ private eventTime;
241
+ /**
242
+ * @description Lists the calendars visible to the authenticated user
243
+ * @summary `GET`s `/users/me/calendarList` and returns the calendar list.
244
+ * @returns {Promise<unknown>} The calendar list payload.
245
+ * @throws {InternalError} When no credential is configured.
246
+ * @throws {BadRequestError} When Google rejects the request.
247
+ */
248
+ listCalendars(): Promise<unknown>;
249
+ /**
250
+ * @description Lists events in a calendar
251
+ * @summary `GET`s the calendar's events applying the optional time window,
252
+ * result cap, free-text query, and single-events flag.
253
+ * @param {GoogleCalendarListEventsInput} [input] - The calendar and event query options.
254
+ * @returns {Promise<unknown>} The event collection payload.
255
+ * @throws {InternalError} When no credential is configured.
256
+ * @throws {NotFoundError} When the calendar does not exist (HTTP 404).
257
+ * @throws {BadRequestError} When Google rejects the query.
258
+ */
259
+ listEvents(input?: GoogleCalendarListEventsInput): Promise<unknown>;
260
+ /**
261
+ * @description Creates a Google Calendar event
262
+ * @summary `POST`s the event to the resolved calendar; start/end values are
263
+ * normalized to Calendar time objects and attendees are mapped to
264
+ * `{ email }` entries.
265
+ * @param {GoogleCalendarEventInput} input - The event definition.
266
+ * @returns {Promise<unknown>} The created event payload.
267
+ * @throws {InternalError} When no credential is configured, or the summary, start, or end is missing.
268
+ * @throws {NotFoundError} When the calendar does not exist (HTTP 404).
269
+ * @throws {BadRequestError} When Google rejects the event.
270
+ * @example
271
+ * ```ts
272
+ * await calendar.createEvent({
273
+ * summary: "Release review",
274
+ * start: "2026-11-01T09:00:00Z",
275
+ * end: "2026-11-01T10:00:00Z",
276
+ * attendees: ["team@example.com"],
277
+ * });
278
+ * ```
279
+ */
280
+ createEvent(input: GoogleCalendarEventInput): Promise<unknown>;
281
+ /**
282
+ * @description Fetches a single Google Calendar event
283
+ * @summary `GET`s the event from the given calendar.
284
+ * @param {string} calendarId - The calendar ID (empty falls back to the configured value or `primary`).
285
+ * @param {string} eventId - The event ID.
286
+ * @returns {Promise<unknown>} The event payload.
287
+ * @throws {InternalError} When no credential is configured or the event ID is empty.
288
+ * @throws {NotFoundError} When the event does not exist (HTTP 404).
289
+ * @throws {BadRequestError} When Google rejects the request.
290
+ */
291
+ getEvent(calendarId: string, eventId: string): Promise<unknown>;
292
+ /**
293
+ * @description Partially updates a Google Calendar event
294
+ * @summary `PATCH`es only the supplied fields on the event, normalizing
295
+ * start/end and attendee values; omitted fields are left unchanged.
296
+ * @param {string} eventId - The event ID to update.
297
+ * @param {GoogleCalendarEventUpdate} input - The fields to change.
298
+ * @returns {Promise<unknown>} The updated event payload.
299
+ * @throws {InternalError} When no credential is configured or the event ID is empty.
300
+ * @throws {NotFoundError} When the event does not exist (HTTP 404).
301
+ * @throws {BadRequestError} When Google rejects the update.
302
+ */
303
+ updateEvent(eventId: string, input: GoogleCalendarEventUpdate): Promise<unknown>;
304
+ /**
305
+ * @description Deletes a Google Calendar event
306
+ * @summary `DELETE`s the event from the given calendar and returns
307
+ * `{ deleted: true, eventId }`.
308
+ * @param {string} calendarId - The calendar ID (empty falls back to the configured value or `primary`).
309
+ * @param {string} eventId - The event ID to delete.
310
+ * @returns {Promise<unknown>} `{ deleted: true, eventId }` on success.
311
+ * @throws {InternalError} When no credential is configured or the event ID is empty.
312
+ * @throws {NotFoundError} When the event does not exist (HTTP 404).
313
+ * @throws {BadRequestError} When Google rejects the deletion.
314
+ */
315
+ deleteEvent(calendarId: string, eventId: string): Promise<unknown>;
316
+ }
@@ -0,0 +1,2 @@
1
+ export * from "../environment.d.cts";
2
+ export * from "./GoogleCalendarService.d.cts";
@@ -0,0 +1,2 @@
1
+ export * from "../environment.d.mts";
2
+ export * from "./GoogleCalendarService.d.mts";
@@ -0,0 +1,285 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Discord service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Discord bot token
5
+ * sent as `Authorization: Bot <token>`. When omitted, the `comms.discord`
6
+ * environment slice supplies `token` (plus optional `baseUrl`/`timeout`).
7
+ * The token is a credential reference read from configuration, never a value
8
+ * to hard-code in source.
9
+ * @category Comms
10
+ * @memberOf module:integrations/comms/discord/service
11
+ */
12
+ export interface DiscordServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Discord bot token
15
+ * @summary Sent as `Authorization: Bot <token>` with every API call.
16
+ */
17
+ token?: string;
18
+ }
19
+ /**
20
+ * @description Input for sending a Discord channel message
21
+ * @summary Carries the destination `channelId`, the message `content`, the
22
+ * optional text-to-speech flag, and optional rich `embeds`.
23
+ * @category Comms
24
+ * @memberOf module:integrations/comms/discord/service
25
+ */
26
+ export interface DiscordMessageInput {
27
+ /**
28
+ * @description ID of the channel that receives the message
29
+ */
30
+ channelId: string;
31
+ /**
32
+ * @description Plain-text message body
33
+ */
34
+ content: string;
35
+ /**
36
+ * @description Whether Discord reads the message with text-to-speech
37
+ */
38
+ tts?: boolean;
39
+ /**
40
+ * @description Rich embed payloads attached to the message
41
+ */
42
+ embeds?: unknown[];
43
+ }
44
+ /**
45
+ * @description Input for listing a Discord channel's messages
46
+ * @summary Carries the `channelId` plus optional page size and a `before`
47
+ * message ID cursor for fetching older messages.
48
+ * @category Comms
49
+ * @memberOf module:integrations/comms/discord/service
50
+ */
51
+ export interface DiscordMessageListInput {
52
+ /**
53
+ * @description ID of the channel to list messages from
54
+ */
55
+ channelId: string;
56
+ /**
57
+ * @description Maximum number of messages to return
58
+ */
59
+ limit?: number;
60
+ /**
61
+ * @description Message ID cursor; only older messages are returned
62
+ */
63
+ before?: string;
64
+ }
65
+ /**
66
+ * @description Input for creating a Discord guild channel
67
+ * @summary Carries the target `guildId`, the new channel `name`, and the
68
+ * optional channel `type` (Discord numeric type, default `0` for text),
69
+ * `topic`, and `parentId` (category).
70
+ * @category Comms
71
+ * @memberOf module:integrations/comms/discord/service
72
+ */
73
+ export interface DiscordChannelInput {
74
+ /**
75
+ * @description ID of the guild that owns the new channel
76
+ */
77
+ guildId: string;
78
+ /**
79
+ * @description Name of the new channel
80
+ */
81
+ name: string;
82
+ /**
83
+ * @description Discord numeric channel type (default `0`, text channel)
84
+ */
85
+ type?: number;
86
+ /**
87
+ * @description Optional channel topic
88
+ */
89
+ topic?: string;
90
+ /**
91
+ * @description Optional parent category ID
92
+ */
93
+ parentId?: string;
94
+ }
95
+ /**
96
+ * @description Input for adding a reaction to a Discord message
97
+ * @summary Identifies the `channelId`, the target `messageId`, and the
98
+ * `emoji` to add as the bot user.
99
+ * @category Comms
100
+ * @memberOf module:integrations/comms/discord/service
101
+ */
102
+ export interface DiscordReactionInput {
103
+ /**
104
+ * @description ID of the channel containing the message
105
+ */
106
+ channelId: string;
107
+ /**
108
+ * @description ID of the message to react to
109
+ */
110
+ messageId: string;
111
+ /**
112
+ * @description Emoji to add (Unicode character or `name:id` custom emoji)
113
+ */
114
+ emoji: string;
115
+ }
116
+ /**
117
+ * @description Discord Bot API integration service
118
+ * @summary An undecorated HTTP service for channel messages
119
+ * (`sendMessage`, `getMessage`, `listMessages`), channels (`getChannel`,
120
+ * `listChannels`, `createChannel`, `deleteChannel`), and reactions
121
+ * (`addReaction`). Every operation requires a bot token and throws
122
+ * `InternalError` when it is missing or a required identifier is empty;
123
+ * transport failures are mapped to decaf errors via {@link httpError}. This is
124
+ * the callable comms surface (`core.comms.discord`), not the mastra agent
125
+ * trigger/response kinds.
126
+ * @class DiscordService
127
+ * @extends HttpApiService
128
+ * @category Comms
129
+ * @example
130
+ * ```ts
131
+ * import { DiscordService } from "@decaf-ts/integrations/comms/discord";
132
+ *
133
+ * const discord = new DiscordService();
134
+ * await discord.initialize({ token: process.env.GRAPH_CREDENTIAL_DISCORD_TOKEN });
135
+ * await discord.sendMessage({
136
+ * channelId: process.env.DISCORD_CHANNEL_ID ?? "",
137
+ * content: "Deployment finished",
138
+ * });
139
+ * ```
140
+ * @mermaid
141
+ * sequenceDiagram
142
+ * autonumber
143
+ * participant Caller
144
+ * participant Service as DiscordService
145
+ * participant Discord as Discord Bot API
146
+ * Caller->>Service: sendMessage(input)
147
+ * activate Service
148
+ * Service->>Service: requireBotToken()
149
+ * Service->>Discord: POST /channels/{id}/messages
150
+ * activate Discord
151
+ * Discord-->>Service: message payload
152
+ * deactivate Discord
153
+ * Service-->>Caller: message payload
154
+ * deactivate Service
155
+ * @memberOf module:integrations/comms/discord/service
156
+ */
157
+ export declare class DiscordService extends HttpApiService<DiscordServiceConfig> {
158
+ /**
159
+ * @description The provider name used in error messages
160
+ */
161
+ protected readonly serviceName = "Discord";
162
+ /**
163
+ * @description The Discord Bot API base URL
164
+ * @summary Used when the resolved config carries no `baseUrl`.
165
+ * @returns {string} `"https://discord.com/api/v10"`.
166
+ */
167
+ protected defaultBaseUrl(): string;
168
+ /**
169
+ * @description Builds the Discord bot authorization header
170
+ * @summary Returns `Authorization: Bot <token>` when the config carries a
171
+ * token, and no headers otherwise.
172
+ * @param {DiscordServiceConfig} config - The resolved service configuration.
173
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
174
+ */
175
+ protected authHeaders(config: DiscordServiceConfig): Record<string, string>;
176
+ /**
177
+ * @description Reads the Discord credentials and defaults from the environment
178
+ * @summary Reads the `comms.discord` environment slice and returns a partial
179
+ * config when a bot token is configured, `undefined` otherwise. Values pass
180
+ * through `envString`/`envNumber` to reject unset-leaf proxies.
181
+ * @returns {Partial<DiscordServiceConfig> | undefined} A partial config, or `undefined` when no Discord token is configured.
182
+ */
183
+ protected configFromEnvironment(): Partial<DiscordServiceConfig> | undefined;
184
+ /**
185
+ * @description Asserts that a Discord bot token is configured
186
+ * @summary Called by every operation before it touches the network.
187
+ * @returns {void}
188
+ * @throws {InternalError} When the resolved config has no `token`.
189
+ */
190
+ protected requireBotToken(): void;
191
+ /**
192
+ * @description Builds the encoded path for a channel resource
193
+ * @summary Validates the channel ID and URL-encodes it into `/channels/<id>`.
194
+ * @param {string} channelId - The Discord channel ID.
195
+ * @returns {string} The channel API path.
196
+ * @throws {InternalError} When `channelId` is empty.
197
+ */
198
+ private channelPath;
199
+ /**
200
+ * @description Sends a message to a Discord channel
201
+ * @summary `POST`s the content (and optional `tts`/`embeds`) to the channel
202
+ * messages endpoint and returns Discord's message payload.
203
+ * @param {DiscordMessageInput} input - The destination channel and message content.
204
+ * @returns {Promise<unknown>} The created message payload.
205
+ * @throws {InternalError} When no bot token is configured.
206
+ * @throws {BadRequestError} When Discord rejects the request.
207
+ * @example
208
+ * ```ts
209
+ * await discord.sendMessage({ channelId: "1234567890", content: "Hello" });
210
+ * ```
211
+ */
212
+ sendMessage(input: DiscordMessageInput): Promise<unknown>;
213
+ /**
214
+ * @description Fetches a single Discord message
215
+ * @summary `GET`s the message by channel and message ID and returns the
216
+ * message payload.
217
+ * @param {string} channelId - The channel containing the message.
218
+ * @param {string} messageId - The message ID to fetch.
219
+ * @returns {Promise<unknown>} The message payload.
220
+ * @throws {InternalError} When no bot token is configured or the message ID is empty.
221
+ * @throws {NotFoundError} When the message does not exist (HTTP 404).
222
+ * @throws {BadRequestError} When Discord rejects the request.
223
+ */
224
+ getMessage(channelId: string, messageId: string): Promise<unknown>;
225
+ /**
226
+ * @description Lists messages in a Discord channel
227
+ * @summary `GET`s the channel messages with the optional `limit` and
228
+ * `before` cursor and returns Discord's message page.
229
+ * @param {DiscordMessageListInput} input - The channel and paging options.
230
+ * @returns {Promise<unknown>} The message page payload.
231
+ * @throws {InternalError} When no bot token is configured.
232
+ * @throws {BadRequestError} When Discord rejects the request.
233
+ */
234
+ listMessages(input: DiscordMessageListInput): Promise<unknown>;
235
+ /**
236
+ * @description Fetches a Discord channel
237
+ * @summary `GET`s the channel by ID and returns its payload.
238
+ * @param {string} channelId - The channel ID to fetch.
239
+ * @returns {Promise<unknown>} The channel payload.
240
+ * @throws {InternalError} When no bot token is configured or the channel ID is empty.
241
+ * @throws {NotFoundError} When the channel does not exist (HTTP 404).
242
+ * @throws {BadRequestError} When Discord rejects the request.
243
+ */
244
+ getChannel(channelId: string): Promise<unknown>;
245
+ /**
246
+ * @description Lists every channel in a Discord guild
247
+ * @summary `GET`s `/guilds/<id>/channels` and returns the channel list.
248
+ * @param {string} guildId - The guild whose channels are listed.
249
+ * @returns {Promise<unknown>} The guild channel list payload.
250
+ * @throws {InternalError} When no bot token is configured or the guild ID is empty.
251
+ * @throws {BadRequestError} When Discord rejects the request.
252
+ */
253
+ listChannels(guildId: string): Promise<unknown>;
254
+ /**
255
+ * @description Creates a channel in a Discord guild
256
+ * @summary `POST`s the channel `name`, numeric `type` (default text), and
257
+ * optional `topic`/`parentId` to the guild channels endpoint.
258
+ * @param {DiscordChannelInput} input - The guild and new channel definition.
259
+ * @returns {Promise<unknown>} The created channel payload.
260
+ * @throws {InternalError} When no bot token is configured.
261
+ * @throws {BadRequestError} When Discord rejects the request.
262
+ */
263
+ createChannel(input: DiscordChannelInput): Promise<unknown>;
264
+ /**
265
+ * @description Deletes a Discord channel
266
+ * @summary `DELETE`s the channel and returns the response payload, falling
267
+ * back to `{ deleted: true, channelId }` when Discord returns no body.
268
+ * @param {string} channelId - The channel ID to delete.
269
+ * @returns {Promise<unknown>} The deletion payload.
270
+ * @throws {InternalError} When no bot token is configured or the channel ID is empty.
271
+ * @throws {NotFoundError} When the channel does not exist (HTTP 404).
272
+ * @throws {BadRequestError} When Discord rejects the request.
273
+ */
274
+ deleteChannel(channelId: string): Promise<unknown>;
275
+ /**
276
+ * @description Adds a reaction to a Discord message as the bot
277
+ * @summary `PUT`s the emoji to the message's `@me` reaction endpoint and
278
+ * echoes the channel and message IDs on success.
279
+ * @param {DiscordReactionInput} input - The channel, message, and emoji.
280
+ * @returns {Promise<unknown>} `{ channelId, messageId }` on success.
281
+ * @throws {InternalError} When no bot token is configured, or the message ID or emoji is empty.
282
+ * @throws {BadRequestError} When Discord rejects the request.
283
+ */
284
+ addReaction(input: DiscordReactionInput): Promise<unknown>;
285
+ }