@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,172 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Teams service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Microsoft Graph
5
+ * access token (required for channel messaging and listings, optional when
6
+ * only webhooks are used) and the incoming-webhook URL. When omitted, the
7
+ * `comms.teams` environment slice supplies both (and optional
8
+ * `baseUrl`/`timeout`).
9
+ * @category Comms
10
+ * @memberOf module:integrations/comms/teams/service
11
+ */
12
+ export interface TeamsServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Microsoft Graph access token
15
+ * @summary Sent as `Authorization: Bearer <token>` for Graph requests.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Incoming webhook URL for `sendWebhook`
20
+ * @summary Typically an Office 365 connector URL; required only for webhook delivery.
21
+ */
22
+ webhookUrl?: string;
23
+ }
24
+ /**
25
+ * @description Input for Teams incoming-webhook delivery
26
+ * @summary Carries the plain-text `text`, an optional card `title`, and
27
+ * whether the text is rendered as markdown (default `true`). Delivered as an
28
+ * Office 365 `MessageCard` to the configured webhook URL.
29
+ * @category Comms
30
+ * @memberOf module:integrations/comms/teams/service
31
+ */
32
+ export interface TeamsWebhookMessage {
33
+ /**
34
+ * @description Message body text
35
+ */
36
+ text: string;
37
+ /**
38
+ * @description Optional card title
39
+ */
40
+ title?: string;
41
+ /**
42
+ * @description Whether `text` is rendered as markdown; defaults to `true`
43
+ */
44
+ markdown?: boolean;
45
+ }
46
+ /**
47
+ * @description Input for sending a message into a Teams channel via Microsoft Graph
48
+ * @summary Carries the target `teamId` and `channelId`, the message
49
+ * `content`, and its content type (`text` by default, or `html`).
50
+ * @category Comms
51
+ * @memberOf module:integrations/comms/teams/service
52
+ */
53
+ export interface TeamsChannelMessage {
54
+ teamId: string;
55
+ channelId: string;
56
+ content: string;
57
+ contentType?: "text" | "html";
58
+ }
59
+ /**
60
+ * @description Microsoft Teams integration service
61
+ * @summary An undecorated HTTP service combining incoming-webhook
62
+ * delivery (needs only `webhookUrl`) with Microsoft Graph operations — channel
63
+ * messaging, team listing, and channel listing (need a Graph `token`).
64
+ * Webhook delivery posts an Office 365 `MessageCard` directly to the
65
+ * configured URL; Graph operations go through the service client with bearer
66
+ * auth, require a token (`requireToken()`), and map transport failures to
67
+ * decaf errors via {@link httpError}.
68
+ * @class TeamsService
69
+ * @category Comms
70
+ * @example
71
+ * ```ts
72
+ * import { TeamsService } from "@decaf-ts/integrations/comms/teams";
73
+ *
74
+ * const teams = new TeamsService();
75
+ * await teams.initialize({
76
+ * webhookUrl: process.env.GRAPH_CREDENTIAL_TEAMS_WEBHOOK_URL,
77
+ * token: process.env.GRAPH_CREDENTIAL_TEAMS_TOKEN,
78
+ * });
79
+ * await teams.sendWebhook({ title: "Deploy", text: "Release 1.2.0 is live" });
80
+ * ```
81
+ * @memberOf module:integrations/comms/teams/service
82
+ */
83
+ export declare class TeamsService extends HttpApiService<TeamsServiceConfig> {
84
+ /**
85
+ * @description The provider name used in error messages
86
+ */
87
+ protected readonly serviceName = "Microsoft Teams";
88
+ /**
89
+ * @description The Microsoft Graph v1.0 base URL
90
+ * @summary Used when the resolved config carries no `baseUrl`.
91
+ * @returns {string} `"https://graph.microsoft.com/v1.0"`.
92
+ */
93
+ protected defaultBaseUrl(): string;
94
+ /**
95
+ * @description Builds the Microsoft Graph bearer authorization headers
96
+ * @summary Returns the `Authorization: Bearer <token>` header when the
97
+ * config carries a token, and no headers otherwise.
98
+ * @param {TeamsServiceConfig} config - The resolved service configuration.
99
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
100
+ */
101
+ protected authHeaders(config: TeamsServiceConfig): Record<string, string>;
102
+ /**
103
+ * @description Reads the Teams credentials and defaults from the environment
104
+ * @summary Reads the `comms.teams` environment slice and returns a partial
105
+ * config when a Graph token or webhook URL is configured, `undefined`
106
+ * otherwise. Values pass through `envString`/`envNumber` to reject
107
+ * unset-leaf proxies.
108
+ * @returns {Partial<TeamsServiceConfig> | undefined} A partial config, or `undefined` when neither token nor webhook URL is configured.
109
+ */
110
+ protected configFromEnvironment(): Partial<TeamsServiceConfig> | undefined;
111
+ /**
112
+ * @description Delivers a MessageCard through the configured incoming webhook
113
+ * @summary Posts an Office 365 `MessageCard` (`@type: "MessageCard"`) with
114
+ * the title, text, and markdown flag directly to `config.webhookUrl` using
115
+ * a standalone Axios call (no Graph token involved). Requires a configured
116
+ * webhook URL.
117
+ * @param {TeamsWebhookMessage} input - The card title, text, and markdown flag.
118
+ * @returns {Promise<unknown>} The raw webhook response payload.
119
+ * @throws {InternalError} When no webhook URL is configured.
120
+ * @throws {NotFoundError} When the webhook endpoint answers with HTTP 404.
121
+ * @throws {ConflictError} When the webhook endpoint answers with HTTP 409.
122
+ * @throws {BadRequestError} When the webhook endpoint answers with any other HTTP error status.
123
+ */
124
+ sendWebhook(input: TeamsWebhookMessage): Promise<unknown>;
125
+ /**
126
+ * @description Sends a message into a Teams channel through Microsoft Graph
127
+ * @summary `POST`s a chat message to
128
+ * `/teams/<teamId>/channels/<channelId>/messages` with the given content
129
+ * type (`text` by default, or `html`). Requires a Graph token and both a
130
+ * team and channel ID; IDs are URL-encoded.
131
+ * @param {TeamsChannelMessage} input - The target team/channel and the message content.
132
+ * @returns {Promise<unknown>} The raw Graph message payload.
133
+ * @throws {InternalError} When no token is configured or the team/channel IDs are missing.
134
+ * @throws {NotFoundError} When the team or channel does not exist (HTTP 404).
135
+ * @throws {ConflictError} When Graph answers with HTTP 409.
136
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
137
+ * @example
138
+ * ```ts
139
+ * await teams.sendChannelMessage({
140
+ * teamId: "team-id",
141
+ * channelId: "channel-id",
142
+ * content: "<b>Release</b> 1.2.0 is live",
143
+ * contentType: "html",
144
+ * });
145
+ * ```
146
+ */
147
+ sendChannelMessage(input: TeamsChannelMessage): Promise<unknown>;
148
+ /**
149
+ * @description Lists Teams accessible to the authenticated identity
150
+ * @summary `GET`s `/teams` with a `$top` page size (default `50`) and
151
+ * returns the raw Graph `team` payloads.
152
+ * @param {number} [limit] - Maximum number of teams to return; defaults to `50`.
153
+ * @returns {Promise<Array<Record<string, unknown>>>} The raw Graph `team` payloads.
154
+ * @throws {InternalError} When no token is configured.
155
+ * @throws {NotFoundError} When Graph answers with HTTP 404.
156
+ * @throws {ConflictError} When Graph answers with HTTP 409.
157
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
158
+ */
159
+ listTeams(limit?: number): Promise<Array<Record<string, unknown>>>;
160
+ /**
161
+ * @description Lists channels of a Teams team
162
+ * @summary `GET`s `/teams/<teamId>/channels` and returns the raw Graph
163
+ * `channel` payloads; the team ID is URL-encoded.
164
+ * @param {string} teamId - The ID of the team whose channels are listed.
165
+ * @returns {Promise<Array<Record<string, unknown>>>} The raw Graph `channel` payloads.
166
+ * @throws {InternalError} When no token is configured.
167
+ * @throws {NotFoundError} When the team does not exist (HTTP 404).
168
+ * @throws {ConflictError} When Graph answers with HTTP 409.
169
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
170
+ */
171
+ listChannels(teamId: string): Promise<Array<Record<string, unknown>>>;
172
+ }
@@ -0,0 +1,172 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Teams service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Microsoft Graph
5
+ * access token (required for channel messaging and listings, optional when
6
+ * only webhooks are used) and the incoming-webhook URL. When omitted, the
7
+ * `comms.teams` environment slice supplies both (and optional
8
+ * `baseUrl`/`timeout`).
9
+ * @category Comms
10
+ * @memberOf module:integrations/comms/teams/service
11
+ */
12
+ export interface TeamsServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Microsoft Graph access token
15
+ * @summary Sent as `Authorization: Bearer <token>` for Graph requests.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Incoming webhook URL for `sendWebhook`
20
+ * @summary Typically an Office 365 connector URL; required only for webhook delivery.
21
+ */
22
+ webhookUrl?: string;
23
+ }
24
+ /**
25
+ * @description Input for Teams incoming-webhook delivery
26
+ * @summary Carries the plain-text `text`, an optional card `title`, and
27
+ * whether the text is rendered as markdown (default `true`). Delivered as an
28
+ * Office 365 `MessageCard` to the configured webhook URL.
29
+ * @category Comms
30
+ * @memberOf module:integrations/comms/teams/service
31
+ */
32
+ export interface TeamsWebhookMessage {
33
+ /**
34
+ * @description Message body text
35
+ */
36
+ text: string;
37
+ /**
38
+ * @description Optional card title
39
+ */
40
+ title?: string;
41
+ /**
42
+ * @description Whether `text` is rendered as markdown; defaults to `true`
43
+ */
44
+ markdown?: boolean;
45
+ }
46
+ /**
47
+ * @description Input for sending a message into a Teams channel via Microsoft Graph
48
+ * @summary Carries the target `teamId` and `channelId`, the message
49
+ * `content`, and its content type (`text` by default, or `html`).
50
+ * @category Comms
51
+ * @memberOf module:integrations/comms/teams/service
52
+ */
53
+ export interface TeamsChannelMessage {
54
+ teamId: string;
55
+ channelId: string;
56
+ content: string;
57
+ contentType?: "text" | "html";
58
+ }
59
+ /**
60
+ * @description Microsoft Teams integration service
61
+ * @summary An undecorated HTTP service combining incoming-webhook
62
+ * delivery (needs only `webhookUrl`) with Microsoft Graph operations — channel
63
+ * messaging, team listing, and channel listing (need a Graph `token`).
64
+ * Webhook delivery posts an Office 365 `MessageCard` directly to the
65
+ * configured URL; Graph operations go through the service client with bearer
66
+ * auth, require a token (`requireToken()`), and map transport failures to
67
+ * decaf errors via {@link httpError}.
68
+ * @class TeamsService
69
+ * @category Comms
70
+ * @example
71
+ * ```ts
72
+ * import { TeamsService } from "@decaf-ts/integrations/comms/teams";
73
+ *
74
+ * const teams = new TeamsService();
75
+ * await teams.initialize({
76
+ * webhookUrl: process.env.GRAPH_CREDENTIAL_TEAMS_WEBHOOK_URL,
77
+ * token: process.env.GRAPH_CREDENTIAL_TEAMS_TOKEN,
78
+ * });
79
+ * await teams.sendWebhook({ title: "Deploy", text: "Release 1.2.0 is live" });
80
+ * ```
81
+ * @memberOf module:integrations/comms/teams/service
82
+ */
83
+ export declare class TeamsService extends HttpApiService<TeamsServiceConfig> {
84
+ /**
85
+ * @description The provider name used in error messages
86
+ */
87
+ protected readonly serviceName = "Microsoft Teams";
88
+ /**
89
+ * @description The Microsoft Graph v1.0 base URL
90
+ * @summary Used when the resolved config carries no `baseUrl`.
91
+ * @returns {string} `"https://graph.microsoft.com/v1.0"`.
92
+ */
93
+ protected defaultBaseUrl(): string;
94
+ /**
95
+ * @description Builds the Microsoft Graph bearer authorization headers
96
+ * @summary Returns the `Authorization: Bearer <token>` header when the
97
+ * config carries a token, and no headers otherwise.
98
+ * @param {TeamsServiceConfig} config - The resolved service configuration.
99
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
100
+ */
101
+ protected authHeaders(config: TeamsServiceConfig): Record<string, string>;
102
+ /**
103
+ * @description Reads the Teams credentials and defaults from the environment
104
+ * @summary Reads the `comms.teams` environment slice and returns a partial
105
+ * config when a Graph token or webhook URL is configured, `undefined`
106
+ * otherwise. Values pass through `envString`/`envNumber` to reject
107
+ * unset-leaf proxies.
108
+ * @returns {Partial<TeamsServiceConfig> | undefined} A partial config, or `undefined` when neither token nor webhook URL is configured.
109
+ */
110
+ protected configFromEnvironment(): Partial<TeamsServiceConfig> | undefined;
111
+ /**
112
+ * @description Delivers a MessageCard through the configured incoming webhook
113
+ * @summary Posts an Office 365 `MessageCard` (`@type: "MessageCard"`) with
114
+ * the title, text, and markdown flag directly to `config.webhookUrl` using
115
+ * a standalone Axios call (no Graph token involved). Requires a configured
116
+ * webhook URL.
117
+ * @param {TeamsWebhookMessage} input - The card title, text, and markdown flag.
118
+ * @returns {Promise<unknown>} The raw webhook response payload.
119
+ * @throws {InternalError} When no webhook URL is configured.
120
+ * @throws {NotFoundError} When the webhook endpoint answers with HTTP 404.
121
+ * @throws {ConflictError} When the webhook endpoint answers with HTTP 409.
122
+ * @throws {BadRequestError} When the webhook endpoint answers with any other HTTP error status.
123
+ */
124
+ sendWebhook(input: TeamsWebhookMessage): Promise<unknown>;
125
+ /**
126
+ * @description Sends a message into a Teams channel through Microsoft Graph
127
+ * @summary `POST`s a chat message to
128
+ * `/teams/<teamId>/channels/<channelId>/messages` with the given content
129
+ * type (`text` by default, or `html`). Requires a Graph token and both a
130
+ * team and channel ID; IDs are URL-encoded.
131
+ * @param {TeamsChannelMessage} input - The target team/channel and the message content.
132
+ * @returns {Promise<unknown>} The raw Graph message payload.
133
+ * @throws {InternalError} When no token is configured or the team/channel IDs are missing.
134
+ * @throws {NotFoundError} When the team or channel does not exist (HTTP 404).
135
+ * @throws {ConflictError} When Graph answers with HTTP 409.
136
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
137
+ * @example
138
+ * ```ts
139
+ * await teams.sendChannelMessage({
140
+ * teamId: "team-id",
141
+ * channelId: "channel-id",
142
+ * content: "<b>Release</b> 1.2.0 is live",
143
+ * contentType: "html",
144
+ * });
145
+ * ```
146
+ */
147
+ sendChannelMessage(input: TeamsChannelMessage): Promise<unknown>;
148
+ /**
149
+ * @description Lists Teams accessible to the authenticated identity
150
+ * @summary `GET`s `/teams` with a `$top` page size (default `50`) and
151
+ * returns the raw Graph `team` payloads.
152
+ * @param {number} [limit] - Maximum number of teams to return; defaults to `50`.
153
+ * @returns {Promise<Array<Record<string, unknown>>>} The raw Graph `team` payloads.
154
+ * @throws {InternalError} When no token is configured.
155
+ * @throws {NotFoundError} When Graph answers with HTTP 404.
156
+ * @throws {ConflictError} When Graph answers with HTTP 409.
157
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
158
+ */
159
+ listTeams(limit?: number): Promise<Array<Record<string, unknown>>>;
160
+ /**
161
+ * @description Lists channels of a Teams team
162
+ * @summary `GET`s `/teams/<teamId>/channels` and returns the raw Graph
163
+ * `channel` payloads; the team ID is URL-encoded.
164
+ * @param {string} teamId - The ID of the team whose channels are listed.
165
+ * @returns {Promise<Array<Record<string, unknown>>>} The raw Graph `channel` payloads.
166
+ * @throws {InternalError} When no token is configured.
167
+ * @throws {NotFoundError} When the team does not exist (HTTP 404).
168
+ * @throws {ConflictError} When Graph answers with HTTP 409.
169
+ * @throws {BadRequestError} When Graph answers with any other HTTP error status.
170
+ */
171
+ listChannels(teamId: string): Promise<Array<Record<string, unknown>>>;
172
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/comms/teams
3
+ * @summary Microsoft Teams service (webhook posts and Graph channel messaging).
4
+ * @description Re-exports the Teams client-based service and its types.
5
+ */
6
+ export * from "./TeamsService.d.cts";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/comms/teams
3
+ * @summary Microsoft Teams service (webhook posts and Graph channel messaging).
4
+ * @description Re-exports the Teams client-based service and its types.
5
+ */
6
+ export * from "./TeamsService.d.mts";
@@ -0,0 +1,202 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Telegram service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Telegram bot token
5
+ * used to build the `/bot<token>` request path. When omitted, the
6
+ * `comms.telegram` environment slice supplies the token (and optional
7
+ * `baseUrl`/`timeout`).
8
+ * @category Comms
9
+ * @memberOf module:integrations/comms/telegram/service
10
+ */
11
+ export interface TelegramServiceConfig extends HttpApiServiceConfig {
12
+ /**
13
+ * @description Telegram bot token
14
+ * @summary Issued by BotFather; embedded in the request path for every call.
15
+ */
16
+ token?: string;
17
+ }
18
+ /**
19
+ * @description Input for sending a Telegram message
20
+ * @summary Carries the destination `chatId`, the message `text`, the optional
21
+ * parse mode (`Markdown`, `MarkdownV2`, or `HTML`), and the notification,
22
+ * preview, reply, and forum-thread options.
23
+ * @category Comms
24
+ * @memberOf module:integrations/comms/telegram/service
25
+ */
26
+ export interface TelegramSendMessageInput {
27
+ /**
28
+ * @description Destination chat ID or `@channelusername`
29
+ */
30
+ chatId: string | number;
31
+ /**
32
+ * @description Message text (up to 4096 characters)
33
+ */
34
+ text: string;
35
+ /**
36
+ * @description Parse mode for entity recognition in `text`
37
+ */
38
+ parseMode?: "Markdown" | "MarkdownV2" | "HTML";
39
+ /**
40
+ * @description Whether the message is sent silently
41
+ */
42
+ disableNotification?: boolean;
43
+ /**
44
+ * @description Whether link previews are disabled
45
+ */
46
+ disablePreview?: boolean;
47
+ /**
48
+ * @description Message to reply to
49
+ */
50
+ replyToMessageId?: number;
51
+ /**
52
+ * @description Forum thread to post into
53
+ */
54
+ messageThreadId?: number;
55
+ }
56
+ /**
57
+ * @description Normalized Telegram message descriptor
58
+ * @summary The relevant subset of the Telegram `Message` object: identifiers
59
+ * (`message_id`, `date`), the sending `chat`, and the message `text`.
60
+ * @category Comms
61
+ * @memberOf module:integrations/comms/telegram/service
62
+ */
63
+ export interface TelegramMessage {
64
+ message_id: number;
65
+ date: number;
66
+ chat: {
67
+ id: number;
68
+ type?: string;
69
+ title?: string;
70
+ username?: string;
71
+ };
72
+ text?: string;
73
+ }
74
+ /**
75
+ * @description Telegram Bot API integration service
76
+ * @summary An undecorated HTTP service for verifying the bot
77
+ * identity, sending messages with parse modes and reply/thread options, long
78
+ * or short polling `getUpdates`, and posting chat actions. The bot token is
79
+ * required (`requireToken()`) and embedded in the request path; non-`ok` Bot
80
+ * API responses raise `InternalError`, and transport failures are mapped to
81
+ * decaf errors via {@link httpError}.
82
+ * @class TelegramService
83
+ * @category Comms
84
+ * @example
85
+ * ```ts
86
+ * import { TelegramService } from "@decaf-ts/integrations/comms/telegram";
87
+ *
88
+ * const telegram = new TelegramService();
89
+ * await telegram.initialize({
90
+ * token: process.env.GRAPH_CREDENTIAL_TELEGRAM_TOKEN,
91
+ * });
92
+ * await telegram.sendMessage({
93
+ * chatId: "@mychannel",
94
+ * text: "Release 1.2.0 is live",
95
+ * parseMode: "HTML",
96
+ * });
97
+ * ```
98
+ * @memberOf module:integrations/comms/telegram/service
99
+ */
100
+ export declare class TelegramService extends HttpApiService<TelegramServiceConfig> {
101
+ /**
102
+ * @description The provider name used in error messages
103
+ */
104
+ protected readonly serviceName = "Telegram";
105
+ /**
106
+ * @description The Telegram Bot API base URL
107
+ * @summary Used when the resolved config carries no `baseUrl`.
108
+ * @returns {string} `"https://api.telegram.org"`.
109
+ */
110
+ protected defaultBaseUrl(): string;
111
+ /**
112
+ * @description Reads the Telegram credentials and defaults from the environment
113
+ * @summary Reads the `comms.telegram` environment slice and returns a
114
+ * partial config when a token is configured, `undefined` otherwise. Values
115
+ * pass through `envString`/`envNumber` to reject unset-leaf proxies.
116
+ * @returns {Partial<TelegramServiceConfig> | undefined} A partial config, or `undefined` when no Telegram token is configured.
117
+ */
118
+ protected configFromEnvironment(): Partial<TelegramServiceConfig> | undefined;
119
+ /**
120
+ * @description Calls a Telegram Bot API method with the configured bot token
121
+ * @summary Shared request path for all Telegram operations: resolves the
122
+ * token (`requireToken()`), `POST`s the payload to
123
+ * `/bot<token>/<method>`, rejects non-`ok` Bot API responses with an
124
+ * `InternalError`, and maps transport failures through {@link httpError}.
125
+ * @template T - The expected `result` payload type of the Bot API response.
126
+ * @param {string} method - The Bot API method name (e.g. `"sendMessage"`).
127
+ * @param {Record<string, unknown>} [payload] - The JSON body for the method; defaults to an empty object.
128
+ * @returns {Promise<T>} The `result` payload of the Bot API response.
129
+ * @throws {InternalError} When no token is configured or the Bot API answers with `ok: false`.
130
+ * @throws {NotFoundError} When the endpoint answers with HTTP 404.
131
+ * @throws {ConflictError} When the endpoint answers with HTTP 409.
132
+ * @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
133
+ */
134
+ protected call<T>(method: string, payload?: Record<string, unknown>): Promise<T>;
135
+ /**
136
+ * @description Fetches the authenticated bot's identity
137
+ * @summary Calls the `getMe` method and returns the raw bot descriptor
138
+ * (including `id`, `username`, and `can_join_groups` flags).
139
+ * @returns {Promise<Record<string, unknown>>} The raw `User` payload describing the bot.
140
+ * @throws {InternalError} When no token is configured or the Bot API rejects the call.
141
+ * @throws {NotFoundError} When the endpoint answers with HTTP 404.
142
+ * @throws {ConflictError} When the endpoint answers with HTTP 409.
143
+ * @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
144
+ */
145
+ getMe(): Promise<Record<string, unknown>>;
146
+ /**
147
+ * @description Sends a message to a Telegram chat
148
+ * @summary Calls the `sendMessage` method with the destination chat, text,
149
+ * and the requested parse/notification/reply/thread options, returning the
150
+ * sent message descriptor.
151
+ * @param {TelegramSendMessageInput} input - The message destination, content, and options.
152
+ * @returns {Promise<TelegramMessage>} The sent message descriptor.
153
+ * @throws {InternalError} When no token is configured or the Bot API rejects the message.
154
+ * @throws {NotFoundError} When the endpoint answers with HTTP 404.
155
+ * @throws {ConflictError} When the endpoint answers with HTTP 409.
156
+ * @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
157
+ * @example
158
+ * ```ts
159
+ * await telegram.sendMessage({
160
+ * chatId: "-1001234567890",
161
+ * text: "*Release* 1.2.0 is live",
162
+ * parseMode: "MarkdownV2",
163
+ * disableNotification: true,
164
+ * });
165
+ * ```
166
+ */
167
+ sendMessage(input: TelegramSendMessageInput): Promise<TelegramMessage>;
168
+ /**
169
+ * @description Polls pending bot updates
170
+ * @summary Calls the `getUpdates` method, optionally with an `offset`
171
+ * (confirmation of processed updates), a `limit` on returned updates, and a
172
+ * long-polling `timeoutSeconds`. Advance `offset` past each handled
173
+ * update's `update_id` to avoid re-reading them.
174
+ * @param {object} [options] - Polling options.
175
+ * @param {number} [options.offset] - The first update ID to return (previous ID + 1).
176
+ * @param {number} [options.limit] - Maximum number of updates to return (1-100).
177
+ * @param {number} [options.timeoutSeconds] - Long-polling timeout in seconds.
178
+ * @returns {Promise<Array<Record<string, unknown>>>} The raw `Update` payloads.
179
+ * @throws {InternalError} When no token is configured or the Bot API rejects the call.
180
+ * @throws {NotFoundError} When the endpoint answers with HTTP 404.
181
+ * @throws {ConflictError} When the endpoint answers with HTTP 409 (e.g. another `getUpdates` call is in flight).
182
+ * @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
183
+ */
184
+ getUpdates(options?: {
185
+ offset?: number;
186
+ limit?: number;
187
+ timeoutSeconds?: number;
188
+ }): Promise<Array<Record<string, unknown>>>;
189
+ /**
190
+ * @description Posts a chat action (typing indicator)
191
+ * @summary Calls the `sendChatAction` method so clients display the given
192
+ * action (e.g. `"typing"`) for up to five seconds.
193
+ * @param {string | number} chatId - The destination chat ID or `@channelusername`.
194
+ * @param {string} [action] - The action to display; defaults to `"typing"`.
195
+ * @returns {Promise<boolean>} Whether the action was accepted.
196
+ * @throws {InternalError} When no token is configured or the Bot API rejects the call.
197
+ * @throws {NotFoundError} When the endpoint answers with HTTP 404.
198
+ * @throws {ConflictError} When the endpoint answers with HTTP 409.
199
+ * @throws {BadRequestError} When the endpoint answers with any other HTTP error status.
200
+ */
201
+ sendChatAction(chatId: string | number, action?: string): Promise<boolean>;
202
+ }