@opendatalabs/vana-sdk 0.1.0-alpha.f54fafd → 0.1.0-alpha.fd33fc9

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 (817) hide show
  1. package/README.md +13 -4
  2. package/dist/__tests__/waitForTransactionEvents.test.d.ts +1 -0
  3. package/dist/browser.cjs +29 -0
  4. package/dist/browser.cjs.map +1 -0
  5. package/dist/browser.d.ts +4 -1
  6. package/dist/browser.js +1 -305
  7. package/dist/browser.js.map +1 -1
  8. package/dist/{chains.browser.cjs → chains/definitions.cjs} +16 -17
  9. package/dist/chains/definitions.cjs.map +1 -0
  10. package/dist/{chains.browser.d.cts → chains/definitions.d.ts} +9 -11
  11. package/dist/chains/definitions.js +67 -0
  12. package/dist/chains/definitions.js.map +1 -0
  13. package/dist/chains/index.cjs +37 -0
  14. package/dist/chains/index.cjs.map +1 -0
  15. package/dist/chains/index.d.ts +5 -0
  16. package/dist/chains/index.js +15 -0
  17. package/dist/chains/index.js.map +1 -0
  18. package/dist/chains.browser.d.ts +5 -50
  19. package/dist/chains.browser.js +7 -57
  20. package/dist/chains.browser.js.map +1 -1
  21. package/dist/chains.cjs +6 -65
  22. package/dist/chains.cjs.map +1 -1
  23. package/dist/chains.d.ts +8 -2
  24. package/dist/chains.js +7 -57
  25. package/dist/chains.js.map +1 -1
  26. package/dist/chains.node.cjs +6 -65
  27. package/dist/chains.node.cjs.map +1 -1
  28. package/dist/chains.node.d.ts +8 -2
  29. package/dist/chains.node.js +7 -57
  30. package/dist/chains.node.js.map +1 -1
  31. package/dist/config/addresses.cjs +325 -0
  32. package/dist/config/addresses.cjs.map +1 -0
  33. package/dist/config/addresses.d.ts +364 -0
  34. package/dist/config/addresses.js +295 -0
  35. package/dist/config/addresses.js.map +1 -0
  36. package/dist/config/chains.cjs +93 -0
  37. package/dist/config/chains.cjs.map +1 -0
  38. package/dist/config/chains.d.ts +81 -0
  39. package/dist/config/chains.js +67 -0
  40. package/dist/config/chains.js.map +1 -0
  41. package/dist/config/default-services.cjs +60 -0
  42. package/dist/config/default-services.cjs.map +1 -0
  43. package/dist/config/default-services.d.ts +46 -0
  44. package/dist/config/default-services.js +33 -0
  45. package/dist/config/default-services.js.map +1 -0
  46. package/dist/config/default-services.test.d.ts +1 -0
  47. package/dist/config/features.cjs +52 -0
  48. package/dist/config/features.cjs.map +1 -0
  49. package/dist/config/features.d.ts +62 -0
  50. package/dist/config/features.js +28 -0
  51. package/dist/config/features.js.map +1 -0
  52. package/dist/config/tests/addresses.test.d.ts +1 -0
  53. package/dist/contracts/contractController.cjs +126 -0
  54. package/dist/contracts/contractController.cjs.map +1 -0
  55. package/dist/contracts/contractController.d.ts +79 -0
  56. package/dist/contracts/contractController.js +100 -0
  57. package/dist/contracts/contractController.js.map +1 -0
  58. package/dist/contracts/tests/contractController.test.d.ts +1 -0
  59. package/dist/controllers/__tests__/schemas-edge-cases.test.d.ts +1 -0
  60. package/dist/controllers/base.cjs +83 -0
  61. package/dist/controllers/base.cjs.map +1 -0
  62. package/dist/controllers/base.d.ts +84 -0
  63. package/dist/controllers/base.js +59 -0
  64. package/dist/controllers/base.js.map +1 -0
  65. package/dist/controllers/data-error-handling.test.d.ts +1 -0
  66. package/dist/controllers/data.cjs +2492 -0
  67. package/dist/controllers/data.cjs.map +1 -0
  68. package/dist/controllers/data.d.ts +1014 -0
  69. package/dist/controllers/data.js +2475 -0
  70. package/dist/controllers/data.js.map +1 -0
  71. package/dist/controllers/permissions.cjs +3882 -0
  72. package/dist/controllers/permissions.cjs.map +1 -0
  73. package/dist/controllers/permissions.d.ts +1283 -0
  74. package/dist/controllers/permissions.js +3858 -0
  75. package/dist/controllers/permissions.js.map +1 -0
  76. package/dist/controllers/protocol.cjs +183 -0
  77. package/dist/controllers/protocol.cjs.map +1 -0
  78. package/dist/controllers/protocol.d.ts +139 -0
  79. package/dist/controllers/protocol.js +163 -0
  80. package/dist/controllers/protocol.js.map +1 -0
  81. package/dist/controllers/schemas.cjs +599 -0
  82. package/dist/controllers/schemas.cjs.map +1 -0
  83. package/dist/controllers/schemas.d.ts +245 -0
  84. package/dist/controllers/schemas.js +575 -0
  85. package/dist/controllers/schemas.js.map +1 -0
  86. package/dist/controllers/server-additional.test.d.ts +1 -0
  87. package/dist/controllers/server.cjs +432 -0
  88. package/dist/controllers/server.cjs.map +1 -0
  89. package/dist/controllers/server.d.ts +217 -0
  90. package/dist/controllers/server.js +413 -0
  91. package/dist/controllers/server.js.map +1 -0
  92. package/dist/core/apiClient.cjs +328 -0
  93. package/dist/core/apiClient.cjs.map +1 -0
  94. package/dist/core/apiClient.d.ts +161 -0
  95. package/dist/core/apiClient.js +309 -0
  96. package/dist/core/apiClient.js.map +1 -0
  97. package/dist/core/client.cjs +70 -0
  98. package/dist/core/client.cjs.map +1 -0
  99. package/dist/core/client.d.ts +89 -0
  100. package/dist/core/client.js +47 -0
  101. package/dist/core/client.js.map +1 -0
  102. package/dist/core/core.test.d.ts +1 -0
  103. package/dist/core/generics.cjs +390 -0
  104. package/dist/core/generics.cjs.map +1 -0
  105. package/dist/core/generics.d.ts +116 -0
  106. package/dist/core/generics.js +359 -0
  107. package/dist/core/generics.js.map +1 -0
  108. package/dist/core/tests/apiClient.test.d.ts +1 -0
  109. package/dist/core/tests/client.test.d.ts +1 -0
  110. package/dist/core/tests/generics.test.d.ts +1 -0
  111. package/dist/core.cjs +723 -0
  112. package/dist/core.cjs.map +1 -0
  113. package/dist/core.d.ts +442 -0
  114. package/dist/core.js +698 -0
  115. package/dist/core.js.map +1 -0
  116. package/dist/crypto/ecies/__tests__/base.test.d.ts +4 -0
  117. package/dist/crypto/ecies/__tests__/compatibility.test.d.ts +8 -0
  118. package/dist/crypto/ecies/__tests__/constants.test.d.ts +4 -0
  119. package/dist/crypto/ecies/__tests__/native-parity.test.d.ts +7 -0
  120. package/dist/crypto/ecies/__tests__/normalization.test.d.ts +1 -0
  121. package/dist/crypto/ecies/__tests__/test-vectors.cjs +102 -0
  122. package/dist/crypto/ecies/__tests__/test-vectors.cjs.map +1 -0
  123. package/dist/crypto/ecies/__tests__/test-vectors.d.ts +38 -0
  124. package/dist/crypto/ecies/__tests__/test-vectors.js +77 -0
  125. package/dist/crypto/ecies/__tests__/test-vectors.js.map +1 -0
  126. package/dist/crypto/ecies/base.cjs +232 -0
  127. package/dist/crypto/ecies/base.cjs.map +1 -0
  128. package/dist/crypto/ecies/base.d.ts +140 -0
  129. package/dist/crypto/ecies/base.js +208 -0
  130. package/dist/crypto/ecies/base.js.map +1 -0
  131. package/dist/crypto/ecies/browser.cjs +165 -0
  132. package/dist/crypto/ecies/browser.cjs.map +1 -0
  133. package/dist/crypto/ecies/browser.d.ts +43 -0
  134. package/dist/crypto/ecies/browser.js +131 -0
  135. package/dist/crypto/ecies/browser.js.map +1 -0
  136. package/dist/crypto/ecies/constants.cjs +131 -0
  137. package/dist/crypto/ecies/constants.cjs.map +1 -0
  138. package/dist/crypto/ecies/constants.d.ts +120 -0
  139. package/dist/crypto/ecies/constants.js +101 -0
  140. package/dist/crypto/ecies/constants.js.map +1 -0
  141. package/dist/crypto/ecies/index.cjs +35 -0
  142. package/dist/crypto/ecies/index.cjs.map +1 -0
  143. package/dist/crypto/ecies/index.d.ts +8 -0
  144. package/dist/crypto/ecies/index.js +13 -0
  145. package/dist/crypto/ecies/index.js.map +1 -0
  146. package/dist/crypto/ecies/interface.cjs +87 -0
  147. package/dist/crypto/ecies/interface.cjs.map +1 -0
  148. package/dist/crypto/ecies/interface.d.ts +174 -0
  149. package/dist/crypto/ecies/interface.js +60 -0
  150. package/dist/crypto/ecies/interface.js.map +1 -0
  151. package/dist/crypto/ecies/node.cjs +167 -0
  152. package/dist/crypto/ecies/node.cjs.map +1 -0
  153. package/dist/crypto/ecies/node.d.ts +45 -0
  154. package/dist/crypto/ecies/node.js +139 -0
  155. package/dist/crypto/ecies/node.js.map +1 -0
  156. package/dist/crypto/ecies/test-vectors/eccrypto-vectors.json +72 -0
  157. package/dist/crypto/ecies/utils.cjs +52 -0
  158. package/dist/crypto/ecies/utils.cjs.map +1 -0
  159. package/dist/crypto/ecies/utils.d.ts +30 -0
  160. package/dist/crypto/ecies/utils.js +26 -0
  161. package/dist/crypto/ecies/utils.js.map +1 -0
  162. package/dist/crypto/services/WalletKeyEncryptionService.cjs +128 -0
  163. package/dist/crypto/services/WalletKeyEncryptionService.cjs.map +1 -0
  164. package/dist/crypto/services/WalletKeyEncryptionService.d.ts +88 -0
  165. package/dist/crypto/services/WalletKeyEncryptionService.js +108 -0
  166. package/dist/crypto/services/WalletKeyEncryptionService.js.map +1 -0
  167. package/dist/crypto/services/WalletKeyEncryptionService.test.d.ts +1 -0
  168. package/dist/diagnostics.cjs +37 -0
  169. package/dist/diagnostics.cjs.map +1 -0
  170. package/dist/diagnostics.d.ts +24 -0
  171. package/dist/diagnostics.js +13 -0
  172. package/dist/diagnostics.js.map +1 -0
  173. package/dist/diagnostics.test.d.ts +1 -0
  174. package/dist/errors.cjs +157 -0
  175. package/dist/errors.cjs.map +1 -0
  176. package/dist/errors.d.ts +388 -0
  177. package/dist/errors.js +120 -0
  178. package/dist/errors.js.map +1 -0
  179. package/dist/generated/abi/ComputeEngineImplementation.cjs +1313 -0
  180. package/dist/generated/abi/ComputeEngineImplementation.cjs.map +1 -0
  181. package/dist/generated/abi/ComputeEngineImplementation.d.ts +995 -0
  182. package/dist/generated/abi/ComputeEngineImplementation.js +1289 -0
  183. package/dist/generated/abi/ComputeEngineImplementation.js.map +1 -0
  184. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs +734 -0
  185. package/dist/generated/abi/ComputeInstructionRegistryImplementation.cjs.map +1 -0
  186. package/dist/generated/abi/ComputeInstructionRegistryImplementation.d.ts +544 -0
  187. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js +710 -0
  188. package/dist/generated/abi/ComputeInstructionRegistryImplementation.js.map +1 -0
  189. package/dist/generated/abi/DATFactoryImplementation.cjs +882 -0
  190. package/dist/generated/abi/DATFactoryImplementation.cjs.map +1 -0
  191. package/dist/generated/abi/DATFactoryImplementation.d.ts +660 -0
  192. package/dist/generated/abi/DATFactoryImplementation.js +858 -0
  193. package/dist/generated/abi/DATFactoryImplementation.js.map +1 -0
  194. package/dist/generated/abi/DATImplementation.cjs +934 -0
  195. package/dist/generated/abi/DATImplementation.cjs.map +1 -0
  196. package/dist/generated/abi/DATImplementation.d.ts +692 -0
  197. package/dist/generated/abi/DATImplementation.js +910 -0
  198. package/dist/generated/abi/DATImplementation.js.map +1 -0
  199. package/dist/generated/abi/DATPausableImplementation.cjs +1523 -0
  200. package/dist/generated/abi/DATPausableImplementation.cjs.map +1 -0
  201. package/dist/generated/abi/DATPausableImplementation.d.ts +1144 -0
  202. package/dist/generated/abi/DATPausableImplementation.js +1499 -0
  203. package/dist/generated/abi/DATPausableImplementation.js.map +1 -0
  204. package/dist/generated/abi/DATVotesImplementation.cjs +1460 -0
  205. package/dist/generated/abi/DATVotesImplementation.cjs.map +1 -0
  206. package/dist/generated/abi/DATVotesImplementation.d.ts +1094 -0
  207. package/dist/generated/abi/DATVotesImplementation.js +1436 -0
  208. package/dist/generated/abi/DATVotesImplementation.js.map +1 -0
  209. package/dist/generated/abi/DLPPerformanceImplementation.cjs +1160 -0
  210. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +1 -0
  211. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +882 -0
  212. package/dist/generated/abi/DLPPerformanceImplementation.js +1136 -0
  213. package/dist/generated/abi/DLPPerformanceImplementation.js.map +1 -0
  214. package/dist/generated/abi/DLPRegistryImplementation.cjs +1469 -0
  215. package/dist/generated/abi/DLPRegistryImplementation.cjs.map +1 -0
  216. package/dist/generated/abi/DLPRegistryImplementation.d.ts +1122 -0
  217. package/dist/generated/abi/DLPRegistryImplementation.js +1445 -0
  218. package/dist/generated/abi/DLPRegistryImplementation.js.map +1 -0
  219. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs +612 -0
  220. package/dist/generated/abi/DLPRegistryTreasuryImplementation.cjs.map +1 -0
  221. package/dist/generated/abi/DLPRegistryTreasuryImplementation.d.ts +451 -0
  222. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js +588 -0
  223. package/dist/generated/abi/DLPRegistryTreasuryImplementation.js.map +1 -0
  224. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +948 -0
  225. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +1 -0
  226. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +713 -0
  227. package/dist/generated/abi/DLPRewardDeployerImplementation.js +924 -0
  228. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +1 -0
  229. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +612 -0
  230. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +1 -0
  231. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +451 -0
  232. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +588 -0
  233. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +1 -0
  234. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +939 -0
  235. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +1 -0
  236. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +705 -0
  237. package/dist/generated/abi/DLPRewardSwapImplementation.js +915 -0
  238. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +1 -0
  239. package/dist/generated/abi/DLPRootImplementation.cjs +1644 -0
  240. package/dist/generated/abi/DLPRootImplementation.cjs.map +1 -0
  241. package/dist/generated/abi/DLPRootImplementation.d.ts +1246 -0
  242. package/dist/generated/abi/DLPRootImplementation.js +1620 -0
  243. package/dist/generated/abi/DLPRootImplementation.js.map +1 -0
  244. package/dist/generated/abi/DLPTreasuryImplementation.cjs +612 -0
  245. package/dist/generated/abi/DLPTreasuryImplementation.cjs.map +1 -0
  246. package/dist/generated/abi/DLPTreasuryImplementation.d.ts +451 -0
  247. package/dist/generated/abi/DLPTreasuryImplementation.js +588 -0
  248. package/dist/generated/abi/DLPTreasuryImplementation.js.map +1 -0
  249. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +985 -0
  250. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +1 -0
  251. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +735 -0
  252. package/dist/generated/abi/DataLiquidityPoolImplementation.js +961 -0
  253. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +1 -0
  254. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs +888 -0
  255. package/dist/generated/abi/DataPortabilityGranteesImplementation.cjs.map +1 -0
  256. package/dist/generated/abi/DataPortabilityGranteesImplementation.d.ts +660 -0
  257. package/dist/generated/abi/DataPortabilityGranteesImplementation.js +864 -0
  258. package/dist/generated/abi/DataPortabilityGranteesImplementation.js.map +1 -0
  259. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs +1317 -0
  260. package/dist/generated/abi/DataPortabilityPermissionsImplementation.cjs.map +1 -0
  261. package/dist/generated/abi/DataPortabilityPermissionsImplementation.d.ts +988 -0
  262. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js +1293 -0
  263. package/dist/generated/abi/DataPortabilityPermissionsImplementation.js.map +1 -0
  264. package/dist/generated/abi/DataPortabilityServersImplementation.cjs +1438 -0
  265. package/dist/generated/abi/DataPortabilityServersImplementation.cjs.map +1 -0
  266. package/dist/generated/abi/DataPortabilityServersImplementation.d.ts +1085 -0
  267. package/dist/generated/abi/DataPortabilityServersImplementation.js +1414 -0
  268. package/dist/generated/abi/DataPortabilityServersImplementation.js.map +1 -0
  269. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs +984 -0
  270. package/dist/generated/abi/DataRefinerRegistryImplementation.cjs.map +1 -0
  271. package/dist/generated/abi/DataRefinerRegistryImplementation.d.ts +736 -0
  272. package/dist/generated/abi/DataRefinerRegistryImplementation.js +960 -0
  273. package/dist/generated/abi/DataRefinerRegistryImplementation.js.map +1 -0
  274. package/dist/generated/abi/DataRegistryImplementation.cjs +1341 -0
  275. package/dist/generated/abi/DataRegistryImplementation.cjs.map +1 -0
  276. package/dist/generated/abi/DataRegistryImplementation.d.ts +1013 -0
  277. package/dist/generated/abi/DataRegistryImplementation.js +1317 -0
  278. package/dist/generated/abi/DataRegistryImplementation.js.map +1 -0
  279. package/dist/generated/abi/QueryEngineImplementation.cjs +1319 -0
  280. package/dist/generated/abi/QueryEngineImplementation.cjs.map +1 -0
  281. package/dist/generated/abi/QueryEngineImplementation.d.ts +1000 -0
  282. package/dist/generated/abi/QueryEngineImplementation.js +1295 -0
  283. package/dist/generated/abi/QueryEngineImplementation.js.map +1 -0
  284. package/dist/generated/abi/SwapHelperImplementation.cjs +1019 -0
  285. package/dist/generated/abi/SwapHelperImplementation.cjs.map +1 -0
  286. package/dist/generated/abi/SwapHelperImplementation.d.ts +763 -0
  287. package/dist/generated/abi/SwapHelperImplementation.js +995 -0
  288. package/dist/generated/abi/SwapHelperImplementation.js.map +1 -0
  289. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs +936 -0
  290. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.cjs.map +1 -0
  291. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.d.ts +700 -0
  292. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js +912 -0
  293. package/dist/generated/abi/TeePoolDedicatedGpuImplementation.js.map +1 -0
  294. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs +936 -0
  295. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.cjs.map +1 -0
  296. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.d.ts +700 -0
  297. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js +912 -0
  298. package/dist/generated/abi/TeePoolDedicatedStandardImplementation.js.map +1 -0
  299. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs +936 -0
  300. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.cjs.map +1 -0
  301. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.d.ts +700 -0
  302. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js +912 -0
  303. package/dist/generated/abi/TeePoolEphemeralStandardImplementation.js.map +1 -0
  304. package/dist/generated/abi/TeePoolImplementation.cjs +1313 -0
  305. package/dist/generated/abi/TeePoolImplementation.cjs.map +1 -0
  306. package/dist/generated/abi/TeePoolImplementation.d.ts +992 -0
  307. package/dist/generated/abi/TeePoolImplementation.js +1289 -0
  308. package/dist/generated/abi/TeePoolImplementation.js.map +1 -0
  309. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs +936 -0
  310. package/dist/generated/abi/TeePoolPersistentGpuImplementation.cjs.map +1 -0
  311. package/dist/generated/abi/TeePoolPersistentGpuImplementation.d.ts +700 -0
  312. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js +912 -0
  313. package/dist/generated/abi/TeePoolPersistentGpuImplementation.js.map +1 -0
  314. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs +936 -0
  315. package/dist/generated/abi/TeePoolPersistentStandardImplementation.cjs.map +1 -0
  316. package/dist/generated/abi/TeePoolPersistentStandardImplementation.d.ts +700 -0
  317. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js +912 -0
  318. package/dist/generated/abi/TeePoolPersistentStandardImplementation.js.map +1 -0
  319. package/dist/generated/abi/TeePoolPhalaImplementation.cjs +1313 -0
  320. package/dist/generated/abi/TeePoolPhalaImplementation.cjs.map +1 -0
  321. package/dist/generated/abi/TeePoolPhalaImplementation.d.ts +992 -0
  322. package/dist/generated/abi/TeePoolPhalaImplementation.js +1289 -0
  323. package/dist/generated/abi/TeePoolPhalaImplementation.js.map +1 -0
  324. package/dist/generated/abi/VanaEpochImplementation.cjs +1188 -0
  325. package/dist/generated/abi/VanaEpochImplementation.cjs.map +1 -0
  326. package/dist/generated/abi/VanaEpochImplementation.d.ts +899 -0
  327. package/dist/generated/abi/VanaEpochImplementation.js +1164 -0
  328. package/dist/generated/abi/VanaEpochImplementation.js.map +1 -0
  329. package/dist/generated/abi/VanaPoolEntityImplementation.cjs +1234 -0
  330. package/dist/generated/abi/VanaPoolEntityImplementation.cjs.map +1 -0
  331. package/dist/generated/abi/VanaPoolEntityImplementation.d.ts +933 -0
  332. package/dist/generated/abi/VanaPoolEntityImplementation.js +1210 -0
  333. package/dist/generated/abi/VanaPoolEntityImplementation.js.map +1 -0
  334. package/dist/generated/abi/VanaPoolStakingImplementation.cjs +921 -0
  335. package/dist/generated/abi/VanaPoolStakingImplementation.cjs.map +1 -0
  336. package/dist/generated/abi/VanaPoolStakingImplementation.d.ts +692 -0
  337. package/dist/generated/abi/VanaPoolStakingImplementation.js +897 -0
  338. package/dist/generated/abi/VanaPoolStakingImplementation.js.map +1 -0
  339. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs +538 -0
  340. package/dist/generated/abi/VanaPoolTreasuryImplementation.cjs.map +1 -0
  341. package/dist/generated/abi/VanaPoolTreasuryImplementation.d.ts +393 -0
  342. package/dist/generated/abi/VanaPoolTreasuryImplementation.js +514 -0
  343. package/dist/generated/abi/VanaPoolTreasuryImplementation.js.map +1 -0
  344. package/dist/generated/abi/index.cjs +177 -0
  345. package/dist/generated/abi/index.cjs.map +1 -0
  346. package/dist/{index.node.d.cts → generated/abi/index.d.ts} +26541 -37853
  347. package/dist/generated/abi/index.js +120 -0
  348. package/dist/generated/abi/index.js.map +1 -0
  349. package/dist/generated/event-types.cjs +17 -0
  350. package/dist/generated/event-types.cjs.map +1 -0
  351. package/dist/generated/event-types.d.ts +854 -0
  352. package/dist/generated/event-types.js +1 -0
  353. package/dist/generated/event-types.js.map +1 -0
  354. package/dist/generated/eventRegistry.cjs +3351 -0
  355. package/dist/generated/eventRegistry.cjs.map +1 -0
  356. package/dist/generated/eventRegistry.d.ts +14 -0
  357. package/dist/generated/eventRegistry.js +3326 -0
  358. package/dist/generated/eventRegistry.js.map +1 -0
  359. package/dist/generated/server/server-exports.cjs +23 -0
  360. package/dist/generated/server/server-exports.cjs.map +1 -0
  361. package/dist/generated/server/server-exports.d.ts +19 -0
  362. package/dist/generated/server/server-exports.js +2 -0
  363. package/dist/generated/server/server-exports.js.map +1 -0
  364. package/dist/generated/server/server.cjs +17 -0
  365. package/dist/generated/server/server.cjs.map +1 -0
  366. package/dist/generated/server/server.d.ts +538 -0
  367. package/dist/generated/server/server.js +1 -0
  368. package/dist/generated/server/server.js.map +1 -0
  369. package/dist/generated/subgraph.cjs +675 -0
  370. package/dist/generated/subgraph.cjs.map +1 -0
  371. package/dist/generated/subgraph.d.ts +5978 -0
  372. package/dist/generated/subgraph.js +644 -0
  373. package/dist/generated/subgraph.js.map +1 -0
  374. package/dist/index.browser.d.ts +46 -37588
  375. package/dist/index.browser.js +76 -47362
  376. package/dist/index.browser.js.map +1 -1
  377. package/dist/index.cjs +5 -0
  378. package/dist/index.cjs.map +1 -0
  379. package/dist/index.d.ts +0 -0
  380. package/dist/index.js +4 -0
  381. package/dist/index.js.map +1 -0
  382. package/dist/index.node.cjs +97 -47853
  383. package/dist/index.node.cjs.map +1 -1
  384. package/dist/index.node.d.ts +54 -37731
  385. package/dist/index.node.js +79 -47738
  386. package/dist/index.node.js.map +1 -1
  387. package/dist/node.cjs +2 -321
  388. package/dist/node.cjs.map +1 -1
  389. package/dist/node.d.ts +4 -1
  390. package/dist/node.js +1 -307
  391. package/dist/node.js.map +1 -1
  392. package/dist/platform/browser-only.cjs +37 -0
  393. package/dist/platform/browser-only.cjs.map +1 -0
  394. package/dist/platform/browser-only.d.ts +22 -0
  395. package/dist/platform/browser-only.js +12 -0
  396. package/dist/platform/browser-only.js.map +1 -0
  397. package/dist/platform/browser-only.test.d.ts +1 -0
  398. package/dist/platform/browser-safe.cjs +57 -0
  399. package/dist/platform/browser-safe.cjs.map +1 -0
  400. package/dist/platform/browser-safe.d.ts +29 -0
  401. package/dist/platform/browser-safe.js +31 -0
  402. package/dist/platform/browser-safe.js.map +1 -0
  403. package/dist/platform/browser-safe.test.d.ts +1 -0
  404. package/dist/platform/browser.cjs +330 -0
  405. package/dist/platform/browser.cjs.map +1 -0
  406. package/dist/platform/browser.d.ts +71 -0
  407. package/dist/platform/browser.js +296 -0
  408. package/dist/platform/browser.js.map +1 -0
  409. package/dist/platform/browser.test.d.ts +1 -0
  410. package/dist/platform/index.cjs +50 -0
  411. package/dist/platform/index.cjs.map +1 -0
  412. package/dist/platform/index.d.ts +11 -0
  413. package/dist/platform/index.js +27 -0
  414. package/dist/platform/index.js.map +1 -0
  415. package/dist/platform/interface.cjs +17 -0
  416. package/dist/platform/interface.cjs.map +1 -0
  417. package/dist/{node-D9-F9uEP.d.cts → platform/interface.d.ts} +6 -28
  418. package/dist/platform/interface.js +1 -0
  419. package/dist/platform/interface.js.map +1 -0
  420. package/dist/platform/node.cjs +351 -0
  421. package/dist/platform/node.cjs.map +1 -0
  422. package/dist/platform/node.d.ts +23 -0
  423. package/dist/platform/node.js +320 -0
  424. package/dist/platform/node.js.map +1 -0
  425. package/dist/platform/ports/openpgp-port.cjs +74 -0
  426. package/dist/platform/ports/openpgp-port.cjs.map +1 -0
  427. package/dist/platform/ports/openpgp-port.d.ts +13 -0
  428. package/dist/platform/ports/openpgp-port.js +59 -0
  429. package/dist/platform/ports/openpgp-port.js.map +1 -0
  430. package/dist/platform/ports/pgp-port.cjs +17 -0
  431. package/dist/platform/ports/pgp-port.cjs.map +1 -0
  432. package/dist/platform/ports/pgp-port.d.ts +35 -0
  433. package/dist/platform/ports/pgp-port.js +1 -0
  434. package/dist/platform/ports/pgp-port.js.map +1 -0
  435. package/dist/platform/shared/error-utils.cjs +43 -0
  436. package/dist/platform/shared/error-utils.cjs.map +1 -0
  437. package/dist/platform/shared/error-utils.d.ts +23 -0
  438. package/dist/platform/shared/error-utils.js +18 -0
  439. package/dist/platform/shared/error-utils.js.map +1 -0
  440. package/dist/platform/shared/pgp-utils.cjs +55 -0
  441. package/dist/platform/shared/pgp-utils.cjs.map +1 -0
  442. package/dist/platform/shared/pgp-utils.d.ts +59 -0
  443. package/dist/platform/shared/pgp-utils.js +29 -0
  444. package/dist/platform/shared/pgp-utils.js.map +1 -0
  445. package/dist/platform/shared/stream-utils.cjs +49 -0
  446. package/dist/platform/shared/stream-utils.cjs.map +1 -0
  447. package/dist/platform/shared/stream-utils.d.ts +14 -0
  448. package/dist/platform/shared/stream-utils.js +25 -0
  449. package/dist/platform/shared/stream-utils.js.map +1 -0
  450. package/dist/platform/utils.cjs +114 -0
  451. package/dist/platform/utils.cjs.map +1 -0
  452. package/dist/platform/utils.d.ts +49 -0
  453. package/dist/platform/utils.js +76 -0
  454. package/dist/platform/utils.js.map +1 -0
  455. package/dist/platform/utils.test.d.ts +1 -0
  456. package/dist/platform.browser.d.ts +6 -57
  457. package/dist/platform.browser.js +10 -379
  458. package/dist/platform.browser.js.map +1 -1
  459. package/dist/platform.cjs +14 -708
  460. package/dist/platform.cjs.map +1 -1
  461. package/dist/platform.d.ts +11 -2
  462. package/dist/platform.js +14 -694
  463. package/dist/platform.js.map +1 -1
  464. package/dist/platform.node.cjs +14 -708
  465. package/dist/platform.node.cjs.map +1 -1
  466. package/dist/platform.node.d.ts +7 -102
  467. package/dist/platform.node.js +14 -694
  468. package/dist/platform.node.js.map +1 -1
  469. package/dist/schemas/dataSchema.schema.json +53 -0
  470. package/dist/schemas/grantFile.schema.json +43 -0
  471. package/dist/server/relayerHandler.cjs +218 -0
  472. package/dist/server/relayerHandler.cjs.map +1 -0
  473. package/dist/server/relayerHandler.d.ts +36 -0
  474. package/dist/server/relayerHandler.js +194 -0
  475. package/dist/server/relayerHandler.js.map +1 -0
  476. package/dist/storage/index.cjs +44 -0
  477. package/dist/storage/index.cjs.map +1 -0
  478. package/dist/storage/index.d.ts +56 -0
  479. package/dist/storage/index.js +15 -0
  480. package/dist/storage/index.js.map +1 -0
  481. package/dist/storage/manager.cjs +189 -0
  482. package/dist/storage/manager.cjs.map +1 -0
  483. package/dist/storage/manager.d.ts +147 -0
  484. package/dist/storage/manager.js +165 -0
  485. package/dist/storage/manager.js.map +1 -0
  486. package/dist/storage/providers/callback-storage.cjs +177 -0
  487. package/dist/storage/providers/callback-storage.cjs.map +1 -0
  488. package/dist/storage/providers/callback-storage.d.ts +94 -0
  489. package/dist/storage/providers/callback-storage.js +155 -0
  490. package/dist/storage/providers/callback-storage.js.map +1 -0
  491. package/dist/storage/providers/google-drive.cjs +516 -0
  492. package/dist/storage/providers/google-drive.cjs.map +1 -0
  493. package/dist/storage/providers/google-drive.d.ts +152 -0
  494. package/dist/storage/providers/google-drive.js +494 -0
  495. package/dist/storage/providers/google-drive.js.map +1 -0
  496. package/dist/storage/providers/google-drive.test.d.ts +1 -0
  497. package/dist/storage/providers/ipfs.cjs +283 -0
  498. package/dist/storage/providers/ipfs.cjs.map +1 -0
  499. package/dist/storage/providers/ipfs.d.ts +160 -0
  500. package/dist/storage/providers/ipfs.js +261 -0
  501. package/dist/storage/providers/ipfs.js.map +1 -0
  502. package/dist/storage/providers/pinata.cjs +339 -0
  503. package/dist/storage/providers/pinata.cjs.map +1 -0
  504. package/dist/storage/providers/pinata.d.ts +170 -0
  505. package/dist/storage/providers/pinata.js +317 -0
  506. package/dist/storage/providers/pinata.js.map +1 -0
  507. package/dist/storage/tests/callbackStorage.test.d.ts +1 -0
  508. package/dist/storage/tests/googleDriveStorage.test.d.ts +1 -0
  509. package/dist/storage/tests/ipfsStorage.test.d.ts +1 -0
  510. package/dist/storage/tests/pinataStorage.test.d.ts +1 -0
  511. package/dist/storage/tests/storageManager.test.d.ts +1 -0
  512. package/dist/tests/abi.test.d.ts +1 -0
  513. package/dist/tests/chains-definitions.test.d.ts +1 -0
  514. package/dist/tests/core-encryption.test.d.ts +1 -0
  515. package/dist/tests/core-extended.test.d.ts +1 -0
  516. package/dist/tests/core-generics-coverage.test.d.ts +1 -0
  517. package/dist/tests/coverage-boost.test.d.ts +1 -0
  518. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +1 -0
  519. package/dist/tests/data-addfile-permissions-schema.test.d.ts +1 -0
  520. package/dist/tests/data-additional-methods.test.d.ts +1 -0
  521. package/dist/tests/data-controller-edge-cases.test.d.ts +1 -0
  522. package/dist/tests/data-ipfs-gateways.test.d.ts +1 -0
  523. package/dist/tests/data-relayer.test.d.ts +1 -0
  524. package/dist/tests/data-schema-validation.test.d.ts +1 -0
  525. package/dist/tests/data-simple-methods.test.d.ts +1 -0
  526. package/dist/tests/data.test.d.ts +1 -0
  527. package/dist/tests/demo-integration.test.d.ts +1 -0
  528. package/dist/tests/demo-trusted-server-integration.test.d.ts +1 -0
  529. package/dist/tests/download-relayer.test.d.ts +1 -0
  530. package/dist/tests/dual-mode-permissions.test.d.ts +1 -0
  531. package/dist/tests/dual-mode-trusted-servers.test.d.ts +1 -0
  532. package/dist/tests/encryption-correct-implementation.test.d.ts +1 -0
  533. package/dist/tests/encryption-coverage.test.d.ts +1 -0
  534. package/dist/tests/encryption-edge-cases.test.d.ts +1 -0
  535. package/dist/tests/encryption-utils-updated.test.d.ts +1 -0
  536. package/dist/tests/errors-coverage.test.d.ts +1 -0
  537. package/dist/tests/errors.test.d.ts +1 -0
  538. package/dist/tests/factories/mockFactory.d.ts +316 -0
  539. package/dist/tests/fakes/FakeStorageManager.d.ts +200 -0
  540. package/dist/tests/fakes/FakeStorageManager.test.d.ts +1 -0
  541. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +170 -0
  542. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +1 -0
  543. package/dist/tests/fakes/fake-pgp-port.d.ts +13 -0
  544. package/dist/tests/grantValidation-edge-cases.test.d.ts +1 -0
  545. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +1 -0
  546. package/dist/tests/helper-methods.test.d.ts +1 -0
  547. package/dist/tests/helpers/platformTestHelpers.d.ts +106 -0
  548. package/dist/tests/helpers/typedMocks.d.ts +64 -0
  549. package/dist/tests/index-browser.test.d.ts +1 -0
  550. package/dist/tests/index-node.test.d.ts +1 -0
  551. package/dist/tests/index.test.d.ts +1 -0
  552. package/dist/tests/mocks/platformAdapter.d.ts +12 -0
  553. package/dist/tests/new-permissions-methods.test.d.ts +1 -0
  554. package/dist/tests/no-buffer-browser.test.d.ts +1 -0
  555. package/dist/tests/permissions-grantee.test.d.ts +1 -0
  556. package/dist/tests/permissions-revoke-relayer.test.d.ts +1 -0
  557. package/dist/tests/permissions-schema-validation.test.d.ts +1 -0
  558. package/dist/tests/permissions-server-files.test.d.ts +1 -0
  559. package/dist/tests/permissions-trust-servers.test.d.ts +1 -0
  560. package/dist/tests/permissions.test.d.ts +1 -0
  561. package/dist/tests/personal.test.d.ts +1 -0
  562. package/dist/tests/platform-browser.test.d.ts +1 -0
  563. package/dist/tests/platform-crypto-expanded.test.d.ts +1 -0
  564. package/dist/tests/platform-crypto.test.d.ts +1 -0
  565. package/dist/tests/platform-index.test.d.ts +1 -0
  566. package/dist/tests/platform-node.test.d.ts +1 -0
  567. package/dist/tests/platform-shared-utils.test.d.ts +1 -0
  568. package/dist/tests/platform-updated.test.d.ts +1 -0
  569. package/dist/tests/protocol-additional-methods.test.d.ts +1 -0
  570. package/dist/tests/protocol.test.d.ts +1 -0
  571. package/dist/tests/read-only-mode.test.d.ts +1 -0
  572. package/dist/tests/relayer-integration.test.d.ts +1 -0
  573. package/dist/tests/relayer-unified.test.d.ts +1 -0
  574. package/dist/tests/schemas.test.d.ts +1 -0
  575. package/dist/tests/server-relayer-handler.test.d.ts +1 -0
  576. package/dist/tests/setup.d.ts +7 -0
  577. package/dist/tests/signatureFormatter.test.d.ts +1 -0
  578. package/dist/tests/trusted-server-queries.test.d.ts +1 -0
  579. package/dist/tests/typedDataConverter.test.d.ts +1 -0
  580. package/dist/tests/types-contracts.test.d.ts +1 -0
  581. package/dist/tests/types-data.test.d.ts +1 -0
  582. package/dist/tests/types-external-apis.test.d.ts +1 -0
  583. package/dist/tests/types-generics.test.d.ts +1 -0
  584. package/dist/tests/types-permissions.test.d.ts +1 -0
  585. package/dist/tests/types-upload-params.test.d.ts +1 -0
  586. package/dist/tests/types.test.d.ts +1 -0
  587. package/dist/tests/utils-formatters.test.d.ts +1 -0
  588. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +1 -0
  589. package/dist/tests/utils-grantFiles-validation.test.d.ts +1 -0
  590. package/dist/tests/utils-grantFiles.test.d.ts +1 -0
  591. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +1 -0
  592. package/dist/tests/utils-grants.test.d.ts +1 -0
  593. package/dist/tests/utils-ipfs-additional.test.d.ts +1 -0
  594. package/dist/tests/utils-ipfs.test.d.ts +4 -0
  595. package/dist/tests/utils-schemaValidation.test.d.ts +1 -0
  596. package/dist/tests/vana.test.d.ts +1 -0
  597. package/dist/tests/wallet-crypto-compatibility.test.d.ts +1 -0
  598. package/dist/types/blockchain.cjs +17 -0
  599. package/dist/types/blockchain.cjs.map +1 -0
  600. package/dist/types/blockchain.d.ts +57 -0
  601. package/dist/types/blockchain.js +1 -0
  602. package/dist/types/blockchain.js.map +1 -0
  603. package/dist/types/chains-additional.test.d.ts +1 -0
  604. package/dist/types/chains.cjs +36 -0
  605. package/dist/types/chains.cjs.map +1 -0
  606. package/dist/types/chains.d.ts +31 -0
  607. package/dist/types/chains.js +11 -0
  608. package/dist/types/chains.js.map +1 -0
  609. package/dist/types/config.cjs +51 -0
  610. package/dist/types/config.cjs.map +1 -0
  611. package/dist/types/config.d.ts +686 -0
  612. package/dist/types/config.js +23 -0
  613. package/dist/types/config.js.map +1 -0
  614. package/dist/types/contracts.cjs +17 -0
  615. package/dist/types/contracts.cjs.map +1 -0
  616. package/dist/types/contracts.d.ts +65 -0
  617. package/dist/types/contracts.js +1 -0
  618. package/dist/types/contracts.js.map +1 -0
  619. package/dist/types/controller-context.cjs +17 -0
  620. package/dist/types/controller-context.cjs.map +1 -0
  621. package/dist/types/controller-context.d.ts +65 -0
  622. package/dist/types/controller-context.js +1 -0
  623. package/dist/types/controller-context.js.map +1 -0
  624. package/dist/types/data.cjs +17 -0
  625. package/dist/types/data.cjs.map +1 -0
  626. package/dist/types/data.d.ts +762 -0
  627. package/dist/types/data.js +1 -0
  628. package/dist/types/data.js.map +1 -0
  629. package/dist/types/eccrypto-js.d.cjs +2 -0
  630. package/dist/types/eccrypto-js.d.cjs.map +1 -0
  631. package/dist/types/eccrypto-js.d.js +1 -0
  632. package/dist/types/eccrypto-js.d.js.map +1 -0
  633. package/dist/types/external-apis.cjs +61 -0
  634. package/dist/types/external-apis.cjs.map +1 -0
  635. package/dist/types/external-apis.d.ts +184 -0
  636. package/dist/types/external-apis.js +34 -0
  637. package/dist/types/external-apis.js.map +1 -0
  638. package/dist/types/generics.cjs +17 -0
  639. package/dist/types/generics.cjs.map +1 -0
  640. package/dist/types/generics.d.ts +447 -0
  641. package/dist/types/generics.js +1 -0
  642. package/dist/types/generics.js.map +1 -0
  643. package/dist/types/index.cjs +65 -0
  644. package/dist/types/index.cjs.map +1 -0
  645. package/dist/types/index.d.ts +20 -0
  646. package/dist/types/index.js +42 -0
  647. package/dist/types/index.js.map +1 -0
  648. package/dist/types/operations.cjs +65 -0
  649. package/dist/types/operations.cjs.map +1 -0
  650. package/dist/types/operations.d.ts +112 -0
  651. package/dist/types/operations.js +37 -0
  652. package/dist/types/operations.js.map +1 -0
  653. package/dist/types/permissions.cjs +17 -0
  654. package/dist/types/permissions.cjs.map +1 -0
  655. package/dist/types/permissions.d.ts +954 -0
  656. package/dist/types/permissions.js +1 -0
  657. package/dist/types/permissions.js.map +1 -0
  658. package/dist/types/personal.cjs +17 -0
  659. package/dist/types/personal.cjs.map +1 -0
  660. package/dist/types/personal.d.ts +38 -0
  661. package/dist/types/personal.js +1 -0
  662. package/dist/types/personal.js.map +1 -0
  663. package/dist/types/relayer.cjs +17 -0
  664. package/dist/types/relayer.cjs.map +1 -0
  665. package/dist/types/relayer.d.ts +431 -0
  666. package/dist/types/relayer.js +1 -0
  667. package/dist/types/relayer.js.map +1 -0
  668. package/dist/types/storage.cjs +39 -0
  669. package/dist/types/storage.cjs.map +1 -0
  670. package/dist/types/storage.d.ts +129 -0
  671. package/dist/types/storage.js +15 -0
  672. package/dist/types/storage.js.map +1 -0
  673. package/dist/types/transactionResults.cjs +17 -0
  674. package/dist/types/transactionResults.cjs.map +1 -0
  675. package/dist/types/transactionResults.d.ts +193 -0
  676. package/dist/types/transactionResults.js +1 -0
  677. package/dist/types/transactionResults.js.map +1 -0
  678. package/dist/types/utils.cjs +17 -0
  679. package/dist/types/utils.cjs.map +1 -0
  680. package/dist/types/utils.d.ts +816 -0
  681. package/dist/types/utils.js +1 -0
  682. package/dist/types/utils.js.map +1 -0
  683. package/dist/types.cjs +23 -0
  684. package/dist/types.cjs.map +1 -0
  685. package/dist/types.d.ts +30 -0
  686. package/dist/types.js +2 -0
  687. package/dist/types.js.map +1 -0
  688. package/dist/utils/__tests__/parseTransaction.test.d.ts +1 -0
  689. package/dist/utils/__tests__/pojo-serialization.test.d.ts +1 -0
  690. package/dist/utils/__tests__/signatureCache.test.d.ts +1 -0
  691. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +1 -0
  692. package/dist/utils/__tests__/transactionHelpers.test.d.ts +1 -0
  693. package/dist/utils/__tests__/urlResolver.test.d.ts +4 -0
  694. package/dist/utils/blockchain/registry.cjs +81 -0
  695. package/dist/utils/blockchain/registry.cjs.map +1 -0
  696. package/dist/utils/blockchain/registry.d.ts +32 -0
  697. package/dist/utils/blockchain/registry.js +56 -0
  698. package/dist/utils/blockchain/registry.js.map +1 -0
  699. package/dist/utils/blockchain/registry.test.d.ts +1 -0
  700. package/dist/utils/crypto-utils.cjs +108 -0
  701. package/dist/utils/crypto-utils.cjs.map +1 -0
  702. package/dist/utils/crypto-utils.d.ts +100 -0
  703. package/dist/utils/crypto-utils.js +76 -0
  704. package/dist/utils/crypto-utils.js.map +1 -0
  705. package/dist/utils/crypto-utils.test.d.ts +1 -0
  706. package/dist/utils/download.cjs +69 -0
  707. package/dist/utils/download.cjs.map +1 -0
  708. package/dist/utils/download.d.ts +40 -0
  709. package/dist/utils/download.js +45 -0
  710. package/dist/utils/download.js.map +1 -0
  711. package/dist/utils/encoding.cjs +66 -0
  712. package/dist/utils/encoding.cjs.map +1 -0
  713. package/dist/utils/encoding.d.ts +52 -0
  714. package/dist/utils/encoding.js +39 -0
  715. package/dist/utils/encoding.js.map +1 -0
  716. package/dist/utils/encoding.test.d.ts +1 -0
  717. package/dist/utils/encryption.cjs +176 -0
  718. package/dist/utils/encryption.cjs.map +1 -0
  719. package/dist/utils/encryption.d.ts +271 -0
  720. package/dist/utils/encryption.js +142 -0
  721. package/dist/utils/encryption.js.map +1 -0
  722. package/dist/utils/formatters.cjs +55 -0
  723. package/dist/utils/formatters.cjs.map +1 -0
  724. package/dist/utils/formatters.d.ts +118 -0
  725. package/dist/utils/formatters.js +28 -0
  726. package/dist/utils/formatters.js.map +1 -0
  727. package/dist/utils/grantFiles.cjs +178 -0
  728. package/dist/utils/grantFiles.cjs.map +1 -0
  729. package/dist/utils/grantFiles.d.ts +182 -0
  730. package/dist/utils/grantFiles.js +140 -0
  731. package/dist/utils/grantFiles.js.map +1 -0
  732. package/dist/utils/grantValidation.cjs +243 -0
  733. package/dist/utils/grantValidation.cjs.map +1 -0
  734. package/dist/utils/grantValidation.d.ts +147 -0
  735. package/dist/utils/grantValidation.js +201 -0
  736. package/dist/utils/grantValidation.js.map +1 -0
  737. package/dist/utils/grants.cjs +108 -0
  738. package/dist/utils/grants.cjs.map +1 -0
  739. package/dist/utils/grants.d.ts +67 -0
  740. package/dist/utils/grants.js +82 -0
  741. package/dist/utils/grants.js.map +1 -0
  742. package/dist/utils/ipfs.cjs +130 -0
  743. package/dist/utils/ipfs.cjs.map +1 -0
  744. package/dist/utils/ipfs.d.ts +88 -0
  745. package/dist/utils/ipfs.js +99 -0
  746. package/dist/utils/ipfs.js.map +1 -0
  747. package/dist/utils/lazy-import.cjs +38 -0
  748. package/dist/utils/lazy-import.cjs.map +1 -0
  749. package/dist/utils/lazy-import.d.ts +18 -0
  750. package/dist/utils/lazy-import.js +14 -0
  751. package/dist/utils/lazy-import.js.map +1 -0
  752. package/dist/utils/multicall.cjs +233 -0
  753. package/dist/utils/multicall.cjs.map +1 -0
  754. package/dist/utils/multicall.d.ts +126 -0
  755. package/dist/utils/multicall.js +208 -0
  756. package/dist/utils/multicall.js.map +1 -0
  757. package/dist/utils/parseTransactionPojo.cjs +87 -0
  758. package/dist/utils/parseTransactionPojo.cjs.map +1 -0
  759. package/dist/utils/parseTransactionPojo.d.ts +31 -0
  760. package/dist/utils/parseTransactionPojo.js +63 -0
  761. package/dist/utils/parseTransactionPojo.js.map +1 -0
  762. package/dist/utils/schemaValidation.cjs +258 -0
  763. package/dist/utils/schemaValidation.cjs.map +1 -0
  764. package/dist/utils/schemaValidation.d.ts +168 -0
  765. package/dist/utils/schemaValidation.js +219 -0
  766. package/dist/utils/schemaValidation.js.map +1 -0
  767. package/dist/utils/signatureCache.cjs +186 -0
  768. package/dist/utils/signatureCache.cjs.map +1 -0
  769. package/dist/utils/signatureCache.d.ts +131 -0
  770. package/dist/utils/signatureCache.js +161 -0
  771. package/dist/utils/signatureCache.js.map +1 -0
  772. package/dist/utils/signatureFormatter.cjs +42 -0
  773. package/dist/utils/signatureFormatter.cjs.map +1 -0
  774. package/dist/utils/signatureFormatter.d.ts +36 -0
  775. package/dist/utils/signatureFormatter.js +18 -0
  776. package/dist/utils/signatureFormatter.js.map +1 -0
  777. package/dist/utils/tests/multicall.test.d.ts +1 -0
  778. package/dist/utils/transactionHelpers.cjs +54 -0
  779. package/dist/utils/transactionHelpers.cjs.map +1 -0
  780. package/dist/utils/transactionHelpers.d.ts +80 -0
  781. package/dist/utils/transactionHelpers.js +29 -0
  782. package/dist/utils/transactionHelpers.js.map +1 -0
  783. package/dist/utils/typeGuards.cjs +109 -0
  784. package/dist/utils/typeGuards.cjs.map +1 -0
  785. package/dist/utils/typeGuards.d.ts +138 -0
  786. package/dist/utils/typeGuards.js +74 -0
  787. package/dist/utils/typeGuards.js.map +1 -0
  788. package/dist/utils/typedDataConverter.cjs +43 -0
  789. package/dist/utils/typedDataConverter.cjs.map +1 -0
  790. package/dist/utils/typedDataConverter.d.ts +10 -0
  791. package/dist/utils/typedDataConverter.js +19 -0
  792. package/dist/utils/typedDataConverter.js.map +1 -0
  793. package/dist/utils/urlResolver.cjs +55 -0
  794. package/dist/utils/urlResolver.cjs.map +1 -0
  795. package/dist/utils/urlResolver.d.ts +38 -0
  796. package/dist/utils/urlResolver.js +30 -0
  797. package/dist/utils/urlResolver.js.map +1 -0
  798. package/dist/utils/wallet.cjs +63 -0
  799. package/dist/utils/wallet.cjs.map +1 -0
  800. package/dist/utils/wallet.d.ts +32 -0
  801. package/dist/utils/wallet.js +37 -0
  802. package/dist/utils/wallet.js.map +1 -0
  803. package/dist/utils/withEvents.cjs +44 -0
  804. package/dist/utils/withEvents.cjs.map +1 -0
  805. package/dist/utils/withEvents.d.ts +56 -0
  806. package/dist/utils/withEvents.js +18 -0
  807. package/dist/utils/withEvents.js.map +1 -0
  808. package/package.json +61 -29
  809. package/dist/browser-DY8XDblx.d.ts +0 -241
  810. package/dist/chains.browser.cjs.map +0 -1
  811. package/dist/chains.d.cts +0 -2
  812. package/dist/chains.node.d.cts +0 -2
  813. package/dist/index.d.cts +0 -2
  814. package/dist/node-D9-F9uEP.d.ts +0 -238
  815. package/dist/node.d.cts +0 -1
  816. package/dist/platform.d.cts +0 -2
  817. package/dist/platform.node.d.cts +0 -105
@@ -0,0 +1,147 @@
1
+ import type { StorageProvider, StorageUploadResult, StorageFile, StorageListOptions } from "../types/storage";
2
+ /**
3
+ * Manages multiple storage providers with a unified interface for file operations.
4
+ *
5
+ * @remarks
6
+ * The StorageManager provides a consistent API for uploading, downloading, and managing
7
+ * files across different storage backends including IPFS, Pinata, Google Drive, and
8
+ * server-managed storage. It handles provider registration, default provider selection,
9
+ * and automatic fallback scenarios for robust file operations.
10
+ *
11
+ * Used internally by DataController for encrypted file storage, but can also be used
12
+ * directly for custom storage workflows. Each provider implements the `StorageProvider`
13
+ * interface to ensure consistent behavior across different storage backends.
14
+ *
15
+ * The manager supports provider-specific configurations and features while maintaining
16
+ * a uniform API surface for applications.
17
+ * @example
18
+ * ```typescript
19
+ * import { StorageManager, IPFSStorage, PinataStorage } from '@opendatalabs/vana-sdk';
20
+ *
21
+ * const storage = new StorageManager();
22
+ *
23
+ * // Register multiple providers
24
+ * storage.register('ipfs', new IPFSStorage({
25
+ * apiEndpoint: 'https://api.pinata.cloud/pinning/pinFileToIPFS'
26
+ * }), true);
27
+ * storage.register('pinata', new PinataStorage({
28
+ * jwt: 'your-pinata-jwt-token'
29
+ * }));
30
+ *
31
+ * // Upload to default provider
32
+ * const result = await storage.upload(fileBlob, 'myfile.json');
33
+ *
34
+ * // Upload to specific provider
35
+ * const result2 = await storage.upload(fileBlob, 'myfile.json', 'pinata');
36
+ * ```
37
+ * @category Storage
38
+ * @see {@link https://docs.vana.com/developer/vana-sdk-documentation/core-modules/storage-providers | Storage Providers Guide} for configuration details
39
+ */
40
+ export declare class StorageManager {
41
+ private providers;
42
+ private defaultProvider;
43
+ /**
44
+ * Registers a storage provider with the manager.
45
+ *
46
+ * @remarks
47
+ * This method adds a new storage provider to the manager's registry and optionally
48
+ * sets it as the default provider for subsequent operations. If no default provider
49
+ * is currently set, the first registered provider automatically becomes the default.
50
+ * @param name - Unique identifier for the provider
51
+ * @param provider - The storage provider instance implementing the `StorageProvider` interface
52
+ * @param isDefault - Whether this provider should be set as the default (defaults to `false`)
53
+ * @example
54
+ * ```typescript
55
+ * const pinata = new PinataStorage({ jwt: 'your-jwt-token' });
56
+ * storage.register('pinata', pinata, true); // Set as default
57
+ *
58
+ * const ipfs = new IPFSStorage({ apiEndpoint: 'https://...' });
59
+ * storage.register('ipfs', ipfs); // Not default
60
+ * ```
61
+ */
62
+ register(name: string, provider: StorageProvider, isDefault?: boolean): void;
63
+ /**
64
+ * Get a registered storage provider
65
+ *
66
+ * @param name - Provider identifier, uses default if not specified
67
+ * @returns Storage provider instance
68
+ */
69
+ getProvider(name?: string): StorageProvider;
70
+ /**
71
+ * List all registered providers
72
+ *
73
+ * @returns Array of provider names
74
+ */
75
+ listProviders(): string[];
76
+ /**
77
+ * Get the default provider name
78
+ *
79
+ * @returns Default provider name or null
80
+ */
81
+ getDefaultProvider(): string | null;
82
+ /**
83
+ * Set the default provider
84
+ *
85
+ * @param name - Provider identifier
86
+ */
87
+ setDefaultProvider(name: string): void;
88
+ /**
89
+ * Uploads a file using the specified or default storage provider.
90
+ *
91
+ * @remarks
92
+ * This method uploads a file to the specified provider or falls back to the default
93
+ * provider if none is specified. The upload result includes the storage URL, file size,
94
+ * content type, and provider-specific metadata that can be used for subsequent operations.
95
+ * @param file - The file blob to upload
96
+ * @param filename - Optional custom filename (defaults to auto-generated name)
97
+ * @param providerName - Optional provider identifier (uses default if not specified)
98
+ * @returns A Promise that resolves to the storage upload result with URL and metadata
99
+ * @throws {StorageError} When no provider is available or upload fails
100
+ * @example
101
+ * ```typescript
102
+ * // Upload to default provider
103
+ * const result = await storage.upload(fileBlob, 'data.json');
104
+ * console.log(`Uploaded to: ${result.url}`);
105
+ *
106
+ * // Upload to specific provider
107
+ * const result2 = await storage.upload(fileBlob, 'data.json', 'pinata');
108
+ * ```
109
+ */
110
+ upload(file: Blob, filename?: string, providerName?: string): Promise<StorageUploadResult>;
111
+ /**
112
+ * Download a file using the specified or default provider
113
+ *
114
+ * @param url - The storage URL
115
+ * @param providerName - Optional provider to use
116
+ * @returns Promise with file blob
117
+ */
118
+ download(url: string, providerName?: string): Promise<Blob>;
119
+ /**
120
+ * List files using the specified or default provider
121
+ *
122
+ * @param options - Optional filtering and pagination
123
+ * @param providerName - Optional provider to use
124
+ * @returns Promise with file list
125
+ */
126
+ list(options?: StorageListOptions, providerName?: string): Promise<StorageFile[]>;
127
+ /**
128
+ * Delete a file using the specified or default provider
129
+ *
130
+ * @param url - The storage URL
131
+ * @param providerName - Optional provider to use
132
+ * @returns Promise with success status
133
+ */
134
+ delete(url: string, providerName?: string): Promise<boolean>;
135
+ /**
136
+ * Get list of registered storage provider names
137
+ *
138
+ * @returns Array of provider names
139
+ */
140
+ getStorageProviders(): string[];
141
+ /**
142
+ * Get the default storage provider name
143
+ *
144
+ * @returns Default provider name or undefined
145
+ */
146
+ getDefaultStorageProvider(): string | undefined;
147
+ }
@@ -0,0 +1,165 @@
1
+ import { StorageError } from "../types/storage";
2
+ class StorageManager {
3
+ providers = /* @__PURE__ */ new Map();
4
+ defaultProvider = null;
5
+ /**
6
+ * Registers a storage provider with the manager.
7
+ *
8
+ * @remarks
9
+ * This method adds a new storage provider to the manager's registry and optionally
10
+ * sets it as the default provider for subsequent operations. If no default provider
11
+ * is currently set, the first registered provider automatically becomes the default.
12
+ * @param name - Unique identifier for the provider
13
+ * @param provider - The storage provider instance implementing the `StorageProvider` interface
14
+ * @param isDefault - Whether this provider should be set as the default (defaults to `false`)
15
+ * @example
16
+ * ```typescript
17
+ * const pinata = new PinataStorage({ jwt: 'your-jwt-token' });
18
+ * storage.register('pinata', pinata, true); // Set as default
19
+ *
20
+ * const ipfs = new IPFSStorage({ apiEndpoint: 'https://...' });
21
+ * storage.register('ipfs', ipfs); // Not default
22
+ * ```
23
+ */
24
+ register(name, provider, isDefault = false) {
25
+ this.providers.set(name, provider);
26
+ if (isDefault || this.defaultProvider === null) {
27
+ this.defaultProvider = name;
28
+ }
29
+ }
30
+ /**
31
+ * Get a registered storage provider
32
+ *
33
+ * @param name - Provider identifier, uses default if not specified
34
+ * @returns Storage provider instance
35
+ */
36
+ getProvider(name) {
37
+ const providerName = name ?? this.defaultProvider;
38
+ if (!providerName) {
39
+ throw new StorageError(
40
+ "No storage provider specified and no default provider set",
41
+ "NO_PROVIDER",
42
+ "manager"
43
+ );
44
+ }
45
+ const provider = this.providers.get(providerName);
46
+ if (!provider) {
47
+ throw new StorageError(
48
+ `Storage provider '${providerName}' not found`,
49
+ "PROVIDER_NOT_FOUND",
50
+ "manager"
51
+ );
52
+ }
53
+ return provider;
54
+ }
55
+ /**
56
+ * List all registered providers
57
+ *
58
+ * @returns Array of provider names
59
+ */
60
+ listProviders() {
61
+ return Array.from(this.providers.keys());
62
+ }
63
+ /**
64
+ * Get the default provider name
65
+ *
66
+ * @returns Default provider name or null
67
+ */
68
+ getDefaultProvider() {
69
+ return this.defaultProvider;
70
+ }
71
+ /**
72
+ * Set the default provider
73
+ *
74
+ * @param name - Provider identifier
75
+ */
76
+ setDefaultProvider(name) {
77
+ if (!this.providers.has(name)) {
78
+ throw new StorageError(
79
+ `Cannot set default provider '${name}': provider not registered`,
80
+ "PROVIDER_NOT_FOUND",
81
+ "manager"
82
+ );
83
+ }
84
+ this.defaultProvider = name;
85
+ }
86
+ /**
87
+ * Uploads a file using the specified or default storage provider.
88
+ *
89
+ * @remarks
90
+ * This method uploads a file to the specified provider or falls back to the default
91
+ * provider if none is specified. The upload result includes the storage URL, file size,
92
+ * content type, and provider-specific metadata that can be used for subsequent operations.
93
+ * @param file - The file blob to upload
94
+ * @param filename - Optional custom filename (defaults to auto-generated name)
95
+ * @param providerName - Optional provider identifier (uses default if not specified)
96
+ * @returns A Promise that resolves to the storage upload result with URL and metadata
97
+ * @throws {StorageError} When no provider is available or upload fails
98
+ * @example
99
+ * ```typescript
100
+ * // Upload to default provider
101
+ * const result = await storage.upload(fileBlob, 'data.json');
102
+ * console.log(`Uploaded to: ${result.url}`);
103
+ *
104
+ * // Upload to specific provider
105
+ * const result2 = await storage.upload(fileBlob, 'data.json', 'pinata');
106
+ * ```
107
+ */
108
+ async upload(file, filename, providerName) {
109
+ const provider = this.getProvider(providerName);
110
+ return provider.upload(file, filename);
111
+ }
112
+ /**
113
+ * Download a file using the specified or default provider
114
+ *
115
+ * @param url - The storage URL
116
+ * @param providerName - Optional provider to use
117
+ * @returns Promise with file blob
118
+ */
119
+ async download(url, providerName) {
120
+ const provider = this.getProvider(providerName);
121
+ return provider.download(url);
122
+ }
123
+ /**
124
+ * List files using the specified or default provider
125
+ *
126
+ * @param options - Optional filtering and pagination
127
+ * @param providerName - Optional provider to use
128
+ * @returns Promise with file list
129
+ */
130
+ async list(options, providerName) {
131
+ const provider = this.getProvider(providerName);
132
+ return provider.list(options);
133
+ }
134
+ /**
135
+ * Delete a file using the specified or default provider
136
+ *
137
+ * @param url - The storage URL
138
+ * @param providerName - Optional provider to use
139
+ * @returns Promise with success status
140
+ */
141
+ async delete(url, providerName) {
142
+ const provider = this.getProvider(providerName);
143
+ return provider.delete(url);
144
+ }
145
+ /**
146
+ * Get list of registered storage provider names
147
+ *
148
+ * @returns Array of provider names
149
+ */
150
+ getStorageProviders() {
151
+ return Array.from(this.providers.keys());
152
+ }
153
+ /**
154
+ * Get the default storage provider name
155
+ *
156
+ * @returns Default provider name or undefined
157
+ */
158
+ getDefaultStorageProvider() {
159
+ return this.defaultProvider ?? void 0;
160
+ }
161
+ }
162
+ export {
163
+ StorageManager
164
+ };
165
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/storage/manager.ts"],"sourcesContent":["import type {\n StorageProvider,\n StorageUploadResult,\n StorageFile,\n StorageListOptions,\n} from \"../types/storage\";\nimport { StorageError } from \"../types/storage\";\n\n/**\n * Manages multiple storage providers with a unified interface for file operations.\n *\n * @remarks\n * The StorageManager provides a consistent API for uploading, downloading, and managing\n * files across different storage backends including IPFS, Pinata, Google Drive, and\n * server-managed storage. It handles provider registration, default provider selection,\n * and automatic fallback scenarios for robust file operations.\n *\n * Used internally by DataController for encrypted file storage, but can also be used\n * directly for custom storage workflows. Each provider implements the `StorageProvider`\n * interface to ensure consistent behavior across different storage backends.\n *\n * The manager supports provider-specific configurations and features while maintaining\n * a uniform API surface for applications.\n * @example\n * ```typescript\n * import { StorageManager, IPFSStorage, PinataStorage } from '@opendatalabs/vana-sdk';\n *\n * const storage = new StorageManager();\n *\n * // Register multiple providers\n * storage.register('ipfs', new IPFSStorage({\n * apiEndpoint: 'https://api.pinata.cloud/pinning/pinFileToIPFS'\n * }), true);\n * storage.register('pinata', new PinataStorage({\n * jwt: 'your-pinata-jwt-token'\n * }));\n *\n * // Upload to default provider\n * const result = await storage.upload(fileBlob, 'myfile.json');\n *\n * // Upload to specific provider\n * const result2 = await storage.upload(fileBlob, 'myfile.json', 'pinata');\n * ```\n * @category Storage\n * @see {@link https://docs.vana.com/developer/vana-sdk-documentation/core-modules/storage-providers | Storage Providers Guide} for configuration details\n */\nexport class StorageManager {\n private providers: Map<string, StorageProvider> = new Map();\n private defaultProvider: string | null = null;\n\n /**\n * Registers a storage provider with the manager.\n *\n * @remarks\n * This method adds a new storage provider to the manager's registry and optionally\n * sets it as the default provider for subsequent operations. If no default provider\n * is currently set, the first registered provider automatically becomes the default.\n * @param name - Unique identifier for the provider\n * @param provider - The storage provider instance implementing the `StorageProvider` interface\n * @param isDefault - Whether this provider should be set as the default (defaults to `false`)\n * @example\n * ```typescript\n * const pinata = new PinataStorage({ jwt: 'your-jwt-token' });\n * storage.register('pinata', pinata, true); // Set as default\n *\n * const ipfs = new IPFSStorage({ apiEndpoint: 'https://...' });\n * storage.register('ipfs', ipfs); // Not default\n * ```\n */\n register(name: string, provider: StorageProvider, isDefault = false): void {\n this.providers.set(name, provider);\n\n if (isDefault || this.defaultProvider === null) {\n this.defaultProvider = name;\n }\n }\n\n /**\n * Get a registered storage provider\n *\n * @param name - Provider identifier, uses default if not specified\n * @returns Storage provider instance\n */\n getProvider(name?: string): StorageProvider {\n const providerName = name ?? this.defaultProvider;\n\n if (!providerName) {\n throw new StorageError(\n \"No storage provider specified and no default provider set\",\n \"NO_PROVIDER\",\n \"manager\",\n );\n }\n\n const provider = this.providers.get(providerName);\n if (!provider) {\n throw new StorageError(\n `Storage provider '${providerName}' not found`,\n \"PROVIDER_NOT_FOUND\",\n \"manager\",\n );\n }\n\n return provider;\n }\n\n /**\n * List all registered providers\n *\n * @returns Array of provider names\n */\n listProviders(): string[] {\n return Array.from(this.providers.keys());\n }\n\n /**\n * Get the default provider name\n *\n * @returns Default provider name or null\n */\n getDefaultProvider(): string | null {\n return this.defaultProvider;\n }\n\n /**\n * Set the default provider\n *\n * @param name - Provider identifier\n */\n setDefaultProvider(name: string): void {\n if (!this.providers.has(name)) {\n throw new StorageError(\n `Cannot set default provider '${name}': provider not registered`,\n \"PROVIDER_NOT_FOUND\",\n \"manager\",\n );\n }\n this.defaultProvider = name;\n }\n\n /**\n * Uploads a file using the specified or default storage provider.\n *\n * @remarks\n * This method uploads a file to the specified provider or falls back to the default\n * provider if none is specified. The upload result includes the storage URL, file size,\n * content type, and provider-specific metadata that can be used for subsequent operations.\n * @param file - The file blob to upload\n * @param filename - Optional custom filename (defaults to auto-generated name)\n * @param providerName - Optional provider identifier (uses default if not specified)\n * @returns A Promise that resolves to the storage upload result with URL and metadata\n * @throws {StorageError} When no provider is available or upload fails\n * @example\n * ```typescript\n * // Upload to default provider\n * const result = await storage.upload(fileBlob, 'data.json');\n * console.log(`Uploaded to: ${result.url}`);\n *\n * // Upload to specific provider\n * const result2 = await storage.upload(fileBlob, 'data.json', 'pinata');\n * ```\n */\n async upload(\n file: Blob,\n filename?: string,\n providerName?: string,\n ): Promise<StorageUploadResult> {\n const provider = this.getProvider(providerName);\n return provider.upload(file, filename);\n }\n\n /**\n * Download a file using the specified or default provider\n *\n * @param url - The storage URL\n * @param providerName - Optional provider to use\n * @returns Promise with file blob\n */\n async download(url: string, providerName?: string): Promise<Blob> {\n const provider = this.getProvider(providerName);\n return provider.download(url);\n }\n\n /**\n * List files using the specified or default provider\n *\n * @param options - Optional filtering and pagination\n * @param providerName - Optional provider to use\n * @returns Promise with file list\n */\n async list(\n options?: StorageListOptions,\n providerName?: string,\n ): Promise<StorageFile[]> {\n const provider = this.getProvider(providerName);\n return provider.list(options);\n }\n\n /**\n * Delete a file using the specified or default provider\n *\n * @param url - The storage URL\n * @param providerName - Optional provider to use\n * @returns Promise with success status\n */\n async delete(url: string, providerName?: string): Promise<boolean> {\n const provider = this.getProvider(providerName);\n return provider.delete(url);\n }\n\n /**\n * Get list of registered storage provider names\n *\n * @returns Array of provider names\n */\n getStorageProviders(): string[] {\n return Array.from(this.providers.keys());\n }\n\n /**\n * Get the default storage provider name\n *\n * @returns Default provider name or undefined\n */\n getDefaultStorageProvider(): string | undefined {\n return this.defaultProvider ?? undefined;\n }\n}\n"],"mappings":"AAMA,SAAS,oBAAoB;AAwCtB,MAAM,eAAe;AAAA,EAClB,YAA0C,oBAAI,IAAI;AAAA,EAClD,kBAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBzC,SAAS,MAAc,UAA2B,YAAY,OAAa;AACzE,SAAK,UAAU,IAAI,MAAM,QAAQ;AAEjC,QAAI,aAAa,KAAK,oBAAoB,MAAM;AAC9C,WAAK,kBAAkB;AAAA,IACzB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,MAAgC;AAC1C,UAAM,eAAe,QAAQ,KAAK;AAElC,QAAI,CAAC,cAAc;AACjB,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,UAAM,WAAW,KAAK,UAAU,IAAI,YAAY;AAChD,QAAI,CAAC,UAAU;AACb,YAAM,IAAI;AAAA,QACR,qBAAqB,YAAY;AAAA,QACjC;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAA0B;AACxB,WAAO,MAAM,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,qBAAoC;AAClC,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,mBAAmB,MAAoB;AACrC,QAAI,CAAC,KAAK,UAAU,IAAI,IAAI,GAAG;AAC7B,YAAM,IAAI;AAAA,QACR,gCAAgC,IAAI;AAAA,QACpC;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,SAAK,kBAAkB;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAwBA,MAAM,OACJ,MACA,UACA,cAC8B;AAC9B,UAAM,WAAW,KAAK,YAAY,YAAY;AAC9C,WAAO,SAAS,OAAO,MAAM,QAAQ;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,SAAS,KAAa,cAAsC;AAChE,UAAM,WAAW,KAAK,YAAY,YAAY;AAC9C,WAAO,SAAS,SAAS,GAAG;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,KACJ,SACA,cACwB;AACxB,UAAM,WAAW,KAAK,YAAY,YAAY;AAC9C,WAAO,SAAS,KAAK,OAAO;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,OAAO,KAAa,cAAyC;AACjE,UAAM,WAAW,KAAK,YAAY,YAAY;AAC9C,WAAO,SAAS,OAAO,GAAG;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,sBAAgC;AAC9B,WAAO,MAAM,KAAK,KAAK,UAAU,KAAK,CAAC;AAAA,EACzC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,4BAAgD;AAC9C,WAAO,KAAK,mBAAmB;AAAA,EACjC;AACF;","names":[]}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var callback_storage_exports = {};
20
+ __export(callback_storage_exports, {
21
+ CallbackStorage: () => CallbackStorage
22
+ });
23
+ module.exports = __toCommonJS(callback_storage_exports);
24
+ var import_storage = require("../../types/storage");
25
+ class CallbackStorage {
26
+ constructor(callbacks) {
27
+ this.callbacks = callbacks;
28
+ if (!callbacks.upload || !callbacks.download) {
29
+ throw new Error(
30
+ "CallbackStorage requires both upload and download callbacks"
31
+ );
32
+ }
33
+ }
34
+ /**
35
+ * Upload a file using the provided callback
36
+ *
37
+ * @param file - The blob to upload
38
+ * @param filename - Optional filename for the upload
39
+ * @returns The upload result with URL and metadata
40
+ */
41
+ async upload(file, filename) {
42
+ try {
43
+ const result = await this.callbacks.upload(file, filename);
44
+ if (!result.url || result.url.trim() === "") {
45
+ throw new import_storage.StorageError(
46
+ "Upload callback returned invalid result: missing or empty url",
47
+ "INVALID_UPLOAD_RESULT",
48
+ "callback-storage"
49
+ );
50
+ }
51
+ return result;
52
+ } catch (error) {
53
+ if (error instanceof import_storage.StorageError) {
54
+ throw error;
55
+ }
56
+ throw new import_storage.StorageError(
57
+ `Upload failed: ${error instanceof Error ? error.message : String(error)}`,
58
+ "UPLOAD_ERROR",
59
+ "callback-storage",
60
+ { cause: error instanceof Error ? error : void 0 }
61
+ );
62
+ }
63
+ }
64
+ /**
65
+ * Download a file using the provided callback
66
+ *
67
+ * @param url - The URL or identifier to download
68
+ * @returns The downloaded blob
69
+ */
70
+ async download(url) {
71
+ try {
72
+ const identifier = this.callbacks.extractIdentifier ? this.callbacks.extractIdentifier(url) : url;
73
+ const blob = await this.callbacks.download(identifier);
74
+ if (!(blob instanceof Blob)) {
75
+ throw new import_storage.StorageError(
76
+ "Download callback returned invalid result: expected Blob",
77
+ "INVALID_DOWNLOAD_RESULT",
78
+ "callback-storage"
79
+ );
80
+ }
81
+ return blob;
82
+ } catch (error) {
83
+ if (error instanceof import_storage.StorageError) {
84
+ throw error;
85
+ }
86
+ throw new import_storage.StorageError(
87
+ `Download failed: ${error instanceof Error ? error.message : String(error)}`,
88
+ "DOWNLOAD_ERROR",
89
+ "callback-storage",
90
+ { cause: error instanceof Error ? error : void 0 }
91
+ );
92
+ }
93
+ }
94
+ /**
95
+ * List files using the provided callback (if available)
96
+ *
97
+ * @param options - Optional list options including filters and pagination
98
+ * @returns Array of storage files
99
+ */
100
+ async list(options) {
101
+ if (!this.callbacks.list) {
102
+ throw new import_storage.StorageError(
103
+ "List operation not supported - no list callback provided",
104
+ "NOT_SUPPORTED",
105
+ "callback-storage"
106
+ );
107
+ }
108
+ try {
109
+ const result = await this.callbacks.list(options?.namePattern, options);
110
+ return result.items.map((item, index) => ({
111
+ id: item.identifier,
112
+ name: item.identifier.split("/").pop() ?? `file-${index}`,
113
+ url: item.identifier,
114
+ size: item.size ?? 0,
115
+ contentType: "application/octet-stream",
116
+ createdAt: item.lastModified ?? /* @__PURE__ */ new Date(),
117
+ metadata: item.metadata
118
+ }));
119
+ } catch (error) {
120
+ throw new import_storage.StorageError(
121
+ `List failed: ${error instanceof Error ? error.message : String(error)}`,
122
+ "LIST_ERROR",
123
+ "callback-storage",
124
+ { cause: error instanceof Error ? error : void 0 }
125
+ );
126
+ }
127
+ }
128
+ /**
129
+ * Delete a file using the provided callback (if available)
130
+ *
131
+ * @param url - The URL or identifier to delete
132
+ * @returns True if deletion succeeded
133
+ */
134
+ async delete(url) {
135
+ if (!this.callbacks.delete) {
136
+ throw new import_storage.StorageError(
137
+ "Delete operation not supported - no delete callback provided",
138
+ "NOT_SUPPORTED",
139
+ "callback-storage"
140
+ );
141
+ }
142
+ try {
143
+ const identifier = this.callbacks.extractIdentifier ? this.callbacks.extractIdentifier(url) : url;
144
+ return await this.callbacks.delete(identifier);
145
+ } catch (error) {
146
+ throw new import_storage.StorageError(
147
+ `Delete failed: ${error instanceof Error ? error.message : String(error)}`,
148
+ "DELETE_ERROR",
149
+ "callback-storage",
150
+ { cause: error instanceof Error ? error : void 0 }
151
+ );
152
+ }
153
+ }
154
+ /**
155
+ * Get provider configuration
156
+ *
157
+ * @returns Provider configuration metadata
158
+ */
159
+ getConfig() {
160
+ return {
161
+ name: "callback-storage",
162
+ type: "callback",
163
+ requiresAuth: false,
164
+ features: {
165
+ upload: true,
166
+ download: true,
167
+ list: !!this.callbacks.list,
168
+ delete: !!this.callbacks.delete
169
+ }
170
+ };
171
+ }
172
+ }
173
+ // Annotate the CommonJS export names for ESM import in node:
174
+ 0 && (module.exports = {
175
+ CallbackStorage
176
+ });
177
+ //# sourceMappingURL=callback-storage.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/storage/providers/callback-storage.ts"],"sourcesContent":["import type { StorageCallbacks } from \"../../types/config\";\nimport {\n StorageError,\n type StorageProvider,\n type StorageUploadResult,\n type StorageFile,\n type StorageListOptions,\n type StorageProviderConfig,\n} from \"../../types/storage\";\n\n/**\n * Storage provider that delegates all operations to user-provided callbacks.\n *\n * This provider follows the same flexible pattern as relayer callbacks,\n * allowing users to implement storage operations in any way they choose\n * (HTTP, WebSocket, direct cloud APIs, local filesystem, etc.).\n *\n * @category Storage\n * @example\n * ```typescript\n * // HTTP-based implementation\n * const httpCallbacks: StorageCallbacks = {\n * async upload(blob, filename) {\n * const formData = new FormData();\n * formData.append('file', blob, filename);\n * const response = await fetch('/api/storage/upload', {\n * method: 'POST',\n * body: formData\n * });\n * const data = await response.json();\n * return {\n * url: data.url,\n * size: blob.size,\n * contentType: blob.type\n * };\n * },\n * async download(identifier) {\n * const response = await fetch(`/api/storage/download/${identifier}`);\n * return response.blob();\n * }\n * };\n *\n * const storage = new CallbackStorage(httpCallbacks);\n *\n * // Direct S3 implementation\n * const s3Callbacks: StorageCallbacks = {\n * async upload(blob, filename) {\n * const url = await getPresignedUploadUrl(filename);\n * await fetch(url, { method: 'PUT', body: blob });\n * return {\n * url: `s3://my-bucket/${filename}`,\n * size: blob.size,\n * contentType: blob.type\n * };\n * },\n * async download(identifier) {\n * const url = await getPresignedDownloadUrl(identifier);\n * const response = await fetch(url);\n * return response.blob();\n * }\n * };\n * ```\n */\nexport class CallbackStorage implements StorageProvider {\n constructor(private readonly callbacks: StorageCallbacks) {\n if (!callbacks.upload || !callbacks.download) {\n throw new Error(\n \"CallbackStorage requires both upload and download callbacks\",\n );\n }\n }\n\n /**\n * Upload a file using the provided callback\n *\n * @param file - The blob to upload\n * @param filename - Optional filename for the upload\n * @returns The upload result with URL and metadata\n */\n async upload(file: Blob, filename?: string): Promise<StorageUploadResult> {\n try {\n const result = await this.callbacks.upload(file, filename);\n\n // Validate the result has required fields\n if (!result.url || result.url.trim() === \"\") {\n throw new StorageError(\n \"Upload callback returned invalid result: missing or empty url\",\n \"INVALID_UPLOAD_RESULT\",\n \"callback-storage\",\n );\n }\n\n return result;\n } catch (error) {\n if (error instanceof StorageError) {\n throw error;\n }\n throw new StorageError(\n `Upload failed: ${error instanceof Error ? error.message : String(error)}`,\n \"UPLOAD_ERROR\",\n \"callback-storage\",\n { cause: error instanceof Error ? error : undefined },\n );\n }\n }\n\n /**\n * Download a file using the provided callback\n *\n * @param url - The URL or identifier to download\n * @returns The downloaded blob\n */\n async download(url: string): Promise<Blob> {\n try {\n // Extract identifier if callback is provided, otherwise use URL as-is\n const identifier = this.callbacks.extractIdentifier\n ? this.callbacks.extractIdentifier(url)\n : url;\n\n const blob = await this.callbacks.download(identifier);\n\n if (!(blob instanceof Blob)) {\n throw new StorageError(\n \"Download callback returned invalid result: expected Blob\",\n \"INVALID_DOWNLOAD_RESULT\",\n \"callback-storage\",\n );\n }\n\n return blob;\n } catch (error) {\n if (error instanceof StorageError) {\n throw error;\n }\n throw new StorageError(\n `Download failed: ${error instanceof Error ? error.message : String(error)}`,\n \"DOWNLOAD_ERROR\",\n \"callback-storage\",\n { cause: error instanceof Error ? error : undefined },\n );\n }\n }\n\n /**\n * List files using the provided callback (if available)\n *\n * @param options - Optional list options including filters and pagination\n * @returns Array of storage files\n */\n async list(options?: StorageListOptions): Promise<StorageFile[]> {\n if (!this.callbacks.list) {\n throw new StorageError(\n \"List operation not supported - no list callback provided\",\n \"NOT_SUPPORTED\",\n \"callback-storage\",\n );\n }\n\n try {\n const result = await this.callbacks.list(options?.namePattern, options);\n\n // Convert list result to StorageFile format\n return result.items.map((item, index) => ({\n id: item.identifier,\n name: item.identifier.split(\"/\").pop() ?? `file-${index}`,\n url: item.identifier,\n size: item.size ?? 0,\n contentType: \"application/octet-stream\",\n createdAt: item.lastModified ?? new Date(),\n metadata: item.metadata,\n }));\n } catch (error) {\n throw new StorageError(\n `List failed: ${error instanceof Error ? error.message : String(error)}`,\n \"LIST_ERROR\",\n \"callback-storage\",\n { cause: error instanceof Error ? error : undefined },\n );\n }\n }\n\n /**\n * Delete a file using the provided callback (if available)\n *\n * @param url - The URL or identifier to delete\n * @returns True if deletion succeeded\n */\n async delete(url: string): Promise<boolean> {\n if (!this.callbacks.delete) {\n throw new StorageError(\n \"Delete operation not supported - no delete callback provided\",\n \"NOT_SUPPORTED\",\n \"callback-storage\",\n );\n }\n\n try {\n // Extract identifier if callback is provided, otherwise use URL as-is\n const identifier = this.callbacks.extractIdentifier\n ? this.callbacks.extractIdentifier(url)\n : url;\n\n return await this.callbacks.delete(identifier);\n } catch (error) {\n throw new StorageError(\n `Delete failed: ${error instanceof Error ? error.message : String(error)}`,\n \"DELETE_ERROR\",\n \"callback-storage\",\n { cause: error instanceof Error ? error : undefined },\n );\n }\n }\n\n /**\n * Get provider configuration\n *\n * @returns Provider configuration metadata\n */\n getConfig(): StorageProviderConfig {\n return {\n name: \"callback-storage\",\n type: \"callback\",\n requiresAuth: false,\n features: {\n upload: true,\n download: true,\n list: !!this.callbacks.list,\n delete: !!this.callbacks.delete,\n },\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAOO;AAuDA,MAAM,gBAA2C;AAAA,EACtD,YAA6B,WAA6B;AAA7B;AAC3B,QAAI,CAAC,UAAU,UAAU,CAAC,UAAU,UAAU;AAC5C,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,OAAO,MAAY,UAAiD;AACxE,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,UAAU,OAAO,MAAM,QAAQ;AAGzD,UAAI,CAAC,OAAO,OAAO,OAAO,IAAI,KAAK,MAAM,IAAI;AAC3C,cAAM,IAAI;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,UAAI,iBAAiB,6BAAc;AACjC,cAAM;AAAA,MACR;AACA,YAAM,IAAI;AAAA,QACR,kBAAkB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA,QACxE;AAAA,QACA;AAAA,QACA,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,OAAU;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,SAAS,KAA4B;AACzC,QAAI;AAEF,YAAM,aAAa,KAAK,UAAU,oBAC9B,KAAK,UAAU,kBAAkB,GAAG,IACpC;AAEJ,YAAM,OAAO,MAAM,KAAK,UAAU,SAAS,UAAU;AAErD,UAAI,EAAE,gBAAgB,OAAO;AAC3B,cAAM,IAAI;AAAA,UACR;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAEA,aAAO;AAAA,IACT,SAAS,OAAO;AACd,UAAI,iBAAiB,6BAAc;AACjC,cAAM;AAAA,MACR;AACA,YAAM,IAAI;AAAA,QACR,oBAAoB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA,QAC1E;AAAA,QACA;AAAA,QACA,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,OAAU;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,KAAK,SAAsD;AAC/D,QAAI,CAAC,KAAK,UAAU,MAAM;AACxB,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,UAAU,KAAK,SAAS,aAAa,OAAO;AAGtE,aAAO,OAAO,MAAM,IAAI,CAAC,MAAM,WAAW;AAAA,QACxC,IAAI,KAAK;AAAA,QACT,MAAM,KAAK,WAAW,MAAM,GAAG,EAAE,IAAI,KAAK,QAAQ,KAAK;AAAA,QACvD,KAAK,KAAK;AAAA,QACV,MAAM,KAAK,QAAQ;AAAA,QACnB,aAAa;AAAA,QACb,WAAW,KAAK,gBAAgB,oBAAI,KAAK;AAAA,QACzC,UAAU,KAAK;AAAA,MACjB,EAAE;AAAA,IACJ,SAAS,OAAO;AACd,YAAM,IAAI;AAAA,QACR,gBAAgB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA,QACtE;AAAA,QACA;AAAA,QACA,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,OAAU;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,OAAO,KAA+B;AAC1C,QAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAEA,QAAI;AAEF,YAAM,aAAa,KAAK,UAAU,oBAC9B,KAAK,UAAU,kBAAkB,GAAG,IACpC;AAEJ,aAAO,MAAM,KAAK,UAAU,OAAO,UAAU;AAAA,IAC/C,SAAS,OAAO;AACd,YAAM,IAAI;AAAA,QACR,kBAAkB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,CAAC;AAAA,QACxE;AAAA,QACA;AAAA,QACA,EAAE,OAAO,iBAAiB,QAAQ,QAAQ,OAAU;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,YAAmC;AACjC,WAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,MACd,UAAU;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM,CAAC,CAAC,KAAK,UAAU;AAAA,QACvB,QAAQ,CAAC,CAAC,KAAK,UAAU;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,94 @@
1
+ import type { StorageCallbacks } from "../../types/config";
2
+ import { type StorageProvider, type StorageUploadResult, type StorageFile, type StorageListOptions, type StorageProviderConfig } from "../../types/storage";
3
+ /**
4
+ * Storage provider that delegates all operations to user-provided callbacks.
5
+ *
6
+ * This provider follows the same flexible pattern as relayer callbacks,
7
+ * allowing users to implement storage operations in any way they choose
8
+ * (HTTP, WebSocket, direct cloud APIs, local filesystem, etc.).
9
+ *
10
+ * @category Storage
11
+ * @example
12
+ * ```typescript
13
+ * // HTTP-based implementation
14
+ * const httpCallbacks: StorageCallbacks = {
15
+ * async upload(blob, filename) {
16
+ * const formData = new FormData();
17
+ * formData.append('file', blob, filename);
18
+ * const response = await fetch('/api/storage/upload', {
19
+ * method: 'POST',
20
+ * body: formData
21
+ * });
22
+ * const data = await response.json();
23
+ * return {
24
+ * url: data.url,
25
+ * size: blob.size,
26
+ * contentType: blob.type
27
+ * };
28
+ * },
29
+ * async download(identifier) {
30
+ * const response = await fetch(`/api/storage/download/${identifier}`);
31
+ * return response.blob();
32
+ * }
33
+ * };
34
+ *
35
+ * const storage = new CallbackStorage(httpCallbacks);
36
+ *
37
+ * // Direct S3 implementation
38
+ * const s3Callbacks: StorageCallbacks = {
39
+ * async upload(blob, filename) {
40
+ * const url = await getPresignedUploadUrl(filename);
41
+ * await fetch(url, { method: 'PUT', body: blob });
42
+ * return {
43
+ * url: `s3://my-bucket/${filename}`,
44
+ * size: blob.size,
45
+ * contentType: blob.type
46
+ * };
47
+ * },
48
+ * async download(identifier) {
49
+ * const url = await getPresignedDownloadUrl(identifier);
50
+ * const response = await fetch(url);
51
+ * return response.blob();
52
+ * }
53
+ * };
54
+ * ```
55
+ */
56
+ export declare class CallbackStorage implements StorageProvider {
57
+ private readonly callbacks;
58
+ constructor(callbacks: StorageCallbacks);
59
+ /**
60
+ * Upload a file using the provided callback
61
+ *
62
+ * @param file - The blob to upload
63
+ * @param filename - Optional filename for the upload
64
+ * @returns The upload result with URL and metadata
65
+ */
66
+ upload(file: Blob, filename?: string): Promise<StorageUploadResult>;
67
+ /**
68
+ * Download a file using the provided callback
69
+ *
70
+ * @param url - The URL or identifier to download
71
+ * @returns The downloaded blob
72
+ */
73
+ download(url: string): Promise<Blob>;
74
+ /**
75
+ * List files using the provided callback (if available)
76
+ *
77
+ * @param options - Optional list options including filters and pagination
78
+ * @returns Array of storage files
79
+ */
80
+ list(options?: StorageListOptions): Promise<StorageFile[]>;
81
+ /**
82
+ * Delete a file using the provided callback (if available)
83
+ *
84
+ * @param url - The URL or identifier to delete
85
+ * @returns True if deletion succeeded
86
+ */
87
+ delete(url: string): Promise<boolean>;
88
+ /**
89
+ * Get provider configuration
90
+ *
91
+ * @returns Provider configuration metadata
92
+ */
93
+ getConfig(): StorageProviderConfig;
94
+ }