@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,266 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AirtableService = void 0;
4
+ /**
5
+ * @module integrations/io/airtable/service
6
+ * @summary Airtable Web API integration service for CRUD operations on base records.
7
+ * @description Exposes the Airtable v0 records API (list, get, create, update,
8
+ * delete) as an undecorated client-based service built on
9
+ * {@link HttpApiService}. Configuration comes from an explicit
10
+ * `AirtableServiceConfig` or the `io.airtable` environment slice; base
11
+ * targets default to the configured `baseId` and can be overridden per call.
12
+ * Failures are mapped to decaf errors via {@link httpError}.
13
+ */
14
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
15
+ const environment_js_1 = require("./../environment.cjs");
16
+ const environmentValue_js_1 = require("./../../shared/environmentValue.cjs");
17
+ const index_js_1 = require("./../../shared/http/index.cjs");
18
+ /**
19
+ * @description Airtable Web API integration service
20
+ * @summary An undecorated HTTP service for listing records
21
+ * with filtering, sorting, and cursor paging; fetching, creating, updating,
22
+ * and deleting individual records. Base targets resolve per call from the
23
+ * `baseId` argument, falling back to the configured value, and throw
24
+ * `InternalError` when unresolved. Every operation requires a token
25
+ * (`requireToken()`), and transport failures are mapped to decaf errors via
26
+ * {@link httpError}.
27
+ * @class AirtableService
28
+ * @category IO
29
+ * @example
30
+ * ```ts
31
+ * import { AirtableService } from "@decaf-ts/integrations/io/airtable";
32
+ *
33
+ * const airtable = new AirtableService();
34
+ * await airtable.initialize({
35
+ * token: process.env.GRAPH_CREDENTIAL_AIRTABLE_TOKEN,
36
+ * baseId: "appExampleBase",
37
+ * });
38
+ * const created = await airtable.createRecord({
39
+ * table: "Tasks",
40
+ * fields: { Name: "Ship release", Status: "Todo" },
41
+ * });
42
+ * ```
43
+ * @memberOf module:integrations/io/airtable/service
44
+ */
45
+ class AirtableService extends index_js_1.HttpApiService {
46
+ constructor() {
47
+ super(...arguments);
48
+ /**
49
+ * @description The provider name used in error messages
50
+ */
51
+ this.serviceName = "Airtable";
52
+ }
53
+ /**
54
+ * @description The Airtable Web API v0 base URL
55
+ * @summary Used when the resolved config carries no `baseUrl`.
56
+ * @returns {string} `"https://api.airtable.com/v0"`.
57
+ */
58
+ defaultBaseUrl() {
59
+ return "https://api.airtable.com/v0";
60
+ }
61
+ /**
62
+ * @description Builds the Airtable bearer authorization headers
63
+ * @summary Returns the `Authorization: Bearer <token>` header when the
64
+ * config carries a token, and no headers otherwise.
65
+ * @param {AirtableServiceConfig} config - The resolved service configuration.
66
+ * @returns {Record<string, string>} The authorization headers (empty without a token).
67
+ */
68
+ authHeaders(config) {
69
+ return config.token ? { Authorization: `Bearer ${config.token}` } : {};
70
+ }
71
+ /**
72
+ * @description Reads the Airtable credentials and defaults from the environment
73
+ * @summary Reads the `io.airtable` environment slice and returns a partial
74
+ * config when a token is configured, `undefined` otherwise. Values pass
75
+ * through `envString`/`envNumber` to reject unset-leaf proxies.
76
+ * @returns {Partial<AirtableServiceConfig> | undefined} A partial config, or `undefined` when no Airtable token is configured.
77
+ */
78
+ configFromEnvironment() {
79
+ const env = environment_js_1.IoEnvironment.io.airtable;
80
+ const token = (0, environmentValue_js_1.envString)(env?.token);
81
+ if (!token)
82
+ return undefined;
83
+ return {
84
+ token,
85
+ baseId: (0, environmentValue_js_1.envString)(env.baseId),
86
+ baseUrl: (0, environmentValue_js_1.envString)(env.baseUrl),
87
+ timeout: (0, environmentValue_js_1.envNumber)(env.timeout),
88
+ };
89
+ }
90
+ /**
91
+ * @description Resolves the URL-encoded base path for a call
92
+ * @summary Builds `/<baseId>` from the given base ID, falling back to the
93
+ * configured value, and throws when neither is available.
94
+ * @param {string} [baseId] - The per-call base override.
95
+ * @returns {string} The URL-encoded base API path.
96
+ * @throws {InternalError} When neither the input nor the config yields a base ID.
97
+ */
98
+ basePath(baseId) {
99
+ const resolved = baseId ?? this.config.baseId;
100
+ if (!resolved) {
101
+ throw new db_decorators_1.InternalError("Airtable requires a base ID");
102
+ }
103
+ return `/${encodeURIComponent(resolved)}`;
104
+ }
105
+ /**
106
+ * @description Resolves the URL-encoded table path for a call
107
+ * @summary Builds `<basePath>/<table>` with both segments URL-encoded, and
108
+ * throws when the table name is empty (or the base cannot be resolved).
109
+ * @param {string} table - The table name or ID.
110
+ * @param {string} [baseId] - The per-call base override.
111
+ * @returns {string} The URL-encoded table API path.
112
+ * @throws {InternalError} When the table name is empty or the base ID cannot be resolved.
113
+ */
114
+ tablePath(table, baseId) {
115
+ if (!table)
116
+ throw new db_decorators_1.InternalError("Airtable requires a table name");
117
+ return `${this.basePath(baseId)}/${encodeURIComponent(table)}`;
118
+ }
119
+ /**
120
+ * @description Lists records in an Airtable table with cursor paging
121
+ * @summary `GET`s the table endpoint with the configured view, formula
122
+ * filter, record caps, page size, page offset, field projection, and first
123
+ * sort entry. Return the `offset` cursor as the next call's
124
+ * `AirtableListOptions.offset` to fetch further pages.
125
+ * @param {AirtableListOptions} options - The table and filter/sort/paging options.
126
+ * @param {string} [baseId] - The base override; falls back to the configured `baseId`.
127
+ * @returns {Promise<AirtableListResult>} The page of records and the next offset cursor when more pages exist.
128
+ * @throws {InternalError} When no token is configured or the table/base cannot be resolved.
129
+ * @throws {NotFoundError} When the base or table does not exist (HTTP 404).
130
+ * @throws {ConflictError} When Airtable answers with HTTP 409.
131
+ * @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid formula).
132
+ * @example
133
+ * ```ts
134
+ * let offset: string | undefined;
135
+ * do {
136
+ * const page = await airtable.listRecords({
137
+ * table: "Tasks",
138
+ * filterByFormula: "{Status} = 'Active'",
139
+ * pageSize: 100,
140
+ * offset,
141
+ * sort: [{ field: "Name", direction: "asc" }],
142
+ * });
143
+ * console.log(page.records);
144
+ * offset = page.offset;
145
+ * } while (offset);
146
+ * ```
147
+ */
148
+ async listRecords(options, baseId) {
149
+ this.requireToken();
150
+ try {
151
+ const response = await this.client.get(this.tablePath(options.table, baseId), {
152
+ params: {
153
+ view: options.view,
154
+ filterByFormula: options.filterByFormula,
155
+ maxRecords: options.maxRecords,
156
+ pageSize: options.pageSize,
157
+ offset: options.offset,
158
+ "fields[]": options.fields,
159
+ "sort[0][field]": options.sort?.[0]?.field,
160
+ "sort[0][direction]": options.sort?.[0]?.direction,
161
+ },
162
+ });
163
+ return {
164
+ records: response.data.records ?? [],
165
+ offset: response.data.offset,
166
+ };
167
+ }
168
+ catch (error) {
169
+ throw (0, index_js_1.httpError)("Airtable", "list records", error);
170
+ }
171
+ }
172
+ /**
173
+ * @description Fetches a single Airtable record
174
+ * @summary `GET`s the table endpoint with the record ID appended and
175
+ * returns the record envelope.
176
+ * @param {string} table - The table name or ID.
177
+ * @param {string} recordId - The record ID to fetch (e.g. `"rec1234567890"`).
178
+ * @param {string} [baseId] - The base override; falls back to the configured `baseId`.
179
+ * @returns {Promise<AirtableRecord>} The record envelope.
180
+ * @throws {InternalError} When no token is configured or the table/base cannot be resolved.
181
+ * @throws {NotFoundError} When the record does not exist (HTTP 404).
182
+ * @throws {ConflictError} When Airtable answers with HTTP 409.
183
+ * @throws {BadRequestError} When Airtable answers with any other HTTP error status.
184
+ */
185
+ async getRecord(table, recordId, baseId) {
186
+ this.requireToken();
187
+ try {
188
+ const response = await this.client.get(`${this.tablePath(table, baseId)}/${encodeURIComponent(recordId)}`);
189
+ return response.data;
190
+ }
191
+ catch (error) {
192
+ throw (0, index_js_1.httpError)("Airtable", "get record", error);
193
+ }
194
+ }
195
+ /**
196
+ * @description Creates an Airtable record
197
+ * @summary `POST`s the fields map to the table endpoint; `typecast` lets
198
+ * Airtable coerce values into the column types (disabled by default).
199
+ * @param {AirtableWriteInput} input - The table, fields, and typecast option.
200
+ * @param {string} [baseId] - The base override; falls back to the configured `baseId`.
201
+ * @returns {Promise<AirtableRecord>} The created record envelope.
202
+ * @throws {InternalError} When no token is configured or the table/base cannot be resolved.
203
+ * @throws {NotFoundError} When the base or table does not exist (HTTP 404).
204
+ * @throws {ConflictError} When Airtable answers with HTTP 409.
205
+ * @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid field values).
206
+ */
207
+ async createRecord(input, baseId) {
208
+ this.requireToken();
209
+ try {
210
+ const response = await this.client.post(this.tablePath(input.table, baseId), { fields: input.fields, typecast: input.typecast ?? false });
211
+ return response.data;
212
+ }
213
+ catch (error) {
214
+ throw (0, index_js_1.httpError)("Airtable", "create record", error);
215
+ }
216
+ }
217
+ /**
218
+ * @description Updates an Airtable record
219
+ * @summary `PATCH`es the fields map onto the record identified by
220
+ * `recordId`; only the provided fields change. `typecast` lets Airtable
221
+ * coerce values into the column types (disabled by default).
222
+ * @param {AirtableWriteInput & {recordId: string}} input - The table, fields, typecast option, and target record ID.
223
+ * @param {string} [baseId] - The base override; falls back to the configured `baseId`.
224
+ * @returns {Promise<AirtableRecord>} The updated record envelope.
225
+ * @throws {InternalError} When no token is configured or the table/base cannot be resolved.
226
+ * @throws {NotFoundError} When the record does not exist (HTTP 404).
227
+ * @throws {ConflictError} When Airtable answers with HTTP 409.
228
+ * @throws {BadRequestError} When Airtable answers with any other HTTP error status (e.g. invalid field values).
229
+ */
230
+ async updateRecord(input, baseId) {
231
+ this.requireToken();
232
+ try {
233
+ const response = await this.client.patch(`${this.tablePath(input.table, baseId)}/${encodeURIComponent(input.recordId)}`, { fields: input.fields, typecast: input.typecast ?? false });
234
+ return response.data;
235
+ }
236
+ catch (error) {
237
+ throw (0, index_js_1.httpError)("Airtable", "update record", error);
238
+ }
239
+ }
240
+ /**
241
+ * @description Deletes an Airtable record
242
+ * @summary `DELETE`s the record identified by `recordId` and returns the
243
+ * Airtable deletion confirmation.
244
+ * @param {string} table - The table name or ID.
245
+ * @param {string} recordId - The record ID to delete.
246
+ * @param {string} [baseId] - The base override; falls back to the configured `baseId`.
247
+ * @returns {Promise<{id: string, deleted: boolean}>} The deleted record's ID and Airtable's `deleted` confirmation.
248
+ * @throws {InternalError} When no token is configured or the table/base cannot be resolved.
249
+ * @throws {NotFoundError} When the record does not exist (HTTP 404).
250
+ * @throws {ConflictError} When Airtable answers with HTTP 409.
251
+ * @throws {BadRequestError} When Airtable answers with any other HTTP error status.
252
+ */
253
+ async deleteRecord(table, recordId, baseId) {
254
+ this.requireToken();
255
+ try {
256
+ const response = await this.client.delete(`${this.tablePath(table, baseId)}/${encodeURIComponent(recordId)}`);
257
+ return response.data;
258
+ }
259
+ catch (error) {
260
+ throw (0, index_js_1.httpError)("Airtable", "delete record", error);
261
+ }
262
+ }
263
+ }
264
+ exports.AirtableService = AirtableService;
265
+ //# sourceMappingURL=AirtableService.js.map
266
+ //# sourceMappingURL=AirtableService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io/airtable/AirtableService.cjs","sourceRoot":"","sources":["io/airtable/AirtableService.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @module integrations/io/airtable
19
+ * @summary Airtable Web API service (record CRUD).
20
+ * @description Re-exports the Airtable client-based service and its types.
21
+ */
22
+ __exportStar(require("./AirtableService.cjs"), exports);
23
+ //# sourceMappingURL=index.js.map
24
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io/airtable/index.cjs","sourceRoot":"","sources":["io/airtable/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,uDAAqC;AACrC,iCAAiC"}
@@ -0,0 +1,317 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ConfluenceService = void 0;
4
+ /**
5
+ * @module integrations/io/confluence/service
6
+ * @summary Confluence REST API integration service for spaces and pages.
7
+ * @description Exposes Confluence content operations (spaces, pages, and CQL
8
+ * search) as an undecorated client-based service built on
9
+ * {@link HttpApiService}. Configuration comes from an explicit
10
+ * `ConfluenceServiceConfig` or the `io.confluence` environment slice. When both
11
+ * `username` and `token` are configured the service sends HTTP Basic
12
+ * authentication (API token as the password); otherwise the token is sent as a
13
+ * bearer token. The site `baseUrl` is required. Credentials are referenced from
14
+ * configuration (and, from as-graph nodes, from the resolved `confluence`
15
+ * credential secret) and are never embedded in source. Failures are mapped to
16
+ * decaf errors via {@link httpError}.
17
+ */
18
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
19
+ const environment_js_1 = require("./../environment.cjs");
20
+ const environmentValue_js_1 = require("./../../shared/environmentValue.cjs");
21
+ const index_js_1 = require("./../../shared/http/index.cjs");
22
+ /** Default Confluence content type written by the service (`"page"`). */
23
+ const DEFAULT_PAGE_TYPE = "page";
24
+ /**
25
+ * @description Confluence REST API integration service
26
+ * @summary An undecorated HTTP service for reading, creating, updating, and
27
+ * deleting pages, listing spaces, and running CQL searches. The site base URL
28
+ * and API token are required; supplying a `username` switches authentication to
29
+ * Basic, and transport failures are mapped to decaf errors via
30
+ * {@link httpError}.
31
+ * @class ConfluenceService
32
+ * @extends HttpApiService
33
+ * @category IO
34
+ * @example
35
+ * ```ts
36
+ * import { ConfluenceService } from "@decaf-ts/integrations/io/confluence";
37
+ *
38
+ * const confluence = new ConfluenceService();
39
+ * await confluence.initialize({
40
+ * baseUrl: "https://example.atlassian.net/wiki",
41
+ * username: process.env.CONFLUENCE_USERNAME,
42
+ * token: process.env.GRAPH_CREDENTIAL_CONFLUENCE_TOKEN,
43
+ * });
44
+ * const page = await confluence.getPage("123456");
45
+ * ```
46
+ * @mermaid
47
+ * sequenceDiagram
48
+ * autonumber
49
+ * participant Caller
50
+ * participant Service as ConfluenceService
51
+ * participant API as Confluence REST API
52
+ * Caller->>Service: updatePage(input)
53
+ * activate Service
54
+ * Service->>Service: requireCredentials()
55
+ * opt version omitted
56
+ * Service->>API: GET /rest/api/content/{id}?expand=version
57
+ * activate API
58
+ * API-->>Service: current version
59
+ * deactivate API
60
+ * end
61
+ * Service->>API: PUT /rest/api/content/{id}
62
+ * activate API
63
+ * API-->>Service: updated page
64
+ * deactivate API
65
+ * Service-->>Caller: updated page
66
+ * deactivate Service
67
+ * @memberOf module:integrations/io/confluence/service
68
+ */
69
+ class ConfluenceService extends index_js_1.HttpApiService {
70
+ constructor() {
71
+ super(...arguments);
72
+ /**
73
+ * @description The provider name used in error messages
74
+ */
75
+ this.serviceName = "Confluence";
76
+ }
77
+ /**
78
+ * @description The default base URL for Confluence
79
+ * @summary Returns an empty string; Confluence is site-hosted, so the
80
+ * resolved `baseUrl` (from config or `io.confluence.baseUrl`) is required.
81
+ * @returns {string} An empty string.
82
+ */
83
+ defaultBaseUrl() {
84
+ return "";
85
+ }
86
+ /**
87
+ * @description Builds the Confluence authentication headers
88
+ * @summary Uses HTTP Basic (`username:token`) when both values are present,
89
+ * otherwise a bearer token when only `token` is present, otherwise no
90
+ * headers.
91
+ * @param {ConfluenceServiceConfig} config - The resolved service configuration.
92
+ * @returns {Record<string, string>} The authorization headers.
93
+ */
94
+ authHeaders(config) {
95
+ if (config.username && config.token) {
96
+ const encoded = Buffer.from(`${config.username}:${config.token}`, "utf8").toString("base64");
97
+ return { Authorization: `Basic ${encoded}` };
98
+ }
99
+ return config.token ? { Authorization: `Bearer ${config.token}` } : {};
100
+ }
101
+ /**
102
+ * @description Reads the Confluence credentials and defaults from the environment
103
+ * @summary Reads the `io.confluence` slice and returns a partial config when
104
+ * an API token is configured, `undefined` otherwise. Values pass through
105
+ * `envString`/`envNumber` to reject unset-leaf proxies.
106
+ * @returns {Partial<ConfluenceServiceConfig> | undefined} A partial config, or `undefined` when no Confluence token is configured.
107
+ */
108
+ configFromEnvironment() {
109
+ const env = environment_js_1.IoEnvironment.io.confluence;
110
+ const token = (0, environmentValue_js_1.envString)(env?.token);
111
+ if (!token)
112
+ return undefined;
113
+ return {
114
+ token,
115
+ username: (0, environmentValue_js_1.envString)(env.username),
116
+ baseUrl: (0, environmentValue_js_1.envString)(env.baseUrl),
117
+ timeout: (0, environmentValue_js_1.envNumber)(env.timeout),
118
+ };
119
+ }
120
+ /**
121
+ * @description Asserts that the Confluence token and site base URL are configured
122
+ * @summary Called by every operation before it touches the network.
123
+ * @returns {void}
124
+ * @throws {InternalError} When no API token or base URL is configured.
125
+ */
126
+ requireCredentials() {
127
+ if (!this.config.token) {
128
+ throw new db_decorators_1.InternalError("Confluence requires an API token");
129
+ }
130
+ if (!this.config.baseUrl) {
131
+ throw new db_decorators_1.InternalError("Confluence requires a base URL");
132
+ }
133
+ }
134
+ /**
135
+ * @description Wraps a body in the Confluence storage representation
136
+ * @summary Produces the `{ storage: { value, representation } }` envelope
137
+ * the content API expects.
138
+ * @param {string} body - The Confluence storage-format body.
139
+ * @returns {Record<string, unknown>} The storage body envelope.
140
+ */
141
+ storageBody(body) {
142
+ return {
143
+ storage: {
144
+ value: body,
145
+ representation: "storage",
146
+ },
147
+ };
148
+ }
149
+ /**
150
+ * @description Fetches a Confluence page
151
+ * @summary `GET`s `/rest/api/content/<id>` with the requested `expand`
152
+ * fields (default `body.storage,version`).
153
+ * @param {string} pageId - The page ID.
154
+ * @param {string} [expand] - Comma-separated fields to expand; defaults to `"body.storage,version"`.
155
+ * @returns {Promise<unknown>} The page payload.
156
+ * @throws {InternalError} When credentials are missing or the page ID is empty.
157
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
158
+ * @throws {BadRequestError} When the API rejects the request.
159
+ */
160
+ async getPage(pageId, expand = "body.storage,version") {
161
+ this.requireCredentials();
162
+ if (!pageId) {
163
+ throw new db_decorators_1.InternalError("Confluence requires a page id");
164
+ }
165
+ try {
166
+ const response = await this.client.get(`/rest/api/content/${encodeURIComponent(pageId)}`, { params: { expand } });
167
+ return response.data;
168
+ }
169
+ catch (error) {
170
+ throw (0, index_js_1.httpError)("Confluence", "get page", error);
171
+ }
172
+ }
173
+ /**
174
+ * @description Lists Confluence spaces
175
+ * @summary `GET`s `/rest/api/space` with a result `limit` (default `25`).
176
+ * @param {number} [limit] - Maximum number of spaces to return; defaults to `25`.
177
+ * @returns {Promise<unknown>} The space collection payload.
178
+ * @throws {InternalError} When credentials are missing.
179
+ * @throws {BadRequestError} When the API rejects the request.
180
+ */
181
+ async listSpaces(limit = 25) {
182
+ this.requireCredentials();
183
+ try {
184
+ const response = await this.client.get("/rest/api/space", {
185
+ params: { limit },
186
+ });
187
+ return response.data;
188
+ }
189
+ catch (error) {
190
+ throw (0, index_js_1.httpError)("Confluence", "list spaces", error);
191
+ }
192
+ }
193
+ /**
194
+ * @description Creates a Confluence page
195
+ * @summary `POST`s a `page` content entry in the target space, optionally
196
+ * under a parent, with the body in storage format.
197
+ * @param {ConfluencePageInput} input - The space, title, body, and optional parent.
198
+ * @returns {Promise<unknown>} The created page payload.
199
+ * @throws {InternalError} When credentials are missing, or the space key or title is empty.
200
+ * @throws {BadRequestError} When the API rejects the page.
201
+ * @example
202
+ * ```ts
203
+ * await confluence.createPage({
204
+ * spaceKey: "OPS",
205
+ * title: "Release 1.2.0",
206
+ * body: "<p>Details…</p>",
207
+ * });
208
+ * ```
209
+ */
210
+ async createPage(input) {
211
+ this.requireCredentials();
212
+ if (!input.spaceKey || !input.title) {
213
+ throw new db_decorators_1.InternalError("Confluence createPage requires a space key and title");
214
+ }
215
+ try {
216
+ const response = await this.client.post("/rest/api/content", {
217
+ type: DEFAULT_PAGE_TYPE,
218
+ title: input.title,
219
+ space: { key: input.spaceKey },
220
+ ...(input.parentId ? { ancestors: [{ id: input.parentId }] } : {}),
221
+ body: this.storageBody(input.body ?? ""),
222
+ });
223
+ return response.data;
224
+ }
225
+ catch (error) {
226
+ throw (0, index_js_1.httpError)("Confluence", "create page", error);
227
+ }
228
+ }
229
+ /**
230
+ * @description Updates a Confluence page
231
+ * @summary `PUT`s the new title and storage body. When `version` is omitted
232
+ * the current version is read first and the next number is submitted, as
233
+ * Confluence requires optimistic versioning.
234
+ * @param {ConfluencePageUpdate} input - The page, new title/body, and optional version.
235
+ * @returns {Promise<unknown>} The updated page payload.
236
+ * @throws {InternalError} When credentials are missing, or the page ID or title is empty.
237
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
238
+ * @throws {ConflictError} When the submitted version is stale (HTTP 409).
239
+ * @throws {BadRequestError} When the API rejects the update.
240
+ */
241
+ async updatePage(input) {
242
+ this.requireCredentials();
243
+ if (!input.pageId || !input.title) {
244
+ throw new db_decorators_1.InternalError("Confluence updatePage requires a page id and title");
245
+ }
246
+ try {
247
+ let version = input.version;
248
+ if (version === undefined) {
249
+ const current = await this.client.get(`/rest/api/content/${encodeURIComponent(input.pageId)}`, { params: { expand: "version" } });
250
+ version = (current.data.version?.number ?? 0) + 1;
251
+ }
252
+ const response = await this.client.put(`/rest/api/content/${encodeURIComponent(input.pageId)}`, {
253
+ id: input.pageId,
254
+ type: DEFAULT_PAGE_TYPE,
255
+ title: input.title,
256
+ version: { number: version },
257
+ body: this.storageBody(input.body ?? ""),
258
+ });
259
+ return response.data;
260
+ }
261
+ catch (error) {
262
+ throw (0, index_js_1.httpError)("Confluence", "update page", error);
263
+ }
264
+ }
265
+ /**
266
+ * @description Deletes a Confluence page
267
+ * @summary `DELETE`s the content entry and returns `{ deleted: true, pageId }`.
268
+ * @param {string} pageId - The page ID to delete.
269
+ * @returns {Promise<unknown>} `{ deleted: true, pageId }` on success.
270
+ * @throws {InternalError} When credentials are missing or the page ID is empty.
271
+ * @throws {NotFoundError} When the page does not exist (HTTP 404).
272
+ * @throws {BadRequestError} When the API rejects the deletion.
273
+ */
274
+ async deletePage(pageId) {
275
+ this.requireCredentials();
276
+ if (!pageId) {
277
+ throw new db_decorators_1.InternalError("Confluence requires a page id");
278
+ }
279
+ try {
280
+ await this.client.delete(`/rest/api/content/${encodeURIComponent(pageId)}`);
281
+ return { deleted: true, pageId };
282
+ }
283
+ catch (error) {
284
+ throw (0, index_js_1.httpError)("Confluence", "delete page", error);
285
+ }
286
+ }
287
+ /**
288
+ * @description Searches Confluence content with CQL
289
+ * @summary `GET`s `/rest/api/content/search` with the CQL expression and an
290
+ * optional `limit`.
291
+ * @param {ConfluenceSearchInput} input - The CQL query and result limit.
292
+ * @returns {Promise<unknown>} The search result payload.
293
+ * @throws {InternalError} When credentials are missing or the CQL query is empty.
294
+ * @throws {BadRequestError} When the CQL query is invalid.
295
+ */
296
+ async search(input) {
297
+ this.requireCredentials();
298
+ if (!input.cql) {
299
+ throw new db_decorators_1.InternalError("Confluence search requires a CQL query");
300
+ }
301
+ try {
302
+ const response = await this.client.get("/rest/api/content/search", {
303
+ params: {
304
+ cql: input.cql,
305
+ ...(input.limit !== undefined ? { limit: input.limit } : {}),
306
+ },
307
+ });
308
+ return response.data;
309
+ }
310
+ catch (error) {
311
+ throw (0, index_js_1.httpError)("Confluence", "search content", error);
312
+ }
313
+ }
314
+ }
315
+ exports.ConfluenceService = ConfluenceService;
316
+ //# sourceMappingURL=ConfluenceService.js.map
317
+ //# sourceMappingURL=ConfluenceService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io/confluence/ConfluenceService.cjs","sourceRoot":"","sources":["io/confluence/ConfluenceService.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ConfluenceService.cjs"), exports);
18
+ //# sourceMappingURL=index.js.map
19
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"io/confluence/index.cjs","sourceRoot":"","sources":["io/confluence/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,iCAAiC"}