@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,282 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Microsoft Outlook service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Microsoft Graph
5
+ * access token sent as a bearer token. When omitted, the `comms.outlook`
6
+ * environment slice supplies the token (plus optional `baseUrl`/`timeout`).
7
+ * @category Comms
8
+ * @memberOf module:integrations/comms/outlook/service
9
+ */
10
+ export interface OutlookServiceConfig extends HttpApiServiceConfig {
11
+ /**
12
+ * @description Microsoft Graph access token
13
+ * @summary Sent as `Authorization: Bearer <token>` with every API call.
14
+ */
15
+ token?: string;
16
+ }
17
+ /**
18
+ * @description Outlook recipient addresses
19
+ * @summary Primary, carbon-copy, and blind-carbon-copy recipients. Each field
20
+ * accepts a single address or an array (or comma/semicolon-separated list) of
21
+ * addresses.
22
+ * @category Comms
23
+ * @memberOf module:integrations/comms/outlook/service
24
+ */
25
+ export interface OutlookRecipients {
26
+ /**
27
+ * @description Primary recipient address(es)
28
+ */
29
+ to: string | string[];
30
+ /**
31
+ * @description Carbon-copy address(es)
32
+ */
33
+ cc?: string | string[];
34
+ /**
35
+ * @description Blind-carbon-copy address(es)
36
+ */
37
+ bcc?: string | string[];
38
+ }
39
+ /**
40
+ * @description Input for sending an Outlook mail message
41
+ * @summary Carries the recipients, `subject`, body, body content type, and
42
+ * whether the message is saved to the Sent Items folder (default `true`).
43
+ * @category Comms
44
+ * @memberOf module:integrations/comms/outlook/service
45
+ */
46
+ export interface OutlookMailInput extends OutlookRecipients {
47
+ /**
48
+ * @description Mail subject line
49
+ */
50
+ subject: string;
51
+ /**
52
+ * @description Mail body
53
+ */
54
+ body: string;
55
+ /**
56
+ * @description Body content type (default `"Text"`)
57
+ */
58
+ contentType?: "Text" | "HTML";
59
+ /**
60
+ * @description Whether the sent message is saved to Sent Items (default `true`)
61
+ */
62
+ saveToSentItems?: boolean;
63
+ }
64
+ /**
65
+ * @description Options for listing Outlook messages or calendar events
66
+ * @summary Carries the optional mail `folderId` (default `inbox`) plus the
67
+ * OData `top`, `filter`, and `search` parameters. `folderId` is ignored by
68
+ * `listEvents`.
69
+ * @category Comms
70
+ * @memberOf module:integrations/comms/outlook/service
71
+ */
72
+ export interface OutlookListInput {
73
+ /**
74
+ * @description Mail folder ID to list from (default `inbox`)
75
+ */
76
+ folderId?: string;
77
+ /**
78
+ * @description Maximum number of results (`$top`)
79
+ */
80
+ top?: number;
81
+ /**
82
+ * @description OData filter expression (`$filter`)
83
+ */
84
+ filter?: string;
85
+ /**
86
+ * @description OData search expression (`$search`)
87
+ */
88
+ search?: string;
89
+ }
90
+ /**
91
+ * @description Input for creating an Outlook calendar event
92
+ * @summary Carries the `subject`, start and end timestamps, optional time
93
+ * zone (default `UTC`), body, location, and required attendee addresses.
94
+ * @category Comms
95
+ * @memberOf module:integrations/comms/outlook/service
96
+ */
97
+ export interface OutlookEventInput {
98
+ /**
99
+ * @description Event subject
100
+ */
101
+ subject: string;
102
+ /**
103
+ * @description Event start date-time (ISO 8601)
104
+ */
105
+ start: string;
106
+ /**
107
+ * @description Event end date-time (ISO 8601)
108
+ */
109
+ end: string;
110
+ /**
111
+ * @description IANA time zone for `start`/`end` (default `UTC`)
112
+ */
113
+ timeZone?: string;
114
+ /**
115
+ * @description Event body text
116
+ */
117
+ body?: string;
118
+ /**
119
+ * @description Event location display name
120
+ */
121
+ location?: string;
122
+ /**
123
+ * @description Required attendee address(es)
124
+ */
125
+ attendees?: string | string[];
126
+ }
127
+ /**
128
+ * @description Microsoft Outlook (Graph) mail and calendar integration service
129
+ * @summary An undecorated HTTP service for sending and reading mail and for
130
+ * listing, creating, and deleting calendar events on the signed-in user
131
+ * (`/me`). Every operation requires a Graph access token; missing credentials
132
+ * or identifiers raise `InternalError`, and transport failures are mapped to
133
+ * decaf errors via {@link httpError}.
134
+ * @class MicrosoftOutlookService
135
+ * @extends HttpApiService
136
+ * @category Comms
137
+ * @example
138
+ * ```ts
139
+ * import { MicrosoftOutlookService } from "@decaf-ts/integrations/comms/outlook";
140
+ *
141
+ * const outlook = new MicrosoftOutlookService();
142
+ * await outlook.initialize({
143
+ * token: process.env.GRAPH_CREDENTIAL_MICROSOFT_OUTLOOK_TOKEN,
144
+ * });
145
+ * await outlook.sendMail({
146
+ * to: "team@example.com",
147
+ * subject: "Deployment finished",
148
+ * body: "Release 1.2.0 is live",
149
+ * });
150
+ * ```
151
+ * @mermaid
152
+ * sequenceDiagram
153
+ * autonumber
154
+ * participant Caller
155
+ * participant Service as MicrosoftOutlookService
156
+ * participant Graph as Microsoft Graph
157
+ * Caller->>Service: sendMail(input)
158
+ * activate Service
159
+ * Service->>Service: requireAccessToken()
160
+ * Service->>Graph: POST /me/sendMail
161
+ * activate Graph
162
+ * Graph-->>Service: 202 Accepted
163
+ * deactivate Graph
164
+ * Service-->>Caller: { sent, to, subject }
165
+ * deactivate Service
166
+ * @memberOf module:integrations/comms/outlook/service
167
+ */
168
+ export declare class MicrosoftOutlookService extends HttpApiService<OutlookServiceConfig> {
169
+ /**
170
+ * @description The provider name used in error messages
171
+ */
172
+ protected readonly serviceName = "Microsoft Outlook";
173
+ /**
174
+ * @description The Microsoft Graph base URL
175
+ * @summary Used when the resolved config carries no `baseUrl`.
176
+ * @returns {string} `"https://graph.microsoft.com/v1.0"`.
177
+ */
178
+ protected defaultBaseUrl(): string;
179
+ /**
180
+ * @description Builds the Microsoft Graph bearer authorization headers
181
+ * @summary Returns `Authorization: Bearer <token>` when configured, and no
182
+ * headers otherwise.
183
+ * @param {OutlookServiceConfig} config - The resolved service configuration.
184
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
185
+ */
186
+ protected authHeaders(config: OutlookServiceConfig): Record<string, string>;
187
+ /**
188
+ * @description Reads the Outlook credentials and defaults from the environment
189
+ * @summary Reads the `comms.outlook` slice and returns a partial config when
190
+ * an access token is configured, `undefined` otherwise. Values pass through
191
+ * `envString`/`envNumber` to reject unset-leaf proxies.
192
+ * @returns {Partial<OutlookServiceConfig> | undefined} A partial config, or `undefined` when no Outlook token is configured.
193
+ */
194
+ protected configFromEnvironment(): Partial<OutlookServiceConfig> | undefined;
195
+ /**
196
+ * @description Asserts that a Microsoft Graph access token is configured
197
+ * @summary Delegates to the shared `requireToken()` guard used by every
198
+ * operation.
199
+ * @returns {void}
200
+ * @throws {InternalError} When the resolved config has no `token`.
201
+ */
202
+ protected requireAccessToken(): void;
203
+ /**
204
+ * @description Sends a mail message through Outlook
205
+ * @summary `POST`s the message to `/me/sendMail`; recipients are normalized
206
+ * to Graph envelopes and `saveToSentItems` defaults to `true`.
207
+ * @param {OutlookMailInput} input - The recipients, subject, body, and content options.
208
+ * @returns {Promise<unknown>} `{ sent: true, to, subject }` on success.
209
+ * @throws {InternalError} When no token is configured, or recipients or subject are missing.
210
+ * @throws {BadRequestError} When Graph rejects the request.
211
+ * @example
212
+ * ```ts
213
+ * await outlook.sendMail({
214
+ * to: ["a@example.com", "b@example.com"],
215
+ * subject: "Status",
216
+ * body: "All systems operational",
217
+ * contentType: "Text",
218
+ * });
219
+ * ```
220
+ */
221
+ sendMail(input: OutlookMailInput): Promise<unknown>;
222
+ /**
223
+ * @description Lists messages in an Outlook mail folder
224
+ * @summary `GET`s `/me/mailFolders/<folder>/messages` (default `inbox`)
225
+ * applying the optional `$top`, `$filter`, and `$search` parameters.
226
+ * @param {OutlookListInput} [input] - The folder and OData query options.
227
+ * @returns {Promise<unknown>} The Graph message collection.
228
+ * @throws {InternalError} When no token is configured.
229
+ * @throws {NotFoundError} When the folder does not exist (HTTP 404).
230
+ * @throws {BadRequestError} When Graph rejects the query.
231
+ */
232
+ listMessages(input?: OutlookListInput): Promise<unknown>;
233
+ /**
234
+ * @description Fetches a single Outlook message
235
+ * @summary `GET`s `/me/messages/<id>` and returns the message payload.
236
+ * @param {string} messageId - The Graph message ID.
237
+ * @returns {Promise<unknown>} The message payload.
238
+ * @throws {InternalError} When no token is configured or the message ID is empty.
239
+ * @throws {NotFoundError} When the message does not exist (HTTP 404).
240
+ * @throws {BadRequestError} When Graph rejects the request.
241
+ */
242
+ getMessage(messageId: string): Promise<unknown>;
243
+ /**
244
+ * @description Lists Outlook calendar events
245
+ * @summary `GET`s `/me/events` applying the optional `$top`, `$filter`, and
246
+ * `$search` parameters; the mail `folderId` is not used.
247
+ * @param {OutlookListInput} [input] - The OData query options.
248
+ * @returns {Promise<unknown>} The Graph event collection.
249
+ * @throws {InternalError} When no token is configured.
250
+ * @throws {BadRequestError} When Graph rejects the query.
251
+ */
252
+ listEvents(input?: OutlookListInput): Promise<unknown>;
253
+ /**
254
+ * @description Creates an Outlook calendar event
255
+ * @summary `POST`s the event to `/me/events`; `start`/`end` are sent with the
256
+ * configured or default (`UTC`) time zone and attendees as required.
257
+ * @param {OutlookEventInput} input - The event definition.
258
+ * @returns {Promise<unknown>} The created Graph event.
259
+ * @throws {InternalError} When no token is configured, or subject, start, or end is missing.
260
+ * @throws {BadRequestError} When Graph rejects the event.
261
+ * @example
262
+ * ```ts
263
+ * await outlook.createEvent({
264
+ * subject: "Release review",
265
+ * start: "2026-11-01T09:00:00",
266
+ * end: "2026-11-01T10:00:00",
267
+ * timeZone: "Europe/Lisbon",
268
+ * });
269
+ * ```
270
+ */
271
+ createEvent(input: OutlookEventInput): Promise<unknown>;
272
+ /**
273
+ * @description Deletes an Outlook calendar event
274
+ * @summary `DELETE`s `/me/events/<id>` and returns `{ deleted: true, eventId }`.
275
+ * @param {string} eventId - The Graph event ID.
276
+ * @returns {Promise<unknown>} `{ deleted: true, eventId }` on success.
277
+ * @throws {InternalError} When no token is configured or the event ID is empty.
278
+ * @throws {NotFoundError} When the event does not exist (HTTP 404).
279
+ * @throws {BadRequestError} When Graph rejects the request.
280
+ */
281
+ deleteEvent(eventId: string): Promise<unknown>;
282
+ }
@@ -0,0 +1,282 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Microsoft Outlook service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the Microsoft Graph
5
+ * access token sent as a bearer token. When omitted, the `comms.outlook`
6
+ * environment slice supplies the token (plus optional `baseUrl`/`timeout`).
7
+ * @category Comms
8
+ * @memberOf module:integrations/comms/outlook/service
9
+ */
10
+ export interface OutlookServiceConfig extends HttpApiServiceConfig {
11
+ /**
12
+ * @description Microsoft Graph access token
13
+ * @summary Sent as `Authorization: Bearer <token>` with every API call.
14
+ */
15
+ token?: string;
16
+ }
17
+ /**
18
+ * @description Outlook recipient addresses
19
+ * @summary Primary, carbon-copy, and blind-carbon-copy recipients. Each field
20
+ * accepts a single address or an array (or comma/semicolon-separated list) of
21
+ * addresses.
22
+ * @category Comms
23
+ * @memberOf module:integrations/comms/outlook/service
24
+ */
25
+ export interface OutlookRecipients {
26
+ /**
27
+ * @description Primary recipient address(es)
28
+ */
29
+ to: string | string[];
30
+ /**
31
+ * @description Carbon-copy address(es)
32
+ */
33
+ cc?: string | string[];
34
+ /**
35
+ * @description Blind-carbon-copy address(es)
36
+ */
37
+ bcc?: string | string[];
38
+ }
39
+ /**
40
+ * @description Input for sending an Outlook mail message
41
+ * @summary Carries the recipients, `subject`, body, body content type, and
42
+ * whether the message is saved to the Sent Items folder (default `true`).
43
+ * @category Comms
44
+ * @memberOf module:integrations/comms/outlook/service
45
+ */
46
+ export interface OutlookMailInput extends OutlookRecipients {
47
+ /**
48
+ * @description Mail subject line
49
+ */
50
+ subject: string;
51
+ /**
52
+ * @description Mail body
53
+ */
54
+ body: string;
55
+ /**
56
+ * @description Body content type (default `"Text"`)
57
+ */
58
+ contentType?: "Text" | "HTML";
59
+ /**
60
+ * @description Whether the sent message is saved to Sent Items (default `true`)
61
+ */
62
+ saveToSentItems?: boolean;
63
+ }
64
+ /**
65
+ * @description Options for listing Outlook messages or calendar events
66
+ * @summary Carries the optional mail `folderId` (default `inbox`) plus the
67
+ * OData `top`, `filter`, and `search` parameters. `folderId` is ignored by
68
+ * `listEvents`.
69
+ * @category Comms
70
+ * @memberOf module:integrations/comms/outlook/service
71
+ */
72
+ export interface OutlookListInput {
73
+ /**
74
+ * @description Mail folder ID to list from (default `inbox`)
75
+ */
76
+ folderId?: string;
77
+ /**
78
+ * @description Maximum number of results (`$top`)
79
+ */
80
+ top?: number;
81
+ /**
82
+ * @description OData filter expression (`$filter`)
83
+ */
84
+ filter?: string;
85
+ /**
86
+ * @description OData search expression (`$search`)
87
+ */
88
+ search?: string;
89
+ }
90
+ /**
91
+ * @description Input for creating an Outlook calendar event
92
+ * @summary Carries the `subject`, start and end timestamps, optional time
93
+ * zone (default `UTC`), body, location, and required attendee addresses.
94
+ * @category Comms
95
+ * @memberOf module:integrations/comms/outlook/service
96
+ */
97
+ export interface OutlookEventInput {
98
+ /**
99
+ * @description Event subject
100
+ */
101
+ subject: string;
102
+ /**
103
+ * @description Event start date-time (ISO 8601)
104
+ */
105
+ start: string;
106
+ /**
107
+ * @description Event end date-time (ISO 8601)
108
+ */
109
+ end: string;
110
+ /**
111
+ * @description IANA time zone for `start`/`end` (default `UTC`)
112
+ */
113
+ timeZone?: string;
114
+ /**
115
+ * @description Event body text
116
+ */
117
+ body?: string;
118
+ /**
119
+ * @description Event location display name
120
+ */
121
+ location?: string;
122
+ /**
123
+ * @description Required attendee address(es)
124
+ */
125
+ attendees?: string | string[];
126
+ }
127
+ /**
128
+ * @description Microsoft Outlook (Graph) mail and calendar integration service
129
+ * @summary An undecorated HTTP service for sending and reading mail and for
130
+ * listing, creating, and deleting calendar events on the signed-in user
131
+ * (`/me`). Every operation requires a Graph access token; missing credentials
132
+ * or identifiers raise `InternalError`, and transport failures are mapped to
133
+ * decaf errors via {@link httpError}.
134
+ * @class MicrosoftOutlookService
135
+ * @extends HttpApiService
136
+ * @category Comms
137
+ * @example
138
+ * ```ts
139
+ * import { MicrosoftOutlookService } from "@decaf-ts/integrations/comms/outlook";
140
+ *
141
+ * const outlook = new MicrosoftOutlookService();
142
+ * await outlook.initialize({
143
+ * token: process.env.GRAPH_CREDENTIAL_MICROSOFT_OUTLOOK_TOKEN,
144
+ * });
145
+ * await outlook.sendMail({
146
+ * to: "team@example.com",
147
+ * subject: "Deployment finished",
148
+ * body: "Release 1.2.0 is live",
149
+ * });
150
+ * ```
151
+ * @mermaid
152
+ * sequenceDiagram
153
+ * autonumber
154
+ * participant Caller
155
+ * participant Service as MicrosoftOutlookService
156
+ * participant Graph as Microsoft Graph
157
+ * Caller->>Service: sendMail(input)
158
+ * activate Service
159
+ * Service->>Service: requireAccessToken()
160
+ * Service->>Graph: POST /me/sendMail
161
+ * activate Graph
162
+ * Graph-->>Service: 202 Accepted
163
+ * deactivate Graph
164
+ * Service-->>Caller: { sent, to, subject }
165
+ * deactivate Service
166
+ * @memberOf module:integrations/comms/outlook/service
167
+ */
168
+ export declare class MicrosoftOutlookService extends HttpApiService<OutlookServiceConfig> {
169
+ /**
170
+ * @description The provider name used in error messages
171
+ */
172
+ protected readonly serviceName = "Microsoft Outlook";
173
+ /**
174
+ * @description The Microsoft Graph base URL
175
+ * @summary Used when the resolved config carries no `baseUrl`.
176
+ * @returns {string} `"https://graph.microsoft.com/v1.0"`.
177
+ */
178
+ protected defaultBaseUrl(): string;
179
+ /**
180
+ * @description Builds the Microsoft Graph bearer authorization headers
181
+ * @summary Returns `Authorization: Bearer <token>` when configured, and no
182
+ * headers otherwise.
183
+ * @param {OutlookServiceConfig} config - The resolved service configuration.
184
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
185
+ */
186
+ protected authHeaders(config: OutlookServiceConfig): Record<string, string>;
187
+ /**
188
+ * @description Reads the Outlook credentials and defaults from the environment
189
+ * @summary Reads the `comms.outlook` slice and returns a partial config when
190
+ * an access token is configured, `undefined` otherwise. Values pass through
191
+ * `envString`/`envNumber` to reject unset-leaf proxies.
192
+ * @returns {Partial<OutlookServiceConfig> | undefined} A partial config, or `undefined` when no Outlook token is configured.
193
+ */
194
+ protected configFromEnvironment(): Partial<OutlookServiceConfig> | undefined;
195
+ /**
196
+ * @description Asserts that a Microsoft Graph access token is configured
197
+ * @summary Delegates to the shared `requireToken()` guard used by every
198
+ * operation.
199
+ * @returns {void}
200
+ * @throws {InternalError} When the resolved config has no `token`.
201
+ */
202
+ protected requireAccessToken(): void;
203
+ /**
204
+ * @description Sends a mail message through Outlook
205
+ * @summary `POST`s the message to `/me/sendMail`; recipients are normalized
206
+ * to Graph envelopes and `saveToSentItems` defaults to `true`.
207
+ * @param {OutlookMailInput} input - The recipients, subject, body, and content options.
208
+ * @returns {Promise<unknown>} `{ sent: true, to, subject }` on success.
209
+ * @throws {InternalError} When no token is configured, or recipients or subject are missing.
210
+ * @throws {BadRequestError} When Graph rejects the request.
211
+ * @example
212
+ * ```ts
213
+ * await outlook.sendMail({
214
+ * to: ["a@example.com", "b@example.com"],
215
+ * subject: "Status",
216
+ * body: "All systems operational",
217
+ * contentType: "Text",
218
+ * });
219
+ * ```
220
+ */
221
+ sendMail(input: OutlookMailInput): Promise<unknown>;
222
+ /**
223
+ * @description Lists messages in an Outlook mail folder
224
+ * @summary `GET`s `/me/mailFolders/<folder>/messages` (default `inbox`)
225
+ * applying the optional `$top`, `$filter`, and `$search` parameters.
226
+ * @param {OutlookListInput} [input] - The folder and OData query options.
227
+ * @returns {Promise<unknown>} The Graph message collection.
228
+ * @throws {InternalError} When no token is configured.
229
+ * @throws {NotFoundError} When the folder does not exist (HTTP 404).
230
+ * @throws {BadRequestError} When Graph rejects the query.
231
+ */
232
+ listMessages(input?: OutlookListInput): Promise<unknown>;
233
+ /**
234
+ * @description Fetches a single Outlook message
235
+ * @summary `GET`s `/me/messages/<id>` and returns the message payload.
236
+ * @param {string} messageId - The Graph message ID.
237
+ * @returns {Promise<unknown>} The message payload.
238
+ * @throws {InternalError} When no token is configured or the message ID is empty.
239
+ * @throws {NotFoundError} When the message does not exist (HTTP 404).
240
+ * @throws {BadRequestError} When Graph rejects the request.
241
+ */
242
+ getMessage(messageId: string): Promise<unknown>;
243
+ /**
244
+ * @description Lists Outlook calendar events
245
+ * @summary `GET`s `/me/events` applying the optional `$top`, `$filter`, and
246
+ * `$search` parameters; the mail `folderId` is not used.
247
+ * @param {OutlookListInput} [input] - The OData query options.
248
+ * @returns {Promise<unknown>} The Graph event collection.
249
+ * @throws {InternalError} When no token is configured.
250
+ * @throws {BadRequestError} When Graph rejects the query.
251
+ */
252
+ listEvents(input?: OutlookListInput): Promise<unknown>;
253
+ /**
254
+ * @description Creates an Outlook calendar event
255
+ * @summary `POST`s the event to `/me/events`; `start`/`end` are sent with the
256
+ * configured or default (`UTC`) time zone and attendees as required.
257
+ * @param {OutlookEventInput} input - The event definition.
258
+ * @returns {Promise<unknown>} The created Graph event.
259
+ * @throws {InternalError} When no token is configured, or subject, start, or end is missing.
260
+ * @throws {BadRequestError} When Graph rejects the event.
261
+ * @example
262
+ * ```ts
263
+ * await outlook.createEvent({
264
+ * subject: "Release review",
265
+ * start: "2026-11-01T09:00:00",
266
+ * end: "2026-11-01T10:00:00",
267
+ * timeZone: "Europe/Lisbon",
268
+ * });
269
+ * ```
270
+ */
271
+ createEvent(input: OutlookEventInput): Promise<unknown>;
272
+ /**
273
+ * @description Deletes an Outlook calendar event
274
+ * @summary `DELETE`s `/me/events/<id>` and returns `{ deleted: true, eventId }`.
275
+ * @param {string} eventId - The Graph event ID.
276
+ * @returns {Promise<unknown>} `{ deleted: true, eventId }` on success.
277
+ * @throws {InternalError} When no token is configured or the event ID is empty.
278
+ * @throws {NotFoundError} When the event does not exist (HTTP 404).
279
+ * @throws {BadRequestError} When Graph rejects the request.
280
+ */
281
+ deleteEvent(eventId: string): Promise<unknown>;
282
+ }
@@ -0,0 +1 @@
1
+ export * from "./MicrosoftOutlookService.d.cts";
@@ -0,0 +1 @@
1
+ export * from "./MicrosoftOutlookService.d.mts";