@decaf-ts/integrations 0.1.1

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 (376) hide show
  1. package/.dockerignore +0 -0
  2. package/.gitlab-ci.yml +197 -0
  3. package/.prettierrc +9 -0
  4. package/.snyk +12 -0
  5. package/LICENSE.md +21 -0
  6. package/README.md +22 -0
  7. package/dist/integrations.cjs +2 -0
  8. package/dist/integrations.cjs.map +1 -0
  9. package/dist/integrations.js +2 -0
  10. package/dist/integrations.js.map +1 -0
  11. package/docker/1password-compose.yml +24 -0
  12. package/docker/aws-compose.yml +24 -0
  13. package/docker/azure-compose.yml +23 -0
  14. package/docker/compose.integration.yml +164 -0
  15. package/docker/gcp-compose.yml +16 -0
  16. package/docker/keycloak-compose.yml +24 -0
  17. package/docker/kibana-compose.yml +67 -0
  18. package/docker/vault-compose.yml +25 -0
  19. package/eslint.config.js +32 -0
  20. package/jest.config.cjs +48 -0
  21. package/lib/cjs/docker/DockerComposeService.cjs +152 -0
  22. package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
  23. package/lib/cjs/docker/index.cjs +24 -0
  24. package/lib/cjs/docker/index.cjs.map +1 -0
  25. package/lib/cjs/index.cjs +29 -0
  26. package/lib/cjs/index.cjs.map +1 -0
  27. package/lib/cjs/keycloak/index.cjs +26 -0
  28. package/lib/cjs/keycloak/index.cjs.map +1 -0
  29. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +189 -0
  30. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
  31. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +245 -0
  32. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
  33. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +234 -0
  34. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
  35. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +202 -0
  36. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
  37. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +249 -0
  38. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
  39. package/lib/cjs/keycloak/services/KeycloakService.cjs +225 -0
  40. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
  41. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +279 -0
  42. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
  43. package/lib/cjs/keycloak/services/index.cjs +30 -0
  44. package/lib/cjs/keycloak/services/index.cjs.map +1 -0
  45. package/lib/cjs/keycloak/types.cjs +4 -0
  46. package/lib/cjs/keycloak/types.cjs.map +1 -0
  47. package/lib/cjs/kibana/helpers.cjs +62 -0
  48. package/lib/cjs/kibana/helpers.cjs.map +1 -0
  49. package/lib/cjs/kibana/index.cjs +27 -0
  50. package/lib/cjs/kibana/index.cjs.map +1 -0
  51. package/lib/cjs/kibana/services/KibanaAuthService.cjs +148 -0
  52. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
  53. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +228 -0
  54. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
  55. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +216 -0
  56. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
  57. package/lib/cjs/kibana/services/KibanaRoleService.cjs +184 -0
  58. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
  59. package/lib/cjs/kibana/services/KibanaService.cjs +167 -0
  60. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
  61. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +179 -0
  62. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
  63. package/lib/cjs/kibana/services/KibanaUserService.cjs +198 -0
  64. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
  65. package/lib/cjs/kibana/services/index.cjs +24 -0
  66. package/lib/cjs/kibana/services/index.cjs.map +1 -0
  67. package/lib/cjs/kibana/types.cjs +4 -0
  68. package/lib/cjs/kibana/types.cjs.map +1 -0
  69. package/lib/cjs/nest/authService.cjs +37 -0
  70. package/lib/cjs/nest/authService.cjs.map +1 -0
  71. package/lib/cjs/nest/index.cjs +29 -0
  72. package/lib/cjs/nest/index.cjs.map +1 -0
  73. package/lib/cjs/nest/keycloakAuthHandler.cjs +44 -0
  74. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
  75. package/lib/cjs/nest/keycloakModule.cjs +25 -0
  76. package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
  77. package/lib/cjs/nest/types.cjs +4 -0
  78. package/lib/cjs/nest/types.cjs.map +1 -0
  79. package/lib/cjs/nest/utils.cjs +68 -0
  80. package/lib/cjs/nest/utils.cjs.map +1 -0
  81. package/lib/cjs/secrets/aws/AwsSecretService.cjs +307 -0
  82. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
  83. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +4 -0
  84. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
  85. package/lib/cjs/secrets/aws/index.cjs +25 -0
  86. package/lib/cjs/secrets/aws/index.cjs.map +1 -0
  87. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +245 -0
  88. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
  89. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +4 -0
  90. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
  91. package/lib/cjs/secrets/azure/index.cjs +25 -0
  92. package/lib/cjs/secrets/azure/index.cjs.map +1 -0
  93. package/lib/cjs/secrets/core/SecretErrors.cjs +70 -0
  94. package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
  95. package/lib/cjs/secrets/core/SecretName.cjs +54 -0
  96. package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
  97. package/lib/cjs/secrets/core/SecretReference.cjs +51 -0
  98. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
  99. package/lib/cjs/secrets/core/SecretSerialization.cjs +52 -0
  100. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
  101. package/lib/cjs/secrets/core/SecretService.cjs +19 -0
  102. package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
  103. package/lib/cjs/secrets/core/SecretTypes.cjs +4 -0
  104. package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
  105. package/lib/cjs/secrets/core/index.cjs +29 -0
  106. package/lib/cjs/secrets/core/index.cjs.map +1 -0
  107. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +332 -0
  108. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
  109. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +4 -0
  110. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
  111. package/lib/cjs/secrets/gcp/index.cjs +25 -0
  112. package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
  113. package/lib/cjs/secrets/index.cjs +25 -0
  114. package/lib/cjs/secrets/index.cjs.map +1 -0
  115. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +80 -0
  116. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
  117. package/lib/cjs/secrets/model/ModelSecretService.cjs +271 -0
  118. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
  119. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +4 -0
  120. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
  121. package/lib/cjs/secrets/model/Secret.cjs +49 -0
  122. package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
  123. package/lib/cjs/secrets/model/index.cjs +26 -0
  124. package/lib/cjs/secrets/model/index.cjs.map +1 -0
  125. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +402 -0
  126. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
  127. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +4 -0
  128. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
  129. package/lib/cjs/secrets/onepassword/index.cjs +25 -0
  130. package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
  131. package/lib/cjs/secrets/vault/VaultSecretService.cjs +318 -0
  132. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
  133. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +4 -0
  134. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
  135. package/lib/cjs/secrets/vault/index.cjs +25 -0
  136. package/lib/cjs/secrets/vault/index.cjs.map +1 -0
  137. package/lib/cjs/utils.cjs +43 -0
  138. package/lib/cjs/utils.cjs.map +1 -0
  139. package/lib/esm/docker/DockerComposeService.js +140 -0
  140. package/lib/esm/docker/DockerComposeService.js.map +1 -0
  141. package/lib/esm/docker/index.js +7 -0
  142. package/lib/esm/docker/index.js.map +1 -0
  143. package/lib/esm/index.js +11 -0
  144. package/lib/esm/index.js.map +1 -0
  145. package/lib/esm/keycloak/index.js +9 -0
  146. package/lib/esm/keycloak/index.js.map +1 -0
  147. package/lib/esm/keycloak/services/KeycloakAuthService.js +148 -0
  148. package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
  149. package/lib/esm/keycloak/services/KeycloakClientService.js +204 -0
  150. package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
  151. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +193 -0
  152. package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
  153. package/lib/esm/keycloak/services/KeycloakRealmService.js +161 -0
  154. package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
  155. package/lib/esm/keycloak/services/KeycloakRoleService.js +208 -0
  156. package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
  157. package/lib/esm/keycloak/services/KeycloakService.js +180 -0
  158. package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
  159. package/lib/esm/keycloak/services/KeycloakUserService.js +238 -0
  160. package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
  161. package/lib/esm/keycloak/services/index.js +13 -0
  162. package/lib/esm/keycloak/services/index.js.map +1 -0
  163. package/lib/esm/keycloak/types.js +2 -0
  164. package/lib/esm/keycloak/types.js.map +1 -0
  165. package/lib/esm/kibana/helpers.js +56 -0
  166. package/lib/esm/kibana/helpers.js.map +1 -0
  167. package/lib/esm/kibana/index.js +10 -0
  168. package/lib/esm/kibana/index.js.map +1 -0
  169. package/lib/esm/kibana/services/KibanaAuthService.js +107 -0
  170. package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
  171. package/lib/esm/kibana/services/KibanaDashboardService.js +182 -0
  172. package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
  173. package/lib/esm/kibana/services/KibanaDataViewService.js +170 -0
  174. package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
  175. package/lib/esm/kibana/services/KibanaRoleService.js +138 -0
  176. package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
  177. package/lib/esm/kibana/services/KibanaService.js +126 -0
  178. package/lib/esm/kibana/services/KibanaService.js.map +1 -0
  179. package/lib/esm/kibana/services/KibanaSpaceService.js +133 -0
  180. package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
  181. package/lib/esm/kibana/services/KibanaUserService.js +152 -0
  182. package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
  183. package/lib/esm/kibana/services/index.js +13 -0
  184. package/lib/esm/kibana/services/index.js.map +1 -0
  185. package/lib/esm/kibana/types.js +2 -0
  186. package/lib/esm/kibana/types.js.map +1 -0
  187. package/lib/esm/nest/authService.js +32 -0
  188. package/lib/esm/nest/authService.js.map +1 -0
  189. package/lib/esm/nest/index.js +12 -0
  190. package/lib/esm/nest/index.js.map +1 -0
  191. package/lib/esm/nest/keycloakAuthHandler.js +39 -0
  192. package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
  193. package/lib/esm/nest/keycloakModule.js +19 -0
  194. package/lib/esm/nest/keycloakModule.js.map +1 -0
  195. package/lib/esm/nest/types.js +2 -0
  196. package/lib/esm/nest/types.js.map +1 -0
  197. package/lib/esm/nest/utils.js +60 -0
  198. package/lib/esm/nest/utils.js.map +1 -0
  199. package/lib/esm/secrets/aws/AwsSecretService.js +302 -0
  200. package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
  201. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +2 -0
  202. package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
  203. package/lib/esm/secrets/aws/index.js +8 -0
  204. package/lib/esm/secrets/aws/index.js.map +1 -0
  205. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +240 -0
  206. package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
  207. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +2 -0
  208. package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
  209. package/lib/esm/secrets/azure/index.js +8 -0
  210. package/lib/esm/secrets/azure/index.js.map +1 -0
  211. package/lib/esm/secrets/core/SecretErrors.js +61 -0
  212. package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
  213. package/lib/esm/secrets/core/SecretName.js +49 -0
  214. package/lib/esm/secrets/core/SecretName.js.map +1 -0
  215. package/lib/esm/secrets/core/SecretReference.js +45 -0
  216. package/lib/esm/secrets/core/SecretReference.js.map +1 -0
  217. package/lib/esm/secrets/core/SecretSerialization.js +47 -0
  218. package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
  219. package/lib/esm/secrets/core/SecretService.js +14 -0
  220. package/lib/esm/secrets/core/SecretService.js.map +1 -0
  221. package/lib/esm/secrets/core/SecretTypes.js +2 -0
  222. package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
  223. package/lib/esm/secrets/core/index.js +12 -0
  224. package/lib/esm/secrets/core/index.js.map +1 -0
  225. package/lib/esm/secrets/gcp/GcpSecretManagerService.js +294 -0
  226. package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
  227. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +2 -0
  228. package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
  229. package/lib/esm/secrets/gcp/index.js +8 -0
  230. package/lib/esm/secrets/gcp/index.js.map +1 -0
  231. package/lib/esm/secrets/index.js +8 -0
  232. package/lib/esm/secrets/index.js.map +1 -0
  233. package/lib/esm/secrets/model/ModelSecretCrypto.js +73 -0
  234. package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
  235. package/lib/esm/secrets/model/ModelSecretService.js +266 -0
  236. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
  237. package/lib/esm/secrets/model/ModelSecretServiceConfig.js +2 -0
  238. package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
  239. package/lib/esm/secrets/model/Secret.js +39 -0
  240. package/lib/esm/secrets/model/Secret.js.map +1 -0
  241. package/lib/esm/secrets/model/index.js +9 -0
  242. package/lib/esm/secrets/model/index.js.map +1 -0
  243. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +397 -0
  244. package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
  245. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +2 -0
  246. package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
  247. package/lib/esm/secrets/onepassword/index.js +8 -0
  248. package/lib/esm/secrets/onepassword/index.js.map +1 -0
  249. package/lib/esm/secrets/vault/VaultSecretService.js +312 -0
  250. package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
  251. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +2 -0
  252. package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
  253. package/lib/esm/secrets/vault/index.js +8 -0
  254. package/lib/esm/secrets/vault/index.js.map +1 -0
  255. package/lib/esm/utils.js +39 -0
  256. package/lib/esm/utils.js.map +1 -0
  257. package/lib/types/docker/DockerComposeService.d.cts +53 -0
  258. package/lib/types/docker/DockerComposeService.d.mts +53 -0
  259. package/lib/types/docker/index.d.cts +6 -0
  260. package/lib/types/docker/index.d.mts +6 -0
  261. package/lib/types/index.d.cts +10 -0
  262. package/lib/types/index.d.mts +10 -0
  263. package/lib/types/keycloak/index.d.cts +8 -0
  264. package/lib/types/keycloak/index.d.mts +8 -0
  265. package/lib/types/keycloak/services/KeycloakAuthService.d.cts +20 -0
  266. package/lib/types/keycloak/services/KeycloakAuthService.d.mts +20 -0
  267. package/lib/types/keycloak/services/KeycloakClientService.d.cts +25 -0
  268. package/lib/types/keycloak/services/KeycloakClientService.d.mts +25 -0
  269. package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.cts +23 -0
  270. package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.mts +23 -0
  271. package/lib/types/keycloak/services/KeycloakRealmService.d.cts +31 -0
  272. package/lib/types/keycloak/services/KeycloakRealmService.d.mts +31 -0
  273. package/lib/types/keycloak/services/KeycloakRoleService.d.cts +29 -0
  274. package/lib/types/keycloak/services/KeycloakRoleService.d.mts +29 -0
  275. package/lib/types/keycloak/services/KeycloakService.d.cts +38 -0
  276. package/lib/types/keycloak/services/KeycloakService.d.mts +38 -0
  277. package/lib/types/keycloak/services/KeycloakUserService.d.cts +46 -0
  278. package/lib/types/keycloak/services/KeycloakUserService.d.mts +46 -0
  279. package/lib/types/keycloak/services/index.d.cts +12 -0
  280. package/lib/types/keycloak/services/index.d.mts +12 -0
  281. package/lib/types/keycloak/types.d.cts +103 -0
  282. package/lib/types/keycloak/types.d.mts +103 -0
  283. package/lib/types/kibana/helpers.d.cts +9 -0
  284. package/lib/types/kibana/helpers.d.mts +9 -0
  285. package/lib/types/kibana/index.d.cts +9 -0
  286. package/lib/types/kibana/index.d.mts +9 -0
  287. package/lib/types/kibana/services/KibanaAuthService.d.cts +16 -0
  288. package/lib/types/kibana/services/KibanaAuthService.d.mts +16 -0
  289. package/lib/types/kibana/services/KibanaDashboardService.d.cts +31 -0
  290. package/lib/types/kibana/services/KibanaDashboardService.d.mts +31 -0
  291. package/lib/types/kibana/services/KibanaDataViewService.d.cts +23 -0
  292. package/lib/types/kibana/services/KibanaDataViewService.d.mts +23 -0
  293. package/lib/types/kibana/services/KibanaRoleService.d.cts +19 -0
  294. package/lib/types/kibana/services/KibanaRoleService.d.mts +19 -0
  295. package/lib/types/kibana/services/KibanaService.d.cts +55 -0
  296. package/lib/types/kibana/services/KibanaService.d.mts +55 -0
  297. package/lib/types/kibana/services/KibanaSpaceService.d.cts +20 -0
  298. package/lib/types/kibana/services/KibanaSpaceService.d.mts +20 -0
  299. package/lib/types/kibana/services/KibanaUserService.d.cts +19 -0
  300. package/lib/types/kibana/services/KibanaUserService.d.mts +19 -0
  301. package/lib/types/kibana/services/index.d.cts +12 -0
  302. package/lib/types/kibana/services/index.d.mts +12 -0
  303. package/lib/types/kibana/types.d.cts +75 -0
  304. package/lib/types/kibana/types.d.mts +75 -0
  305. package/lib/types/nest/authService.d.cts +9 -0
  306. package/lib/types/nest/authService.d.mts +9 -0
  307. package/lib/types/nest/index.d.cts +11 -0
  308. package/lib/types/nest/index.d.mts +11 -0
  309. package/lib/types/nest/keycloakAuthHandler.d.cts +7 -0
  310. package/lib/types/nest/keycloakAuthHandler.d.mts +7 -0
  311. package/lib/types/nest/keycloakModule.d.cts +15 -0
  312. package/lib/types/nest/keycloakModule.d.mts +15 -0
  313. package/lib/types/nest/types.d.cts +48 -0
  314. package/lib/types/nest/types.d.mts +48 -0
  315. package/lib/types/nest/utils.d.cts +11 -0
  316. package/lib/types/nest/utils.d.mts +11 -0
  317. package/lib/types/secrets/aws/AwsSecretService.d.cts +19 -0
  318. package/lib/types/secrets/aws/AwsSecretService.d.mts +19 -0
  319. package/lib/types/secrets/aws/AwsSecretServiceConfig.d.cts +16 -0
  320. package/lib/types/secrets/aws/AwsSecretServiceConfig.d.mts +16 -0
  321. package/lib/types/secrets/aws/index.d.cts +7 -0
  322. package/lib/types/secrets/aws/index.d.mts +7 -0
  323. package/lib/types/secrets/azure/AzureKeyVaultSecretService.d.cts +20 -0
  324. package/lib/types/secrets/azure/AzureKeyVaultSecretService.d.mts +20 -0
  325. package/lib/types/secrets/azure/AzureKeyVaultSecretServiceConfig.d.cts +11 -0
  326. package/lib/types/secrets/azure/AzureKeyVaultSecretServiceConfig.d.mts +11 -0
  327. package/lib/types/secrets/azure/index.d.cts +7 -0
  328. package/lib/types/secrets/azure/index.d.mts +7 -0
  329. package/lib/types/secrets/core/SecretErrors.d.cts +15 -0
  330. package/lib/types/secrets/core/SecretErrors.d.mts +15 -0
  331. package/lib/types/secrets/core/SecretName.d.cts +2 -0
  332. package/lib/types/secrets/core/SecretName.d.mts +2 -0
  333. package/lib/types/secrets/core/SecretReference.d.cts +13 -0
  334. package/lib/types/secrets/core/SecretReference.d.mts +13 -0
  335. package/lib/types/secrets/core/SecretSerialization.d.cts +3 -0
  336. package/lib/types/secrets/core/SecretSerialization.d.mts +3 -0
  337. package/lib/types/secrets/core/SecretService.d.cts +22 -0
  338. package/lib/types/secrets/core/SecretService.d.mts +22 -0
  339. package/lib/types/secrets/core/SecretTypes.d.cts +76 -0
  340. package/lib/types/secrets/core/SecretTypes.d.mts +76 -0
  341. package/lib/types/secrets/core/index.d.cts +11 -0
  342. package/lib/types/secrets/core/index.d.mts +11 -0
  343. package/lib/types/secrets/gcp/GcpSecretManagerService.d.cts +20 -0
  344. package/lib/types/secrets/gcp/GcpSecretManagerService.d.mts +20 -0
  345. package/lib/types/secrets/gcp/GcpSecretManagerServiceConfig.d.cts +15 -0
  346. package/lib/types/secrets/gcp/GcpSecretManagerServiceConfig.d.mts +15 -0
  347. package/lib/types/secrets/gcp/index.d.cts +7 -0
  348. package/lib/types/secrets/gcp/index.d.mts +7 -0
  349. package/lib/types/secrets/index.d.cts +7 -0
  350. package/lib/types/secrets/index.d.mts +7 -0
  351. package/lib/types/secrets/model/ModelSecretCrypto.d.cts +11 -0
  352. package/lib/types/secrets/model/ModelSecretCrypto.d.mts +11 -0
  353. package/lib/types/secrets/model/ModelSecretService.d.cts +21 -0
  354. package/lib/types/secrets/model/ModelSecretService.d.mts +21 -0
  355. package/lib/types/secrets/model/ModelSecretServiceConfig.d.cts +10 -0
  356. package/lib/types/secrets/model/ModelSecretServiceConfig.d.mts +10 -0
  357. package/lib/types/secrets/model/Secret.d.cts +24 -0
  358. package/lib/types/secrets/model/Secret.d.mts +24 -0
  359. package/lib/types/secrets/model/index.d.cts +8 -0
  360. package/lib/types/secrets/model/index.d.mts +8 -0
  361. package/lib/types/secrets/onepassword/OnePasswordSecretService.d.cts +22 -0
  362. package/lib/types/secrets/onepassword/OnePasswordSecretService.d.mts +22 -0
  363. package/lib/types/secrets/onepassword/OnePasswordSecretServiceConfig.d.cts +13 -0
  364. package/lib/types/secrets/onepassword/OnePasswordSecretServiceConfig.d.mts +13 -0
  365. package/lib/types/secrets/onepassword/index.d.cts +7 -0
  366. package/lib/types/secrets/onepassword/index.d.mts +7 -0
  367. package/lib/types/secrets/vault/VaultSecretService.d.cts +37 -0
  368. package/lib/types/secrets/vault/VaultSecretService.d.mts +37 -0
  369. package/lib/types/secrets/vault/VaultSecretServiceConfig.d.cts +13 -0
  370. package/lib/types/secrets/vault/VaultSecretServiceConfig.d.mts +13 -0
  371. package/lib/types/secrets/vault/index.d.cts +7 -0
  372. package/lib/types/secrets/vault/index.d.mts +7 -0
  373. package/lib/types/utils.d.cts +7 -0
  374. package/lib/types/utils.d.mts +7 -0
  375. package/package.json +192 -0
  376. package/renovate.json +21 -0
@@ -0,0 +1,312 @@
1
+ import { validateSecretName, normalizeSecretName } from "./../core/index.js";
2
+ import { serializeSecretPayload, deserializeSecretPayload, } from "./../core/index.js";
3
+ import { ClientBasedService } from "@decaf-ts/core";
4
+ import { BadRequestError, ConflictError, InternalError, NotFoundError, } from "@decaf-ts/db-decorators";
5
+ export class VaultKvV2Client {
6
+ constructor(config) {
7
+ this.baseUrl = config.baseUrl.replace(/\/+$/, "");
8
+ this.token = config.token;
9
+ this.mountPath = config.mountPath.replace(/^\/+/, "").replace(/\/+$/, "");
10
+ this.namespace = config.namespace;
11
+ }
12
+ async request(method, path, body) {
13
+ const url = `${this.baseUrl}/v1/${path}`;
14
+ const headers = {
15
+ "X-Vault-Token": this.token,
16
+ "Content-Type": "application/json",
17
+ };
18
+ if (this.namespace) {
19
+ headers["X-Vault-Namespace"] = this.namespace;
20
+ }
21
+ const response = await fetch(url, {
22
+ method,
23
+ headers,
24
+ body: body ? JSON.stringify(body) : undefined,
25
+ });
26
+ if (!response.ok) {
27
+ const errorData = (await response
28
+ .json()
29
+ .catch(() => ({ errors: [] })));
30
+ const message = errorData.errors?.join(", ") || response.statusText;
31
+ const err = new Error(message);
32
+ err.name = `VaultError`;
33
+ throw err;
34
+ }
35
+ if (response.status === 204) {
36
+ return undefined;
37
+ }
38
+ const text = await response.text();
39
+ if (!text) {
40
+ return undefined;
41
+ }
42
+ const data = JSON.parse(text);
43
+ return data.data;
44
+ }
45
+ async read(path) {
46
+ return this.request("GET", `${this.mountPath}/data/${path}`);
47
+ }
48
+ async write(path, data) {
49
+ await this.request("POST", `${this.mountPath}/data/${path}`, {
50
+ data,
51
+ });
52
+ }
53
+ async delete(path) {
54
+ await this.request("DELETE", `${this.mountPath}/data/${path}`);
55
+ }
56
+ async list(path) {
57
+ const result = await this.request("LIST", `${this.mountPath}/metadata/${path}`);
58
+ return result.keys || [];
59
+ }
60
+ async metadata(path) {
61
+ return this.request("GET", `${this.mountPath}/metadata/${path}`);
62
+ }
63
+ }
64
+ export class VaultSecretService extends ClientBasedService {
65
+ constructor() {
66
+ super(...arguments);
67
+ this.provider = "hashicorp-vault";
68
+ }
69
+ async initialize(...args) {
70
+ const { ctxArgs } = (await this.logCtx(args, "initialize", true)).for(this.initialize);
71
+ const config = ctxArgs[0];
72
+ const client = new VaultKvV2Client({
73
+ baseUrl: config.address,
74
+ token: config.token,
75
+ mountPath: config.path,
76
+ namespace: config.namespace,
77
+ });
78
+ this._config = config;
79
+ this._client = client;
80
+ return { config, client };
81
+ }
82
+ async store(name, value, options = {}, ...args) {
83
+ const { log } = (await this.logCtx(args, "store", true)).for(this.store);
84
+ log.verbose(`Storing secret ${name}`);
85
+ try {
86
+ validateSecretName(name);
87
+ }
88
+ catch (error) {
89
+ throw this.parseError(error);
90
+ }
91
+ const normalizedName = normalizeSecretName(name);
92
+ const serialized = serializeSecretPayload(value);
93
+ try {
94
+ await this.client.write(normalizedName, {
95
+ value: serialized.value,
96
+ encoding: serialized.encoding,
97
+ contentType: options.contentType,
98
+ tags: options.tags,
99
+ });
100
+ return {
101
+ provider: this.provider,
102
+ name: normalizedName,
103
+ version: options.version,
104
+ };
105
+ }
106
+ catch (error) {
107
+ if (error?.name?.toLowerCase().includes("already") ||
108
+ error?.message?.toLowerCase()?.includes("already")) {
109
+ throw new ConflictError(`Secret "${normalizedName}" already exists`);
110
+ }
111
+ throw this.parseError(error);
112
+ }
113
+ }
114
+ async retrieve(nameOrRef, ...args) {
115
+ const { log } = (await this.logCtx(args, "retrieve", true)).for(this.retrieve);
116
+ const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
117
+ log.verbose(`Retrieving secret ${nameStr}`);
118
+ let name;
119
+ if (typeof nameOrRef === "string") {
120
+ name = nameOrRef;
121
+ }
122
+ else {
123
+ name = nameOrRef.name;
124
+ }
125
+ try {
126
+ validateSecretName(name);
127
+ }
128
+ catch (error) {
129
+ throw this.parseError(error);
130
+ }
131
+ const normalizedName = normalizeSecretName(name);
132
+ try {
133
+ const response = await this.client.read(normalizedName);
134
+ if (!response?.data?.value) {
135
+ throw new NotFoundError(`Secret "${normalizedName}" has no value`);
136
+ }
137
+ const payload = {
138
+ encoding: response.data.encoding ?? "utf8",
139
+ value: response.data.value,
140
+ };
141
+ return deserializeSecretPayload(payload);
142
+ }
143
+ catch (error) {
144
+ if (error?.name?.toLowerCase().includes("not found") ||
145
+ error?.message?.toLowerCase()?.includes("not found")) {
146
+ throw new NotFoundError(`Secret "${normalizedName}" not found`);
147
+ }
148
+ throw this.parseError(error);
149
+ }
150
+ }
151
+ async delete(nameOrRef, ...args) {
152
+ const { log } = (await this.logCtx(args, "delete", true)).for(this.delete);
153
+ const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
154
+ log.verbose(`Deleting secret ${nameStr}`);
155
+ let name;
156
+ if (typeof nameOrRef === "string") {
157
+ name = nameOrRef;
158
+ }
159
+ else {
160
+ name = nameOrRef.name;
161
+ }
162
+ try {
163
+ validateSecretName(name);
164
+ }
165
+ catch (error) {
166
+ throw this.parseError(error);
167
+ }
168
+ const normalizedName = normalizeSecretName(name);
169
+ try {
170
+ await this.client.delete(normalizedName);
171
+ }
172
+ catch (error) {
173
+ throw this.parseError(error);
174
+ }
175
+ }
176
+ async exists(nameOrRef, ...args) {
177
+ const { log } = (await this.logCtx(args, "exists", true)).for(this.exists);
178
+ const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
179
+ log.verbose(`Checking if secret ${nameStr} exists`);
180
+ let name;
181
+ if (typeof nameOrRef === "string") {
182
+ name = nameOrRef;
183
+ }
184
+ else {
185
+ name = nameOrRef.name;
186
+ }
187
+ try {
188
+ validateSecretName(name);
189
+ }
190
+ catch (error) {
191
+ throw this.parseError(error);
192
+ }
193
+ const normalizedName = normalizeSecretName(name);
194
+ try {
195
+ await this.client.read(normalizedName);
196
+ return true;
197
+ }
198
+ catch (error) {
199
+ if (error?.name?.toLowerCase().includes("not found") ||
200
+ error?.message?.toLowerCase()?.includes("not found")) {
201
+ return false;
202
+ }
203
+ throw this.parseError(error);
204
+ }
205
+ }
206
+ async list(options = {}, ...args) {
207
+ const { log } = (await this.logCtx(args, "list", true)).for(this.list);
208
+ log.verbose("Listing secrets");
209
+ const result = [];
210
+ try {
211
+ const keys = await this.client.list("");
212
+ for (const key of keys) {
213
+ if (options.limit && result.length >= options.limit) {
214
+ break;
215
+ }
216
+ const meta = await this.client.metadata(key);
217
+ if (meta) {
218
+ result.push({
219
+ provider: this.provider,
220
+ name: key,
221
+ createdAt: meta.created_time
222
+ ? new Date(meta.created_time)
223
+ : undefined,
224
+ updatedAt: meta.updated_time
225
+ ? new Date(meta.updated_time)
226
+ : undefined,
227
+ enabled: true,
228
+ tags: meta.custom_metadata ?? undefined,
229
+ });
230
+ }
231
+ }
232
+ }
233
+ catch (error) {
234
+ throw this.parseError(error);
235
+ }
236
+ return result;
237
+ }
238
+ async metadata(nameOrRef, ...args) {
239
+ const { log } = (await this.logCtx(args, "metadata", true)).for(this.metadata);
240
+ const nameStr = typeof nameOrRef === "string" ? nameOrRef : nameOrRef.name;
241
+ log.verbose(`Getting metadata for secret ${nameStr}`);
242
+ let name;
243
+ if (typeof nameOrRef === "string") {
244
+ name = nameOrRef;
245
+ }
246
+ else {
247
+ name = nameOrRef.name;
248
+ }
249
+ try {
250
+ validateSecretName(name);
251
+ }
252
+ catch (error) {
253
+ throw this.parseError(error);
254
+ }
255
+ const normalizedName = normalizeSecretName(name);
256
+ try {
257
+ const meta = await this.client.metadata(normalizedName);
258
+ if (!meta) {
259
+ return undefined;
260
+ }
261
+ const result = {
262
+ provider: this.provider,
263
+ name: normalizedName,
264
+ createdAt: meta.created_time ? new Date(meta.created_time) : undefined,
265
+ updatedAt: meta.updated_time ? new Date(meta.updated_time) : undefined,
266
+ enabled: true,
267
+ tags: meta.custom_metadata ?? undefined,
268
+ };
269
+ return result;
270
+ }
271
+ catch (error) {
272
+ if (error?.name?.toLowerCase().includes("not found") ||
273
+ error?.message?.toLowerCase()?.includes("not found")) {
274
+ return undefined;
275
+ }
276
+ throw this.parseError(error);
277
+ }
278
+ }
279
+ parseError(error) {
280
+ const err = error;
281
+ const message = err.message || err.name || "Unknown error";
282
+ const lowerMessage = message.toLowerCase();
283
+ if (lowerMessage.includes("not found") || lowerMessage.includes("404")) {
284
+ return new NotFoundError(message);
285
+ }
286
+ if (lowerMessage.includes("already exists") ||
287
+ lowerMessage.includes("conflict") ||
288
+ lowerMessage.includes("409")) {
289
+ return new ConflictError(message);
290
+ }
291
+ if (lowerMessage.includes("disabled") || lowerMessage.includes("403")) {
292
+ return new NotFoundError(message);
293
+ }
294
+ if (lowerMessage.includes("unauthorized") || lowerMessage.includes("401")) {
295
+ return new NotFoundError(message);
296
+ }
297
+ if (lowerMessage.includes("permission") || lowerMessage.includes("403")) {
298
+ return new NotFoundError(message);
299
+ }
300
+ if (lowerMessage.includes("rate limit") || lowerMessage.includes("429")) {
301
+ return new BadRequestError(message);
302
+ }
303
+ if (lowerMessage.includes("provider") ||
304
+ lowerMessage.includes("unavailable") ||
305
+ lowerMessage.includes("connection") ||
306
+ lowerMessage.includes("timeout")) {
307
+ return new InternalError(message);
308
+ }
309
+ return new InternalError(message);
310
+ }
311
+ }
312
+ //# sourceMappingURL=VaultSecretService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaultSecretService.js","sourceRoot":"","sources":["../../../../src/secrets/vault/VaultSecretService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=VaultSecretServiceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaultSecretServiceConfig.js","sourceRoot":"","sources":["../../../../src/secrets/vault/VaultSecretServiceConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @module integrations/secrets/vault
3
+ * @summary HashiCorp Vault secret service exports.
4
+ * @description Re-exports the Vault KV v2 service and its configuration.
5
+ */
6
+ export * from "./VaultSecretService.js";
7
+ export * from "./VaultSecretServiceConfig.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/secrets/vault/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wCAAqC;AACrC,8CAA2C"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @module integrations/utils
3
+ * @summary Shared integration utilities.
4
+ * @description Utility helpers used across the integrations package.
5
+ */
6
+ import { exec } from "child_process";
7
+ import { LogLevel } from "@decaf-ts/logging";
8
+ import { InternalError } from "@decaf-ts/db-decorators";
9
+ export async function execWithLogging(command, options, log, level = LogLevel.info) {
10
+ log.debug(`Executing: ${command}`);
11
+ return new Promise((resolve, reject) => {
12
+ const child = exec(command, options);
13
+ let stdout = "";
14
+ let stderr = "";
15
+ child.stdout?.on("data", (data) => {
16
+ stdout += data;
17
+ log[level](data.trim());
18
+ });
19
+ child.stderr?.on("data", (data) => {
20
+ stderr += data;
21
+ log.error(data.trim());
22
+ });
23
+ child.on("close", (code) => {
24
+ if (code === 0) {
25
+ log.silly(`Command completed successfully`);
26
+ resolve({ stdout, stderr });
27
+ }
28
+ else {
29
+ log.critical(`Command failed with code ${code}`, stderr);
30
+ reject(new InternalError(`Command failed with code ${code}: ${stderr}`));
31
+ }
32
+ });
33
+ child.on("error", (err) => {
34
+ log.critical(`Command execution error`, err);
35
+ reject(err);
36
+ });
37
+ });
38
+ }
39
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAU,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,OAAwB,EACxB,GAAW,EACX,QAAkB,QAAQ,CAAC,IAAI;IAE/B,GAAG,CAAC,KAAK,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC;IAEnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,IAAI,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACxC,MAAM,IAAI,IAAI,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;YACjC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBAC5C,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,QAAQ,CAAC,4BAA4B,IAAI,EAAE,EAAE,MAAa,CAAC,CAAC;gBAChE,MAAM,CACJ,IAAI,aAAa,CAAC,4BAA4B,IAAI,KAAK,MAAM,EAAE,CAAC,CACjE,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC/B,GAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { ClientBasedService, ContextualArgs, MaybeContextualArg } from "@decaf-ts/core";
2
+ interface DockerComposeServiceConfig {
3
+ composeFile: string;
4
+ workingDir?: string;
5
+ }
6
+ interface DockerHealthCheckOptions {
7
+ maxAttempts?: number;
8
+ interval?: number;
9
+ }
10
+ export declare class DockerComposeService extends ClientBasedService<void, DockerComposeServiceConfig> {
11
+ constructor();
12
+ initialize(...args: ContextualArgs<any>): Promise<{
13
+ config: DockerComposeServiceConfig;
14
+ client: void;
15
+ }>;
16
+ /**
17
+ * Get the working directory for docker compose commands
18
+ */
19
+ protected get workingDir(): string;
20
+ /**
21
+ * Get the basename of the compose file
22
+ */
23
+ protected get composeFileName(): string;
24
+ /**
25
+ * Start Docker Compose services
26
+ */
27
+ up(detached?: boolean, ...args: MaybeContextualArg<any>): Promise<void>;
28
+ /**
29
+ * Stop Docker Compose services
30
+ */
31
+ down(...args: MaybeContextualArg<any>): Promise<void>;
32
+ /**
33
+ * Restart Docker Compose services
34
+ */
35
+ restart(...args: MaybeContextualArg<any>): Promise<void>;
36
+ /**
37
+ * Wait for service health check
38
+ */
39
+ waitForHealth(url: string, options?: DockerHealthCheckOptions, ...args: MaybeContextualArg<any>): Promise<boolean>;
40
+ /**
41
+ * Execute a command in a specific container
42
+ */
43
+ execInContainer(containerName: string, command: string, ...args: MaybeContextualArg<any>): Promise<string>;
44
+ /**
45
+ * Get container logs
46
+ */
47
+ getLogs(containerName?: string, tail?: number, ...args: MaybeContextualArg<any>): Promise<string>;
48
+ /**
49
+ * Check if a container is running
50
+ */
51
+ isRunning(containerName: string, ...args: MaybeContextualArg<any>): Promise<boolean>;
52
+ }
53
+ export {};
@@ -0,0 +1,53 @@
1
+ import { ClientBasedService, ContextualArgs, MaybeContextualArg } from "@decaf-ts/core";
2
+ interface DockerComposeServiceConfig {
3
+ composeFile: string;
4
+ workingDir?: string;
5
+ }
6
+ interface DockerHealthCheckOptions {
7
+ maxAttempts?: number;
8
+ interval?: number;
9
+ }
10
+ export declare class DockerComposeService extends ClientBasedService<void, DockerComposeServiceConfig> {
11
+ constructor();
12
+ initialize(...args: ContextualArgs<any>): Promise<{
13
+ config: DockerComposeServiceConfig;
14
+ client: void;
15
+ }>;
16
+ /**
17
+ * Get the working directory for docker compose commands
18
+ */
19
+ protected get workingDir(): string;
20
+ /**
21
+ * Get the basename of the compose file
22
+ */
23
+ protected get composeFileName(): string;
24
+ /**
25
+ * Start Docker Compose services
26
+ */
27
+ up(detached?: boolean, ...args: MaybeContextualArg<any>): Promise<void>;
28
+ /**
29
+ * Stop Docker Compose services
30
+ */
31
+ down(...args: MaybeContextualArg<any>): Promise<void>;
32
+ /**
33
+ * Restart Docker Compose services
34
+ */
35
+ restart(...args: MaybeContextualArg<any>): Promise<void>;
36
+ /**
37
+ * Wait for service health check
38
+ */
39
+ waitForHealth(url: string, options?: DockerHealthCheckOptions, ...args: MaybeContextualArg<any>): Promise<boolean>;
40
+ /**
41
+ * Execute a command in a specific container
42
+ */
43
+ execInContainer(containerName: string, command: string, ...args: MaybeContextualArg<any>): Promise<string>;
44
+ /**
45
+ * Get container logs
46
+ */
47
+ getLogs(containerName?: string, tail?: number, ...args: MaybeContextualArg<any>): Promise<string>;
48
+ /**
49
+ * Check if a container is running
50
+ */
51
+ isRunning(containerName: string, ...args: MaybeContextualArg<any>): Promise<boolean>;
52
+ }
53
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/docker
3
+ * @summary Docker Compose service helpers.
4
+ * @description Re-exports the Docker Compose orchestration service for local containerized environments.
5
+ */
6
+ export * from "./DockerComposeService.d.cts";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module integrations/docker
3
+ * @summary Docker Compose service helpers.
4
+ * @description Re-exports the Docker Compose orchestration service for local containerized environments.
5
+ */
6
+ export * from "./DockerComposeService.d.mts";
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations
3
+ * @summary Package entry point for shared integration helpers.
4
+ * @description Exposes the package utilities and build-time version metadata for `@decaf-ts/integrations`.
5
+ */
6
+ export * from "./utils.d.cts";
7
+ export declare const VERSION: string;
8
+ export declare const COMMIT = "9134d75";
9
+ export declare const FULL_VERSION = "0.1.0-9134d75";
10
+ export declare const PACKAGE_NAME: string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @module integrations
3
+ * @summary Package entry point for shared integration helpers.
4
+ * @description Exposes the package utilities and build-time version metadata for `@decaf-ts/integrations`.
5
+ */
6
+ export * from "./utils.d.mts";
7
+ export declare const VERSION: string;
8
+ export declare const COMMIT = "9134d75";
9
+ export declare const FULL_VERSION = "0.1.0-9134d75";
10
+ export declare const PACKAGE_NAME: string;
@@ -0,0 +1,8 @@
1
+ export * from "./types.d.cts";
2
+ export * from "./services/index.d.cts";
3
+ /**
4
+ * @summary Keycloak integrations.
5
+ * @description Helpers for provisioning and managing Keycloak tenants.
6
+ * @namespace keycloak
7
+ * @memberOf module:integrations
8
+ */
@@ -0,0 +1,8 @@
1
+ export * from "./types.d.mts";
2
+ export * from "./services/index.d.mts";
3
+ /**
4
+ * @summary Keycloak integrations.
5
+ * @description Helpers for provisioning and managing Keycloak tenants.
6
+ * @namespace keycloak
7
+ * @memberOf module:integrations
8
+ */
@@ -0,0 +1,20 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { ClientBasedService } from "@decaf-ts/core";
3
+ import type { KeycloakSetupConfig, KeycloakUser } from "../types.d.cts";
4
+ import { AxiosInstance } from "axios";
5
+ export declare class KeycloakAuthService extends ClientBasedService<AxiosInstance, KeycloakSetupConfig> {
6
+ initialize(...args: MaybeContextualArg<any>): Promise<{
7
+ config: KeycloakSetupConfig;
8
+ client: AxiosInstance;
9
+ }>;
10
+ getAccessToken(keycloakUser: KeycloakUser, ...args: MaybeContextualArg<any>): Promise<string>;
11
+ refreshAccessToken(refreshToken: string, clientId: string, clientSecret: string, ...args: MaybeContextualArg<any>): Promise<string>;
12
+ validateAccessToken(accessToken: string, ...args: MaybeContextualArg<any>): Promise<boolean>;
13
+ logout(keycloakUser: KeycloakUser, refreshToken: string, ...args: MaybeContextualArg<any>): Promise<void>;
14
+ private createHttpClient;
15
+ private isProduction;
16
+ private request;
17
+ private handleHttpResponse;
18
+ protected parseError(error: Error): Error;
19
+ private parseJsonResponse;
20
+ }
@@ -0,0 +1,20 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { ClientBasedService } from "@decaf-ts/core";
3
+ import type { KeycloakSetupConfig, KeycloakUser } from "../types.d.mts";
4
+ import { AxiosInstance } from "axios";
5
+ export declare class KeycloakAuthService extends ClientBasedService<AxiosInstance, KeycloakSetupConfig> {
6
+ initialize(...args: MaybeContextualArg<any>): Promise<{
7
+ config: KeycloakSetupConfig;
8
+ client: AxiosInstance;
9
+ }>;
10
+ getAccessToken(keycloakUser: KeycloakUser, ...args: MaybeContextualArg<any>): Promise<string>;
11
+ refreshAccessToken(refreshToken: string, clientId: string, clientSecret: string, ...args: MaybeContextualArg<any>): Promise<string>;
12
+ validateAccessToken(accessToken: string, ...args: MaybeContextualArg<any>): Promise<boolean>;
13
+ logout(keycloakUser: KeycloakUser, refreshToken: string, ...args: MaybeContextualArg<any>): Promise<void>;
14
+ private createHttpClient;
15
+ private isProduction;
16
+ private request;
17
+ private handleHttpResponse;
18
+ protected parseError(error: Error): Error;
19
+ private parseJsonResponse;
20
+ }
@@ -0,0 +1,25 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { ClientBasedService } from "@decaf-ts/core";
3
+ import type { KeycloakClientConfig, KeycloakClientRoleConfig, KeycloakSetupConfig } from "../types.d.cts";
4
+ import { AxiosInstance } from "axios";
5
+ export declare class KeycloakClientService extends ClientBasedService<AxiosInstance, KeycloakSetupConfig> {
6
+ initialize(...args: MaybeContextualArg<any>): Promise<{
7
+ config: KeycloakSetupConfig;
8
+ client: AxiosInstance;
9
+ }>;
10
+ createClient(keycloakSetupConfig: KeycloakSetupConfig, overrides: Partial<KeycloakClientConfig> | undefined, ...args: MaybeContextualArg<any>): Promise<string>;
11
+ updateClient(keycloakSetupConfig: KeycloakSetupConfig, overrides: Partial<KeycloakClientConfig> | undefined, ...args: MaybeContextualArg<any>): Promise<void>;
12
+ getClientUUID(accessToken: string, realmName: string, clientId: string, ...args: MaybeContextualArg<any>): Promise<string>;
13
+ createClientRoles(keycloakSetupConfig: KeycloakSetupConfig, roleConfigs: KeycloakClientRoleConfig[] | undefined, ...args: MaybeContextualArg<any>): Promise<void>;
14
+ private createHttpClient;
15
+ private isProduction;
16
+ private getRealmAccessToken;
17
+ private getAccessToken;
18
+ private normalizeClientConfig;
19
+ private buildClientPayload;
20
+ private request;
21
+ private handleHttpResponse;
22
+ protected parseError(error: Error): Error;
23
+ private extractUUIDfromResponse;
24
+ private parseJsonResponse;
25
+ }
@@ -0,0 +1,25 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { ClientBasedService } from "@decaf-ts/core";
3
+ import type { KeycloakClientConfig, KeycloakClientRoleConfig, KeycloakSetupConfig } from "../types.d.mts";
4
+ import { AxiosInstance } from "axios";
5
+ export declare class KeycloakClientService extends ClientBasedService<AxiosInstance, KeycloakSetupConfig> {
6
+ initialize(...args: MaybeContextualArg<any>): Promise<{
7
+ config: KeycloakSetupConfig;
8
+ client: AxiosInstance;
9
+ }>;
10
+ createClient(keycloakSetupConfig: KeycloakSetupConfig, overrides: Partial<KeycloakClientConfig> | undefined, ...args: MaybeContextualArg<any>): Promise<string>;
11
+ updateClient(keycloakSetupConfig: KeycloakSetupConfig, overrides: Partial<KeycloakClientConfig> | undefined, ...args: MaybeContextualArg<any>): Promise<void>;
12
+ getClientUUID(accessToken: string, realmName: string, clientId: string, ...args: MaybeContextualArg<any>): Promise<string>;
13
+ createClientRoles(keycloakSetupConfig: KeycloakSetupConfig, roleConfigs: KeycloakClientRoleConfig[] | undefined, ...args: MaybeContextualArg<any>): Promise<void>;
14
+ private createHttpClient;
15
+ private isProduction;
16
+ private getRealmAccessToken;
17
+ private getAccessToken;
18
+ private normalizeClientConfig;
19
+ private buildClientPayload;
20
+ private request;
21
+ private handleHttpResponse;
22
+ protected parseError(error: Error): Error;
23
+ private extractUUIDfromResponse;
24
+ private parseJsonResponse;
25
+ }