@decaf-ts/integrations 0.1.2 → 0.1.4

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 (289) hide show
  1. package/dist/integrations.cjs +1 -1
  2. package/docker/azure-blob-compose.yml +21 -0
  3. package/docker/gcs-blob-compose.yml +21 -0
  4. package/docker/ipfs-compose.yml +25 -0
  5. package/docker/minio-compose.yml +25 -0
  6. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +293 -0
  7. package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
  8. package/lib/cjs/blob/azure/index.cjs +24 -0
  9. package/lib/cjs/blob/azure/index.cjs.map +1 -0
  10. package/lib/cjs/blob/core/BlobErrors.cjs +74 -0
  11. package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
  12. package/lib/cjs/blob/core/BlobKey.cjs +37 -0
  13. package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
  14. package/lib/cjs/blob/core/BlobStoreFactory.cjs +57 -0
  15. package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
  16. package/lib/cjs/blob/core/BlobStoreService.cjs +42 -0
  17. package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
  18. package/lib/cjs/blob/core/BlobTypes.cjs +4 -0
  19. package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
  20. package/lib/cjs/blob/core/BlobValue.cjs +72 -0
  21. package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
  22. package/lib/cjs/blob/core/index.cjs +29 -0
  23. package/lib/cjs/blob/core/index.cjs.map +1 -0
  24. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +272 -0
  25. package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
  26. package/lib/cjs/blob/gcp/index.cjs +24 -0
  27. package/lib/cjs/blob/gcp/index.cjs.map +1 -0
  28. package/lib/cjs/blob/index.cjs +25 -0
  29. package/lib/cjs/blob/index.cjs.map +1 -0
  30. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +182 -0
  31. package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
  32. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +27 -0
  33. package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
  34. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +35 -0
  35. package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
  36. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +45 -0
  37. package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
  38. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +35 -0
  39. package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
  40. package/lib/cjs/blob/ipfs/index.cjs +28 -0
  41. package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
  42. package/lib/cjs/blob/local/LocalBlobStoreService.cjs +288 -0
  43. package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
  44. package/lib/cjs/blob/local/index.cjs +24 -0
  45. package/lib/cjs/blob/local/index.cjs.map +1 -0
  46. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +146 -0
  47. package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
  48. package/lib/cjs/blob/memory/index.cjs +24 -0
  49. package/lib/cjs/blob/memory/index.cjs.map +1 -0
  50. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +14 -0
  51. package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
  52. package/lib/cjs/blob/s3/R2BlobStoreService.cjs +14 -0
  53. package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
  54. package/lib/cjs/blob/s3/S3BlobStoreService.cjs +322 -0
  55. package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
  56. package/lib/cjs/blob/s3/index.cjs +26 -0
  57. package/lib/cjs/blob/s3/index.cjs.map +1 -0
  58. package/lib/cjs/docker/DockerComposeService.cjs +3 -3
  59. package/lib/cjs/docker/DockerComposeService.cjs.map +1 -1
  60. package/lib/cjs/docker/index.cjs +1 -1
  61. package/lib/cjs/docker/index.cjs.map +1 -1
  62. package/lib/cjs/index.cjs +4 -4
  63. package/lib/cjs/index.cjs.map +1 -1
  64. package/lib/cjs/keycloak/index.cjs +1 -1
  65. package/lib/cjs/keycloak/index.cjs.map +1 -1
  66. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +1 -1
  67. package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -1
  68. package/lib/cjs/keycloak/services/KeycloakClientService.cjs +1 -1
  69. package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -1
  70. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +1 -1
  71. package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -1
  72. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +1 -1
  73. package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -1
  74. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +1 -1
  75. package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -1
  76. package/lib/cjs/keycloak/services/KeycloakService.cjs +1 -1
  77. package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -1
  78. package/lib/cjs/keycloak/services/KeycloakUserService.cjs +1 -1
  79. package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -1
  80. package/lib/cjs/keycloak/services/index.cjs +1 -1
  81. package/lib/cjs/keycloak/services/index.cjs.map +1 -1
  82. package/lib/cjs/keycloak/types.cjs +1 -1
  83. package/lib/cjs/keycloak/types.cjs.map +1 -1
  84. package/lib/cjs/kibana/helpers.cjs +1 -1
  85. package/lib/cjs/kibana/helpers.cjs.map +1 -1
  86. package/lib/cjs/kibana/index.cjs +1 -1
  87. package/lib/cjs/kibana/index.cjs.map +1 -1
  88. package/lib/cjs/kibana/services/KibanaAuthService.cjs +1 -1
  89. package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -1
  90. package/lib/cjs/kibana/services/KibanaDashboardService.cjs +1 -1
  91. package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -1
  92. package/lib/cjs/kibana/services/KibanaDataViewService.cjs +1 -1
  93. package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -1
  94. package/lib/cjs/kibana/services/KibanaRoleService.cjs +1 -1
  95. package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -1
  96. package/lib/cjs/kibana/services/KibanaService.cjs +1 -1
  97. package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -1
  98. package/lib/cjs/kibana/services/KibanaSpaceService.cjs +1 -1
  99. package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -1
  100. package/lib/cjs/kibana/services/KibanaUserService.cjs +1 -1
  101. package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -1
  102. package/lib/cjs/kibana/services/index.cjs +1 -1
  103. package/lib/cjs/kibana/services/index.cjs.map +1 -1
  104. package/lib/cjs/kibana/types.cjs +1 -1
  105. package/lib/cjs/kibana/types.cjs.map +1 -1
  106. package/lib/cjs/nest/authService.cjs +1 -1
  107. package/lib/cjs/nest/authService.cjs.map +1 -1
  108. package/lib/cjs/nest/index.cjs +1 -1
  109. package/lib/cjs/nest/index.cjs.map +1 -1
  110. package/lib/cjs/nest/keycloakAuthHandler.cjs +1 -1
  111. package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -1
  112. package/lib/cjs/nest/keycloakModule.cjs +1 -1
  113. package/lib/cjs/nest/keycloakModule.cjs.map +1 -1
  114. package/lib/cjs/nest/types.cjs +1 -1
  115. package/lib/cjs/nest/types.cjs.map +1 -1
  116. package/lib/cjs/nest/utils.cjs +1 -1
  117. package/lib/cjs/nest/utils.cjs.map +1 -1
  118. package/lib/cjs/secrets/aws/AwsSecretService.cjs +1 -1
  119. package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -1
  120. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +1 -1
  121. package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -1
  122. package/lib/cjs/secrets/aws/index.cjs +1 -1
  123. package/lib/cjs/secrets/aws/index.cjs.map +1 -1
  124. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +1 -1
  125. package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -1
  126. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +1 -1
  127. package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -1
  128. package/lib/cjs/secrets/azure/index.cjs +1 -1
  129. package/lib/cjs/secrets/azure/index.cjs.map +1 -1
  130. package/lib/cjs/secrets/core/SecretErrors.cjs +1 -1
  131. package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -1
  132. package/lib/cjs/secrets/core/SecretName.cjs +1 -1
  133. package/lib/cjs/secrets/core/SecretName.cjs.map +1 -1
  134. package/lib/cjs/secrets/core/SecretReference.cjs +1 -1
  135. package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -1
  136. package/lib/cjs/secrets/core/SecretSerialization.cjs +1 -1
  137. package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -1
  138. package/lib/cjs/secrets/core/SecretService.cjs +1 -1
  139. package/lib/cjs/secrets/core/SecretService.cjs.map +1 -1
  140. package/lib/cjs/secrets/core/SecretTypes.cjs +1 -1
  141. package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -1
  142. package/lib/cjs/secrets/core/index.cjs +1 -1
  143. package/lib/cjs/secrets/core/index.cjs.map +1 -1
  144. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +1 -1
  145. package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -1
  146. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +1 -1
  147. package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -1
  148. package/lib/cjs/secrets/gcp/index.cjs +1 -1
  149. package/lib/cjs/secrets/gcp/index.cjs.map +1 -1
  150. package/lib/cjs/secrets/index.cjs +1 -1
  151. package/lib/cjs/secrets/index.cjs.map +1 -1
  152. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +1 -1
  153. package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -1
  154. package/lib/cjs/secrets/model/ModelSecretService.cjs +3 -3
  155. package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -1
  156. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +1 -1
  157. package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -1
  158. package/lib/cjs/secrets/model/Secret.cjs +1 -1
  159. package/lib/cjs/secrets/model/Secret.cjs.map +1 -1
  160. package/lib/cjs/secrets/model/index.cjs +1 -1
  161. package/lib/cjs/secrets/model/index.cjs.map +1 -1
  162. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +1 -1
  163. package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -1
  164. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +1 -1
  165. package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -1
  166. package/lib/cjs/secrets/onepassword/index.cjs +1 -1
  167. package/lib/cjs/secrets/onepassword/index.cjs.map +1 -1
  168. package/lib/cjs/secrets/vault/VaultSecretService.cjs +1 -1
  169. package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -1
  170. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +1 -1
  171. package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -1
  172. package/lib/cjs/secrets/vault/index.cjs +1 -1
  173. package/lib/cjs/secrets/vault/index.cjs.map +1 -1
  174. package/lib/cjs/utils.cjs +1 -1
  175. package/lib/cjs/utils.cjs.map +1 -1
  176. package/lib/esm/blob/azure/AzureBlobStoreService.js +288 -0
  177. package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
  178. package/lib/esm/blob/azure/index.js +7 -0
  179. package/lib/esm/blob/azure/index.js.map +1 -0
  180. package/lib/esm/blob/core/BlobErrors.js +61 -0
  181. package/lib/esm/blob/core/BlobErrors.js.map +1 -0
  182. package/lib/esm/blob/core/BlobKey.js +32 -0
  183. package/lib/esm/blob/core/BlobKey.js.map +1 -0
  184. package/lib/esm/blob/core/BlobStoreFactory.js +52 -0
  185. package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
  186. package/lib/esm/blob/core/BlobStoreService.js +37 -0
  187. package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
  188. package/lib/esm/blob/core/BlobTypes.js +2 -0
  189. package/lib/esm/blob/core/BlobTypes.js.map +1 -0
  190. package/lib/esm/blob/core/BlobValue.js +66 -0
  191. package/lib/esm/blob/core/BlobValue.js.map +1 -0
  192. package/lib/esm/blob/core/index.js +12 -0
  193. package/lib/esm/blob/core/index.js.map +1 -0
  194. package/lib/esm/blob/gcp/GcsBlobStoreService.js +267 -0
  195. package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
  196. package/lib/esm/blob/gcp/index.js +7 -0
  197. package/lib/esm/blob/gcp/index.js.map +1 -0
  198. package/lib/esm/blob/index.js +8 -0
  199. package/lib/esm/blob/index.js.map +1 -0
  200. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +177 -0
  201. package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
  202. package/lib/esm/blob/ipfs/IpfsKeyIndex.js +23 -0
  203. package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
  204. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +30 -0
  205. package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
  206. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +40 -0
  207. package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
  208. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +30 -0
  209. package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
  210. package/lib/esm/blob/ipfs/index.js +11 -0
  211. package/lib/esm/blob/ipfs/index.js.map +1 -0
  212. package/lib/esm/blob/local/LocalBlobStoreService.js +283 -0
  213. package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
  214. package/lib/esm/blob/local/index.js +7 -0
  215. package/lib/esm/blob/local/index.js.map +1 -0
  216. package/lib/esm/blob/memory/MemoryBlobStoreService.js +141 -0
  217. package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
  218. package/lib/esm/blob/memory/index.js +7 -0
  219. package/lib/esm/blob/memory/index.js.map +1 -0
  220. package/lib/esm/blob/s3/MinioBlobStoreService.js +9 -0
  221. package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
  222. package/lib/esm/blob/s3/R2BlobStoreService.js +9 -0
  223. package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
  224. package/lib/esm/blob/s3/S3BlobStoreService.js +317 -0
  225. package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
  226. package/lib/esm/blob/s3/index.js +9 -0
  227. package/lib/esm/blob/s3/index.js.map +1 -0
  228. package/lib/esm/docker/DockerComposeService.js +2 -2
  229. package/lib/esm/docker/DockerComposeService.js.map +1 -1
  230. package/lib/esm/index.js +3 -3
  231. package/lib/esm/secrets/model/ModelSecretService.js +1 -1
  232. package/lib/esm/secrets/model/ModelSecretService.js.map +1 -1
  233. package/lib/types/blob/azure/AzureBlobStoreService.d.cts +25 -0
  234. package/lib/types/blob/azure/AzureBlobStoreService.d.mts +25 -0
  235. package/lib/types/blob/azure/index.d.cts +6 -0
  236. package/lib/types/blob/azure/index.d.mts +6 -0
  237. package/lib/types/blob/core/BlobErrors.d.cts +14 -0
  238. package/lib/types/blob/core/BlobErrors.d.mts +14 -0
  239. package/lib/types/blob/core/BlobKey.d.cts +9 -0
  240. package/lib/types/blob/core/BlobKey.d.mts +9 -0
  241. package/lib/types/blob/core/BlobStoreFactory.d.cts +5 -0
  242. package/lib/types/blob/core/BlobStoreFactory.d.mts +5 -0
  243. package/lib/types/blob/core/BlobStoreService.d.cts +28 -0
  244. package/lib/types/blob/core/BlobStoreService.d.mts +28 -0
  245. package/lib/types/blob/core/BlobTypes.d.cts +122 -0
  246. package/lib/types/blob/core/BlobTypes.d.mts +122 -0
  247. package/lib/types/blob/core/BlobValue.d.cts +13 -0
  248. package/lib/types/blob/core/BlobValue.d.mts +13 -0
  249. package/lib/types/blob/core/index.d.cts +11 -0
  250. package/lib/types/blob/core/index.d.mts +11 -0
  251. package/lib/types/blob/gcp/GcsBlobStoreService.d.cts +25 -0
  252. package/lib/types/blob/gcp/GcsBlobStoreService.d.mts +25 -0
  253. package/lib/types/blob/gcp/index.d.cts +6 -0
  254. package/lib/types/blob/gcp/index.d.mts +6 -0
  255. package/lib/types/blob/index.d.cts +7 -0
  256. package/lib/types/blob/index.d.mts +7 -0
  257. package/lib/types/blob/ipfs/IpfsBlobStoreService.d.cts +26 -0
  258. package/lib/types/blob/ipfs/IpfsBlobStoreService.d.mts +26 -0
  259. package/lib/types/blob/ipfs/IpfsKeyIndex.d.cts +9 -0
  260. package/lib/types/blob/ipfs/IpfsKeyIndex.d.mts +9 -0
  261. package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.cts +11 -0
  262. package/lib/types/blob/ipfs/LocalJsonIpfsKeyIndex.d.mts +11 -0
  263. package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.cts +15 -0
  264. package/lib/types/blob/ipfs/MemoryIpfsKeyIndex.d.mts +15 -0
  265. package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.cts +11 -0
  266. package/lib/types/blob/ipfs/PostgresIpfsKeyIndex.d.mts +11 -0
  267. package/lib/types/blob/ipfs/index.d.cts +10 -0
  268. package/lib/types/blob/ipfs/index.d.mts +10 -0
  269. package/lib/types/blob/local/LocalBlobStoreService.d.cts +30 -0
  270. package/lib/types/blob/local/LocalBlobStoreService.d.mts +30 -0
  271. package/lib/types/blob/local/index.d.cts +6 -0
  272. package/lib/types/blob/local/index.d.mts +6 -0
  273. package/lib/types/blob/memory/MemoryBlobStoreService.d.cts +28 -0
  274. package/lib/types/blob/memory/MemoryBlobStoreService.d.mts +28 -0
  275. package/lib/types/blob/memory/index.d.cts +6 -0
  276. package/lib/types/blob/memory/index.d.mts +6 -0
  277. package/lib/types/blob/s3/MinioBlobStoreService.d.cts +8 -0
  278. package/lib/types/blob/s3/MinioBlobStoreService.d.mts +8 -0
  279. package/lib/types/blob/s3/R2BlobStoreService.d.cts +8 -0
  280. package/lib/types/blob/s3/R2BlobStoreService.d.mts +8 -0
  281. package/lib/types/blob/s3/S3BlobStoreService.d.cts +25 -0
  282. package/lib/types/blob/s3/S3BlobStoreService.d.mts +25 -0
  283. package/lib/types/blob/s3/index.d.cts +8 -0
  284. package/lib/types/blob/s3/index.d.mts +8 -0
  285. package/lib/types/docker/DockerComposeService.d.cts +6 -0
  286. package/lib/types/docker/DockerComposeService.d.mts +6 -0
  287. package/lib/types/index.d.cts +2 -2
  288. package/lib/types/index.d.mts +2 -2
  289. package/package.json +92 -7
@@ -0,0 +1,288 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalBlobStoreService = void 0;
4
+ /**
5
+ * @module integrations/blob/local/service
6
+ * @summary Local filesystem blob store service.
7
+ * @description Filesystem-backed blob store wrapping node:fs with atomic writes and path-traversal protection.
8
+ */
9
+ const core_1 = require("@decaf-ts/core");
10
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
11
+ const common_1 = require("@decaf-ts/crypto/common");
12
+ const fs_1 = require("fs");
13
+ const path_1 = require("path");
14
+ const BlobStoreService_js_1 = require("./../core/BlobStoreService.cjs");
15
+ class LocalBlobStoreService extends BlobStoreService_js_1.BlobStoreService {
16
+ async initialize(...args) {
17
+ const config = this.getConfigFromArgs(...args);
18
+ if (!config.rootPath) {
19
+ throw new db_decorators_1.InternalError("LocalBlobStoreService requires a rootPath");
20
+ }
21
+ await fs_1.promises.mkdir(config.rootPath, { recursive: true });
22
+ this._config = config;
23
+ this._client = { root: (0, path_1.resolve)(config.rootPath) };
24
+ return { config, client: this._client };
25
+ }
26
+ async put(key, value, options = {}, ...args) {
27
+ const { log } = (await this.logCtx(args, "put", true)).for(this.put);
28
+ log.verbose(`Putting blob ${key}`);
29
+ const targetPath = this.safePath(key);
30
+ if (options.ifNotExists) {
31
+ try {
32
+ await fs_1.promises.stat(targetPath);
33
+ throw new db_decorators_1.ConflictError(`Blob already exists: ${key}`);
34
+ }
35
+ catch (e) {
36
+ if (e.code !== "ENOENT")
37
+ throw e;
38
+ }
39
+ }
40
+ await fs_1.promises.mkdir((0, path_1.dirname)(targetPath), { recursive: true });
41
+ const buffer = await collectToBufferLocal(value);
42
+ const crypto = (await (0, common_1.getCrypto)());
43
+ const sha256 = crypto.createHash("sha256").update(buffer).digest("hex");
44
+ if (options.expectedSha256 && options.expectedSha256 !== sha256) {
45
+ throw new db_decorators_1.ValidationError(`Checksum mismatch for ${key}`);
46
+ }
47
+ await this.atomicWrite(targetPath, buffer);
48
+ const metadata = {
49
+ contentType: options.contentType,
50
+ contentLength: buffer.length,
51
+ sha256,
52
+ custom: options.metadata,
53
+ };
54
+ return {
55
+ key,
56
+ uri: this.uri(key, "file"),
57
+ provider: this.provider,
58
+ sourceId: this.sourceId,
59
+ metadata,
60
+ };
61
+ }
62
+ async get(key, options = {}, ...args) {
63
+ const { log } = (await this.logCtx(args, "get", true)).for(this.get);
64
+ log.verbose(`Getting blob ${key}`);
65
+ const targetPath = this.safePath(key);
66
+ const stat = await this.safeStat(targetPath);
67
+ if (!stat) {
68
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${key}`);
69
+ }
70
+ const stream = (0, fs_1.createReadStream)(targetPath, {
71
+ start: options.range?.start,
72
+ end: options.range?.end,
73
+ });
74
+ const metadata = {
75
+ contentLength: stat.size,
76
+ };
77
+ return {
78
+ key,
79
+ value: streamToAsyncIterable(stream),
80
+ uri: this.uri(key, "file"),
81
+ provider: this.provider,
82
+ sourceId: this.sourceId,
83
+ metadata,
84
+ };
85
+ }
86
+ async has(key, ...args) {
87
+ const { log } = (await this.logCtx(args, "has", true)).for(this.has);
88
+ log.verbose(`Checking blob ${key}`);
89
+ const targetPath = this.safePath(key);
90
+ return Boolean(await this.safeStat(targetPath));
91
+ }
92
+ async stat(key, ...args) {
93
+ const { log } = (await this.logCtx(args, "stat", true)).for(this.stat);
94
+ log.verbose(`Statting blob ${key}`);
95
+ const targetPath = this.safePath(key);
96
+ const stat = await this.safeStat(targetPath);
97
+ if (!stat) {
98
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${key}`);
99
+ }
100
+ return { contentLength: stat.size };
101
+ }
102
+ async delete(key, ...args) {
103
+ const { log } = (await this.logCtx(args, "delete", true)).for(this.delete);
104
+ log.verbose(`Deleting blob ${key}`);
105
+ const targetPath = this.safePath(key);
106
+ try {
107
+ await fs_1.promises.unlink(targetPath);
108
+ }
109
+ catch (e) {
110
+ if (e.code !== "ENOENT")
111
+ throw e;
112
+ }
113
+ }
114
+ async copy(fromKey, toKey, options = {}, ...args) {
115
+ const { log } = (await this.logCtx(args, "copy", true)).for(this.copy);
116
+ log.verbose(`Copying blob ${fromKey} to ${toKey}`);
117
+ const fromPath = this.safePath(fromKey);
118
+ const fromStat = await this.safeStat(fromPath);
119
+ if (!fromStat) {
120
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${fromKey}`);
121
+ }
122
+ const buffer = await fs_1.promises.readFile(fromPath);
123
+ return this.put(toKey, buffer, options);
124
+ }
125
+ async list(options = {}, ...args) {
126
+ const { log } = (await this.logCtx(args, "list", true)).for(this.list);
127
+ log.verbose("Listing blobs");
128
+ const prefix = options.prefix ? this.physicalKey(options.prefix) : "";
129
+ const root = this.client.root;
130
+ const baseDir = prefix ? (0, path_1.join)(root, prefix) : root;
131
+ const allFiles = [];
132
+ await walkDir(baseDir, allFiles);
133
+ const keys = allFiles
134
+ .map((f) => {
135
+ const rel = (0, path_1.relative)(root, f).split(path_1.sep).join("/");
136
+ return prefix ? rel : rel;
137
+ })
138
+ .filter((k) => (prefix ? k.startsWith(prefix) : true))
139
+ .sort();
140
+ const limit = options.limit ?? 1000;
141
+ const startIndex = options.cursor ? Number(options.cursor) : 0;
142
+ const slice = keys.slice(startIndex, startIndex + limit);
143
+ const nextCursor = startIndex + limit < keys.length
144
+ ? String(startIndex + limit)
145
+ : undefined;
146
+ return {
147
+ items: slice.map((k) => ({ key: k })),
148
+ cursor: nextCursor,
149
+ };
150
+ }
151
+ async url(key, options = {}, ...args) {
152
+ const { log } = (await this.logCtx(args, "url", true)).for(this.url);
153
+ log.verbose(`Building url for blob ${key}`);
154
+ if (options.operation && options.operation !== "get") {
155
+ throw new core_1.UnsupportedError("Local blob store does not support PUT urls");
156
+ }
157
+ return {
158
+ url: this.uri(key, "file"),
159
+ method: "GET",
160
+ expiresAt: new Date(Date.now() + (options.expiresInSeconds ?? 300) * 1000),
161
+ };
162
+ }
163
+ parseError(error) {
164
+ const err = error;
165
+ if (err instanceof db_decorators_1.NotFoundError ||
166
+ err instanceof db_decorators_1.ConflictError ||
167
+ err instanceof db_decorators_1.ValidationError ||
168
+ err instanceof db_decorators_1.InternalError) {
169
+ return err;
170
+ }
171
+ const message = err.message || "Unknown error";
172
+ const lower = message.toLowerCase();
173
+ const code = err.code;
174
+ if (code === "ENOENT" || lower.includes("not found")) {
175
+ return new db_decorators_1.NotFoundError(err);
176
+ }
177
+ if (code === "EEXIST" || lower.includes("already exists")) {
178
+ return new db_decorators_1.ConflictError(err);
179
+ }
180
+ if (code === "EACCES" || code === "EPERM" || lower.includes("permission")) {
181
+ return new core_1.ForbiddenError(err);
182
+ }
183
+ if (code === "ENAMETOOLONG" || lower.includes("invalid")) {
184
+ return new db_decorators_1.ValidationError(err);
185
+ }
186
+ return new db_decorators_1.InternalError(err);
187
+ }
188
+ safePath(key) {
189
+ const physical = this.physicalKey(key);
190
+ const root = this.client.root;
191
+ const target = (0, path_1.resolve)(root, physical);
192
+ const rel = (0, path_1.relative)(root, target);
193
+ if (rel.startsWith("..") || rel === "" || rel === "." || rel.startsWith(`..${path_1.sep}`)) {
194
+ throw new db_decorators_1.ValidationError(`Blob key escapes root path: ${key}`);
195
+ }
196
+ return target;
197
+ }
198
+ async safeStat(path) {
199
+ try {
200
+ const stat = await fs_1.promises.stat(path);
201
+ if (stat.isFile())
202
+ return { size: stat.size };
203
+ return undefined;
204
+ }
205
+ catch (e) {
206
+ if (e.code === "ENOENT")
207
+ return undefined;
208
+ throw e;
209
+ }
210
+ }
211
+ async atomicWrite(targetPath, buffer) {
212
+ const crypto = (await (0, common_1.getCrypto)());
213
+ const tmpPath = `${targetPath}.${crypto.randomBytes(6).toString("hex")}.tmp`;
214
+ const stream = (0, fs_1.createWriteStream)(tmpPath);
215
+ await new Promise((resolve, reject) => {
216
+ stream.on("error", reject);
217
+ stream.on("finish", () => resolve());
218
+ stream.end(buffer);
219
+ });
220
+ try {
221
+ await fs_1.promises.rename(tmpPath, targetPath);
222
+ }
223
+ catch (e) {
224
+ try {
225
+ await fs_1.promises.unlink(tmpPath);
226
+ }
227
+ catch {
228
+ /* ignore */
229
+ }
230
+ throw e;
231
+ }
232
+ }
233
+ }
234
+ exports.LocalBlobStoreService = LocalBlobStoreService;
235
+ async function collectToBufferLocal(value) {
236
+ if (value instanceof Uint8Array)
237
+ return Buffer.from(value);
238
+ if (value instanceof Buffer)
239
+ return value;
240
+ if (typeof value?.[Symbol.asyncIterator] === "function") {
241
+ const chunks = [];
242
+ for await (const chunk of value) {
243
+ chunks.push(Buffer.from(chunk));
244
+ }
245
+ return Buffer.concat(chunks);
246
+ }
247
+ if (typeof value?.getReader === "function") {
248
+ const reader = value.getReader();
249
+ const chunks = [];
250
+ let result = await reader.read();
251
+ while (!result.done) {
252
+ chunks.push(Buffer.from(result.value));
253
+ result = await reader.read();
254
+ }
255
+ return Buffer.concat(chunks);
256
+ }
257
+ throw new db_decorators_1.ValidationError(`Unsupported blob value type: ${typeof value}`);
258
+ }
259
+ async function* streamToAsyncIterable(stream) {
260
+ for await (const chunk of stream) {
261
+ yield chunk;
262
+ }
263
+ }
264
+ async function walkDir(dir, acc) {
265
+ let entries;
266
+ try {
267
+ entries = await fs_1.promises.readdir(dir);
268
+ }
269
+ catch (e) {
270
+ if (e.code === "ENOENT")
271
+ return;
272
+ throw e;
273
+ }
274
+ for (const entry of entries) {
275
+ if (entry.endsWith(".tmp"))
276
+ continue;
277
+ const full = (0, path_1.join)(dir, entry);
278
+ const stat = await fs_1.promises.stat(full);
279
+ if (stat.isDirectory()) {
280
+ await walkDir(full, acc);
281
+ }
282
+ else {
283
+ acc.push(full);
284
+ }
285
+ }
286
+ }
287
+ //# sourceMappingURL=LocalBlobStoreService.js.map
288
+ //# sourceMappingURL=LocalBlobStoreService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/local/LocalBlobStoreService.cjs","sourceRoot":"","sources":["blob/local/LocalBlobStoreService.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @module integrations/blob/local
19
+ * @summary Local filesystem blob store exports.
20
+ * @description Re-exports the local filesystem blob store service.
21
+ */
22
+ __exportStar(require("./LocalBlobStoreService.cjs"), exports);
23
+ //# sourceMappingURL=index.js.map
24
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/local/index.cjs","sourceRoot":"","sources":["blob/local/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,6DAA2C;AAC3C,iCAAiC"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryBlobStoreService = void 0;
4
+ /**
5
+ * @module integrations/blob/memory/service
6
+ * @summary In-memory blob store service.
7
+ * @description Process-local Map-backed blob store for tests and examples. No SDK dependency.
8
+ */
9
+ const core_1 = require("@decaf-ts/core");
10
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
11
+ const BlobValue_js_1 = require("./../core/BlobValue.cjs");
12
+ const BlobStoreService_js_1 = require("./../core/BlobStoreService.cjs");
13
+ class MemoryBlobStoreService extends BlobStoreService_js_1.BlobStoreService {
14
+ async initialize(...args) {
15
+ const config = this.getConfigFromArgs(...args);
16
+ this._config = config;
17
+ this._client = new Map();
18
+ return { config, client: this._client };
19
+ }
20
+ async put(key, value, options = {}, ...args) {
21
+ const { log } = (await this.logCtx(args, "put", true)).for(this.put);
22
+ log.verbose(`Putting blob ${key}`);
23
+ const physicalKey = this.physicalKey(key);
24
+ if (options.ifNotExists && this.client.has(physicalKey)) {
25
+ throw new db_decorators_1.ConflictError(`Blob already exists: ${key}`);
26
+ }
27
+ const buffer = await (0, BlobValue_js_1.collectToBuffer)(value);
28
+ const sha256 = await (0, BlobValue_js_1.computeSha256)(buffer);
29
+ if (options.expectedSha256 && options.expectedSha256 !== sha256) {
30
+ throw new db_decorators_1.ValidationError(`Checksum mismatch for ${key}`);
31
+ }
32
+ const metadata = {
33
+ contentType: options.contentType,
34
+ contentLength: buffer.length,
35
+ sha256,
36
+ custom: options.metadata,
37
+ };
38
+ this.client.set(physicalKey, { value: buffer, metadata });
39
+ return {
40
+ key,
41
+ uri: this.uri(key, "memory"),
42
+ provider: this.provider,
43
+ sourceId: this.sourceId,
44
+ metadata,
45
+ };
46
+ }
47
+ async get(key, options = {}, ...args) {
48
+ const { log } = (await this.logCtx(args, "get", true)).for(this.get);
49
+ log.verbose(`Getting blob ${key}`);
50
+ const physicalKey = this.physicalKey(key);
51
+ const entry = this.client.get(physicalKey);
52
+ if (!entry) {
53
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${key}`);
54
+ }
55
+ let value = entry.value;
56
+ if (options.range) {
57
+ const start = options.range.start;
58
+ const end = options.range.end ?? entry.value.length;
59
+ value = entry.value.subarray(start, end);
60
+ }
61
+ return {
62
+ key,
63
+ value: (0, BlobValue_js_1.toAsyncIterable)(value),
64
+ uri: this.uri(key, "memory"),
65
+ provider: this.provider,
66
+ sourceId: this.sourceId,
67
+ metadata: entry.metadata,
68
+ };
69
+ }
70
+ async has(key, ...args) {
71
+ const { log } = (await this.logCtx(args, "has", true)).for(this.has);
72
+ log.verbose(`Checking blob ${key}`);
73
+ return this.client.has(this.physicalKey(key));
74
+ }
75
+ async stat(key, ...args) {
76
+ const { log } = (await this.logCtx(args, "stat", true)).for(this.stat);
77
+ log.verbose(`Statting blob ${key}`);
78
+ const entry = this.client.get(this.physicalKey(key));
79
+ if (!entry) {
80
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${key}`);
81
+ }
82
+ return entry.metadata;
83
+ }
84
+ async delete(key, ...args) {
85
+ const { log } = (await this.logCtx(args, "delete", true)).for(this.delete);
86
+ log.verbose(`Deleting blob ${key}`);
87
+ this.client.delete(this.physicalKey(key));
88
+ }
89
+ async copy(fromKey, toKey, options = {}, ...args) {
90
+ const { log } = (await this.logCtx(args, "copy", true)).for(this.copy);
91
+ log.verbose(`Copying blob ${fromKey} to ${toKey}`);
92
+ const source = this.client.get(this.physicalKey(fromKey));
93
+ if (!source) {
94
+ throw new db_decorators_1.NotFoundError(`Blob not found: ${fromKey}`);
95
+ }
96
+ return this.put(toKey, source.value, {
97
+ ...options,
98
+ contentType: options.contentType ?? source.metadata.contentType,
99
+ });
100
+ }
101
+ async list(options = {}, ...args) {
102
+ const { log } = (await this.logCtx(args, "list", true)).for(this.list);
103
+ log.verbose("Listing blobs");
104
+ const prefix = options.prefix ? this.physicalKey(options.prefix) : "";
105
+ const allKeys = Array.from(this.client.keys())
106
+ .filter((k) => (prefix ? k.startsWith(prefix) : true))
107
+ .sort();
108
+ const limit = options.limit ?? 1000;
109
+ const startIndex = options.cursor ? Number(options.cursor) : 0;
110
+ const slice = allKeys.slice(startIndex, startIndex + limit);
111
+ const nextCursor = startIndex + limit < allKeys.length
112
+ ? String(startIndex + limit)
113
+ : undefined;
114
+ return {
115
+ items: slice.map((k) => ({
116
+ key: k,
117
+ metadata: this.client.get(k)?.metadata,
118
+ })),
119
+ cursor: nextCursor,
120
+ };
121
+ }
122
+ async url(key, options = {}, ...args) {
123
+ const { log } = (await this.logCtx(args, "url", true)).for(this.url);
124
+ log.verbose(`Building url for blob ${key}`);
125
+ if (options.operation && options.operation !== "get") {
126
+ throw new core_1.UnsupportedError("Memory blob store does not support PUT urls");
127
+ }
128
+ return {
129
+ url: this.uri(key, "memory"),
130
+ method: "GET",
131
+ expiresAt: new Date(Date.now() + (options.expiresInSeconds ?? 300) * 1000),
132
+ };
133
+ }
134
+ parseError(error) {
135
+ if (error instanceof db_decorators_1.NotFoundError ||
136
+ error instanceof db_decorators_1.ConflictError ||
137
+ error instanceof db_decorators_1.ValidationError ||
138
+ error instanceof db_decorators_1.InternalError) {
139
+ return error;
140
+ }
141
+ return new db_decorators_1.InternalError(`Memory blob error: ${error.message}`);
142
+ }
143
+ }
144
+ exports.MemoryBlobStoreService = MemoryBlobStoreService;
145
+ //# sourceMappingURL=MemoryBlobStoreService.js.map
146
+ //# sourceMappingURL=MemoryBlobStoreService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/memory/MemoryBlobStoreService.cjs","sourceRoot":"","sources":["blob/memory/MemoryBlobStoreService.js"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,yCAAkD;AAClD,2DAAwG;AACxG,yDAAyF;AACzF,uEAAiE;AACjE,MAAa,sBAAuB,SAAQ,sCAAgB;IACxD,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QACvC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,6BAAa,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAe,EAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAa,EAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,IAAI,+BAAe,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,QAAQ,GAAG;YACb,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,MAAM;YAC5B,MAAM;YACN,MAAM,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC1D,OAAO;YACH,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ;SACX,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACxB,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YAClC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;YACH,GAAG;YACH,KAAK,EAAE,IAAA,8BAAe,EAAC,KAAK,CAAC;YAC7B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SAC3B,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,6BAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI;QACrB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,gBAAgB,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,6BAAa,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;YACjC,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW;SAClE,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACrD,IAAI,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM;YAClD,CAAC,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;YAC5B,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrB,GAAG,EAAE,CAAC;gBACN,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ;aACzC,CAAC,CAAC;YACH,MAAM,EAAE,UAAU;SACrB,CAAC;IACN,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,IAAI;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnD,MAAM,IAAI,uBAAgB,CAAC,6CAA6C,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SAC7E,CAAC;IACN,CAAC;IACD,UAAU,CAAC,KAAK;QACZ,IAAI,KAAK,YAAY,6BAAa;YAC9B,KAAK,YAAY,6BAAa;YAC9B,KAAK,YAAY,+BAAe;YAChC,KAAK,YAAY,6BAAa,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,6BAAa,CAAC,sBAAsB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;CACJ;AAlID,wDAkIC;AACD,kDAAkD"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ /**
18
+ * @module integrations/blob/memory
19
+ * @summary In-memory blob store exports.
20
+ * @description Re-exports the in-memory blob store service.
21
+ */
22
+ __exportStar(require("./MemoryBlobStoreService.cjs"), exports);
23
+ //# sourceMappingURL=index.js.map
24
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/memory/index.cjs","sourceRoot":"","sources":["blob/memory/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,8DAA4C;AAC5C,iCAAiC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MinioBlobStoreService = void 0;
4
+ /**
5
+ * @module integrations/blob/s3/minio
6
+ * @summary MinIO blob store service.
7
+ * @description S3-compatible blob store for MinIO. Extends S3BlobStoreService.
8
+ */
9
+ const S3BlobStoreService_js_1 = require("./S3BlobStoreService.cjs");
10
+ class MinioBlobStoreService extends S3BlobStoreService_js_1.S3BlobStoreService {
11
+ }
12
+ exports.MinioBlobStoreService = MinioBlobStoreService;
13
+ //# sourceMappingURL=MinioBlobStoreService.js.map
14
+ //# sourceMappingURL=MinioBlobStoreService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/s3/MinioBlobStoreService.cjs","sourceRoot":"","sources":["blob/s3/MinioBlobStoreService.js"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,mEAA6D;AAC7D,MAAa,qBAAsB,SAAQ,0CAAkB;CAC5D;AADD,sDACC;AACD,iDAAiD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.R2BlobStoreService = void 0;
4
+ /**
5
+ * @module integrations/blob/s3/r2
6
+ * @summary Cloudflare R2 blob store service.
7
+ * @description S3-compatible blob store for Cloudflare R2. Extends S3BlobStoreService.
8
+ */
9
+ const S3BlobStoreService_js_1 = require("./S3BlobStoreService.cjs");
10
+ class R2BlobStoreService extends S3BlobStoreService_js_1.S3BlobStoreService {
11
+ }
12
+ exports.R2BlobStoreService = R2BlobStoreService;
13
+ //# sourceMappingURL=R2BlobStoreService.js.map
14
+ //# sourceMappingURL=R2BlobStoreService.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blob/s3/R2BlobStoreService.cjs","sourceRoot":"","sources":["blob/s3/R2BlobStoreService.js"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,mEAA6D;AAC7D,MAAa,kBAAmB,SAAQ,0CAAkB;CACzD;AADD,gDACC;AACD,8CAA8C"}