@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,250 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Confluence service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the API `token`, the
5
+ * optional `username` that enables Basic authentication, and the required
6
+ * site `baseUrl`. When omitted, the `io.confluence` environment slice supplies
7
+ * the same values (plus optional `timeout`).
8
+ * @category IO
9
+ * @memberOf module:integrations/io/confluence/service
10
+ */
11
+ export interface ConfluenceServiceConfig extends HttpApiServiceConfig {
12
+ /**
13
+ * @description Confluence API token
14
+ * @summary Used as the Basic-auth password when `username` is set, otherwise as a bearer token.
15
+ */
16
+ token?: string;
17
+ /**
18
+ * @description Confluence account username for Basic authentication
19
+ */
20
+ username?: string;
21
+ }
22
+ /**
23
+ * @description Input for creating a Confluence page
24
+ * @summary Carries the target `spaceKey`, page `title`, storage-format body,
25
+ * and optional `parentId` of the ancestor page.
26
+ * @category IO
27
+ * @memberOf module:integrations/io/confluence/service
28
+ */
29
+ export interface ConfluencePageInput {
30
+ /**
31
+ * @description Space key that owns the new page
32
+ */
33
+ spaceKey: string;
34
+ /**
35
+ * @description Page title (unique within the space)
36
+ */
37
+ title: string;
38
+ /**
39
+ * @description Page body in Confluence storage format
40
+ */
41
+ body: string;
42
+ /**
43
+ * @description Optional parent page ID
44
+ */
45
+ parentId?: string;
46
+ }
47
+ /**
48
+ * @description Input for updating a Confluence page
49
+ * @summary Carries the `pageId`, new `title` and storage-format body, and an
50
+ * optional `version`. When `version` is omitted the service fetches the
51
+ * current version and submits the next one.
52
+ * @category IO
53
+ * @memberOf module:integrations/io/confluence/service
54
+ */
55
+ export interface ConfluencePageUpdate {
56
+ /**
57
+ * @description ID of the page to update
58
+ */
59
+ pageId: string;
60
+ /**
61
+ * @description New page title
62
+ */
63
+ title: string;
64
+ /**
65
+ * @description New page body in Confluence storage format
66
+ */
67
+ body: string;
68
+ /**
69
+ * @description Explicit new version number (auto-incremented when omitted)
70
+ */
71
+ version?: number;
72
+ }
73
+ /**
74
+ * @description Input for a Confluence CQL search
75
+ * @summary Carries the `cql` query and an optional result `limit`.
76
+ * @category IO
77
+ * @memberOf module:integrations/io/confluence/service
78
+ */
79
+ export interface ConfluenceSearchInput {
80
+ /**
81
+ * @description Confluence Query Language expression
82
+ */
83
+ cql: string;
84
+ /**
85
+ * @description Maximum number of results
86
+ */
87
+ limit?: number;
88
+ }
89
+ /**
90
+ * @description Confluence REST API integration service
91
+ * @summary An undecorated HTTP service for reading, creating, updating, and
92
+ * deleting pages, listing spaces, and running CQL searches. The site base URL
93
+ * and API token are required; supplying a `username` switches authentication to
94
+ * Basic, and transport failures are mapped to decaf errors via
95
+ * {@link httpError}.
96
+ * @class ConfluenceService
97
+ * @extends HttpApiService
98
+ * @category IO
99
+ * @example
100
+ * ```ts
101
+ * import { ConfluenceService } from "@decaf-ts/integrations/io/confluence";
102
+ *
103
+ * const confluence = new ConfluenceService();
104
+ * await confluence.initialize({
105
+ * baseUrl: "https://example.atlassian.net/wiki",
106
+ * username: process.env.CONFLUENCE_USERNAME,
107
+ * token: process.env.GRAPH_CREDENTIAL_CONFLUENCE_TOKEN,
108
+ * });
109
+ * const page = await confluence.getPage("123456");
110
+ * ```
111
+ * @mermaid
112
+ * sequenceDiagram
113
+ * autonumber
114
+ * participant Caller
115
+ * participant Service as ConfluenceService
116
+ * participant API as Confluence REST API
117
+ * Caller->>Service: updatePage(input)
118
+ * activate Service
119
+ * Service->>Service: requireCredentials()
120
+ * opt version omitted
121
+ * Service->>API: GET /rest/api/content/{id}?expand=version
122
+ * activate API
123
+ * API-->>Service: current version
124
+ * deactivate API
125
+ * end
126
+ * Service->>API: PUT /rest/api/content/{id}
127
+ * activate API
128
+ * API-->>Service: updated page
129
+ * deactivate API
130
+ * Service-->>Caller: updated page
131
+ * deactivate Service
132
+ * @memberOf module:integrations/io/confluence/service
133
+ */
134
+ export declare class ConfluenceService extends HttpApiService<ConfluenceServiceConfig> {
135
+ /**
136
+ * @description The provider name used in error messages
137
+ */
138
+ protected readonly serviceName = "Confluence";
139
+ /**
140
+ * @description The default base URL for Confluence
141
+ * @summary Returns an empty string; Confluence is site-hosted, so the
142
+ * resolved `baseUrl` (from config or `io.confluence.baseUrl`) is required.
143
+ * @returns {string} An empty string.
144
+ */
145
+ protected defaultBaseUrl(): string;
146
+ /**
147
+ * @description Builds the Confluence authentication headers
148
+ * @summary Uses HTTP Basic (`username:token`) when both values are present,
149
+ * otherwise a bearer token when only `token` is present, otherwise no
150
+ * headers.
151
+ * @param {ConfluenceServiceConfig} config - The resolved service configuration.
152
+ * @returns {Record<string, string>} The authorization headers.
153
+ */
154
+ protected authHeaders(config: ConfluenceServiceConfig): Record<string, string>;
155
+ /**
156
+ * @description Reads the Confluence credentials and defaults from the environment
157
+ * @summary Reads the `io.confluence` slice and returns a partial config when
158
+ * an API token is configured, `undefined` otherwise. Values pass through
159
+ * `envString`/`envNumber` to reject unset-leaf proxies.
160
+ * @returns {Partial<ConfluenceServiceConfig> | undefined} A partial config, or `undefined` when no Confluence token is configured.
161
+ */
162
+ protected configFromEnvironment(): Partial<ConfluenceServiceConfig> | undefined;
163
+ /**
164
+ * @description Asserts that the Confluence token and site base URL are configured
165
+ * @summary Called by every operation before it touches the network.
166
+ * @returns {void}
167
+ * @throws {InternalError} When no API token or base URL is configured.
168
+ */
169
+ protected requireCredentials(): void;
170
+ /**
171
+ * @description Wraps a body in the Confluence storage representation
172
+ * @summary Produces the `{ storage: { value, representation } }` envelope
173
+ * the content API expects.
174
+ * @param {string} body - The Confluence storage-format body.
175
+ * @returns {Record<string, unknown>} The storage body envelope.
176
+ */
177
+ private storageBody;
178
+ /**
179
+ * @description Fetches a Confluence page
180
+ * @summary `GET`s `/rest/api/content/<id>` with the requested `expand`
181
+ * fields (default `body.storage,version`).
182
+ * @param {string} pageId - The page ID.
183
+ * @param {string} [expand] - Comma-separated fields to expand; defaults to `"body.storage,version"`.
184
+ * @returns {Promise<unknown>} The page payload.
185
+ * @throws {InternalError} When credentials are missing or the page ID is empty.
186
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
187
+ * @throws {BadRequestError} When the API rejects the request.
188
+ */
189
+ getPage(pageId: string, expand?: string): Promise<unknown>;
190
+ /**
191
+ * @description Lists Confluence spaces
192
+ * @summary `GET`s `/rest/api/space` with a result `limit` (default `25`).
193
+ * @param {number} [limit] - Maximum number of spaces to return; defaults to `25`.
194
+ * @returns {Promise<unknown>} The space collection payload.
195
+ * @throws {InternalError} When credentials are missing.
196
+ * @throws {BadRequestError} When the API rejects the request.
197
+ */
198
+ listSpaces(limit?: number): Promise<unknown>;
199
+ /**
200
+ * @description Creates a Confluence page
201
+ * @summary `POST`s a `page` content entry in the target space, optionally
202
+ * under a parent, with the body in storage format.
203
+ * @param {ConfluencePageInput} input - The space, title, body, and optional parent.
204
+ * @returns {Promise<unknown>} The created page payload.
205
+ * @throws {InternalError} When credentials are missing, or the space key or title is empty.
206
+ * @throws {BadRequestError} When the API rejects the page.
207
+ * @example
208
+ * ```ts
209
+ * await confluence.createPage({
210
+ * spaceKey: "OPS",
211
+ * title: "Release 1.2.0",
212
+ * body: "<p>Details…</p>",
213
+ * });
214
+ * ```
215
+ */
216
+ createPage(input: ConfluencePageInput): Promise<unknown>;
217
+ /**
218
+ * @description Updates a Confluence page
219
+ * @summary `PUT`s the new title and storage body. When `version` is omitted
220
+ * the current version is read first and the next number is submitted, as
221
+ * Confluence requires optimistic versioning.
222
+ * @param {ConfluencePageUpdate} input - The page, new title/body, and optional version.
223
+ * @returns {Promise<unknown>} The updated page payload.
224
+ * @throws {InternalError} When credentials are missing, or the page ID or title is empty.
225
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
226
+ * @throws {ConflictError} When the submitted version is stale (HTTP 409).
227
+ * @throws {BadRequestError} When the API rejects the update.
228
+ */
229
+ updatePage(input: ConfluencePageUpdate): Promise<unknown>;
230
+ /**
231
+ * @description Deletes a Confluence page
232
+ * @summary `DELETE`s the content entry and returns `{ deleted: true, pageId }`.
233
+ * @param {string} pageId - The page ID to delete.
234
+ * @returns {Promise<unknown>} `{ deleted: true, pageId }` on success.
235
+ * @throws {InternalError} When credentials are missing or the page ID is empty.
236
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
237
+ * @throws {BadRequestError} When the API rejects the deletion.
238
+ */
239
+ deletePage(pageId: string): Promise<unknown>;
240
+ /**
241
+ * @description Searches Confluence content with CQL
242
+ * @summary `GET`s `/rest/api/content/search` with the CQL expression and an
243
+ * optional `limit`.
244
+ * @param {ConfluenceSearchInput} input - The CQL query and result limit.
245
+ * @returns {Promise<unknown>} The search result payload.
246
+ * @throws {InternalError} When credentials are missing or the CQL query is empty.
247
+ * @throws {BadRequestError} When the CQL query is invalid.
248
+ */
249
+ search(input: ConfluenceSearchInput): Promise<unknown>;
250
+ }
@@ -0,0 +1 @@
1
+ export * from "./ConfluenceService.d.cts";
@@ -0,0 +1 @@
1
+ export * from "./ConfluenceService.d.mts";
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @module integrations/io/environment
3
+ * @summary Environment contract and accumulated environment for the io integration services.
4
+ * @description Declares the `IoEnvironmentShape` consumed by the Airtable,
5
+ * Google Sheets, GraphQL, Microsoft Excel, Confluence, Jira, Google Docs, and
6
+ * Microsoft SharePoint services' `configFromEnvironment()` implementations and
7
+ * the `IoEnvironment` singleton created via `LoggedEnvironment.accumulate`.
8
+ * Services read their credentials and defaults from the matching
9
+ * `io.<provider>` slice, using the `envString`/`envNumber` helpers from
10
+ * `shared/environmentValue` to reject unset-leaf proxies. The matching public
11
+ * subpath exports are `@decaf-ts/integrations/io/microsoft-excel`,
12
+ * `@decaf-ts/integrations/io/confluence`,
13
+ * `@decaf-ts/integrations/io/jira`,
14
+ * `@decaf-ts/integrations/io/google-docs`, and
15
+ * `@decaf-ts/integrations/io/microsoft-sharepoint`.
16
+ */
17
+ /**
18
+ * @description Environment shape for the io integration services
19
+ * @summary Defines the `io` root with one slice per provider (`airtable`,
20
+ * `googleSheets`, `graphql`, `microsoftExcel`, `confluence`, `jira`,
21
+ * `googleDocs`, `microsoftSharePoint`). Each slice carries the provider's
22
+ * required credentials (`token`, plus `baseId`/`apiKey`/`endpoint`/`username`
23
+ * where applicable) plus an optional `baseUrl` override and `timeout`. Fields
24
+ * are typed as required here so `LoggedEnvironment.accumulate` registers them;
25
+ * absent values resolve to proxy placeholders at runtime and must pass through
26
+ * `envString`/`envNumber`. Values are credential references supplied by the
27
+ * environment, never literals embedded in source.
28
+ * @memberOf module:integrations/io/environment
29
+ */
30
+ export interface IoEnvironmentShape {
31
+ io: {
32
+ airtable: {
33
+ token: string;
34
+ baseUrl: string;
35
+ baseId: string;
36
+ timeout?: number;
37
+ };
38
+ googleSheets: {
39
+ token: string;
40
+ apiKey: string;
41
+ baseUrl: string;
42
+ timeout?: number;
43
+ };
44
+ graphql: {
45
+ endpoint: string;
46
+ token: string;
47
+ timeout?: number;
48
+ };
49
+ /** Microsoft Graph access token for Excel workbooks (`io/microsoft-excel`). */
50
+ microsoftExcel: {
51
+ token: string;
52
+ baseUrl: string;
53
+ timeout?: number;
54
+ };
55
+ /** Confluence API token, optional Basic-auth username, and site base URL (`io/confluence`). */
56
+ confluence: {
57
+ username: string;
58
+ token: string;
59
+ baseUrl: string;
60
+ timeout?: number;
61
+ };
62
+ /** Jira API token, optional Basic-auth username, and site base URL (`io/jira`). */
63
+ jira: {
64
+ username: string;
65
+ token: string;
66
+ baseUrl: string;
67
+ timeout?: number;
68
+ };
69
+ /** Google Docs OAuth token or API key (`io/google-docs`). */
70
+ googleDocs: {
71
+ token: string;
72
+ apiKey: string;
73
+ baseUrl: string;
74
+ timeout?: number;
75
+ };
76
+ /** Microsoft Graph access token for SharePoint (`io/microsoft-sharepoint`). */
77
+ microsoftSharePoint: {
78
+ token: string;
79
+ baseUrl: string;
80
+ timeout?: number;
81
+ };
82
+ };
83
+ }
84
+ /**
85
+ * @description Accumulated io environment singleton
86
+ * @summary The `LoggedEnvironment.accumulate`-registered instance backing the
87
+ * `IoEnvironmentShape` contract. IO services read their provider slice
88
+ * (e.g. `IoEnvironment.io.airtable`) inside `configFromEnvironment()` and
89
+ * translate it into an `HttpApiServiceConfig`-derived config. Credentials
90
+ * come from environment variables; for as-graph node usage those are provided
91
+ * as `GRAPH_CREDENTIAL_*` values (placeholders in this example).
92
+ * @example
93
+ * ```ts
94
+ * import { AirtableService } from "@decaf-ts/integrations/io/airtable";
95
+ *
96
+ * // with io.airtable.token / io.airtable.baseId configured in the environment
97
+ * const airtable = new AirtableService();
98
+ * await airtable.initialize();
99
+ * ```
100
+ * @constant {LoggedEnvironment} IoEnvironment
101
+ * @memberOf module:integrations/io/environment
102
+ */
103
+ export declare const IoEnvironment: import("@decaf-ts/logging").AccumulatedEnvironment<{
104
+ app: string | undefined;
105
+ } & import("@decaf-ts/logging").LoggingConfig<object> & {
106
+ env: any;
107
+ } & IoEnvironmentShape>;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * @module integrations/io/environment
3
+ * @summary Environment contract and accumulated environment for the io integration services.
4
+ * @description Declares the `IoEnvironmentShape` consumed by the Airtable,
5
+ * Google Sheets, GraphQL, Microsoft Excel, Confluence, Jira, Google Docs, and
6
+ * Microsoft SharePoint services' `configFromEnvironment()` implementations and
7
+ * the `IoEnvironment` singleton created via `LoggedEnvironment.accumulate`.
8
+ * Services read their credentials and defaults from the matching
9
+ * `io.<provider>` slice, using the `envString`/`envNumber` helpers from
10
+ * `shared/environmentValue` to reject unset-leaf proxies. The matching public
11
+ * subpath exports are `@decaf-ts/integrations/io/microsoft-excel`,
12
+ * `@decaf-ts/integrations/io/confluence`,
13
+ * `@decaf-ts/integrations/io/jira`,
14
+ * `@decaf-ts/integrations/io/google-docs`, and
15
+ * `@decaf-ts/integrations/io/microsoft-sharepoint`.
16
+ */
17
+ /**
18
+ * @description Environment shape for the io integration services
19
+ * @summary Defines the `io` root with one slice per provider (`airtable`,
20
+ * `googleSheets`, `graphql`, `microsoftExcel`, `confluence`, `jira`,
21
+ * `googleDocs`, `microsoftSharePoint`). Each slice carries the provider's
22
+ * required credentials (`token`, plus `baseId`/`apiKey`/`endpoint`/`username`
23
+ * where applicable) plus an optional `baseUrl` override and `timeout`. Fields
24
+ * are typed as required here so `LoggedEnvironment.accumulate` registers them;
25
+ * absent values resolve to proxy placeholders at runtime and must pass through
26
+ * `envString`/`envNumber`. Values are credential references supplied by the
27
+ * environment, never literals embedded in source.
28
+ * @memberOf module:integrations/io/environment
29
+ */
30
+ export interface IoEnvironmentShape {
31
+ io: {
32
+ airtable: {
33
+ token: string;
34
+ baseUrl: string;
35
+ baseId: string;
36
+ timeout?: number;
37
+ };
38
+ googleSheets: {
39
+ token: string;
40
+ apiKey: string;
41
+ baseUrl: string;
42
+ timeout?: number;
43
+ };
44
+ graphql: {
45
+ endpoint: string;
46
+ token: string;
47
+ timeout?: number;
48
+ };
49
+ /** Microsoft Graph access token for Excel workbooks (`io/microsoft-excel`). */
50
+ microsoftExcel: {
51
+ token: string;
52
+ baseUrl: string;
53
+ timeout?: number;
54
+ };
55
+ /** Confluence API token, optional Basic-auth username, and site base URL (`io/confluence`). */
56
+ confluence: {
57
+ username: string;
58
+ token: string;
59
+ baseUrl: string;
60
+ timeout?: number;
61
+ };
62
+ /** Jira API token, optional Basic-auth username, and site base URL (`io/jira`). */
63
+ jira: {
64
+ username: string;
65
+ token: string;
66
+ baseUrl: string;
67
+ timeout?: number;
68
+ };
69
+ /** Google Docs OAuth token or API key (`io/google-docs`). */
70
+ googleDocs: {
71
+ token: string;
72
+ apiKey: string;
73
+ baseUrl: string;
74
+ timeout?: number;
75
+ };
76
+ /** Microsoft Graph access token for SharePoint (`io/microsoft-sharepoint`). */
77
+ microsoftSharePoint: {
78
+ token: string;
79
+ baseUrl: string;
80
+ timeout?: number;
81
+ };
82
+ };
83
+ }
84
+ /**
85
+ * @description Accumulated io environment singleton
86
+ * @summary The `LoggedEnvironment.accumulate`-registered instance backing the
87
+ * `IoEnvironmentShape` contract. IO services read their provider slice
88
+ * (e.g. `IoEnvironment.io.airtable`) inside `configFromEnvironment()` and
89
+ * translate it into an `HttpApiServiceConfig`-derived config. Credentials
90
+ * come from environment variables; for as-graph node usage those are provided
91
+ * as `GRAPH_CREDENTIAL_*` values (placeholders in this example).
92
+ * @example
93
+ * ```ts
94
+ * import { AirtableService } from "@decaf-ts/integrations/io/airtable";
95
+ *
96
+ * // with io.airtable.token / io.airtable.baseId configured in the environment
97
+ * const airtable = new AirtableService();
98
+ * await airtable.initialize();
99
+ * ```
100
+ * @constant {LoggedEnvironment} IoEnvironment
101
+ * @memberOf module:integrations/io/environment
102
+ */
103
+ export declare const IoEnvironment: import("@decaf-ts/logging").AccumulatedEnvironment<{
104
+ app: string | undefined;
105
+ } & import("@decaf-ts/logging").LoggingConfig<object> & {
106
+ env: any;
107
+ } & IoEnvironmentShape>;
@@ -0,0 +1,188 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Google Docs service
4
+ * @summary Extends {@link HttpApiServiceConfig} with an optional OAuth
5
+ * `token` (preferred) and an optional `apiKey`. When omitted, the
6
+ * `io.googleDocs` environment slice supplies the same values (plus optional
7
+ * `baseUrl`/`timeout`). At least one credential is required; the token wins
8
+ * when both are set.
9
+ * @category IO
10
+ * @memberOf module:integrations/io/google-docs/service
11
+ */
12
+ export interface GoogleDocsServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Google OAuth access token
15
+ * @summary Sent as `Authorization: Bearer <token>` when present.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Google API key
20
+ * @summary Sent as `X-Goog-Api-Key` only when no OAuth token is configured.
21
+ */
22
+ apiKey?: string;
23
+ }
24
+ /**
25
+ * @description Input for replacing all matching text in a document
26
+ * @summary Carries the `documentId`, the `find` text, its `replace`ment, and
27
+ * whether matching is case-sensitive.
28
+ * @category IO
29
+ * @memberOf module:integrations/io/google-docs/service
30
+ */
31
+ export interface GoogleDocsReplaceInput {
32
+ /**
33
+ * @description Document ID to update
34
+ */
35
+ documentId: string;
36
+ /**
37
+ * @description Text to search for
38
+ */
39
+ find: string;
40
+ /**
41
+ * @description Replacement text (defaults to the empty string)
42
+ */
43
+ replace: string;
44
+ /**
45
+ * @description Whether matching is case-sensitive (default `false`)
46
+ */
47
+ matchCase?: boolean;
48
+ }
49
+ /**
50
+ * @description Google Docs API integration service
51
+ * @summary An undecorated HTTP service for reading and creating documents,
52
+ * running raw batch updates, appending text, and replacing all matching text.
53
+ * Every operation needs either an OAuth token or an API key; missing
54
+ * credentials or identifiers raise `InternalError`, and transport failures are
55
+ * mapped to decaf errors via {@link httpError}.
56
+ * @class GoogleDocsService
57
+ * @extends HttpApiService
58
+ * @category IO
59
+ * @example
60
+ * ```ts
61
+ * import { GoogleDocsService } from "@decaf-ts/integrations/io/google-docs";
62
+ *
63
+ * const docs = new GoogleDocsService();
64
+ * await docs.initialize({
65
+ * token: process.env.GRAPH_CREDENTIAL_GOOGLE_DOCS_TOKEN,
66
+ * });
67
+ * await docs.appendText(process.env.GOOGLE_DOC_ID ?? "", "New paragraph");
68
+ * ```
69
+ * @mermaid
70
+ * sequenceDiagram
71
+ * autonumber
72
+ * participant Caller
73
+ * participant Service as GoogleDocsService
74
+ * participant API as Google Docs API
75
+ * Caller->>Service: appendText(documentId, text)
76
+ * activate Service
77
+ * Service->>Service: requireAuth()
78
+ * Service->>API: GET /documents/{id}
79
+ * activate API
80
+ * API-->>Service: body content endIndex
81
+ * deactivate API
82
+ * Service->>API: POST /documents/{id}:batchUpdate
83
+ * activate API
84
+ * API-->>Service: batch update result
85
+ * deactivate API
86
+ * Service-->>Caller: batch update result
87
+ * deactivate Service
88
+ * @memberOf module:integrations/io/google-docs/service
89
+ */
90
+ export declare class GoogleDocsService extends HttpApiService<GoogleDocsServiceConfig> {
91
+ /**
92
+ * @description The provider name used in error messages
93
+ */
94
+ protected readonly serviceName = "Google Docs";
95
+ /**
96
+ * @description The Google Docs API base URL
97
+ * @summary Used when the resolved config carries no `baseUrl`.
98
+ * @returns {string} `"https://docs.googleapis.com/v1"`.
99
+ */
100
+ protected defaultBaseUrl(): string;
101
+ /**
102
+ * @description Builds the Google Docs authentication headers
103
+ * @summary Prefers `Authorization: Bearer <token>`, falls back to
104
+ * `X-Goog-Api-Key: <apiKey>`, and returns no headers when neither is set.
105
+ * @param {GoogleDocsServiceConfig} config - The resolved service configuration.
106
+ * @returns {Record<string, string>} The authentication headers.
107
+ */
108
+ protected authHeaders(config: GoogleDocsServiceConfig): Record<string, string>;
109
+ /**
110
+ * @description Reads the Google Docs credentials and defaults from the environment
111
+ * @summary Reads the `io.googleDocs` slice and returns a partial config when
112
+ * a token or API key is configured, `undefined` otherwise. Values pass
113
+ * through `envString`/`envNumber` to reject unset-leaf proxies.
114
+ * @returns {Partial<GoogleDocsServiceConfig> | undefined} A partial config, or `undefined` when no credential is configured.
115
+ */
116
+ protected configFromEnvironment(): Partial<GoogleDocsServiceConfig> | undefined;
117
+ /**
118
+ * @description Asserts that an OAuth token or API key is configured
119
+ * @summary Called by every operation before it touches the network.
120
+ * @returns {void}
121
+ * @throws {InternalError} When neither a token nor an API key is configured.
122
+ */
123
+ protected requireAuth(): void;
124
+ /**
125
+ * @description Fetches a Google Docs document
126
+ * @summary `GET`s `/documents/<id>` and returns the full document payload.
127
+ * @param {string} documentId - The document ID.
128
+ * @returns {Promise<unknown>} The document payload.
129
+ * @throws {InternalError} When no credential is configured or the document ID is empty.
130
+ * @throws {NotFoundError} When the document does not exist (HTTP 404).
131
+ * @throws {BadRequestError} When Google rejects the request.
132
+ */
133
+ getDocument(documentId: string): Promise<unknown>;
134
+ /**
135
+ * @description Creates a Google Docs document
136
+ * @summary `POST`s a new document with the given title and returns its
137
+ * payload (including `documentId`).
138
+ * @param {string} title - The new document title.
139
+ * @returns {Promise<unknown>} The created document payload.
140
+ * @throws {InternalError} When no credential is configured or the title is empty.
141
+ * @throws {BadRequestError} When Google rejects the request.
142
+ */
143
+ createDocument(title: string): Promise<unknown>;
144
+ /**
145
+ * @description Applies a raw Google Docs batch update
146
+ * @summary `POST`s the `requests` array to `/documents/<id>:batchUpdate`
147
+ * unchanged, allowing any Docs API request type.
148
+ * @param {string} documentId - The document ID.
149
+ * @param {unknown[]} requests - The Docs API request objects.
150
+ * @returns {Promise<unknown>} The batch update response payload.
151
+ * @throws {InternalError} When no credential is configured, or the document ID or requests are missing.
152
+ * @throws {NotFoundError} When the document does not exist (HTTP 404).
153
+ * @throws {BadRequestError} When Google rejects a request.
154
+ */
155
+ batchUpdate(documentId: string, requests: unknown[]): Promise<unknown>;
156
+ /**
157
+ * @description Appends text to the end of a Google Docs document
158
+ * @summary Reads the document to find the final `endIndex`, then inserts the
159
+ * text just before it through a `batchUpdate`.
160
+ * @param {string} documentId - The document ID.
161
+ * @param {string} text - The text to append.
162
+ * @returns {Promise<unknown>} The batch update response payload.
163
+ * @throws {InternalError} When no credential is configured, or the document ID or text is empty.
164
+ * @throws {NotFoundError} When the document does not exist (HTTP 404).
165
+ * @throws {BadRequestError} When Google rejects the update.
166
+ */
167
+ appendText(documentId: string, text: string): Promise<unknown>;
168
+ /**
169
+ * @description Replaces all matching text in a Google Docs document
170
+ * @summary Sends a `replaceAllText` request honoring the `matchCase` option
171
+ * and returns the batch update response payload.
172
+ * @param {GoogleDocsReplaceInput} input - The document, find/replace text, and case option.
173
+ * @returns {Promise<unknown>} The batch update response payload.
174
+ * @throws {InternalError} When no credential is configured, or the document ID or find text is empty.
175
+ * @throws {NotFoundError} When the document does not exist (HTTP 404).
176
+ * @throws {BadRequestError} When Google rejects the update.
177
+ * @example
178
+ * ```ts
179
+ * await docs.replaceAllText({
180
+ * documentId: "abc123",
181
+ * find: "TODO",
182
+ * replace: "DONE",
183
+ * matchCase: true,
184
+ * });
185
+ * ```
186
+ */
187
+ replaceAllText(input: GoogleDocsReplaceInput): Promise<unknown>;
188
+ }