@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,300 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.cts";
2
+ /**
3
+ * @description Configuration for the Jira service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the API `token`, the
5
+ * optional `username` that enables Basic authentication, and the required site
6
+ * `baseUrl`. When omitted, the `io.jira` environment slice supplies the same
7
+ * values (plus optional `timeout`).
8
+ * @category IO
9
+ * @memberOf module:integrations/io/jira/service
10
+ */
11
+ export interface JiraServiceConfig extends HttpApiServiceConfig {
12
+ /**
13
+ * @description Jira API token
14
+ * @summary Used as the Basic-auth password when `username` is set, otherwise as a bearer token.
15
+ */
16
+ token?: string;
17
+ /**
18
+ * @description Jira account username for Basic authentication
19
+ */
20
+ username?: string;
21
+ }
22
+ /**
23
+ * @description Input for creating a Jira issue
24
+ * @summary Carries the target `projectKey`, issue `summary`, optional
25
+ * `issueType` (default `Task`), `description`, and additional raw `fields`
26
+ * merged into the create payload.
27
+ * @category IO
28
+ * @memberOf module:integrations/io/jira/service
29
+ */
30
+ export interface JiraIssueInput {
31
+ /**
32
+ * @description Project key that owns the new issue
33
+ */
34
+ projectKey: string;
35
+ /**
36
+ * @description Issue summary
37
+ */
38
+ summary: string;
39
+ /**
40
+ * @description Issue type name (default `Task`)
41
+ */
42
+ issueType?: string;
43
+ /**
44
+ * @description Issue description
45
+ */
46
+ description?: string;
47
+ /**
48
+ * @description Additional Jira fields merged into the create payload
49
+ */
50
+ fields?: Record<string, unknown>;
51
+ }
52
+ /**
53
+ * @description Input for updating a Jira issue
54
+ * @summary Carries the target `issueKey` and the `fields` map to update.
55
+ * @category IO
56
+ * @memberOf module:integrations/io/jira/service
57
+ */
58
+ export interface JiraIssueUpdate {
59
+ /**
60
+ * @description Issue key to update (e.g. `"SAA-123"`)
61
+ */
62
+ issueKey: string;
63
+ /**
64
+ * @description Fields to update
65
+ */
66
+ fields: Record<string, unknown>;
67
+ }
68
+ /**
69
+ * @description Input for commenting on a Jira issue
70
+ * @summary Carries the target `issueKey` and the comment `body`.
71
+ * @category IO
72
+ * @memberOf module:integrations/io/jira/service
73
+ */
74
+ export interface JiraCommentInput {
75
+ /**
76
+ * @description Issue key to comment on
77
+ */
78
+ issueKey: string;
79
+ /**
80
+ * @description Comment body
81
+ */
82
+ body: string;
83
+ }
84
+ /**
85
+ * @description Input for transitioning a Jira issue
86
+ * @summary Carries the target `issueKey` and the workflow `transitionId`.
87
+ * @category IO
88
+ * @memberOf module:integrations/io/jira/service
89
+ */
90
+ export interface JiraTransitionInput {
91
+ /**
92
+ * @description Issue key to transition
93
+ */
94
+ issueKey: string;
95
+ /**
96
+ * @description Workflow transition ID
97
+ */
98
+ transitionId: string;
99
+ }
100
+ /**
101
+ * @description Input for a Jira JQL search
102
+ * @summary Carries the `jql` query, an optional result cap (default `50`), and
103
+ * an optional list of `fields` to project.
104
+ * @category IO
105
+ * @memberOf module:integrations/io/jira/service
106
+ */
107
+ export interface JiraSearchInput {
108
+ /**
109
+ * @description JQL query expression
110
+ */
111
+ jql: string;
112
+ /**
113
+ * @description Maximum number of results (default `50`)
114
+ */
115
+ maxResults?: number;
116
+ /**
117
+ * @description Field names to include in the results
118
+ */
119
+ fields?: string[];
120
+ }
121
+ /**
122
+ * @description Jira REST API integration service
123
+ * @summary An undecorated HTTP service for issue CRUD, comments, workflow
124
+ * transitions, and JQL search. The site base URL and API token are required;
125
+ * supplying a `username` switches authentication to Basic, and transport
126
+ * failures are mapped to decaf errors via {@link httpError}.
127
+ * @class JiraService
128
+ * @extends HttpApiService
129
+ * @category IO
130
+ * @example
131
+ * ```ts
132
+ * import { JiraService } from "@decaf-ts/integrations/io/jira";
133
+ *
134
+ * const jira = new JiraService();
135
+ * await jira.initialize({
136
+ * baseUrl: "https://example.atlassian.net",
137
+ * username: process.env.JIRA_USERNAME,
138
+ * token: process.env.GRAPH_CREDENTIAL_JIRA_TOKEN,
139
+ * });
140
+ * const issue = await jira.createIssue({
141
+ * projectKey: "OPS",
142
+ * summary: "Deployment failed",
143
+ * });
144
+ * ```
145
+ * @mermaid
146
+ * sequenceDiagram
147
+ * autonumber
148
+ * participant Caller
149
+ * participant Service as JiraService
150
+ * participant API as Jira REST API
151
+ * Caller->>Service: createIssue(input)
152
+ * activate Service
153
+ * Service->>Service: requireCredentials()
154
+ * Service->>API: POST /rest/api/2/issue
155
+ * activate API
156
+ * API-->>Service: { id, key }
157
+ * deactivate API
158
+ * Service-->>Caller: created issue
159
+ * deactivate Service
160
+ * @memberOf module:integrations/io/jira/service
161
+ */
162
+ export declare class JiraService extends HttpApiService<JiraServiceConfig> {
163
+ /**
164
+ * @description The provider name used in error messages
165
+ */
166
+ protected readonly serviceName = "Jira";
167
+ /**
168
+ * @description The default base URL for Jira
169
+ * @summary Returns an empty string; Jira is site-hosted, so the resolved
170
+ * `baseUrl` (from config or `io.jira.baseUrl`) is required.
171
+ * @returns {string} An empty string.
172
+ */
173
+ protected defaultBaseUrl(): string;
174
+ /**
175
+ * @description Builds the Jira authentication headers
176
+ * @summary Uses HTTP Basic (`username:token`) when both values are present,
177
+ * otherwise a bearer token when only `token` is present. Always requests
178
+ * JSON responses.
179
+ * @param {JiraServiceConfig} config - The resolved service configuration.
180
+ * @returns {Record<string, string>} The authorization and accept headers.
181
+ */
182
+ protected authHeaders(config: JiraServiceConfig): Record<string, string>;
183
+ /**
184
+ * @description Reads the Jira credentials and defaults from the environment
185
+ * @summary Reads the `io.jira` slice and returns a partial config when an
186
+ * API token is configured, `undefined` otherwise. Values pass through
187
+ * `envString`/`envNumber` to reject unset-leaf proxies.
188
+ * @returns {Partial<JiraServiceConfig> | undefined} A partial config, or `undefined` when no Jira token is configured.
189
+ */
190
+ protected configFromEnvironment(): Partial<JiraServiceConfig> | undefined;
191
+ /**
192
+ * @description Asserts that the Jira token and site base URL are configured
193
+ * @summary Called by every operation before it touches the network.
194
+ * @returns {void}
195
+ * @throws {InternalError} When no API token or base URL is configured.
196
+ */
197
+ protected requireCredentials(): void;
198
+ /**
199
+ * @description Builds the encoded issue path
200
+ * @summary Validates the issue key and URL-encodes it into
201
+ * `/rest/api/2/issue/<key>`.
202
+ * @param {string} issueKey - The Jira issue key.
203
+ * @returns {string} The issue API path.
204
+ * @throws {InternalError} When `issueKey` is empty.
205
+ */
206
+ private issuePath;
207
+ /**
208
+ * @description Creates a Jira issue
209
+ * @summary `POST`s the project, summary, issue type (default `Task`),
210
+ * optional description, and extra fields to `/rest/api/2/issue`.
211
+ * @param {JiraIssueInput} input - The issue definition.
212
+ * @returns {Promise<unknown>} The created issue payload (including `id` and `key`).
213
+ * @throws {InternalError} When credentials are missing, or the project key or summary is empty.
214
+ * @throws {BadRequestError} When Jira rejects the issue.
215
+ */
216
+ createIssue(input: JiraIssueInput): Promise<unknown>;
217
+ /**
218
+ * @description Fetches a Jira issue
219
+ * @summary `GET`s the issue by key, optionally projecting the given field
220
+ * names.
221
+ * @param {string} issueKey - The issue key to fetch.
222
+ * @param {string[]} [fields] - Field names to include in the response.
223
+ * @returns {Promise<unknown>} The issue payload.
224
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
225
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
226
+ * @throws {BadRequestError} When Jira rejects the request.
227
+ */
228
+ getIssue(issueKey: string, fields?: string[]): Promise<unknown>;
229
+ /**
230
+ * @description Updates fields on a Jira issue
231
+ * @summary `PUT`s the `fields` map to the issue and returns
232
+ * `{ updated: true, issueKey }`.
233
+ * @param {JiraIssueUpdate} input - The issue key and fields to update.
234
+ * @returns {Promise<unknown>} `{ updated: true, issueKey }` on success.
235
+ * @throws {InternalError} When credentials are missing, or the issue key or fields are empty.
236
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
237
+ * @throws {BadRequestError} When Jira rejects the update.
238
+ */
239
+ updateIssue(input: JiraIssueUpdate): Promise<unknown>;
240
+ /**
241
+ * @description Deletes a Jira issue
242
+ * @summary `DELETE`s the issue and returns `{ deleted: true, issueKey }`.
243
+ * @param {string} issueKey - The issue key to delete.
244
+ * @returns {Promise<unknown>} `{ deleted: true, issueKey }` on success.
245
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
246
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
247
+ * @throws {BadRequestError} When Jira rejects the deletion.
248
+ */
249
+ deleteIssue(issueKey: string): Promise<unknown>;
250
+ /**
251
+ * @description Adds a comment to a Jira issue
252
+ * @summary `POST`s the comment body to the issue's `/comment` endpoint.
253
+ * @param {JiraCommentInput} input - The issue key and comment body.
254
+ * @returns {Promise<unknown>} The created comment payload.
255
+ * @throws {InternalError} When credentials are missing, or the issue key or body is empty.
256
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
257
+ * @throws {BadRequestError} When Jira rejects the comment.
258
+ */
259
+ addComment(input: JiraCommentInput): Promise<unknown>;
260
+ /**
261
+ * @description Lists the available workflow transitions for a Jira issue
262
+ * @summary `GET`s the issue's `/transitions` collection, whose IDs feed
263
+ * {@link JiraService.transitionIssue}.
264
+ * @param {string} issueKey - The issue key.
265
+ * @returns {Promise<unknown>} The available transitions payload.
266
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
267
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
268
+ * @throws {BadRequestError} When Jira rejects the request.
269
+ */
270
+ getTransitions(issueKey: string): Promise<unknown>;
271
+ /**
272
+ * @description Transitions a Jira issue through its workflow
273
+ * @summary `POST`s the transition ID to the issue's `/transitions` endpoint
274
+ * and returns the applied transition identifiers.
275
+ * @param {JiraTransitionInput} input - The issue key and transition ID.
276
+ * @returns {Promise<unknown>} `{ transitioned: true, issueKey, transitionId }` on success.
277
+ * @throws {InternalError} When credentials are missing, or the issue key or transition ID is empty.
278
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
279
+ * @throws {BadRequestError} When Jira rejects the transition.
280
+ */
281
+ transitionIssue(input: JiraTransitionInput): Promise<unknown>;
282
+ /**
283
+ * @description Searches Jira issues with JQL
284
+ * @summary `POST`s the JQL query to `/rest/api/2/search` with a result cap
285
+ * (default `50`) and optional field projection.
286
+ * @param {JiraSearchInput} input - The JQL query and search options.
287
+ * @returns {Promise<unknown>} The search result payload.
288
+ * @throws {InternalError} When credentials are missing or the JQL query is empty.
289
+ * @throws {BadRequestError} When the JQL query is invalid.
290
+ * @example
291
+ * ```ts
292
+ * const results = await jira.search({
293
+ * jql: 'project = "OPS" AND status = "Open"',
294
+ * maxResults: 100,
295
+ * fields: ["summary", "status"],
296
+ * });
297
+ * ```
298
+ */
299
+ search(input: JiraSearchInput): Promise<unknown>;
300
+ }
@@ -0,0 +1,300 @@
1
+ import { HttpApiService, type HttpApiServiceConfig } from "../../shared/http/index.d.mts";
2
+ /**
3
+ * @description Configuration for the Jira service
4
+ * @summary Extends {@link HttpApiServiceConfig} with the API `token`, the
5
+ * optional `username` that enables Basic authentication, and the required site
6
+ * `baseUrl`. When omitted, the `io.jira` environment slice supplies the same
7
+ * values (plus optional `timeout`).
8
+ * @category IO
9
+ * @memberOf module:integrations/io/jira/service
10
+ */
11
+ export interface JiraServiceConfig extends HttpApiServiceConfig {
12
+ /**
13
+ * @description Jira API token
14
+ * @summary Used as the Basic-auth password when `username` is set, otherwise as a bearer token.
15
+ */
16
+ token?: string;
17
+ /**
18
+ * @description Jira account username for Basic authentication
19
+ */
20
+ username?: string;
21
+ }
22
+ /**
23
+ * @description Input for creating a Jira issue
24
+ * @summary Carries the target `projectKey`, issue `summary`, optional
25
+ * `issueType` (default `Task`), `description`, and additional raw `fields`
26
+ * merged into the create payload.
27
+ * @category IO
28
+ * @memberOf module:integrations/io/jira/service
29
+ */
30
+ export interface JiraIssueInput {
31
+ /**
32
+ * @description Project key that owns the new issue
33
+ */
34
+ projectKey: string;
35
+ /**
36
+ * @description Issue summary
37
+ */
38
+ summary: string;
39
+ /**
40
+ * @description Issue type name (default `Task`)
41
+ */
42
+ issueType?: string;
43
+ /**
44
+ * @description Issue description
45
+ */
46
+ description?: string;
47
+ /**
48
+ * @description Additional Jira fields merged into the create payload
49
+ */
50
+ fields?: Record<string, unknown>;
51
+ }
52
+ /**
53
+ * @description Input for updating a Jira issue
54
+ * @summary Carries the target `issueKey` and the `fields` map to update.
55
+ * @category IO
56
+ * @memberOf module:integrations/io/jira/service
57
+ */
58
+ export interface JiraIssueUpdate {
59
+ /**
60
+ * @description Issue key to update (e.g. `"SAA-123"`)
61
+ */
62
+ issueKey: string;
63
+ /**
64
+ * @description Fields to update
65
+ */
66
+ fields: Record<string, unknown>;
67
+ }
68
+ /**
69
+ * @description Input for commenting on a Jira issue
70
+ * @summary Carries the target `issueKey` and the comment `body`.
71
+ * @category IO
72
+ * @memberOf module:integrations/io/jira/service
73
+ */
74
+ export interface JiraCommentInput {
75
+ /**
76
+ * @description Issue key to comment on
77
+ */
78
+ issueKey: string;
79
+ /**
80
+ * @description Comment body
81
+ */
82
+ body: string;
83
+ }
84
+ /**
85
+ * @description Input for transitioning a Jira issue
86
+ * @summary Carries the target `issueKey` and the workflow `transitionId`.
87
+ * @category IO
88
+ * @memberOf module:integrations/io/jira/service
89
+ */
90
+ export interface JiraTransitionInput {
91
+ /**
92
+ * @description Issue key to transition
93
+ */
94
+ issueKey: string;
95
+ /**
96
+ * @description Workflow transition ID
97
+ */
98
+ transitionId: string;
99
+ }
100
+ /**
101
+ * @description Input for a Jira JQL search
102
+ * @summary Carries the `jql` query, an optional result cap (default `50`), and
103
+ * an optional list of `fields` to project.
104
+ * @category IO
105
+ * @memberOf module:integrations/io/jira/service
106
+ */
107
+ export interface JiraSearchInput {
108
+ /**
109
+ * @description JQL query expression
110
+ */
111
+ jql: string;
112
+ /**
113
+ * @description Maximum number of results (default `50`)
114
+ */
115
+ maxResults?: number;
116
+ /**
117
+ * @description Field names to include in the results
118
+ */
119
+ fields?: string[];
120
+ }
121
+ /**
122
+ * @description Jira REST API integration service
123
+ * @summary An undecorated HTTP service for issue CRUD, comments, workflow
124
+ * transitions, and JQL search. The site base URL and API token are required;
125
+ * supplying a `username` switches authentication to Basic, and transport
126
+ * failures are mapped to decaf errors via {@link httpError}.
127
+ * @class JiraService
128
+ * @extends HttpApiService
129
+ * @category IO
130
+ * @example
131
+ * ```ts
132
+ * import { JiraService } from "@decaf-ts/integrations/io/jira";
133
+ *
134
+ * const jira = new JiraService();
135
+ * await jira.initialize({
136
+ * baseUrl: "https://example.atlassian.net",
137
+ * username: process.env.JIRA_USERNAME,
138
+ * token: process.env.GRAPH_CREDENTIAL_JIRA_TOKEN,
139
+ * });
140
+ * const issue = await jira.createIssue({
141
+ * projectKey: "OPS",
142
+ * summary: "Deployment failed",
143
+ * });
144
+ * ```
145
+ * @mermaid
146
+ * sequenceDiagram
147
+ * autonumber
148
+ * participant Caller
149
+ * participant Service as JiraService
150
+ * participant API as Jira REST API
151
+ * Caller->>Service: createIssue(input)
152
+ * activate Service
153
+ * Service->>Service: requireCredentials()
154
+ * Service->>API: POST /rest/api/2/issue
155
+ * activate API
156
+ * API-->>Service: { id, key }
157
+ * deactivate API
158
+ * Service-->>Caller: created issue
159
+ * deactivate Service
160
+ * @memberOf module:integrations/io/jira/service
161
+ */
162
+ export declare class JiraService extends HttpApiService<JiraServiceConfig> {
163
+ /**
164
+ * @description The provider name used in error messages
165
+ */
166
+ protected readonly serviceName = "Jira";
167
+ /**
168
+ * @description The default base URL for Jira
169
+ * @summary Returns an empty string; Jira is site-hosted, so the resolved
170
+ * `baseUrl` (from config or `io.jira.baseUrl`) is required.
171
+ * @returns {string} An empty string.
172
+ */
173
+ protected defaultBaseUrl(): string;
174
+ /**
175
+ * @description Builds the Jira authentication headers
176
+ * @summary Uses HTTP Basic (`username:token`) when both values are present,
177
+ * otherwise a bearer token when only `token` is present. Always requests
178
+ * JSON responses.
179
+ * @param {JiraServiceConfig} config - The resolved service configuration.
180
+ * @returns {Record<string, string>} The authorization and accept headers.
181
+ */
182
+ protected authHeaders(config: JiraServiceConfig): Record<string, string>;
183
+ /**
184
+ * @description Reads the Jira credentials and defaults from the environment
185
+ * @summary Reads the `io.jira` slice and returns a partial config when an
186
+ * API token is configured, `undefined` otherwise. Values pass through
187
+ * `envString`/`envNumber` to reject unset-leaf proxies.
188
+ * @returns {Partial<JiraServiceConfig> | undefined} A partial config, or `undefined` when no Jira token is configured.
189
+ */
190
+ protected configFromEnvironment(): Partial<JiraServiceConfig> | undefined;
191
+ /**
192
+ * @description Asserts that the Jira token and site base URL are configured
193
+ * @summary Called by every operation before it touches the network.
194
+ * @returns {void}
195
+ * @throws {InternalError} When no API token or base URL is configured.
196
+ */
197
+ protected requireCredentials(): void;
198
+ /**
199
+ * @description Builds the encoded issue path
200
+ * @summary Validates the issue key and URL-encodes it into
201
+ * `/rest/api/2/issue/<key>`.
202
+ * @param {string} issueKey - The Jira issue key.
203
+ * @returns {string} The issue API path.
204
+ * @throws {InternalError} When `issueKey` is empty.
205
+ */
206
+ private issuePath;
207
+ /**
208
+ * @description Creates a Jira issue
209
+ * @summary `POST`s the project, summary, issue type (default `Task`),
210
+ * optional description, and extra fields to `/rest/api/2/issue`.
211
+ * @param {JiraIssueInput} input - The issue definition.
212
+ * @returns {Promise<unknown>} The created issue payload (including `id` and `key`).
213
+ * @throws {InternalError} When credentials are missing, or the project key or summary is empty.
214
+ * @throws {BadRequestError} When Jira rejects the issue.
215
+ */
216
+ createIssue(input: JiraIssueInput): Promise<unknown>;
217
+ /**
218
+ * @description Fetches a Jira issue
219
+ * @summary `GET`s the issue by key, optionally projecting the given field
220
+ * names.
221
+ * @param {string} issueKey - The issue key to fetch.
222
+ * @param {string[]} [fields] - Field names to include in the response.
223
+ * @returns {Promise<unknown>} The issue payload.
224
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
225
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
226
+ * @throws {BadRequestError} When Jira rejects the request.
227
+ */
228
+ getIssue(issueKey: string, fields?: string[]): Promise<unknown>;
229
+ /**
230
+ * @description Updates fields on a Jira issue
231
+ * @summary `PUT`s the `fields` map to the issue and returns
232
+ * `{ updated: true, issueKey }`.
233
+ * @param {JiraIssueUpdate} input - The issue key and fields to update.
234
+ * @returns {Promise<unknown>} `{ updated: true, issueKey }` on success.
235
+ * @throws {InternalError} When credentials are missing, or the issue key or fields are empty.
236
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
237
+ * @throws {BadRequestError} When Jira rejects the update.
238
+ */
239
+ updateIssue(input: JiraIssueUpdate): Promise<unknown>;
240
+ /**
241
+ * @description Deletes a Jira issue
242
+ * @summary `DELETE`s the issue and returns `{ deleted: true, issueKey }`.
243
+ * @param {string} issueKey - The issue key to delete.
244
+ * @returns {Promise<unknown>} `{ deleted: true, issueKey }` on success.
245
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
246
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
247
+ * @throws {BadRequestError} When Jira rejects the deletion.
248
+ */
249
+ deleteIssue(issueKey: string): Promise<unknown>;
250
+ /**
251
+ * @description Adds a comment to a Jira issue
252
+ * @summary `POST`s the comment body to the issue's `/comment` endpoint.
253
+ * @param {JiraCommentInput} input - The issue key and comment body.
254
+ * @returns {Promise<unknown>} The created comment payload.
255
+ * @throws {InternalError} When credentials are missing, or the issue key or body is empty.
256
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
257
+ * @throws {BadRequestError} When Jira rejects the comment.
258
+ */
259
+ addComment(input: JiraCommentInput): Promise<unknown>;
260
+ /**
261
+ * @description Lists the available workflow transitions for a Jira issue
262
+ * @summary `GET`s the issue's `/transitions` collection, whose IDs feed
263
+ * {@link JiraService.transitionIssue}.
264
+ * @param {string} issueKey - The issue key.
265
+ * @returns {Promise<unknown>} The available transitions payload.
266
+ * @throws {InternalError} When credentials are missing or the issue key is empty.
267
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
268
+ * @throws {BadRequestError} When Jira rejects the request.
269
+ */
270
+ getTransitions(issueKey: string): Promise<unknown>;
271
+ /**
272
+ * @description Transitions a Jira issue through its workflow
273
+ * @summary `POST`s the transition ID to the issue's `/transitions` endpoint
274
+ * and returns the applied transition identifiers.
275
+ * @param {JiraTransitionInput} input - The issue key and transition ID.
276
+ * @returns {Promise<unknown>} `{ transitioned: true, issueKey, transitionId }` on success.
277
+ * @throws {InternalError} When credentials are missing, or the issue key or transition ID is empty.
278
+ * @throws {NotFoundError} When the issue does not exist (HTTP 404).
279
+ * @throws {BadRequestError} When Jira rejects the transition.
280
+ */
281
+ transitionIssue(input: JiraTransitionInput): Promise<unknown>;
282
+ /**
283
+ * @description Searches Jira issues with JQL
284
+ * @summary `POST`s the JQL query to `/rest/api/2/search` with a result cap
285
+ * (default `50`) and optional field projection.
286
+ * @param {JiraSearchInput} input - The JQL query and search options.
287
+ * @returns {Promise<unknown>} The search result payload.
288
+ * @throws {InternalError} When credentials are missing or the JQL query is empty.
289
+ * @throws {BadRequestError} When the JQL query is invalid.
290
+ * @example
291
+ * ```ts
292
+ * const results = await jira.search({
293
+ * jql: 'project = "OPS" AND status = "Open"',
294
+ * maxResults: 100,
295
+ * fields: ["summary", "status"],
296
+ * });
297
+ * ```
298
+ */
299
+ search(input: JiraSearchInput): Promise<unknown>;
300
+ }
@@ -0,0 +1 @@
1
+ export * from "./JiraService.d.cts";
@@ -0,0 +1 @@
1
+ export * from "./JiraService.d.mts";