@opendatalabs/vana-sdk 0.1.0-alpha.2dd2718 → 0.1.0-alpha.2e569eb

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 (65) hide show
  1. package/dist/controllers/data.cjs +6 -0
  2. package/dist/controllers/data.cjs.map +1 -1
  3. package/dist/controllers/data.d.ts +14 -7
  4. package/dist/controllers/data.js +6 -0
  5. package/dist/controllers/data.js.map +1 -1
  6. package/dist/controllers/permissions.cjs +70 -11
  7. package/dist/controllers/permissions.cjs.map +1 -1
  8. package/dist/controllers/permissions.d.ts +18 -0
  9. package/dist/controllers/permissions.js +70 -11
  10. package/dist/controllers/permissions.js.map +1 -1
  11. package/dist/controllers/schemas.cjs +69 -0
  12. package/dist/controllers/schemas.cjs.map +1 -1
  13. package/dist/controllers/schemas.d.ts +39 -0
  14. package/dist/controllers/schemas.js +69 -0
  15. package/dist/controllers/schemas.js.map +1 -1
  16. package/dist/controllers/server.cjs +251 -42
  17. package/dist/controllers/server.cjs.map +1 -1
  18. package/dist/controllers/server.d.ts +111 -14
  19. package/dist/controllers/server.js +251 -42
  20. package/dist/controllers/server.js.map +1 -1
  21. package/dist/core.cjs.map +1 -1
  22. package/dist/core.d.ts +1 -1
  23. package/dist/core.js.map +1 -1
  24. package/dist/generated/server/server-exports.cjs +22 -0
  25. package/dist/generated/server/server-exports.cjs.map +1 -1
  26. package/dist/generated/server/server-exports.d.ts +27 -10
  27. package/dist/generated/server/server-exports.js +17 -0
  28. package/dist/generated/server/server-exports.js.map +1 -1
  29. package/dist/generated/server/server.cjs.map +1 -1
  30. package/dist/generated/server/server.d.ts +771 -402
  31. package/dist/server/relayerHandler.cjs.map +1 -1
  32. package/dist/server/relayerHandler.d.ts +1 -1
  33. package/dist/server/relayerHandler.js.map +1 -1
  34. package/dist/storage/index.cjs +3 -0
  35. package/dist/storage/index.cjs.map +1 -1
  36. package/dist/storage/index.d.ts +1 -0
  37. package/dist/storage/index.js +2 -0
  38. package/dist/storage/index.js.map +1 -1
  39. package/dist/storage/providers/dropbox.cjs +237 -0
  40. package/dist/storage/providers/dropbox.cjs.map +1 -0
  41. package/dist/storage/providers/dropbox.d.ts +39 -0
  42. package/dist/storage/providers/dropbox.js +215 -0
  43. package/dist/storage/providers/dropbox.js.map +1 -0
  44. package/dist/storage/providers/dropbox.test.d.ts +1 -0
  45. package/dist/tests/data-upload-owner-validation.test.d.ts +1 -0
  46. package/dist/types/controller-context.cjs.map +1 -1
  47. package/dist/types/controller-context.d.ts +1 -1
  48. package/dist/types/index.cjs.map +1 -1
  49. package/dist/types/index.d.ts +2 -2
  50. package/dist/types/index.js.map +1 -1
  51. package/dist/types/operations.cjs +3 -15
  52. package/dist/types/operations.cjs.map +1 -1
  53. package/dist/types/operations.d.ts +16 -42
  54. package/dist/types/operations.js +2 -13
  55. package/dist/types/operations.js.map +1 -1
  56. package/dist/types/permissions.cjs.map +1 -1
  57. package/dist/types/permissions.d.ts +2 -0
  58. package/dist/types/personal.cjs.map +1 -1
  59. package/dist/types/personal.d.ts +19 -0
  60. package/dist/utils/__tests__/chainQuery.test.d.ts +1 -0
  61. package/dist/utils/grantFiles.cjs +4 -1
  62. package/dist/utils/grantFiles.cjs.map +1 -1
  63. package/dist/utils/grantFiles.js +4 -1
  64. package/dist/utils/grantFiles.js.map +1 -1
  65. package/package.json +1 -1
@@ -2723,19 +2723,53 @@ class PermissionsController extends import_base.BaseController {
2723
2723
  const total = Number(totalCount);
2724
2724
  const limit = options.limit ?? 50;
2725
2725
  const offset = options.offset ?? 0;
2726
- const endIndex = Math.min(offset + limit, total);
2726
+ const includePermissions = options.includePermissions ?? true;
2727
+ const startId = total - offset;
2728
+ const endId = Math.max(startId - limit + 1, 1);
2727
2729
  const granteeIds = Array.from(
2728
- { length: endIndex - offset },
2729
- (_, i) => offset + i + 1
2730
- // Grantee IDs are 1-indexed
2731
- );
2732
- const granteePromises = granteeIds.map(
2733
- (granteeId) => this.getGranteeById(granteeId)
2734
- );
2735
- const granteeResults = await Promise.all(granteePromises);
2736
- const grantees = granteeResults.filter(
2737
- (grantee) => grantee !== null
2730
+ { length: startId - endId + 1 },
2731
+ (_, i) => startId - i
2732
+ // Generate IDs in descending order
2738
2733
  );
2734
+ let grantees;
2735
+ if (includePermissions) {
2736
+ const granteePromises = granteeIds.map(
2737
+ (granteeId) => this.getGranteeById(granteeId)
2738
+ );
2739
+ const granteeResults = await Promise.all(granteePromises);
2740
+ grantees = granteeResults.filter(
2741
+ (grantee) => grantee !== null
2742
+ );
2743
+ } else {
2744
+ const granteeInfoPromises = granteeIds.map(
2745
+ async (granteeId) => {
2746
+ try {
2747
+ const granteeInfo = await this.context.publicClient.readContract({
2748
+ address: DataPortabilityGranteesAddress,
2749
+ abi: DataPortabilityGranteesAbi,
2750
+ functionName: "granteesV2",
2751
+ args: [BigInt(granteeId)]
2752
+ });
2753
+ const grantee = {
2754
+ id: granteeId,
2755
+ owner: granteeInfo.owner,
2756
+ address: granteeInfo.granteeAddress,
2757
+ publicKey: granteeInfo.publicKey,
2758
+ permissionIds: []
2759
+ // TypeScript infers number[] from Grantee type
2760
+ };
2761
+ return grantee;
2762
+ } catch (error) {
2763
+ console.warn(`Failed to fetch grantee ${granteeId}:`, error);
2764
+ return null;
2765
+ }
2766
+ }
2767
+ );
2768
+ const granteeInfoResults = await Promise.all(granteeInfoPromises);
2769
+ grantees = granteeInfoResults.filter(
2770
+ (grantee) => grantee !== null
2771
+ );
2772
+ }
2739
2773
  return {
2740
2774
  grantees,
2741
2775
  total,
@@ -3241,6 +3275,31 @@ class PermissionsController extends import_base.BaseController {
3241
3275
  );
3242
3276
  }
3243
3277
  }
3278
+ /**
3279
+ * Retrieves detailed grant file data from IPFS or HTTP storage.
3280
+ *
3281
+ * @remarks
3282
+ * This method automatically uses the SDK's configured downloadRelayer to bypass CORS restrictions.
3283
+ * Use this instead of importing the standalone `retrieveGrantFile` utility.
3284
+ *
3285
+ * @param grantUrl - The grant file URL (from OnChainPermissionGrant.grantUrl)
3286
+ * @returns Promise resolving to the complete grant file with operation details
3287
+ * @throws {NetworkError} When all retrieval attempts fail
3288
+ * @example
3289
+ * ```typescript
3290
+ * const grants = await vana.permissions.getUserPermissionGrantsOnChain();
3291
+ * const grantFile = await vana.permissions.retrieveGrantFile(grants[0].grantUrl);
3292
+ * console.log(`Operation: ${grantFile.operation}`);
3293
+ * ```
3294
+ */
3295
+ async retrieveGrantFile(grantUrl) {
3296
+ const { retrieveGrantFile: retrieveGrantFileUtil } = await import("../utils/grantFiles");
3297
+ return retrieveGrantFileUtil(
3298
+ grantUrl,
3299
+ void 0,
3300
+ this.context.downloadRelayer
3301
+ );
3302
+ }
3244
3303
  /**
3245
3304
  * Get all permissions for a specific file (alias for getFilePermissionIds)
3246
3305
  *