@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
@@ -1,16 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ModelSecretService = void 0;
4
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
- r = Reflect.decorate(decorators, target, key, desc);
8
- else
9
- for (var i = decorators.length - 1; i >= 0; i--)
10
- if (d = decorators[i])
11
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
- return c > 3 && r && Object.defineProperty(target, key, r), r;
13
- };
4
+ /**
5
+ * @module integrations/secrets/model/service
6
+ * @summary Model-backed encrypted secret service.
7
+ * @description Implements the `{@link ModelSecretService}`, an undecorated
8
+ * `ClientBasedSecretService` that
9
+ * persists AES-encrypted payloads as `{@link Secret}` rows through a
10
+ * decaf `Repository` (tenant/org-unit/owner scoping included). Encryption
11
+ * keys derive from a master `keySecret` via `CryptoService`; configuration
12
+ * comes from the `secrets.model` Environment slice or an explicit boot
13
+ * config (see `ModelSecretServiceConfig`).
14
+ */
14
15
  const index_js_1 = require("./../core/index.cjs");
15
16
  const index_js_2 = require("./../core/index.cjs");
16
17
  const index_js_3 = require("./../core/index.cjs");
@@ -22,11 +23,50 @@ const core_2 = require("@decaf-ts/core");
22
23
  const crypto_1 = require("@decaf-ts/crypto/integration/services/crypto");
23
24
  const db_decorators_1 = require("@decaf-ts/db-decorators");
24
25
  const DEFAULT_KEY_ID = "default-key";
25
- let ModelSecretService = class ModelSecretService extends index_js_1.ClientBasedSecretService {
26
+ /**
27
+ * @description Model-backed encrypted secret service
28
+ * @summary Stores each secret as a `{@link Secret}` row (encrypted payload,
29
+ * key id/iv/salt metadata, version, enablement flag, and optional
30
+ * tenant/org-unit/owner scope) through the repository booted as the service
31
+ * client. Names are validated and normalized before persistence;
32
+ * `(name, version)` is unique (enforced by a `SECRET_ALREADY_EXISTS`
33
+ * conflict in `store`/`rotate` and backed by the `uq_secrets_name_version`
34
+ * database index); retrieval only considers enabled rows, supports version
35
+ * pinning, and resolves multiple matches deterministically by `updatedAt
36
+ * DESC`. Delete is soft by default (sets `enabled: false`) unless
37
+ * `options.force` is set. Errors from the repository are translated into
38
+ * typed {@link SecretError}s by `parseError`.
39
+ *
40
+ * Undecorated and Environment-configurable
41
+ * through the `secrets.model` slice; the credential service
42
+ * (`CredentialService`) delegates user/runtime credential storage to this
43
+ * service.
44
+ * @class ModelSecretService
45
+ * @category Secrets
46
+ * @example
47
+ * ```ts
48
+ * import { ModelSecretService } from "@decaf-ts/integrations/secrets";
49
+ *
50
+ * const modelSecrets = await new ModelSecretService().boot({
51
+ * keySecret: "model-master-key",
52
+ * });
53
+ * await modelSecrets.store("my-secret", { value: "s3cr3t" });
54
+ * const payload = await modelSecrets.retrieve<{ value: string }>("my-secret");
55
+ * ```
56
+ */
57
+ class ModelSecretService extends index_js_1.ClientBasedSecretService {
26
58
  constructor() {
27
- super(...arguments);
59
+ super();
28
60
  this.provider = "model";
29
61
  }
62
+ /**
63
+ * @description Builds the model secret configuration from the Environment
64
+ * @summary Reads the `secrets.model` Environment slice and returns a
65
+ * `ModelSecretServiceConfig` when a `keySecret` is configured; returns
66
+ * `undefined` otherwise, letting boot fall back to explicit arguments.
67
+ * @returns {ModelSecretServiceConfig | undefined} The Environment-derived configuration, or `undefined`.
68
+ * @override
69
+ */
30
70
  configFromEnvironment() {
31
71
  const env = ModelSecretEnvironment_js_1.ModelSecretEnvironment.secrets.model;
32
72
  const keySecret = (0, environmentValue_js_1.envString)(env?.keySecret);
@@ -38,16 +78,43 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
38
78
  keyId: (0, environmentValue_js_1.envString)(env.keyId),
39
79
  };
40
80
  }
81
+ /**
82
+ * @description Boots the crypto service and resolves the backing repository
83
+ * @summary Accepts the configuration (explicit args, merged with the
84
+ * Environment slice by the base) and an optional `Repository<Secret>` as the
85
+ * second argument; when absent, creates one via `Repository.forModel(Secret)`.
86
+ * Returns the config and repository as the service client.
87
+ * @param {ContextualArgs} args - Configuration and optional `Repository`/`Context` arguments.
88
+ * @returns {Promise<{config: ModelSecretServiceConfig, client: Repository<Secret, any>}>} The resolved config and repository client.
89
+ */
41
90
  async initialize(...args) {
42
91
  const config = this.getConfigFromArgs(...args);
43
92
  const repository = args[1] ||
44
- new core_1.Repository(undefined, Secret_js_1.Secret);
93
+ core_1.Repository.forModel(Secret_js_1.Secret);
45
94
  this.cryptoService = new crypto_1.CryptoService();
46
- await this.cryptoService.initialize(config);
95
+ await this.cryptoService.boot({});
47
96
  return { config, client: repository };
48
97
  }
98
+ /**
99
+ * @description Encrypts and persists a secret row
100
+ * @summary Validates and normalizes the name, serializes the payload, and
101
+ * encrypts it with a key derived from the master `keySecret`, embedding the
102
+ * key id/iv/salt in the row's `encryption` metadata. The row carries the
103
+ * optional tenant/org-unit/owner scoping and version. `(name, version)` is
104
+ * unique: an application-level pre-check rejects a duplicate combination
105
+ * with a `SECRET_ALREADY_EXISTS` {@link SecretError} before the insert, and
106
+ * the `uq_secrets_name_version` database index (which treats `NULL`
107
+ * versions as `''`) backstops the same rule against concurrent writers.
108
+ * @template T - The secret payload type.
109
+ * @param {SecretName} name - The secret name (validated and normalized).
110
+ * @param {T} value - The payload to encrypt and store.
111
+ * @param {StoreSecretOptions} [options] - Optional content type, tags, version, and tenant/org/owner scoping.
112
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
113
+ * @returns {Promise<SecretReference>} A reference to the persisted secret.
114
+ * @throws {SecretError} `SECRET_ALREADY_EXISTS` when a row with the same normalized name and version already exists, or `SECRET_NOT_FOUND`/`SECRET_PROVIDER_CONFLICT` when the name is invalid or the repository insert fails.
115
+ */
49
116
  async store(name, value, options = {}, ...args) {
50
- const { log } = (await this.logCtx(args, "store", true)).for(this.store);
117
+ const { log, ctxArgs } = (await this.logCtx(args, "store", true)).for(this.store);
51
118
  log.verbose(`Storing secret ${name}`);
52
119
  try {
53
120
  (0, index_js_2.validateSecretName)(name);
@@ -58,7 +125,8 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
58
125
  const normalizedName = (0, index_js_2.normalizeSecretName)(name);
59
126
  const serialized = (0, index_js_3.serializeSecretPayload)(value);
60
127
  const derivedKey = await this.cryptoService.deriveKeyFromSecret(this.config.keySecret);
61
- const { encryptedData, metadata } = await this.cryptoService.encryptPayload(serialized.value, this.config.keyId || DEFAULT_KEY_ID, this.cryptoService.extractKeyFromDerivedKey(derivedKey).key);
128
+ const extracted = this.cryptoService.extractKeyFromDerivedKey(derivedKey);
129
+ const { encryptedData, metadata } = await this.cryptoService.encryptPayload(JSON.stringify(serialized), this.config.keyId || DEFAULT_KEY_ID, extracted.key);
62
130
  const now = new Date();
63
131
  const secret = new Secret_js_1.Secret({
64
132
  name: normalizedName,
@@ -67,20 +135,29 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
67
135
  encryption: {
68
136
  keyId: metadata.keyId,
69
137
  iv: metadata.iv,
138
+ salt: extracted.salt,
70
139
  },
71
140
  contentType: options.contentType,
72
141
  tags: options.tags,
73
142
  enabled: true,
74
143
  version: options.version,
144
+ tenantId: options.tenantId,
145
+ orgUnitId: options.orgUnitId,
146
+ ownerPrincipalId: options.ownerPrincipalId,
75
147
  });
148
+ const targetVersion = options.version ?? "";
149
+ const existing = await this.client
150
+ .select()
151
+ .where(core_2.Condition.attr("name").eq(normalizedName))
152
+ .execute(...ctxArgs);
153
+ const duplicate = existing.some((row) => (row.version ?? "") === targetVersion);
154
+ if (duplicate) {
155
+ throw new index_js_1.SecretError("SECRET_ALREADY_EXISTS", `Secret ${JSON.stringify(normalizedName)}${targetVersion ? ` version ${JSON.stringify(targetVersion)}` : ""} already exists`);
156
+ }
76
157
  try {
77
- await this.client.create(secret);
158
+ await this.client.create(secret, ...ctxArgs);
78
159
  }
79
160
  catch (error) {
80
- if (error?.message?.toLowerCase()?.includes?.("already") ||
81
- error?.name === "ConflictError") {
82
- throw this.parseError(error);
83
- }
84
161
  throw this.parseError(error);
85
162
  }
86
163
  return {
@@ -92,8 +169,28 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
92
169
  },
93
170
  };
94
171
  }
172
+ /**
173
+ * @description Reads, decrypts, and deserializes an enabled secret row
174
+ * @summary Queries the newest matching enabled row (by normalized name and,
175
+ * optionally, version), re-derives the key using the row's salt, and decrypts
176
+ * the payload. Rows are ordered by `updatedAt DESC`, so when several rows
177
+ * share a name the most recently updated enabled row is resolved
178
+ * deterministically. The repository SELECT runs inside a principal-bound
179
+ * transaction (see {@link ModelSecretService.withinPrincipalTransaction}):
180
+ * it joins an in-flight `transactionLock` on the context or begins one,
181
+ * binding the context's principal to `app.principal_id` on TypeORM adapters
182
+ * so namespace RLS applies to the read. Missing rows throw
183
+ * {@link NotFoundError}; decryption and JSON parse failures throw
184
+ * `InternalError`.
185
+ * @template T - The secret payload type.
186
+ * @param {SecretName | SecretReference} nameOrRef - The secret name or reference.
187
+ * @param {RetrieveSecretOptions} [options] - Optional version filter.
188
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
189
+ * @returns {Promise<T>} The decrypted payload.
190
+ * @throws {NotFoundError} When no enabled secret matches the name/version.
191
+ */
95
192
  async retrieve(nameOrRef, options = {}, ...args) {
96
- const { log } = (await this.logCtx(args, "retrieve", true)).for(this.retrieve);
193
+ const { log, ctx, ctxArgs } = (await this.logCtx(args, "retrieve", true)).for(this.retrieve);
97
194
  const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
98
195
  log.verbose(`Retrieving secret ${nameStr}`);
99
196
  let name;
@@ -118,12 +215,17 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
118
215
  condition = condition.and(core_2.Condition.attr("version").eq(version));
119
216
  }
120
217
  condition = condition.and(core_2.Condition.attr("enabled").eq(true));
121
- const results = await this.client.select().where(condition).execute();
218
+ const results = await this.withinPrincipalTransaction(ctx, (lock) => this.client
219
+ .override({ transactionLock: lock })
220
+ .select()
221
+ .where(condition)
222
+ .orderBy(["updatedAt", core_2.OrderDirection.DSC])
223
+ .execute(...ctxArgs));
122
224
  const existing = results[0];
123
225
  if (!existing) {
124
226
  throw new db_decorators_1.NotFoundError(`Secret "${normalizedName}" not found`);
125
227
  }
126
- const derivedKey = await this.cryptoService.deriveKeyFromSecret(this.config.keySecret);
228
+ const derivedKey = await this.cryptoService.deriveKeyFromSecret(this.config.keySecret, existing.encryption?.salt);
127
229
  let decryptedValue;
128
230
  try {
129
231
  decryptedValue = await this.cryptoService.decryptPayload(existing.encryptedPayload, this.cryptoService.extractKeyFromDerivedKey(derivedKey).key);
@@ -131,14 +233,82 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
131
233
  catch (error) {
132
234
  throw new db_decorators_1.InternalError(`Failed to decrypt secret "${normalizedName}": ${error.message}`);
133
235
  }
134
- const payload = {
135
- encoding: "utf8",
136
- value: decryptedValue,
137
- };
236
+ let payload;
237
+ try {
238
+ payload = JSON.parse(decryptedValue);
239
+ }
240
+ catch (error) {
241
+ throw new db_decorators_1.InternalError(`Failed to deserialize secret "${normalizedName}": ${error.message}`);
242
+ }
138
243
  return (0, index_js_3.deserializeSecretPayload)(payload);
139
244
  }
245
+ /**
246
+ * @description Runs a repository operation inside a principal-bound transaction
247
+ * @summary Mirrors core's `@transactional()` proxy for single reads: reuses
248
+ * the `transactionLock` already cached on the context (nested call), or
249
+ * resolves a fresh lock for the service client via `resolveTransactionLock`
250
+ * and calls `begin(context)` - which, on a TypeORM adapter, binds the
251
+ * context's principal to `app.principal_id` for the new transaction.
252
+ * Increments the lock depth for the duration of the operation; on failure,
253
+ * rolls back and zeroes the depth (skipping a redundant rollback when an
254
+ * inner frame already ended the transaction) and rethrows the original
255
+ * error; on success, commits when the outermost frame completes.
256
+ * @template R - The operation result type.
257
+ * @param {Context} context - The request context, carrying any in-flight transaction lock.
258
+ * @param {function(ContextLock): Promise<R>} operation - The repository operation to run, receiving the active lock.
259
+ * @returns {Promise<R>} The operation result.
260
+ * @throws {InternalError} When the final commit fails; operation errors are rethrown after rollback.
261
+ */
262
+ async withinPrincipalTransaction(context, operation) {
263
+ const existing = context.getOrUndefined("transactionLock");
264
+ const lock = existing ?? (0, core_1.resolveTransactionLock)(this.client);
265
+ lock.depth++;
266
+ if (!existing) {
267
+ await lock.begin(context);
268
+ context.cache.put("transactionLock", lock);
269
+ }
270
+ let result;
271
+ try {
272
+ result = await operation(lock);
273
+ }
274
+ catch (error) {
275
+ const alreadyEnded = lock.depth === 0;
276
+ lock.depth = 0;
277
+ if (!alreadyEnded) {
278
+ try {
279
+ await lock.rollback(error, context);
280
+ }
281
+ catch (rollbackError) {
282
+ void rollbackError;
283
+ }
284
+ }
285
+ throw error;
286
+ }
287
+ lock.depth--;
288
+ if (lock.depth === 0) {
289
+ try {
290
+ await lock.commit(context);
291
+ }
292
+ catch (error) {
293
+ throw new db_decorators_1.InternalError(`Failed to commit transaction: ${error}`);
294
+ }
295
+ }
296
+ return result;
297
+ }
298
+ /**
299
+ * @description Deletes (or disables) a secret row
300
+ * @summary Soft-deletes by default: the row is disabled and stamped with a
301
+ * new `updatedAt`. With `options.force`, the row is hard-deleted from the
302
+ * repository. Rows are ordered by `updatedAt DESC`, so the most recently
303
+ * updated matching row is resolved deterministically. A missing secret
304
+ * resolves silently.
305
+ * @param {SecretName | SecretReference} nameOrRef - The secret name or reference.
306
+ * @param {DeleteSecretOptions} [options] - Optional version filter and `force` hard-delete flag.
307
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
308
+ * @returns {Promise<void>} Resolves once the row is deleted or disabled.
309
+ */
140
310
  async delete(nameOrRef, options = {}, ...args) {
141
- const { log } = (await this.logCtx(args, "delete", true)).for(this.delete);
311
+ const { log, ctxArgs } = (await this.logCtx(args, "delete", true)).for(this.delete);
142
312
  const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
143
313
  log.verbose(`Deleting secret ${nameStr}`);
144
314
  let name;
@@ -160,22 +330,35 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
160
330
  if (version) {
161
331
  filter = filter.and(core_2.Condition.attr("version").eq(version));
162
332
  }
163
- const results = await this.client.select().where(filter).execute();
333
+ const results = await this.client
334
+ .select()
335
+ .where(filter)
336
+ .orderBy(["updatedAt", core_2.OrderDirection.DSC])
337
+ .execute(...ctxArgs);
164
338
  const existing = results[0];
165
339
  if (!existing) {
166
340
  return;
167
341
  }
168
342
  if (options.force) {
169
- await this.client.delete(normalizedName);
343
+ await this.client.delete(existing.id, ...ctxArgs);
170
344
  }
171
345
  else {
172
346
  existing.enabled = false;
173
347
  existing.updatedAt = new Date();
174
- await this.client.update(existing);
348
+ await this.client.update(existing, ...ctxArgs);
175
349
  }
176
350
  }
351
+ /**
352
+ * @description Checks whether an enabled secret exists (optionally at a version)
353
+ * @summary Counts enabled rows matching the normalized name (plus any
354
+ * requested version) and returns whether the count is positive.
355
+ * @param {SecretName | SecretReference} nameOrRef - The secret name or reference.
356
+ * @param {ExistsSecretOptions} [options] - Optional version filter.
357
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
358
+ * @returns {Promise<boolean>} `true` when at least one enabled row matches.
359
+ */
177
360
  async exists(nameOrRef, options = {}, ...args) {
178
- const { log } = (await this.logCtx(args, "exists", true)).for(this.exists);
361
+ const { log, ctxArgs } = (await this.logCtx(args, "exists", true)).for(this.exists);
179
362
  const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
180
363
  log.verbose(`Checking if secret ${nameStr} exists`);
181
364
  let name;
@@ -199,11 +382,19 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
199
382
  if (version) {
200
383
  filter = filter.and(core_2.Condition.attr("version").eq(version));
201
384
  }
202
- const count = await this.client.count().where(filter).execute();
385
+ const count = await this.client.count().where(filter).execute(...ctxArgs);
203
386
  return count > 0;
204
387
  }
388
+ /**
389
+ * @description Lists secret metadata across stored rows
390
+ * @summary Selects rows filtered by the `enabled` flag (when supplied) and
391
+ * maps them to `SecretMetadata` records (no payloads).
392
+ * @param {ListSecretsOptions} [options] - Optional `enabled` filter.
393
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
394
+ * @returns {Promise<SecretMetadata[]>} Metadata for every matching secret.
395
+ */
205
396
  async list(options = {}, ...args) {
206
- const { log } = (await this.logCtx(args, "list", true)).for(this.list);
397
+ const { log, ctxArgs } = (await this.logCtx(args, "list", true)).for(this.list);
207
398
  log.verbose("Listing secrets");
208
399
  let condition = null;
209
400
  if (options.enabled !== undefined) {
@@ -212,7 +403,7 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
212
403
  const secrets = await this.client
213
404
  .select()
214
405
  .where(condition || core_2.Condition.attr("name").dif(null))
215
- .execute();
406
+ .execute(...ctxArgs);
216
407
  return secrets.map((secret) => ({
217
408
  provider: secret.provider,
218
409
  name: secret.name,
@@ -224,8 +415,20 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
224
415
  tags: secret.tags,
225
416
  }));
226
417
  }
418
+ /**
419
+ * @description Reads one secret's metadata without its payload
420
+ * @summary Selects the row matching the normalized name (and optional
421
+ * version) and maps it to `SecretMetadata`; tags are included only when
422
+ * `options.includeTags` is set. Rows are ordered by `updatedAt DESC`, so
423
+ * the most recently updated matching row is resolved deterministically.
424
+ * Returns `undefined` when no row matches.
425
+ * @param {SecretName | SecretReference} nameOrRef - The secret name or reference.
426
+ * @param {SecretMetadataOptions} [options] - Optional version filter and `includeTags` flag.
427
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
428
+ * @returns {Promise<SecretMetadata | undefined>} The metadata, or `undefined` when absent.
429
+ */
227
430
  async metadata(nameOrRef, options = {}, ...args) {
228
- const { log } = (await this.logCtx(args, "metadata", true)).for(this.metadata);
431
+ const { log, ctxArgs } = (await this.logCtx(args, "metadata", true)).for(this.metadata);
229
432
  const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
230
433
  log.verbose(`Getting metadata for secret ${nameStr}`);
231
434
  let name;
@@ -251,7 +454,8 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
251
454
  const results = await this.client
252
455
  .select()
253
456
  .where(filter)
254
- .execute();
457
+ .orderBy(["updatedAt", core_2.OrderDirection.DSC])
458
+ .execute(...ctxArgs);
255
459
  const secret = results[0];
256
460
  if (!secret) {
257
461
  return undefined;
@@ -270,6 +474,94 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
270
474
  }
271
475
  return meta;
272
476
  }
477
+ /**
478
+ * @description Re-encrypts an enabled secret row with a new payload
479
+ * @summary Locates the enabled row (optionally pinned to
480
+ * `options.oldVersion`), encrypts the new payload with a freshly derived
481
+ * key (optionally tagged with `options.keyId`), and updates the row's
482
+ * payload, encryption metadata, version (`options.newVersion`), and
483
+ * `updatedAt`. When `options.newVersion` differs from the row's current
484
+ * version, a `(name, version)` duplicate check rejects the rotation with a
485
+ * `SECRET_ALREADY_EXISTS` {@link SecretError}; otherwise the target version
486
+ * is reused and the row is updated in place. Matching rows are ordered by
487
+ * `updatedAt DESC`, so the most recently updated enabled row is resolved
488
+ * deterministically.
489
+ * @template T - The secret payload type.
490
+ * @param {SecretName | SecretReference} nameOrRef - The secret name or reference.
491
+ * @param {T} value - The new payload.
492
+ * @param {RotateSecretOptions} [options] - Optional `newVersion`, `oldVersion`, and `keyId`.
493
+ * @param {MaybeContextualArg} args - Optional trailing decaf `Context` forwarded to the repository.
494
+ * @returns {Promise<SecretReference>} A reference reflecting the updated row.
495
+ * @throws {NotFoundError} When no enabled secret matches the name/version.
496
+ * @throws {SecretError} `SECRET_ALREADY_EXISTS` when the target `newVersion` is already held by another row with the same normalized name, or `SECRET_PROVIDER_CONFLICT` when the repository update fails.
497
+ */
498
+ async rotate(nameOrRef, value, options = {}, ...args) {
499
+ const { log, ctxArgs } = (await this.logCtx(args, "rotate", true)).for(this.rotate);
500
+ const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
501
+ log.verbose(`Rotating secret ${nameStr}`);
502
+ const normalizedName = (0, index_js_2.normalizeSecretName)(nameStr);
503
+ let condition = core_2.Condition.attr("name").eq(normalizedName);
504
+ condition = condition.and(core_2.Condition.attr("enabled").eq(true));
505
+ const version = options.oldVersion ??
506
+ (typeof nameOrRef === "object" ? nameOrRef.version : undefined);
507
+ if (version) {
508
+ condition = condition.and(core_2.Condition.attr("version").eq(version));
509
+ }
510
+ const results = await this.client
511
+ .select()
512
+ .where(condition)
513
+ .orderBy(["updatedAt", core_2.OrderDirection.DSC])
514
+ .execute(...ctxArgs);
515
+ const existing = results[0];
516
+ if (!existing) {
517
+ throw new db_decorators_1.NotFoundError(`Secret "${normalizedName}" not found`);
518
+ }
519
+ const nextVersion = options.newVersion ?? existing.version;
520
+ const targetVersion = nextVersion ?? "";
521
+ if (targetVersion !== (existing.version ?? "")) {
522
+ const rows = await this.client
523
+ .select()
524
+ .where(core_2.Condition.attr("name").eq(normalizedName))
525
+ .execute(...ctxArgs);
526
+ const duplicate = rows.some((row) => row.id !== existing.id && (row.version ?? "") === targetVersion);
527
+ if (duplicate) {
528
+ throw new index_js_1.SecretError("SECRET_ALREADY_EXISTS", `Secret ${JSON.stringify(normalizedName)}${targetVersion ? ` version ${JSON.stringify(targetVersion)}` : ""} already exists`);
529
+ }
530
+ }
531
+ const serialized = (0, index_js_3.serializeSecretPayload)(value);
532
+ const derivedKey = await this.cryptoService.deriveKeyFromSecret(this.config.keySecret);
533
+ const extracted = this.cryptoService.extractKeyFromDerivedKey(derivedKey);
534
+ const { encryptedData, metadata } = await this.cryptoService.encryptPayload(JSON.stringify(serialized), options.keyId || this.config.keyId || DEFAULT_KEY_ID, extracted.key);
535
+ existing.encryptedPayload = encryptedData;
536
+ existing.encryption = {
537
+ keyId: metadata.keyId,
538
+ iv: metadata.iv,
539
+ salt: extracted.salt,
540
+ };
541
+ existing.version = nextVersion;
542
+ existing.updatedAt = new Date();
543
+ try {
544
+ await this.client.update(existing, ...ctxArgs);
545
+ }
546
+ catch (error) {
547
+ throw this.parseError(error);
548
+ }
549
+ return {
550
+ provider: this.provider,
551
+ name: normalizedName,
552
+ version: existing.version,
553
+ };
554
+ }
555
+ /**
556
+ * @description Translates repository errors into typed secret errors
557
+ * @summary Inspects the error message for "not found"/404, "already
558
+ * exists"/conflict/409, and decryption-related markers and maps them to
559
+ * `SECRET_NOT_FOUND`, `SECRET_ALREADY_EXISTS`,
560
+ * `SECRET_DECRYPTION_FAILED`, or a generic `SECRET_PROVIDER_CONFLICT`
561
+ * {@link SecretError}.
562
+ * @param {unknown} error - The raw error thrown by the repository.
563
+ * @returns {SecretError} The typed secret error.
564
+ */
273
565
  parseError(error) {
274
566
  const err = error;
275
567
  const message = err.message || err.name || "Unknown error";
@@ -279,7 +571,10 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
279
571
  }
280
572
  if (lowerMessage.includes("already exists") ||
281
573
  lowerMessage.includes("conflict") ||
282
- lowerMessage.includes("409")) {
574
+ lowerMessage.includes("409") ||
575
+ lowerMessage.includes("duplicate key") ||
576
+ lowerMessage.includes("unique constraint") ||
577
+ err.code === "23505") {
283
578
  return new index_js_1.SecretError("SECRET_ALREADY_EXISTS", `Secret already exists: ${message}`, err);
284
579
  }
285
580
  if (lowerMessage.includes("decryption") ||
@@ -288,10 +583,7 @@ let ModelSecretService = class ModelSecretService extends index_js_1.ClientBased
288
583
  }
289
584
  return new index_js_1.SecretError("SECRET_PROVIDER_CONFLICT", `Provider error: ${message}`, err);
290
585
  }
291
- };
586
+ }
292
587
  exports.ModelSecretService = ModelSecretService;
293
- exports.ModelSecretService = ModelSecretService = __decorate([
294
- (0, core_1.service)("secret-model")
295
- ], ModelSecretService);
296
588
  //# sourceMappingURL=ModelSecretService.js.map
297
589
  //# sourceMappingURL=ModelSecretService.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"secrets/model/ModelSecretService.cjs","sourceRoot":"","sources":["secrets/model/ModelSecretService.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets/model/ModelSecretService.cjs","sourceRoot":"","sources":["secrets/model/ModelSecretService.js"],"names":[],"mappings":"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"}