@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,188 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
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
+ }
@@ -0,0 +1 @@
1
+ export * from "./GoogleDocsService.d.cts";
@@ -0,0 +1 @@
1
+ export * from "./GoogleDocsService.d.mts";
@@ -0,0 +1,204 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Google Sheets service
4
+ * @summary Extends {@link HttpApiServiceConfig} with either an OAuth token
5
+ * (preferred, sent as a bearer token) or an API key (sent as
6
+ * `X-Goog-Api-Key`; read-only against public spreadsheets). When omitted, the
7
+ * `io.googleSheets` environment slice supplies both (and optional
8
+ * `baseUrl`/`timeout`).
9
+ * @category IO
10
+ * @memberOf module:integrations/io/google-sheets/service
11
+ */
12
+ export interface GoogleSheetsServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Google OAuth access token
15
+ * @summary Sent as `Authorization: Bearer <token>`; takes precedence over the API key.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Google API key
20
+ * @summary Sent as `X-Goog-Api-Key` when no OAuth token is configured.
21
+ */
22
+ apiKey?: string;
23
+ }
24
+ /**
25
+ * @description Result of a Google Sheets values read or write
26
+ * @summary Echoes the target `spreadsheetId` and the A1 `range` Google
27
+ * actually served, the `majorDimension` of the payload, and the grid
28
+ * `values` as an array of rows (arrays of cell strings).
29
+ * @category IO
30
+ * @memberOf module:integrations/io/google-sheets/service
31
+ */
32
+ export interface GoogleSheetsValuesResult {
33
+ spreadsheetId: string;
34
+ range: string;
35
+ majorDimension?: string;
36
+ values: string[][];
37
+ }
38
+ /**
39
+ * @description Input for writing values into a Google Sheets range
40
+ * @summary Carries the target `spreadsheetId` and A1 `range`, the row
41
+ * `values` to write, and the `valueInputOption` controlling how Google
42
+ * interprets the cells (`"RAW"` stores text as-is, `"USER_ENTERED"` applies
43
+ * spreadsheet parsing and formulas; defaults to `"USER_ENTERED"`).
44
+ * @category IO
45
+ * @memberOf module:integrations/io/google-sheets/service
46
+ */
47
+ export interface GoogleSheetsWriteInput {
48
+ spreadsheetId: string;
49
+ range: string;
50
+ values: unknown[][];
51
+ valueInputOption?: "RAW" | "USER_ENTERED";
52
+ }
53
+ /**
54
+ * @description Google Sheets API integration service
55
+ * @summary An undecorated HTTP service for reading,
56
+ * updating, appending, and clearing values in A1 ranges of a spreadsheet, and
57
+ * for creating new spreadsheets. Every operation requires either an OAuth
58
+ * token or an API key (`requireAuth()`); ranges and spreadsheet IDs are
59
+ * URL-encoded, and transport failures are mapped to decaf errors via
60
+ * {@link httpError}.
61
+ * @class GoogleSheetsService
62
+ * @category IO
63
+ * @example
64
+ * ```ts
65
+ * import { GoogleSheetsService } from "@decaf-ts/integrations/io/google-sheets";
66
+ *
67
+ * const sheets = new GoogleSheetsService();
68
+ * await sheets.initialize({
69
+ * token: process.env.GRAPH_CREDENTIAL_GOOGLE_SHEETS_TOKEN,
70
+ * });
71
+ * const created = await sheets.createSpreadsheet("Metrics");
72
+ * await sheets.updateValues({
73
+ * spreadsheetId: created.spreadsheetId,
74
+ * range: "Sheet1!A1:B2",
75
+ * values: [
76
+ * ["date", "count"],
77
+ * ["2026-01-01", "42"],
78
+ * ],
79
+ * });
80
+ * ```
81
+ * @memberOf module:integrations/io/google-sheets/service
82
+ */
83
+ export declare class GoogleSheetsService extends HttpApiService<GoogleSheetsServiceConfig> {
84
+ /**
85
+ * @description The provider name used in error messages
86
+ */
87
+ protected readonly serviceName = "Google Sheets";
88
+ /**
89
+ * @description The Google Sheets v4 values API base URL
90
+ * @summary Used when the resolved config carries no `baseUrl`.
91
+ * @returns {string} `"https://sheets.googleapis.com/v4/spreadsheets"`.
92
+ */
93
+ protected defaultBaseUrl(): string;
94
+ /**
95
+ * @description Builds the Google Sheets authorization headers
96
+ * @summary Returns the `Authorization: Bearer <token>` header when the
97
+ * config carries an OAuth token, otherwise the `X-Goog-Api-Key` header when
98
+ * an API key is configured, and no headers otherwise.
99
+ * @param {GoogleSheetsServiceConfig} config - The resolved service configuration.
100
+ * @returns {Record<string, string>} The authorization headers (empty without a token or API key).
101
+ */
102
+ protected authHeaders(config: GoogleSheetsServiceConfig): Record<string, string>;
103
+ /**
104
+ * @description Reads the Google Sheets credentials and defaults from the environment
105
+ * @summary Reads the `io.googleSheets` environment slice and returns a
106
+ * partial config when a token or API key is configured, `undefined`
107
+ * otherwise. Values pass through `envString`/`envNumber` to reject
108
+ * unset-leaf proxies.
109
+ * @returns {Partial<GoogleSheetsServiceConfig> | undefined} A partial config, or `undefined` when neither token nor API key is configured.
110
+ */
111
+ protected configFromEnvironment(): Partial<GoogleSheetsServiceConfig> | undefined;
112
+ /**
113
+ * @description Asserts that the service was configured with OAuth credentials
114
+ * @summary Throws when the resolved config carries neither a `token` nor an
115
+ * `apiKey`; every operation calls this before issuing requests.
116
+ * @returns {void}
117
+ * @throws {InternalError} When neither an OAuth token nor an API key is configured.
118
+ */
119
+ protected requireAuth(): void;
120
+ /**
121
+ * @description URL-encodes an A1 range for the values API path
122
+ * @summary Ranges such as `Sheet1!A1:B2` contain characters that must be
123
+ * percent-encoded; all operations route the range through this helper.
124
+ * @param {string} range - The A1 notation range to encode.
125
+ * @returns {string} The URL-encoded range.
126
+ */
127
+ protected rangePath(range: string): string;
128
+ /**
129
+ * @description Reads values from an A1 range of a spreadsheet
130
+ * @summary `GET`s the values endpoint for the given `spreadsheetId` and
131
+ * `range` and returns the served range, major dimension, and the grid
132
+ * values (rows of cell strings). Requires credentials and both arguments.
133
+ * @param {string} spreadsheetId - The spreadsheet to read from.
134
+ * @param {string} range - The A1 notation range to read (e.g. `"Sheet1!A1:C10"`).
135
+ * @returns {Promise<GoogleSheetsValuesResult>} The served range and grid values.
136
+ * @throws {InternalError} When credentials are missing or the spreadsheet ID/range is empty.
137
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
138
+ * @throws {ConflictError} When Google answers with HTTP 409.
139
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
140
+ */
141
+ getValues(spreadsheetId: string, range: string): Promise<GoogleSheetsValuesResult>;
142
+ /**
143
+ * @description Overwrites values in an A1 range of a spreadsheet
144
+ * @summary `PUT`s the row values to the values endpoint for the given
145
+ * `spreadsheetId` and `range`. Cells are interpreted according to
146
+ * `valueInputOption` (`"USER_ENTERED"` by default, `"RAW"` to store text
147
+ * verbatim), and the existing range content is replaced.
148
+ * @param {GoogleSheetsWriteInput} input - The target spreadsheet, range, values, and input interpretation.
149
+ * @returns {Promise<GoogleSheetsValuesResult>} The served range and the written values.
150
+ * @throws {InternalError} When credentials are missing.
151
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
152
+ * @throws {ConflictError} When Google answers with HTTP 409.
153
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
154
+ */
155
+ updateValues(input: GoogleSheetsWriteInput): Promise<GoogleSheetsValuesResult>;
156
+ /**
157
+ * @description Appends values after the last row of an A1 range's table
158
+ * @summary `POST`s the row values to the `:append` endpoint for the given
159
+ * `spreadsheetId` and `range`, inserting new rows after existing table data
160
+ * (`insertDataOption: "INSERT_ROWS"`). Cells are interpreted according to
161
+ * `valueInputOption` (`"USER_ENTERED"` by default). Use a single-row or
162
+ * single-column A1 range to anchor the table; Google reports the range the
163
+ * data actually landed in.
164
+ * @param {GoogleSheetsWriteInput} input - The target spreadsheet, anchor range, values, and input interpretation.
165
+ * @returns {Promise<GoogleSheetsValuesResult>} The range the appended rows landed in and the appended values.
166
+ * @throws {InternalError} When credentials are missing.
167
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
168
+ * @throws {ConflictError} When Google answers with HTTP 409.
169
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
170
+ */
171
+ appendValues(input: GoogleSheetsWriteInput): Promise<GoogleSheetsValuesResult>;
172
+ /**
173
+ * @description Clears all values in an A1 range of a spreadsheet
174
+ * @summary `POST`s the `:clear` endpoint for the given `spreadsheetId` and
175
+ * `range`, emptying the cells while preserving formatting, and returns the
176
+ * range Google actually cleared.
177
+ * @param {string} spreadsheetId - The spreadsheet to clear values in.
178
+ * @param {string} range - The A1 notation range to clear.
179
+ * @returns {Promise<{spreadsheetId: string, clearedRange: string}>} The cleared range as reported by Google.
180
+ * @throws {InternalError} When credentials are missing.
181
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
182
+ * @throws {ConflictError} When Google answers with HTTP 409.
183
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
184
+ */
185
+ clearValues(spreadsheetId: string, range: string): Promise<{
186
+ spreadsheetId: string;
187
+ clearedRange: string;
188
+ }>;
189
+ /**
190
+ * @description Creates a new spreadsheet with the given title
191
+ * @summary `POST`s a spreadsheet resource with `properties.title` to the
192
+ * spreadsheets endpoint and returns the new spreadsheet's ID and URL.
193
+ * @param {string} title - The title for the new spreadsheet.
194
+ * @returns {Promise<{spreadsheetId: string, spreadsheetUrl?: string}>} The created spreadsheet's ID and URL.
195
+ * @throws {InternalError} When credentials are missing or the title is empty.
196
+ * @throws {NotFoundError} When Google answers with HTTP 404.
197
+ * @throws {ConflictError} When Google answers with HTTP 409.
198
+ * @throws {BadRequestError} When Google answers with any other HTTP error status.
199
+ */
200
+ createSpreadsheet(title: string): Promise<{
201
+ spreadsheetId: string;
202
+ spreadsheetUrl?: string;
203
+ }>;
204
+ }
@@ -0,0 +1,204 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Google Sheets service
4
+ * @summary Extends {@link HttpApiServiceConfig} with either an OAuth token
5
+ * (preferred, sent as a bearer token) or an API key (sent as
6
+ * `X-Goog-Api-Key`; read-only against public spreadsheets). When omitted, the
7
+ * `io.googleSheets` environment slice supplies both (and optional
8
+ * `baseUrl`/`timeout`).
9
+ * @category IO
10
+ * @memberOf module:integrations/io/google-sheets/service
11
+ */
12
+ export interface GoogleSheetsServiceConfig extends HttpApiServiceConfig {
13
+ /**
14
+ * @description Google OAuth access token
15
+ * @summary Sent as `Authorization: Bearer <token>`; takes precedence over the API key.
16
+ */
17
+ token?: string;
18
+ /**
19
+ * @description Google API key
20
+ * @summary Sent as `X-Goog-Api-Key` when no OAuth token is configured.
21
+ */
22
+ apiKey?: string;
23
+ }
24
+ /**
25
+ * @description Result of a Google Sheets values read or write
26
+ * @summary Echoes the target `spreadsheetId` and the A1 `range` Google
27
+ * actually served, the `majorDimension` of the payload, and the grid
28
+ * `values` as an array of rows (arrays of cell strings).
29
+ * @category IO
30
+ * @memberOf module:integrations/io/google-sheets/service
31
+ */
32
+ export interface GoogleSheetsValuesResult {
33
+ spreadsheetId: string;
34
+ range: string;
35
+ majorDimension?: string;
36
+ values: string[][];
37
+ }
38
+ /**
39
+ * @description Input for writing values into a Google Sheets range
40
+ * @summary Carries the target `spreadsheetId` and A1 `range`, the row
41
+ * `values` to write, and the `valueInputOption` controlling how Google
42
+ * interprets the cells (`"RAW"` stores text as-is, `"USER_ENTERED"` applies
43
+ * spreadsheet parsing and formulas; defaults to `"USER_ENTERED"`).
44
+ * @category IO
45
+ * @memberOf module:integrations/io/google-sheets/service
46
+ */
47
+ export interface GoogleSheetsWriteInput {
48
+ spreadsheetId: string;
49
+ range: string;
50
+ values: unknown[][];
51
+ valueInputOption?: "RAW" | "USER_ENTERED";
52
+ }
53
+ /**
54
+ * @description Google Sheets API integration service
55
+ * @summary An undecorated HTTP service for reading,
56
+ * updating, appending, and clearing values in A1 ranges of a spreadsheet, and
57
+ * for creating new spreadsheets. Every operation requires either an OAuth
58
+ * token or an API key (`requireAuth()`); ranges and spreadsheet IDs are
59
+ * URL-encoded, and transport failures are mapped to decaf errors via
60
+ * {@link httpError}.
61
+ * @class GoogleSheetsService
62
+ * @category IO
63
+ * @example
64
+ * ```ts
65
+ * import { GoogleSheetsService } from "@decaf-ts/integrations/io/google-sheets";
66
+ *
67
+ * const sheets = new GoogleSheetsService();
68
+ * await sheets.initialize({
69
+ * token: process.env.GRAPH_CREDENTIAL_GOOGLE_SHEETS_TOKEN,
70
+ * });
71
+ * const created = await sheets.createSpreadsheet("Metrics");
72
+ * await sheets.updateValues({
73
+ * spreadsheetId: created.spreadsheetId,
74
+ * range: "Sheet1!A1:B2",
75
+ * values: [
76
+ * ["date", "count"],
77
+ * ["2026-01-01", "42"],
78
+ * ],
79
+ * });
80
+ * ```
81
+ * @memberOf module:integrations/io/google-sheets/service
82
+ */
83
+ export declare class GoogleSheetsService extends HttpApiService<GoogleSheetsServiceConfig> {
84
+ /**
85
+ * @description The provider name used in error messages
86
+ */
87
+ protected readonly serviceName = "Google Sheets";
88
+ /**
89
+ * @description The Google Sheets v4 values API base URL
90
+ * @summary Used when the resolved config carries no `baseUrl`.
91
+ * @returns {string} `"https://sheets.googleapis.com/v4/spreadsheets"`.
92
+ */
93
+ protected defaultBaseUrl(): string;
94
+ /**
95
+ * @description Builds the Google Sheets authorization headers
96
+ * @summary Returns the `Authorization: Bearer <token>` header when the
97
+ * config carries an OAuth token, otherwise the `X-Goog-Api-Key` header when
98
+ * an API key is configured, and no headers otherwise.
99
+ * @param {GoogleSheetsServiceConfig} config - The resolved service configuration.
100
+ * @returns {Record<string, string>} The authorization headers (empty without a token or API key).
101
+ */
102
+ protected authHeaders(config: GoogleSheetsServiceConfig): Record<string, string>;
103
+ /**
104
+ * @description Reads the Google Sheets credentials and defaults from the environment
105
+ * @summary Reads the `io.googleSheets` environment slice and returns a
106
+ * partial config when a token or API key is configured, `undefined`
107
+ * otherwise. Values pass through `envString`/`envNumber` to reject
108
+ * unset-leaf proxies.
109
+ * @returns {Partial<GoogleSheetsServiceConfig> | undefined} A partial config, or `undefined` when neither token nor API key is configured.
110
+ */
111
+ protected configFromEnvironment(): Partial<GoogleSheetsServiceConfig> | undefined;
112
+ /**
113
+ * @description Asserts that the service was configured with OAuth credentials
114
+ * @summary Throws when the resolved config carries neither a `token` nor an
115
+ * `apiKey`; every operation calls this before issuing requests.
116
+ * @returns {void}
117
+ * @throws {InternalError} When neither an OAuth token nor an API key is configured.
118
+ */
119
+ protected requireAuth(): void;
120
+ /**
121
+ * @description URL-encodes an A1 range for the values API path
122
+ * @summary Ranges such as `Sheet1!A1:B2` contain characters that must be
123
+ * percent-encoded; all operations route the range through this helper.
124
+ * @param {string} range - The A1 notation range to encode.
125
+ * @returns {string} The URL-encoded range.
126
+ */
127
+ protected rangePath(range: string): string;
128
+ /**
129
+ * @description Reads values from an A1 range of a spreadsheet
130
+ * @summary `GET`s the values endpoint for the given `spreadsheetId` and
131
+ * `range` and returns the served range, major dimension, and the grid
132
+ * values (rows of cell strings). Requires credentials and both arguments.
133
+ * @param {string} spreadsheetId - The spreadsheet to read from.
134
+ * @param {string} range - The A1 notation range to read (e.g. `"Sheet1!A1:C10"`).
135
+ * @returns {Promise<GoogleSheetsValuesResult>} The served range and grid values.
136
+ * @throws {InternalError} When credentials are missing or the spreadsheet ID/range is empty.
137
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
138
+ * @throws {ConflictError} When Google answers with HTTP 409.
139
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
140
+ */
141
+ getValues(spreadsheetId: string, range: string): Promise<GoogleSheetsValuesResult>;
142
+ /**
143
+ * @description Overwrites values in an A1 range of a spreadsheet
144
+ * @summary `PUT`s the row values to the values endpoint for the given
145
+ * `spreadsheetId` and `range`. Cells are interpreted according to
146
+ * `valueInputOption` (`"USER_ENTERED"` by default, `"RAW"` to store text
147
+ * verbatim), and the existing range content is replaced.
148
+ * @param {GoogleSheetsWriteInput} input - The target spreadsheet, range, values, and input interpretation.
149
+ * @returns {Promise<GoogleSheetsValuesResult>} The served range and the written values.
150
+ * @throws {InternalError} When credentials are missing.
151
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
152
+ * @throws {ConflictError} When Google answers with HTTP 409.
153
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
154
+ */
155
+ updateValues(input: GoogleSheetsWriteInput): Promise<GoogleSheetsValuesResult>;
156
+ /**
157
+ * @description Appends values after the last row of an A1 range's table
158
+ * @summary `POST`s the row values to the `:append` endpoint for the given
159
+ * `spreadsheetId` and `range`, inserting new rows after existing table data
160
+ * (`insertDataOption: "INSERT_ROWS"`). Cells are interpreted according to
161
+ * `valueInputOption` (`"USER_ENTERED"` by default). Use a single-row or
162
+ * single-column A1 range to anchor the table; Google reports the range the
163
+ * data actually landed in.
164
+ * @param {GoogleSheetsWriteInput} input - The target spreadsheet, anchor range, values, and input interpretation.
165
+ * @returns {Promise<GoogleSheetsValuesResult>} The range the appended rows landed in and the appended values.
166
+ * @throws {InternalError} When credentials are missing.
167
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
168
+ * @throws {ConflictError} When Google answers with HTTP 409.
169
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
170
+ */
171
+ appendValues(input: GoogleSheetsWriteInput): Promise<GoogleSheetsValuesResult>;
172
+ /**
173
+ * @description Clears all values in an A1 range of a spreadsheet
174
+ * @summary `POST`s the `:clear` endpoint for the given `spreadsheetId` and
175
+ * `range`, emptying the cells while preserving formatting, and returns the
176
+ * range Google actually cleared.
177
+ * @param {string} spreadsheetId - The spreadsheet to clear values in.
178
+ * @param {string} range - The A1 notation range to clear.
179
+ * @returns {Promise<{spreadsheetId: string, clearedRange: string}>} The cleared range as reported by Google.
180
+ * @throws {InternalError} When credentials are missing.
181
+ * @throws {NotFoundError} When the spreadsheet does not exist (HTTP 404).
182
+ * @throws {ConflictError} When Google answers with HTTP 409.
183
+ * @throws {BadRequestError} When Google answers with any other HTTP error status (e.g. invalid range).
184
+ */
185
+ clearValues(spreadsheetId: string, range: string): Promise<{
186
+ spreadsheetId: string;
187
+ clearedRange: string;
188
+ }>;
189
+ /**
190
+ * @description Creates a new spreadsheet with the given title
191
+ * @summary `POST`s a spreadsheet resource with `properties.title` to the
192
+ * spreadsheets endpoint and returns the new spreadsheet's ID and URL.
193
+ * @param {string} title - The title for the new spreadsheet.
194
+ * @returns {Promise<{spreadsheetId: string, spreadsheetUrl?: string}>} The created spreadsheet's ID and URL.
195
+ * @throws {InternalError} When credentials are missing or the title is empty.
196
+ * @throws {NotFoundError} When Google answers with HTTP 404.
197
+ * @throws {ConflictError} When Google answers with HTTP 409.
198
+ * @throws {BadRequestError} When Google answers with any other HTTP error status.
199
+ */
200
+ createSpreadsheet(title: string): Promise<{
201
+ spreadsheetId: string;
202
+ spreadsheetUrl?: string;
203
+ }>;
204
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/io/google-sheets
3
+ * @summary Google Sheets REST v4 service (values read/write/append/clear, spreadsheet creation).
4
+ * @description Re-exports the Google Sheets client-based service and its types.
5
+ */
6
+ export * from "./GoogleSheetsService.d.cts";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/io/google-sheets
3
+ * @summary Google Sheets REST v4 service (values read/write/append/clear, spreadsheet creation).
4
+ * @description Re-exports the Google Sheets client-based service and its types.
5
+ */
6
+ export * from "./GoogleSheetsService.d.mts";