@opendatalabs/vana-sdk 2.3.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +76 -92
  2. package/dist/auth/errors.cjs +54 -0
  3. package/dist/auth/errors.cjs.map +1 -0
  4. package/dist/auth/errors.d.ts +26 -0
  5. package/dist/auth/errors.js +28 -0
  6. package/dist/auth/errors.js.map +1 -0
  7. package/dist/auth/pkce.cjs +100 -0
  8. package/dist/auth/pkce.cjs.map +1 -0
  9. package/dist/auth/pkce.d.ts +55 -0
  10. package/dist/auth/pkce.js +71 -0
  11. package/dist/auth/pkce.js.map +1 -0
  12. package/dist/auth/token-store.cjs +59 -0
  13. package/dist/auth/token-store.cjs.map +1 -0
  14. package/dist/auth/token-store.d.ts +61 -0
  15. package/dist/auth/token-store.js +35 -0
  16. package/dist/auth/token-store.js.map +1 -0
  17. package/dist/auth/web3-signed-builder.cjs +70 -0
  18. package/dist/auth/web3-signed-builder.cjs.map +1 -0
  19. package/dist/auth/web3-signed-builder.d.ts +47 -0
  20. package/dist/auth/web3-signed-builder.js +45 -0
  21. package/dist/auth/web3-signed-builder.js.map +1 -0
  22. package/dist/auth/web3-signed.cjs +125 -0
  23. package/dist/auth/web3-signed.cjs.map +1 -0
  24. package/dist/auth/web3-signed.d.ts +59 -0
  25. package/dist/auth/web3-signed.js +104 -0
  26. package/dist/auth/web3-signed.js.map +1 -0
  27. package/dist/chains/definitions.cjs +2 -6
  28. package/dist/chains/definitions.cjs.map +1 -1
  29. package/dist/chains/definitions.d.ts +1 -7
  30. package/dist/chains/definitions.js +2 -6
  31. package/dist/chains/definitions.js.map +1 -1
  32. package/dist/config/chains.d.ts +18 -0
  33. package/dist/config/contracts.config.cjs +7 -95
  34. package/dist/config/contracts.config.cjs.map +1 -1
  35. package/dist/config/contracts.config.d.ts +0 -54
  36. package/dist/config/contracts.config.js +6 -93
  37. package/dist/config/contracts.config.js.map +1 -1
  38. package/dist/config/default-services.cjs +0 -10
  39. package/dist/config/default-services.cjs.map +1 -1
  40. package/dist/config/default-services.d.ts +1 -20
  41. package/dist/config/default-services.js +0 -9
  42. package/dist/config/default-services.js.map +1 -1
  43. package/dist/crypto/ecies/interface.cjs +2 -0
  44. package/dist/crypto/ecies/interface.cjs.map +1 -1
  45. package/dist/crypto/ecies/interface.js +2 -0
  46. package/dist/crypto/ecies/interface.js.map +1 -1
  47. package/dist/crypto/envelope/openpgp.cjs +59 -0
  48. package/dist/crypto/envelope/openpgp.cjs.map +1 -0
  49. package/dist/crypto/envelope/openpgp.d.ts +28 -0
  50. package/dist/crypto/envelope/openpgp.js +24 -0
  51. package/dist/crypto/envelope/openpgp.js.map +1 -0
  52. package/dist/crypto/keys/derive.cjs +65 -0
  53. package/dist/crypto/keys/derive.cjs.map +1 -0
  54. package/dist/crypto/keys/derive.d.ts +45 -0
  55. package/dist/crypto/keys/derive.js +38 -0
  56. package/dist/crypto/keys/derive.js.map +1 -0
  57. package/dist/errors.cjs +10 -0
  58. package/dist/errors.cjs.map +1 -1
  59. package/dist/errors.js +10 -0
  60. package/dist/errors.js.map +1 -1
  61. package/dist/generated/abi/index.cjs +2 -37
  62. package/dist/generated/abi/index.cjs.map +1 -1
  63. package/dist/generated/abi/index.d.ts +2683 -9296
  64. package/dist/generated/abi/index.js +2 -29
  65. package/dist/generated/abi/index.js.map +1 -1
  66. package/dist/generated/addresses.cjs +5 -107
  67. package/dist/generated/addresses.cjs.map +1 -1
  68. package/dist/generated/addresses.d.ts +5 -99
  69. package/dist/generated/addresses.js +5 -105
  70. package/dist/generated/addresses.js.map +1 -1
  71. package/dist/index.browser.d.ts +23 -140
  72. package/dist/index.browser.js +32090 -114
  73. package/dist/index.browser.js.map +7 -1
  74. package/dist/index.node.cjs +32809 -160
  75. package/dist/index.node.cjs.map +7 -1
  76. package/dist/index.node.d.ts +22 -210
  77. package/dist/index.node.js +32716 -133
  78. package/dist/index.node.js.map +7 -1
  79. package/dist/protocol/data-file.cjs +56 -0
  80. package/dist/protocol/data-file.cjs.map +1 -0
  81. package/dist/protocol/data-file.d.ts +20 -0
  82. package/dist/protocol/data-file.js +30 -0
  83. package/dist/protocol/data-file.js.map +1 -0
  84. package/dist/protocol/eip712.cjs +123 -0
  85. package/dist/protocol/eip712.cjs.map +1 -0
  86. package/dist/protocol/eip712.d.ts +117 -0
  87. package/dist/protocol/eip712.js +90 -0
  88. package/dist/protocol/eip712.js.map +1 -0
  89. package/dist/protocol/gateway.cjs +226 -0
  90. package/dist/protocol/gateway.cjs.map +1 -0
  91. package/dist/protocol/gateway.d.ts +120 -0
  92. package/dist/protocol/gateway.js +202 -0
  93. package/dist/protocol/gateway.js.map +1 -0
  94. package/dist/protocol/scopes.cjs +78 -0
  95. package/dist/protocol/scopes.cjs.map +1 -0
  96. package/dist/protocol/scopes.d.ts +13 -0
  97. package/dist/protocol/scopes.js +50 -0
  98. package/dist/protocol/scopes.js.map +1 -0
  99. package/dist/{types/atomicStore.cjs → storage/default.cjs} +9 -8
  100. package/dist/storage/default.cjs.map +1 -0
  101. package/dist/storage/default.d.ts +4 -0
  102. package/dist/storage/default.js +8 -0
  103. package/dist/storage/default.js.map +1 -0
  104. package/dist/storage/index.cjs +11 -2
  105. package/dist/storage/index.cjs.map +1 -1
  106. package/dist/storage/index.d.ts +9 -0
  107. package/dist/storage/index.js +7 -1
  108. package/dist/storage/index.js.map +1 -1
  109. package/dist/storage/providers/callback-storage.cjs +1 -0
  110. package/dist/storage/providers/callback-storage.cjs.map +1 -1
  111. package/dist/storage/providers/callback-storage.js +1 -0
  112. package/dist/storage/providers/callback-storage.js.map +1 -1
  113. package/dist/storage/providers/dropbox.cjs +1 -0
  114. package/dist/storage/providers/dropbox.cjs.map +1 -1
  115. package/dist/storage/providers/dropbox.js +1 -0
  116. package/dist/storage/providers/dropbox.js.map +1 -1
  117. package/dist/storage/providers/google-drive.cjs +1 -0
  118. package/dist/storage/providers/google-drive.cjs.map +1 -1
  119. package/dist/storage/providers/google-drive.js +1 -0
  120. package/dist/storage/providers/google-drive.js.map +1 -1
  121. package/dist/storage/providers/ipfs.cjs +1 -0
  122. package/dist/storage/providers/ipfs.cjs.map +1 -1
  123. package/dist/storage/providers/ipfs.js +1 -0
  124. package/dist/storage/providers/ipfs.js.map +1 -1
  125. package/dist/storage/providers/pinata.cjs +1 -0
  126. package/dist/storage/providers/pinata.cjs.map +1 -1
  127. package/dist/storage/providers/pinata.js +1 -0
  128. package/dist/storage/providers/pinata.js.map +1 -1
  129. package/dist/storage/providers/r2.cjs +376 -0
  130. package/dist/storage/providers/r2.cjs.map +1 -0
  131. package/dist/storage/providers/r2.d.ts +91 -0
  132. package/dist/storage/providers/r2.js +354 -0
  133. package/dist/storage/providers/r2.js.map +1 -0
  134. package/dist/storage/providers/vana-storage.cjs +251 -0
  135. package/dist/storage/providers/vana-storage.cjs.map +1 -0
  136. package/dist/storage/providers/vana-storage.d.ts +100 -0
  137. package/dist/storage/providers/vana-storage.js +231 -0
  138. package/dist/storage/providers/vana-storage.js.map +1 -0
  139. package/dist/types/config.cjs +0 -34
  140. package/dist/types/config.cjs.map +1 -1
  141. package/dist/types/config.d.ts +1 -607
  142. package/dist/types/config.js +0 -22
  143. package/dist/types/config.js.map +1 -1
  144. package/dist/types/contracts.cjs.map +1 -1
  145. package/dist/types/contracts.d.ts +1 -1
  146. package/dist/types/index.cjs +2 -33
  147. package/dist/types/index.cjs.map +1 -1
  148. package/dist/types/index.d.ts +2 -33
  149. package/dist/types/index.js +1 -35
  150. package/dist/types/index.js.map +1 -1
  151. package/dist/types/ps-errors.cjs +66 -0
  152. package/dist/types/ps-errors.cjs.map +1 -0
  153. package/dist/types/ps-errors.d.ts +25 -0
  154. package/dist/types/ps-errors.js +41 -0
  155. package/dist/types/ps-errors.js.map +1 -0
  156. package/dist/types.cjs.map +1 -1
  157. package/dist/types.d.ts +0 -29
  158. package/dist/types.js.map +1 -1
  159. package/package.json +7 -25
  160. package/dist/client/enhancedResponse.cjs +0 -164
  161. package/dist/client/enhancedResponse.cjs.map +0 -1
  162. package/dist/client/enhancedResponse.d.ts +0 -120
  163. package/dist/client/enhancedResponse.js +0 -138
  164. package/dist/client/enhancedResponse.js.map +0 -1
  165. package/dist/controllers/__tests__/data-consistency-integration.test.d.ts +0 -7
  166. package/dist/controllers/base.cjs +0 -116
  167. package/dist/controllers/base.cjs.map +0 -1
  168. package/dist/controllers/base.d.ts +0 -94
  169. package/dist/controllers/base.js +0 -92
  170. package/dist/controllers/base.js.map +0 -1
  171. package/dist/controllers/data.cjs +0 -2633
  172. package/dist/controllers/data.cjs.map +0 -1
  173. package/dist/controllers/data.d.ts +0 -1067
  174. package/dist/controllers/data.js +0 -2626
  175. package/dist/controllers/data.js.map +0 -1
  176. package/dist/controllers/operations.cjs +0 -430
  177. package/dist/controllers/operations.cjs.map +0 -1
  178. package/dist/controllers/operations.d.ts +0 -229
  179. package/dist/controllers/operations.js +0 -406
  180. package/dist/controllers/operations.js.map +0 -1
  181. package/dist/controllers/permissions.cjs +0 -4368
  182. package/dist/controllers/permissions.cjs.map +0 -1
  183. package/dist/controllers/permissions.d.ts +0 -1411
  184. package/dist/controllers/permissions.js +0 -4344
  185. package/dist/controllers/permissions.js.map +0 -1
  186. package/dist/controllers/protocol.cjs +0 -183
  187. package/dist/controllers/protocol.cjs.map +0 -1
  188. package/dist/controllers/protocol.d.ts +0 -138
  189. package/dist/controllers/protocol.js +0 -163
  190. package/dist/controllers/protocol.js.map +0 -1
  191. package/dist/controllers/schemas.cjs +0 -678
  192. package/dist/controllers/schemas.cjs.map +0 -1
  193. package/dist/controllers/schemas.d.ts +0 -293
  194. package/dist/controllers/schemas.js +0 -654
  195. package/dist/controllers/schemas.js.map +0 -1
  196. package/dist/controllers/server.cjs +0 -643
  197. package/dist/controllers/server.cjs.map +0 -1
  198. package/dist/controllers/server.d.ts +0 -322
  199. package/dist/controllers/server.js +0 -624
  200. package/dist/controllers/server.js.map +0 -1
  201. package/dist/controllers/staking.cjs +0 -626
  202. package/dist/controllers/staking.cjs.map +0 -1
  203. package/dist/controllers/staking.d.ts +0 -457
  204. package/dist/controllers/staking.js +0 -602
  205. package/dist/controllers/staking.js.map +0 -1
  206. package/dist/core/__tests__/pollingManager.test.d.ts +0 -4
  207. package/dist/core/apiClient.cjs +0 -378
  208. package/dist/core/apiClient.cjs.map +0 -1
  209. package/dist/core/apiClient.d.ts +0 -286
  210. package/dist/core/apiClient.js +0 -359
  211. package/dist/core/apiClient.js.map +0 -1
  212. package/dist/core/generics.cjs +0 -417
  213. package/dist/core/generics.cjs.map +0 -1
  214. package/dist/core/generics.d.ts +0 -205
  215. package/dist/core/generics.js +0 -386
  216. package/dist/core/generics.js.map +0 -1
  217. package/dist/core/health.cjs +0 -289
  218. package/dist/core/health.cjs.map +0 -1
  219. package/dist/core/health.d.ts +0 -143
  220. package/dist/core/health.js +0 -265
  221. package/dist/core/health.js.map +0 -1
  222. package/dist/core/inMemoryNonceManager.cjs +0 -138
  223. package/dist/core/inMemoryNonceManager.cjs.map +0 -1
  224. package/dist/core/inMemoryNonceManager.d.ts +0 -69
  225. package/dist/core/inMemoryNonceManager.js +0 -114
  226. package/dist/core/inMemoryNonceManager.js.map +0 -1
  227. package/dist/core/nonceManager.cjs +0 -304
  228. package/dist/core/nonceManager.cjs.map +0 -1
  229. package/dist/core/nonceManager.d.ts +0 -116
  230. package/dist/core/nonceManager.js +0 -280
  231. package/dist/core/nonceManager.js.map +0 -1
  232. package/dist/core/pollingManager.cjs +0 -292
  233. package/dist/core/pollingManager.cjs.map +0 -1
  234. package/dist/core/pollingManager.d.ts +0 -120
  235. package/dist/core/pollingManager.js +0 -268
  236. package/dist/core/pollingManager.js.map +0 -1
  237. package/dist/core.cjs +0 -781
  238. package/dist/core.cjs.map +0 -1
  239. package/dist/core.d.ts +0 -496
  240. package/dist/core.js +0 -756
  241. package/dist/core.js.map +0 -1
  242. package/dist/diagnostics.cjs +0 -37
  243. package/dist/diagnostics.cjs.map +0 -1
  244. package/dist/diagnostics.d.ts +0 -24
  245. package/dist/diagnostics.js +0 -13
  246. package/dist/diagnostics.js.map +0 -1
  247. package/dist/diagnostics.test.d.ts +0 -1
  248. package/dist/generated/abi/DLPPerformanceImplementation.cjs +0 -1202
  249. package/dist/generated/abi/DLPPerformanceImplementation.cjs.map +0 -1
  250. package/dist/generated/abi/DLPPerformanceImplementation.d.ts +0 -914
  251. package/dist/generated/abi/DLPPerformanceImplementation.js +0 -1178
  252. package/dist/generated/abi/DLPPerformanceImplementation.js.map +0 -1
  253. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs +0 -1112
  254. package/dist/generated/abi/DLPRewardDeployerImplementation.cjs.map +0 -1
  255. package/dist/generated/abi/DLPRewardDeployerImplementation.d.ts +0 -840
  256. package/dist/generated/abi/DLPRewardDeployerImplementation.js +0 -1088
  257. package/dist/generated/abi/DLPRewardDeployerImplementation.js.map +0 -1
  258. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs +0 -612
  259. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.cjs.map +0 -1
  260. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.d.ts +0 -451
  261. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js +0 -588
  262. package/dist/generated/abi/DLPRewardDeployerTreasuryImplementation.js.map +0 -1
  263. package/dist/generated/abi/DLPRewardSwapImplementation.cjs +0 -939
  264. package/dist/generated/abi/DLPRewardSwapImplementation.cjs.map +0 -1
  265. package/dist/generated/abi/DLPRewardSwapImplementation.d.ts +0 -705
  266. package/dist/generated/abi/DLPRewardSwapImplementation.js +0 -915
  267. package/dist/generated/abi/DLPRewardSwapImplementation.js.map +0 -1
  268. package/dist/generated/abi/DLPRootImplementation.cjs +0 -1644
  269. package/dist/generated/abi/DLPRootImplementation.cjs.map +0 -1
  270. package/dist/generated/abi/DLPRootImplementation.d.ts +0 -1246
  271. package/dist/generated/abi/DLPRootImplementation.js +0 -1620
  272. package/dist/generated/abi/DLPRootImplementation.js.map +0 -1
  273. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs +0 -985
  274. package/dist/generated/abi/DataLiquidityPoolImplementation.cjs.map +0 -1
  275. package/dist/generated/abi/DataLiquidityPoolImplementation.d.ts +0 -735
  276. package/dist/generated/abi/DataLiquidityPoolImplementation.js +0 -961
  277. package/dist/generated/abi/DataLiquidityPoolImplementation.js.map +0 -1
  278. package/dist/generated/abi/SwapHelperImplementation.cjs +0 -976
  279. package/dist/generated/abi/SwapHelperImplementation.cjs.map +0 -1
  280. package/dist/generated/abi/SwapHelperImplementation.d.ts +0 -728
  281. package/dist/generated/abi/SwapHelperImplementation.js +0 -952
  282. package/dist/generated/abi/SwapHelperImplementation.js.map +0 -1
  283. package/dist/generated/abi/TeePoolImplementation.cjs +0 -1313
  284. package/dist/generated/abi/TeePoolImplementation.cjs.map +0 -1
  285. package/dist/generated/abi/TeePoolImplementation.d.ts +0 -992
  286. package/dist/generated/abi/TeePoolImplementation.js +0 -1289
  287. package/dist/generated/abi/TeePoolImplementation.js.map +0 -1
  288. package/dist/generated/event-types.cjs +0 -17
  289. package/dist/generated/event-types.cjs.map +0 -1
  290. package/dist/generated/event-types.d.ts +0 -816
  291. package/dist/generated/event-types.js +0 -1
  292. package/dist/generated/event-types.js.map +0 -1
  293. package/dist/generated/eventRegistry.cjs +0 -4512
  294. package/dist/generated/eventRegistry.cjs.map +0 -1
  295. package/dist/generated/eventRegistry.d.ts +0 -14
  296. package/dist/generated/eventRegistry.js +0 -4487
  297. package/dist/generated/eventRegistry.js.map +0 -1
  298. package/dist/generated/server/server-exports.cjs +0 -45
  299. package/dist/generated/server/server-exports.cjs.map +0 -1
  300. package/dist/generated/server/server-exports.d.ts +0 -36
  301. package/dist/generated/server/server-exports.js +0 -19
  302. package/dist/generated/server/server-exports.js.map +0 -1
  303. package/dist/generated/server/server.cjs +0 -17
  304. package/dist/generated/server/server.cjs.map +0 -1
  305. package/dist/generated/server/server.d.ts +0 -907
  306. package/dist/generated/server/server.js +0 -1
  307. package/dist/generated/server/server.js.map +0 -1
  308. package/dist/generated/subgraph.cjs +0 -1440
  309. package/dist/generated/subgraph.cjs.map +0 -1
  310. package/dist/generated/subgraph.d.ts +0 -6113
  311. package/dist/generated/subgraph.js +0 -1404
  312. package/dist/generated/subgraph.js.map +0 -1
  313. package/dist/lib/__tests__/redisAtomicStore.test.d.ts +0 -1
  314. package/dist/lib/redisAtomicStore.cjs +0 -201
  315. package/dist/lib/redisAtomicStore.cjs.map +0 -1
  316. package/dist/lib/redisAtomicStore.d.ts +0 -120
  317. package/dist/lib/redisAtomicStore.js +0 -177
  318. package/dist/lib/redisAtomicStore.js.map +0 -1
  319. package/dist/server/relayerHandler.cjs +0 -452
  320. package/dist/server/relayerHandler.cjs.map +0 -1
  321. package/dist/server/relayerHandler.d.ts +0 -69
  322. package/dist/server/relayerHandler.js +0 -428
  323. package/dist/server/relayerHandler.js.map +0 -1
  324. package/dist/tests/abi.test.d.ts +0 -1
  325. package/dist/tests/chains-definitions.test.d.ts +0 -1
  326. package/dist/tests/core-encryption.test.d.ts +0 -1
  327. package/dist/tests/core-extended.test.d.ts +0 -1
  328. package/dist/tests/core-generics-coverage.test.d.ts +0 -1
  329. package/dist/tests/coverage-boost.test.d.ts +0 -1
  330. package/dist/tests/crypto-cross-platform-compatibility.test.d.ts +0 -1
  331. package/dist/tests/data-addfile-permissions-schema.test.d.ts +0 -1
  332. package/dist/tests/data-additional-methods.test.d.ts +0 -1
  333. package/dist/tests/data-controller-edge-cases.test.d.ts +0 -1
  334. package/dist/tests/data-ipfs-gateways.test.d.ts +0 -1
  335. package/dist/tests/data-relayer.test.d.ts +0 -1
  336. package/dist/tests/data-schema-validation.test.d.ts +0 -1
  337. package/dist/tests/data-simple-methods.test.d.ts +0 -1
  338. package/dist/tests/data-upload-owner-validation.test.d.ts +0 -1
  339. package/dist/tests/data.test.d.ts +0 -1
  340. package/dist/tests/demo-integration.test.d.ts +0 -1
  341. package/dist/tests/demo-trusted-server-integration.test.d.ts +0 -1
  342. package/dist/tests/download-relayer.test.d.ts +0 -1
  343. package/dist/tests/dual-mode-permissions.test.d.ts +0 -1
  344. package/dist/tests/dual-mode-trusted-servers.test.d.ts +0 -1
  345. package/dist/tests/encryption-correct-implementation.test.d.ts +0 -1
  346. package/dist/tests/encryption-coverage.test.d.ts +0 -1
  347. package/dist/tests/encryption-edge-cases.test.d.ts +0 -1
  348. package/dist/tests/encryption-utils-updated.test.d.ts +0 -1
  349. package/dist/tests/errors-coverage.test.d.ts +0 -1
  350. package/dist/tests/factories/mockFactory.d.ts +0 -316
  351. package/dist/tests/fakes/FakeStorageManager.d.ts +0 -200
  352. package/dist/tests/fakes/FakeStorageManager.test.d.ts +0 -1
  353. package/dist/tests/fakes/FakeWaitForTransactionEvents.d.ts +0 -170
  354. package/dist/tests/fakes/FakeWaitForTransactionEvents.test.d.ts +0 -1
  355. package/dist/tests/fakes/fake-pgp-port.d.ts +0 -13
  356. package/dist/tests/grantValidation-edge-cases.test.d.ts +0 -1
  357. package/dist/tests/grantValidation-unreachable-branch.test.d.ts +0 -1
  358. package/dist/tests/helper-methods.test.d.ts +0 -1
  359. package/dist/tests/helpers/typedMocks.d.ts +0 -64
  360. package/dist/tests/index-browser.test.d.ts +0 -1
  361. package/dist/tests/index-node.test.d.ts +0 -1
  362. package/dist/tests/index.test.d.ts +0 -1
  363. package/dist/tests/mocks/platformAdapter.d.ts +0 -12
  364. package/dist/tests/new-permissions-methods.test.d.ts +0 -1
  365. package/dist/tests/no-buffer-browser.test.d.ts +0 -1
  366. package/dist/tests/permissions-grantee.test.d.ts +0 -1
  367. package/dist/tests/permissions-revoke-relayer.test.d.ts +0 -1
  368. package/dist/tests/permissions-schema-validation.test.d.ts +0 -1
  369. package/dist/tests/permissions-server-files.test.d.ts +0 -1
  370. package/dist/tests/permissions-transaction-options.test.d.ts +0 -1
  371. package/dist/tests/permissions-trust-servers.test.d.ts +0 -1
  372. package/dist/tests/permissions.test.d.ts +0 -1
  373. package/dist/tests/personal.test.d.ts +0 -1
  374. package/dist/tests/platform-browser.test.d.ts +0 -1
  375. package/dist/tests/platform-crypto-expanded.test.d.ts +0 -1
  376. package/dist/tests/platform-crypto.test.d.ts +0 -1
  377. package/dist/tests/platform-index.test.d.ts +0 -1
  378. package/dist/tests/platform-node.test.d.ts +0 -1
  379. package/dist/tests/platform-shared-utils.test.d.ts +0 -1
  380. package/dist/tests/platform-updated.test.d.ts +0 -1
  381. package/dist/tests/protocol-additional-methods.test.d.ts +0 -1
  382. package/dist/tests/protocol.test.d.ts +0 -1
  383. package/dist/tests/read-only-mode.test.d.ts +0 -1
  384. package/dist/tests/relayer-integration.test.d.ts +0 -1
  385. package/dist/tests/relayer-unified.test.d.ts +0 -1
  386. package/dist/tests/schemas.test.d.ts +0 -1
  387. package/dist/tests/server-relayer-handler.test.d.ts +0 -1
  388. package/dist/tests/signatureFormatter.test.d.ts +0 -1
  389. package/dist/tests/staking.test.d.ts +0 -1
  390. package/dist/tests/trusted-server-queries.test.d.ts +0 -1
  391. package/dist/tests/typedDataConverter.test.d.ts +0 -1
  392. package/dist/tests/types-contracts.test.d.ts +0 -1
  393. package/dist/tests/types-data.test.d.ts +0 -1
  394. package/dist/tests/types-external-apis.test.d.ts +0 -1
  395. package/dist/tests/types-generics.test.d.ts +0 -1
  396. package/dist/tests/types-permissions.test.d.ts +0 -1
  397. package/dist/tests/types-upload-params.test.d.ts +0 -1
  398. package/dist/tests/types.test.d.ts +0 -1
  399. package/dist/tests/utils-formatters.test.d.ts +0 -1
  400. package/dist/tests/utils-grantFiles-edge-cases.test.d.ts +0 -1
  401. package/dist/tests/utils-grantFiles-validation.test.d.ts +0 -1
  402. package/dist/tests/utils-grantFiles.test.d.ts +0 -1
  403. package/dist/tests/utils-grantValidation-consolidated.test.d.ts +0 -1
  404. package/dist/tests/utils-grants.test.d.ts +0 -1
  405. package/dist/tests/utils-ipfs-additional.test.d.ts +0 -1
  406. package/dist/tests/utils-ipfs.test.d.ts +0 -4
  407. package/dist/tests/utils-schemaValidation.test.d.ts +0 -1
  408. package/dist/tests/vana.test.d.ts +0 -1
  409. package/dist/tests/wallet-crypto-compatibility.test.d.ts +0 -1
  410. package/dist/types/atomicStore.cjs.map +0 -1
  411. package/dist/types/atomicStore.d.ts +0 -236
  412. package/dist/types/atomicStore.js +0 -7
  413. package/dist/types/atomicStore.js.map +0 -1
  414. package/dist/types/blockchain.cjs +0 -17
  415. package/dist/types/blockchain.cjs.map +0 -1
  416. package/dist/types/blockchain.d.ts +0 -85
  417. package/dist/types/blockchain.js +0 -1
  418. package/dist/types/blockchain.js.map +0 -1
  419. package/dist/types/controller-context.cjs +0 -17
  420. package/dist/types/controller-context.cjs.map +0 -1
  421. package/dist/types/controller-context.d.ts +0 -68
  422. package/dist/types/controller-context.js +0 -1
  423. package/dist/types/controller-context.js.map +0 -1
  424. package/dist/types/data.cjs +0 -17
  425. package/dist/types/data.cjs.map +0 -1
  426. package/dist/types/data.d.ts +0 -763
  427. package/dist/types/data.js +0 -1
  428. package/dist/types/data.js.map +0 -1
  429. package/dist/types/external-apis.cjs +0 -61
  430. package/dist/types/external-apis.cjs.map +0 -1
  431. package/dist/types/external-apis.d.ts +0 -184
  432. package/dist/types/external-apis.js +0 -34
  433. package/dist/types/external-apis.js.map +0 -1
  434. package/dist/types/generics.cjs +0 -17
  435. package/dist/types/generics.cjs.map +0 -1
  436. package/dist/types/generics.d.ts +0 -518
  437. package/dist/types/generics.js +0 -1
  438. package/dist/types/generics.js.map +0 -1
  439. package/dist/types/operationStore.cjs +0 -17
  440. package/dist/types/operationStore.cjs.map +0 -1
  441. package/dist/types/operationStore.d.ts +0 -171
  442. package/dist/types/operationStore.js +0 -1
  443. package/dist/types/operationStore.js.map +0 -1
  444. package/dist/types/operations.cjs +0 -53
  445. package/dist/types/operations.cjs.map +0 -1
  446. package/dist/types/operations.d.ts +0 -204
  447. package/dist/types/operations.js +0 -26
  448. package/dist/types/operations.js.map +0 -1
  449. package/dist/types/options.cjs +0 -17
  450. package/dist/types/options.cjs.map +0 -1
  451. package/dist/types/options.d.ts +0 -308
  452. package/dist/types/options.js +0 -1
  453. package/dist/types/options.js.map +0 -1
  454. package/dist/types/permissions.cjs +0 -17
  455. package/dist/types/permissions.cjs.map +0 -1
  456. package/dist/types/permissions.d.ts +0 -955
  457. package/dist/types/permissions.js +0 -1
  458. package/dist/types/permissions.js.map +0 -1
  459. package/dist/types/personal.cjs +0 -17
  460. package/dist/types/personal.cjs.map +0 -1
  461. package/dist/types/personal.d.ts +0 -174
  462. package/dist/types/personal.js +0 -1
  463. package/dist/types/personal.js.map +0 -1
  464. package/dist/types/relayer.cjs +0 -17
  465. package/dist/types/relayer.cjs.map +0 -1
  466. package/dist/types/relayer.d.ts +0 -552
  467. package/dist/types/relayer.js +0 -1
  468. package/dist/types/relayer.js.map +0 -1
  469. package/dist/types/transactionResults.cjs +0 -17
  470. package/dist/types/transactionResults.cjs.map +0 -1
  471. package/dist/types/transactionResults.d.ts +0 -193
  472. package/dist/types/transactionResults.js +0 -1
  473. package/dist/types/transactionResults.js.map +0 -1
  474. package/dist/types/utils.cjs +0 -17
  475. package/dist/types/utils.cjs.map +0 -1
  476. package/dist/types/utils.d.ts +0 -771
  477. package/dist/types/utils.js +0 -1
  478. package/dist/types/utils.js.map +0 -1
  479. package/dist/utils/__tests__/chainQuery.test.d.ts +0 -1
  480. package/dist/utils/__tests__/parseTransaction.test.d.ts +0 -1
  481. package/dist/utils/__tests__/pojo-serialization.test.d.ts +0 -1
  482. package/dist/utils/__tests__/signatureCache.test.d.ts +0 -1
  483. package/dist/utils/__tests__/subgraphConsistency.test.d.ts +0 -4
  484. package/dist/utils/__tests__/subgraphPagination.test.d.ts +0 -4
  485. package/dist/utils/__tests__/transaction-edge-cases.test.d.ts +0 -1
  486. package/dist/utils/__tests__/transactionHelpers.test.d.ts +0 -1
  487. package/dist/utils/__tests__/urlResolver.test.d.ts +0 -4
  488. package/dist/utils/blockchain/registry.cjs +0 -81
  489. package/dist/utils/blockchain/registry.cjs.map +0 -1
  490. package/dist/utils/blockchain/registry.d.ts +0 -32
  491. package/dist/utils/blockchain/registry.js +0 -56
  492. package/dist/utils/blockchain/registry.js.map +0 -1
  493. package/dist/utils/blockchain/registry.test.d.ts +0 -1
  494. package/dist/utils/chainQuery.cjs +0 -107
  495. package/dist/utils/chainQuery.cjs.map +0 -1
  496. package/dist/utils/chainQuery.d.ts +0 -31
  497. package/dist/utils/chainQuery.js +0 -82
  498. package/dist/utils/chainQuery.js.map +0 -1
  499. package/dist/utils/download.cjs +0 -69
  500. package/dist/utils/download.cjs.map +0 -1
  501. package/dist/utils/download.d.ts +0 -40
  502. package/dist/utils/download.js +0 -45
  503. package/dist/utils/download.js.map +0 -1
  504. package/dist/utils/encryption.cjs +0 -176
  505. package/dist/utils/encryption.cjs.map +0 -1
  506. package/dist/utils/encryption.d.ts +0 -271
  507. package/dist/utils/encryption.js +0 -142
  508. package/dist/utils/encryption.js.map +0 -1
  509. package/dist/utils/formatters.cjs +0 -55
  510. package/dist/utils/formatters.cjs.map +0 -1
  511. package/dist/utils/formatters.d.ts +0 -118
  512. package/dist/utils/formatters.js +0 -28
  513. package/dist/utils/formatters.js.map +0 -1
  514. package/dist/utils/grantFiles.cjs +0 -181
  515. package/dist/utils/grantFiles.cjs.map +0 -1
  516. package/dist/utils/grantFiles.d.ts +0 -172
  517. package/dist/utils/grantFiles.js +0 -143
  518. package/dist/utils/grantFiles.js.map +0 -1
  519. package/dist/utils/grantValidation.cjs +0 -243
  520. package/dist/utils/grantValidation.cjs.map +0 -1
  521. package/dist/utils/grantValidation.d.ts +0 -226
  522. package/dist/utils/grantValidation.js +0 -201
  523. package/dist/utils/grantValidation.js.map +0 -1
  524. package/dist/utils/grants.cjs +0 -108
  525. package/dist/utils/grants.cjs.map +0 -1
  526. package/dist/utils/grants.d.ts +0 -148
  527. package/dist/utils/grants.js +0 -82
  528. package/dist/utils/grants.js.map +0 -1
  529. package/dist/utils/ipfs.cjs +0 -128
  530. package/dist/utils/ipfs.cjs.map +0 -1
  531. package/dist/utils/ipfs.d.ts +0 -88
  532. package/dist/utils/ipfs.js +0 -97
  533. package/dist/utils/ipfs.js.map +0 -1
  534. package/dist/utils/multicall.cjs +0 -233
  535. package/dist/utils/multicall.cjs.map +0 -1
  536. package/dist/utils/multicall.d.ts +0 -126
  537. package/dist/utils/multicall.js +0 -208
  538. package/dist/utils/multicall.js.map +0 -1
  539. package/dist/utils/parseTransactionPojo.cjs +0 -87
  540. package/dist/utils/parseTransactionPojo.cjs.map +0 -1
  541. package/dist/utils/parseTransactionPojo.d.ts +0 -31
  542. package/dist/utils/parseTransactionPojo.js +0 -63
  543. package/dist/utils/parseTransactionPojo.js.map +0 -1
  544. package/dist/utils/schemaValidation.cjs +0 -258
  545. package/dist/utils/schemaValidation.cjs.map +0 -1
  546. package/dist/utils/schemaValidation.d.ts +0 -168
  547. package/dist/utils/schemaValidation.js +0 -219
  548. package/dist/utils/schemaValidation.js.map +0 -1
  549. package/dist/utils/signatureCache.cjs +0 -192
  550. package/dist/utils/signatureCache.cjs.map +0 -1
  551. package/dist/utils/signatureCache.d.ts +0 -172
  552. package/dist/utils/signatureCache.js +0 -167
  553. package/dist/utils/signatureCache.js.map +0 -1
  554. package/dist/utils/signatureFormatter.cjs +0 -42
  555. package/dist/utils/signatureFormatter.cjs.map +0 -1
  556. package/dist/utils/signatureFormatter.d.ts +0 -36
  557. package/dist/utils/signatureFormatter.js +0 -18
  558. package/dist/utils/signatureFormatter.js.map +0 -1
  559. package/dist/utils/subgraphConsistency.cjs +0 -184
  560. package/dist/utils/subgraphConsistency.cjs.map +0 -1
  561. package/dist/utils/subgraphConsistency.d.ts +0 -65
  562. package/dist/utils/subgraphConsistency.js +0 -155
  563. package/dist/utils/subgraphConsistency.js.map +0 -1
  564. package/dist/utils/subgraphMetaCache.cjs +0 -101
  565. package/dist/utils/subgraphMetaCache.cjs.map +0 -1
  566. package/dist/utils/subgraphMetaCache.d.ts +0 -56
  567. package/dist/utils/subgraphMetaCache.js +0 -76
  568. package/dist/utils/subgraphMetaCache.js.map +0 -1
  569. package/dist/utils/subgraphPagination.cjs +0 -104
  570. package/dist/utils/subgraphPagination.cjs.map +0 -1
  571. package/dist/utils/subgraphPagination.d.ts +0 -78
  572. package/dist/utils/subgraphPagination.js +0 -78
  573. package/dist/utils/subgraphPagination.js.map +0 -1
  574. package/dist/utils/tests/multicall.test.d.ts +0 -1
  575. package/dist/utils/transactionHelpers.cjs +0 -54
  576. package/dist/utils/transactionHelpers.cjs.map +0 -1
  577. package/dist/utils/transactionHelpers.d.ts +0 -80
  578. package/dist/utils/transactionHelpers.js +0 -29
  579. package/dist/utils/transactionHelpers.js.map +0 -1
  580. package/dist/utils/typeGuards.cjs +0 -109
  581. package/dist/utils/typeGuards.cjs.map +0 -1
  582. package/dist/utils/typeGuards.d.ts +0 -138
  583. package/dist/utils/typeGuards.js +0 -74
  584. package/dist/utils/typeGuards.js.map +0 -1
  585. package/dist/utils/typedDataConverter.cjs +0 -43
  586. package/dist/utils/typedDataConverter.cjs.map +0 -1
  587. package/dist/utils/typedDataConverter.d.ts +0 -46
  588. package/dist/utils/typedDataConverter.js +0 -19
  589. package/dist/utils/typedDataConverter.js.map +0 -1
  590. package/dist/utils/urlResolver.cjs +0 -62
  591. package/dist/utils/urlResolver.cjs.map +0 -1
  592. package/dist/utils/urlResolver.d.ts +0 -56
  593. package/dist/utils/urlResolver.js +0 -37
  594. package/dist/utils/urlResolver.js.map +0 -1
  595. package/dist/utils/wallet.cjs +0 -63
  596. package/dist/utils/wallet.cjs.map +0 -1
  597. package/dist/utils/wallet.d.ts +0 -94
  598. package/dist/utils/wallet.js +0 -37
  599. package/dist/utils/wallet.js.map +0 -1
  600. package/dist/utils/withEvents.cjs +0 -44
  601. package/dist/utils/withEvents.cjs.map +0 -1
  602. package/dist/utils/withEvents.d.ts +0 -56
  603. package/dist/utils/withEvents.js +0 -18
  604. package/dist/utils/withEvents.js.map +0 -1
  605. /package/dist/{__tests__/waitForTransactionEvents.test.d.ts → auth/pkce.test.d.ts} +0 -0
  606. /package/dist/{client/__tests__/enhancedResponse.test.d.ts → auth/token-store.test.d.ts} +0 -0
  607. /package/dist/{controllers/__tests__/operations.processQueue.test.d.ts → auth/web3-signed.test.d.ts} +0 -0
  608. /package/dist/{controllers/__tests__/schemas-edge-cases.test.d.ts → crypto/envelope/openpgp.test.d.ts} +0 -0
  609. /package/dist/{controllers/data-error-handling.test.d.ts → crypto/keys/derive.test.d.ts} +0 -0
  610. /package/dist/{tests/errors.test.d.ts → errors.test.d.ts} +0 -0
  611. /package/dist/{controllers/server-additional.test.d.ts → protocol/data-file.test.d.ts} +0 -0
  612. /package/dist/{core/__tests__/health.test.d.ts → protocol/eip712.test.d.ts} +0 -0
  613. /package/dist/{core/__tests__/inMemoryNonceManager.test.d.ts → protocol/gateway.test.d.ts} +0 -0
  614. /package/dist/{core/__tests__/nonceManager.test.d.ts → protocol/scopes.test.d.ts} +0 -0
  615. /package/dist/{core/core.test.d.ts → storage/tests/defaultStorage.test.d.ts} +0 -0
  616. /package/dist/{core/tests/apiClient.test.d.ts → storage/tests/r2Storage.test.d.ts} +0 -0
  617. /package/dist/{core/tests/client.test.d.ts → storage/tests/vanaStorage.test.d.ts} +0 -0
  618. /package/dist/{core/tests/generics.test.d.ts → types/ps-errors.test.d.ts} +0 -0
@@ -1,624 +0,0 @@
1
- import { SERVER_PATHS } from "../generated/server/server-exports";
2
- import {
3
- NetworkError,
4
- SerializationError,
5
- SignatureError,
6
- PersonalServerError
7
- } from "../errors";
8
- import { BaseController } from "./base";
9
- import { SignatureCache } from "../utils/signatureCache";
10
- class ServerController extends BaseController {
11
- constructor(context) {
12
- super(context);
13
- }
14
- get personalServerBaseUrl() {
15
- if (!this.context.defaultPersonalServerUrl) {
16
- throw new PersonalServerError(
17
- "Personal server URL is required for server operations. Please configure defaultPersonalServerUrl in your VanaConfig."
18
- );
19
- }
20
- let url = this.context.defaultPersonalServerUrl;
21
- if (url.endsWith("/api/v1")) {
22
- url = url.slice(0, -7);
23
- }
24
- return url;
25
- }
26
- /**
27
- * Retrieves cryptographic identity for a personal server.
28
- *
29
- * @remarks
30
- * Fetches public key and metadata required for data encryption.
31
- * Identity cached by infrastructure for offline retrieval.
32
- * Each user address maps to deterministic server identity.
33
- *
34
- * @param request - Identity request parameters
35
- * @param request.userAddress - Wallet address of server owner
36
- *
37
- * @returns Server identity with public key and metadata
38
- *
39
- * @throws {NetworkError} Identity service unavailable.
40
- * Check network connection and server URL configuration.
41
- * @throws {PersonalServerError} Identity retrieval failed.
42
- * Verify user address and server registration.
43
- *
44
- * @example
45
- * ```typescript
46
- * const identity = await vana.server.getIdentity({
47
- * userAddress: "0x742d35Cc6558Fd4D9e9E0E888F0462ef6919Bd36"
48
- * });
49
- *
50
- * console.log(`Server: ${identity.name}`);
51
- * console.log(`Address: ${identity.address}`);
52
- * console.log(`Public Key: ${identity.publicKey}`);
53
- *
54
- * // Use for encryption before data sharing
55
- * const encrypted = await encryptWithPublicKey(
56
- * data,
57
- * identity.publicKey
58
- * );
59
- * ```
60
- */
61
- async getIdentity(request) {
62
- try {
63
- const response = await fetch(
64
- `${this.personalServerBaseUrl}${SERVER_PATHS.identity}?address=${request.userAddress}`,
65
- {
66
- method: "GET",
67
- headers: {
68
- "Content-Type": "application/json"
69
- }
70
- }
71
- );
72
- console.debug("\u{1F50D} Debug - getIdentity response", response);
73
- if (!response.ok) {
74
- const errorText = await response.text();
75
- throw new NetworkError(
76
- `Local identity API request failed: ${response.status} ${response.statusText} - ${errorText}`
77
- );
78
- }
79
- const serverResponse = await response.json();
80
- return {
81
- kind: serverResponse.personal_server.kind,
82
- address: serverResponse.personal_server.address,
83
- publicKey: serverResponse.personal_server.public_key,
84
- baseUrl: this.personalServerBaseUrl,
85
- name: "Hosted Vana Server"
86
- };
87
- } catch (error) {
88
- if (error instanceof NetworkError || error instanceof PersonalServerError) {
89
- throw error;
90
- }
91
- throw new PersonalServerError(
92
- `Failed to get personal server identity: ${error instanceof Error ? error.message : "Unknown error"}`
93
- );
94
- }
95
- }
96
- /**
97
- * Creates a server operation and returns its details from the OpenAPI schema.
98
- *
99
- * @remarks
100
- * This method submits a computation request to the personal server and returns
101
- * the server's CreateOperationResponse. The response contains the operation ID
102
- * which can be used with `waitForOperation()` to poll for completion.
103
- *
104
- * @param params - The operation request parameters
105
- * @param params.permissionId - The permission ID authorizing this operation.
106
- * Obtain via `vana.permissions.getUserPermissionGrantsOnChain()`.
107
- * @returns Server response with operation ID
108
- * @throws {PersonalServerError} When the server request fails or parameters are invalid
109
- * @throws {NetworkError} When personal server API communication fails
110
- * @example
111
- * ```typescript
112
- * const response = await vana.server.createOperation({
113
- * permissionId: 123
114
- * });
115
- * console.log(`Operation ID: ${response.id}`);
116
- *
117
- * // Wait for completion
118
- * const result = await vana.server.waitForOperation(response.id);
119
- * console.log("Result:", result.result);
120
- * ```
121
- */
122
- async createOperation(params) {
123
- this.assertWallet();
124
- try {
125
- const requestData = {
126
- permission_id: params.permissionId
127
- };
128
- const requestJson = JSON.stringify(requestData);
129
- const signature = await this.createSignature(requestJson);
130
- const requestBody = {
131
- app_signature: signature,
132
- operation_request_json: requestJson
133
- };
134
- console.debug("\u{1F50D} Debug - createOperation requestBody", requestBody);
135
- const response = await this.makeRequest(requestBody);
136
- return response;
137
- } catch (error) {
138
- if (error instanceof Error) {
139
- if (error instanceof NetworkError || error instanceof SerializationError || error instanceof SignatureError || error instanceof PersonalServerError) {
140
- throw error;
141
- }
142
- throw new PersonalServerError(
143
- `Personal server operation creation failed: ${error.message}`,
144
- error
145
- );
146
- }
147
- throw new PersonalServerError(
148
- "Personal server operation creation failed with unknown error"
149
- );
150
- }
151
- }
152
- /**
153
- * Retrieves the current status and result of a server operation.
154
- *
155
- * @remarks
156
- * Common status values: `starting`, `processing`, `succeeded`, `failed`, `canceled`.
157
- * When status is `succeeded`, the result field contains the operation output.
158
- * Returns the server response directly from the OpenAPI schema.
159
- *
160
- * @param operationId - The ID of the operation to query
161
- * @returns The operation status response from the server
162
- * @throws {NetworkError} When the API request fails or returns invalid data
163
- * @example
164
- * ```typescript
165
- * const operation = await vana.server.getOperation(operationId);
166
- * if (operation.status === 'succeeded') {
167
- * console.log('Result:', operation.result);
168
- * console.log('Started at:', operation.started_at);
169
- * console.log('Finished at:', operation.finished_at);
170
- * }
171
- * ```
172
- */
173
- async getOperation(operationId) {
174
- try {
175
- console.debug("Polling Operation Status:", operationId);
176
- const response = await fetch(
177
- `${this.personalServerBaseUrl}${SERVER_PATHS.getOperation(operationId)}`,
178
- {
179
- method: "GET",
180
- headers: {
181
- "Content-Type": "application/json"
182
- }
183
- }
184
- );
185
- if (!response.ok) {
186
- const errorText = await response.text();
187
- console.debug("Polling Error Response:", {
188
- status: response.status,
189
- statusText: response.statusText,
190
- error: errorText
191
- });
192
- throw new NetworkError(
193
- `Status polling failed: ${response.status} ${response.statusText} - ${errorText}`
194
- );
195
- }
196
- const data = await response.json();
197
- console.debug("Polling Success Response:", data);
198
- return data;
199
- } catch (error) {
200
- if (error instanceof NetworkError) {
201
- throw error;
202
- }
203
- throw new NetworkError(
204
- `Failed to poll status: ${error instanceof Error ? error.message : "Unknown error"}`
205
- );
206
- }
207
- }
208
- /**
209
- * Waits for an operation to complete and returns the final result.
210
- *
211
- * @remarks
212
- * This method polls the operation status at regular intervals until it
213
- * reaches a terminal state (succeeded, failed, or canceled). Supports
214
- * ergonomic overloads to accept either an Operation object or just the ID.
215
- * Returns the server response directly from the OpenAPI schema.
216
- *
217
- * @param opOrId - Either an Operation object or operation ID string
218
- * @param options - Optional polling configuration
219
- * @returns The completed operation with result and timestamp data
220
- * @throws {PersonalServerError} When the operation fails or times out
221
- * @example
222
- * ```typescript
223
- * // Using operation object
224
- * const operation = await vana.server.createOperation({ permissionId: 123 });
225
- * const completed = await vana.server.waitForOperation(operation);
226
- *
227
- * // Using just the ID
228
- * const completed = await vana.server.waitForOperation("op_abc123");
229
- *
230
- * // With custom timeout
231
- * const completed = await vana.server.waitForOperation(operation, {
232
- * timeout: 60000,
233
- * pollingInterval: 1000
234
- * });
235
- *
236
- * // Access server-provided timestamps
237
- * console.log('Started:', completed.started_at);
238
- * console.log('Finished:', completed.finished_at);
239
- * ```
240
- */
241
- async waitForOperation(opOrId, options) {
242
- const id = typeof opOrId === "string" ? opOrId : opOrId.id;
243
- const startTime = Date.now();
244
- const timeout = options?.timeout ?? 3e4;
245
- const interval = options?.pollingInterval ?? 500;
246
- while (true) {
247
- const operation = await this.getOperation(id);
248
- if (operation.status === "succeeded") {
249
- return operation;
250
- }
251
- if (operation.status === "failed") {
252
- let errorMessage = "Unknown error";
253
- if (operation.result) {
254
- const resultObj = operation.result;
255
- errorMessage = typeof resultObj.error === "string" ? resultObj.error : typeof resultObj.detail === "string" ? resultObj.detail : JSON.stringify(operation.result);
256
- }
257
- throw new PersonalServerError(
258
- `Operation ${operation.status}: ${errorMessage}`
259
- );
260
- }
261
- if (operation.status === "canceled") {
262
- throw new PersonalServerError(`Operation was canceled`);
263
- }
264
- if (Date.now() - startTime > timeout) {
265
- throw new PersonalServerError(`Operation timed out after ${timeout}ms`);
266
- }
267
- await new Promise((resolve) => setTimeout(resolve, interval));
268
- }
269
- }
270
- /**
271
- * Downloads an artifact generated by a server operation.
272
- *
273
- * @remarks
274
- * Artifacts are files generated during operations like Gemini agent analysis.
275
- * The download requires authentication using the application's signature.
276
- * This method returns the artifact as a Blob that can be saved or processed.
277
- *
278
- * **Simplified Signature Scheme:**
279
- * The signature is generated over the operation ID only, allowing a single signature
280
- * to be reused for listing and downloading multiple artifacts from the same operation.
281
- * This simplifies client implementation while maintaining security - access to the
282
- * operation ID grants access to all artifacts.
283
- *
284
- * @param params - The download parameters
285
- * @param params.operationId - The operation ID that generated the artifact
286
- * @param params.artifactPath - The path to the artifact file to download
287
- * @returns A Blob containing the artifact data
288
- * @throws {PersonalServerError} When the artifact cannot be downloaded or doesn't exist
289
- * @throws {NetworkError} When unable to reach the personal server API
290
- * @throws {SignatureError} When unable to create the required signature
291
- * @example
292
- * ```typescript
293
- * // Download an artifact after a Gemini operation
294
- * const blob = await vana.server.downloadArtifact({
295
- * operationId: 'op_123',
296
- * artifactPath: 'analysis_report.pdf'
297
- * });
298
- *
299
- * // Save to file in Node.js
300
- * const buffer = await blob.arrayBuffer();
301
- * fs.writeFileSync('report.pdf', Buffer.from(buffer));
302
- *
303
- * // Or create download link in browser
304
- * const url = URL.createObjectURL(blob);
305
- * const a = document.createElement('a');
306
- * a.href = url;
307
- * a.download = 'report.pdf';
308
- * a.click();
309
- * ```
310
- */
311
- async downloadArtifact(params) {
312
- this.assertWallet();
313
- try {
314
- const signatureData = {
315
- operation_id: params.operationId
316
- };
317
- const requestJson = JSON.stringify(signatureData);
318
- const messageHash = SignatureCache.hashMessage(signatureData);
319
- let signature = SignatureCache.get(
320
- this.context.platform.cache,
321
- this.getAccountAddress(),
322
- messageHash
323
- );
324
- if (!signature) {
325
- signature = await this.createSignature(requestJson);
326
- SignatureCache.set(
327
- this.context.platform.cache,
328
- this.getAccountAddress(),
329
- messageHash,
330
- signature,
331
- 24
332
- // Cache for 24 hours since operation_id doesn't change
333
- );
334
- }
335
- const requestBody = {
336
- operation_id: params.operationId,
337
- artifact_path: params.artifactPath,
338
- signature
339
- };
340
- const response = await fetch(
341
- `${this.personalServerBaseUrl}${SERVER_PATHS.downloadArtifact}`,
342
- {
343
- method: "POST",
344
- headers: {
345
- "Content-Type": "application/json"
346
- },
347
- body: JSON.stringify(requestBody)
348
- }
349
- );
350
- if (!response.ok) {
351
- const errorText = await response.text();
352
- throw new PersonalServerError(
353
- `Artifact download failed: ${response.status} ${response.statusText} - ${errorText}`
354
- );
355
- }
356
- return await response.blob();
357
- } catch (error) {
358
- if (error instanceof NetworkError || error instanceof PersonalServerError || error instanceof SignatureError) {
359
- throw error;
360
- }
361
- throw new PersonalServerError(
362
- `Failed to download artifact: ${error instanceof Error ? error.message : "Unknown error"}`
363
- );
364
- }
365
- }
366
- /**
367
- * Lists all artifacts generated by a server operation.
368
- *
369
- * @remarks
370
- * Retrieves metadata for all artifact files produced by an operation,
371
- * including file paths, sizes, and content types. This provides visibility
372
- * into available outputs without downloading them.
373
- *
374
- * **Simplified Signature Scheme:**
375
- * Uses the same signature as downloadArtifact - signs only operation_id.
376
- * This allows reusing the same signature for listing and downloading.
377
- *
378
- * @param operationId - The operation ID that generated the artifacts
379
- * @returns Promise resolving to array of artifact metadata objects
380
- * @throws {PersonalServerError} When artifacts cannot be listed
381
- * @throws {NetworkError} When unable to reach the personal server API
382
- * @throws {SignatureError} When unable to create the required signature
383
- * @example
384
- * ```typescript
385
- * // List artifacts from a Gemini operation
386
- * const artifacts = await vana.server.listArtifacts('op_123');
387
- *
388
- * console.log(`Found ${artifacts.length} artifacts:`);
389
- * artifacts.forEach(artifact => {
390
- * console.log(`- ${artifact.path} (${artifact.size} bytes)`);
391
- * });
392
- *
393
- * // Download a specific artifact
394
- * const blob = await vana.server.downloadArtifact({
395
- * operationId: 'op_123',
396
- * artifactPath: artifacts[0].path
397
- * });
398
- * ```
399
- */
400
- async listArtifacts(operationId) {
401
- this.assertWallet();
402
- try {
403
- const signatureData = {
404
- operation_id: operationId
405
- };
406
- const requestJson = JSON.stringify(signatureData);
407
- const messageHash = SignatureCache.hashMessage(signatureData);
408
- let signature = SignatureCache.get(
409
- this.context.platform.cache,
410
- this.getAccountAddress(),
411
- messageHash
412
- );
413
- if (!signature) {
414
- signature = await this.createSignature(requestJson);
415
- SignatureCache.set(
416
- this.context.platform.cache,
417
- this.getAccountAddress(),
418
- messageHash,
419
- signature,
420
- 24
421
- // Cache for 24 hours since operation_id doesn't change
422
- );
423
- }
424
- const requestBody = {
425
- operation_id: operationId,
426
- signature
427
- };
428
- const response = await fetch(
429
- `${this.personalServerBaseUrl}${SERVER_PATHS.listArtifacts(operationId)}`,
430
- {
431
- method: "POST",
432
- headers: {
433
- "Content-Type": "application/json"
434
- },
435
- body: JSON.stringify(requestBody)
436
- }
437
- );
438
- if (!response.ok) {
439
- const errorText = await response.text();
440
- throw new PersonalServerError(
441
- `Failed to list artifacts: ${response.status} ${response.statusText} - ${errorText}`
442
- );
443
- }
444
- const data = await response.json();
445
- return data.artifacts ?? [];
446
- } catch (error) {
447
- if (error instanceof NetworkError || error instanceof PersonalServerError || error instanceof SignatureError) {
448
- throw error;
449
- }
450
- throw new PersonalServerError(
451
- `Failed to list artifacts: ${error instanceof Error ? error.message : "Unknown error"}`
452
- );
453
- }
454
- }
455
- /**
456
- * Cancels a running operation on the personal server.
457
- *
458
- * @remarks
459
- * This method attempts to cancel an operation that is currently processing
460
- * on the personal server. The operation must be in a cancellable state
461
- * (typically `starting` or `processing`). Not all operations support
462
- * cancellation, and cancellation may not be immediate. The server will
463
- * attempt to stop the operation and update its status to `canceled`.
464
- *
465
- * **Cancellation Behavior:**
466
- * - Operations in `succeeded` or `failed` states cannot be canceled
467
- * - Some long-running operations may take time to respond to cancellation
468
- * - Always verify cancellation by polling the operation status afterward
469
- *
470
- * @param operationId - The unique identifier of the operation to cancel,
471
- * obtained from `createOperation()` response
472
- * @returns Promise that resolves when the cancellation request is accepted
473
- * @throws {PersonalServerError} When the operation cannot be canceled or doesn't exist.
474
- * Check operation status - it may already be completed or failed.
475
- * @throws {NetworkError} When unable to reach the personal server API.
476
- * Verify server URL and network connectivity.
477
- * @example
478
- * ```typescript
479
- * // Start a long-running operation
480
- * const operation = await vana.server.createOperation({
481
- * permissionId: 123
482
- * });
483
- *
484
- * // Cancel if needed
485
- * try {
486
- * await vana.server.cancelOperation(operation.id);
487
- * console.log("Cancellation requested");
488
- *
489
- * // Verify cancellation
490
- * const status = await vana.server.getOperation(operation.id);
491
- * if (status.status === "canceled") {
492
- * console.log("Operation successfully canceled");
493
- * }
494
- * } catch (error) {
495
- * console.error("Failed to cancel:", error);
496
- * }
497
- * ```
498
- */
499
- async cancelOperation(operationId) {
500
- try {
501
- const response = await fetch(
502
- `${this.personalServerBaseUrl}${SERVER_PATHS.cancelOperation(operationId)}`,
503
- {
504
- method: "POST"
505
- }
506
- );
507
- if (!response.ok) {
508
- const errorText = await response.text();
509
- throw new PersonalServerError(
510
- `Failed to cancel operation: ${response.status} ${response.statusText} - ${errorText}`
511
- );
512
- }
513
- } catch (error) {
514
- if (error instanceof NetworkError) {
515
- throw error;
516
- }
517
- throw new NetworkError(
518
- `Failed to cancel operation: ${error instanceof Error ? error.message : "Unknown error"}`
519
- );
520
- }
521
- }
522
- /**
523
- * Makes the request to the personal server API.
524
- *
525
- * @param requestBody - The post request parameters to serialize
526
- * @returns JSON string representation of the request data
527
- */
528
- async makeRequest(requestBody) {
529
- try {
530
- console.debug("Personal Server Request:", {
531
- url: `${this.personalServerBaseUrl}${SERVER_PATHS.operations}`,
532
- method: "POST",
533
- headers: {
534
- "Content-Type": "application/json"
535
- },
536
- body: requestBody
537
- });
538
- const response = await fetch(
539
- `${this.personalServerBaseUrl}${SERVER_PATHS.operations}`,
540
- {
541
- method: "POST",
542
- headers: {
543
- "Content-Type": "application/json"
544
- },
545
- body: JSON.stringify(requestBody)
546
- }
547
- );
548
- if (!response.ok) {
549
- const errorText = await response.text();
550
- console.debug("Personal Server Error Response:", {
551
- status: response.status,
552
- statusText: response.statusText,
553
- error: errorText
554
- });
555
- throw new NetworkError(
556
- `Personal server API request failed: ${response.status} ${response.statusText} - ${errorText}`
557
- );
558
- }
559
- const data = await response.json();
560
- console.debug("Personal Server Success Response:", data);
561
- return data;
562
- } catch (error) {
563
- if (error instanceof NetworkError) {
564
- throw error;
565
- }
566
- throw new NetworkError(
567
- `Failed to make personal server API request: ${error instanceof Error ? error.message : "Unknown error"}`
568
- );
569
- }
570
- }
571
- /**
572
- * Gets the account address from the wallet client.
573
- *
574
- * @returns The account address
575
- * @throws {Error} When no account is available
576
- */
577
- getAccountAddress() {
578
- const client = this.context.applicationClient ?? this.context.walletClient;
579
- if (!client) {
580
- throw new Error("No client available for getting account address");
581
- }
582
- const { account } = client;
583
- if (!account) {
584
- throw new Error("No account available");
585
- }
586
- return typeof account === "string" ? account : account.address;
587
- }
588
- /**
589
- * Creates a signature for the request JSON.
590
- *
591
- * @param requestJson - The JSON string to sign
592
- * @returns Promise resolving to the cryptographic signature
593
- */
594
- async createSignature(requestJson) {
595
- try {
596
- console.debug("\u{1F50D} Debug - createSignature", requestJson);
597
- const client = this.context.applicationClient ?? this.context.walletClient;
598
- if (!client) {
599
- throw new SignatureError("No client available for signing");
600
- }
601
- const { account } = client;
602
- if (!account) {
603
- throw new SignatureError("No account available for signing");
604
- }
605
- console.debug("\u{1F50D} Debug - createSignature account", account);
606
- const signature = await client.signMessage({
607
- account,
608
- message: requestJson
609
- });
610
- return signature;
611
- } catch (error) {
612
- if (error instanceof Error && error.message.includes("User rejected")) {
613
- throw new SignatureError("User rejected the signature request");
614
- }
615
- throw new SignatureError(
616
- `Failed to create signature: ${error instanceof Error ? error.message : "Unknown error"}`
617
- );
618
- }
619
- }
620
- }
621
- export {
622
- ServerController
623
- };
624
- //# sourceMappingURL=server.js.map