@lumeweb/pinner 0.0.1 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +707 -28
  3. package/dist/cjs/_virtual/rolldown_runtime.cjs +29 -0
  4. package/dist/cjs/adapters/pinata/index.cjs +6 -0
  5. package/dist/cjs/adapters/pinata/legacy/adapter.cjs +83 -0
  6. package/dist/cjs/adapters/pinata/legacy/adapter.cjs.map +1 -0
  7. package/dist/cjs/adapters/pinata/legacy/adapter.d.cts +74 -0
  8. package/dist/cjs/adapters/pinata/legacy/index.cjs +1 -0
  9. package/dist/cjs/adapters/pinata/shared/index.cjs +1 -0
  10. package/dist/cjs/adapters/pinata/shared/types.d.cts +218 -0
  11. package/dist/cjs/adapters/pinata/shared/utils.cjs +83 -0
  12. package/dist/cjs/adapters/pinata/shared/utils.cjs.map +1 -0
  13. package/dist/cjs/adapters/pinata/v2/adapter-interface.d.cts +198 -0
  14. package/dist/cjs/adapters/pinata/v2/adapter.cjs +636 -0
  15. package/dist/cjs/adapters/pinata/v2/adapter.cjs.map +1 -0
  16. package/dist/cjs/adapters/pinata/v2/adapter.d.cts +17 -0
  17. package/dist/cjs/adapters/pinata/v2/index.cjs +1 -0
  18. package/dist/cjs/adapters/pinata/v2/types.d.cts +308 -0
  19. package/dist/cjs/blockstore/index.cjs +2 -0
  20. package/dist/cjs/blockstore/unstorage-base.cjs +240 -0
  21. package/dist/cjs/blockstore/unstorage-base.cjs.map +1 -0
  22. package/dist/cjs/blockstore/unstorage-base.d.cts +23 -0
  23. package/dist/cjs/blockstore/unstorage.cjs +39 -0
  24. package/dist/cjs/blockstore/unstorage.cjs.map +1 -0
  25. package/dist/cjs/blockstore/unstorage.d.cts +36 -0
  26. package/dist/cjs/config.d.cts +51 -0
  27. package/dist/cjs/encoder/base64.cjs +38 -0
  28. package/dist/cjs/encoder/base64.cjs.map +1 -0
  29. package/dist/cjs/encoder/csv/csv-formatter.cjs +81 -0
  30. package/dist/cjs/encoder/csv/csv-formatter.cjs.map +1 -0
  31. package/dist/cjs/encoder/csv/field-formatter.cjs +76 -0
  32. package/dist/cjs/encoder/csv/field-formatter.cjs.map +1 -0
  33. package/dist/cjs/encoder/csv/row-formatter.cjs +159 -0
  34. package/dist/cjs/encoder/csv/row-formatter.cjs.map +1 -0
  35. package/dist/cjs/encoder/csv.cjs +44 -0
  36. package/dist/cjs/encoder/csv.cjs.map +1 -0
  37. package/dist/cjs/encoder/error.cjs +19 -0
  38. package/dist/cjs/encoder/error.cjs.map +1 -0
  39. package/dist/cjs/encoder/index.cjs +6 -0
  40. package/dist/cjs/encoder/json.cjs +36 -0
  41. package/dist/cjs/encoder/json.cjs.map +1 -0
  42. package/dist/cjs/encoder/text.cjs +35 -0
  43. package/dist/cjs/encoder/text.cjs.map +1 -0
  44. package/dist/cjs/encoder/url.cjs +39 -0
  45. package/dist/cjs/encoder/url.cjs.map +1 -0
  46. package/dist/cjs/errors/index.cjs +104 -0
  47. package/dist/cjs/errors/index.cjs.map +1 -0
  48. package/dist/cjs/errors/index.d.cts +47 -0
  49. package/dist/cjs/index.cjs +44 -0
  50. package/dist/cjs/index.d.cts +16 -0
  51. package/dist/cjs/pin/client.cjs +98 -0
  52. package/dist/cjs/pin/client.cjs.map +1 -0
  53. package/dist/cjs/pin/index.cjs +1 -0
  54. package/dist/cjs/pinner.cjs +132 -0
  55. package/dist/cjs/pinner.cjs.map +1 -0
  56. package/dist/cjs/pinner.d.cts +81 -0
  57. package/dist/cjs/types/constants.cjs +39 -0
  58. package/dist/cjs/types/constants.cjs.map +1 -0
  59. package/dist/cjs/types/mime-types.cjs +11 -0
  60. package/dist/cjs/types/mime-types.cjs.map +1 -0
  61. package/dist/cjs/types/mime-types.d.cts +7 -0
  62. package/dist/cjs/types/pin.d.cts +78 -0
  63. package/dist/cjs/types/type-guards.cjs +20 -0
  64. package/dist/cjs/types/type-guards.cjs.map +1 -0
  65. package/dist/cjs/types/type-guards.d.cts +15 -0
  66. package/dist/cjs/types/upload.cjs +18 -0
  67. package/dist/cjs/types/upload.cjs.map +1 -0
  68. package/dist/cjs/types/upload.d.cts +189 -0
  69. package/dist/cjs/upload/base-upload.cjs +135 -0
  70. package/dist/cjs/upload/base-upload.cjs.map +1 -0
  71. package/dist/cjs/upload/builder.cjs +174 -0
  72. package/dist/cjs/upload/builder.cjs.map +1 -0
  73. package/dist/cjs/upload/builder.d.cts +60 -0
  74. package/dist/cjs/upload/car.cjs +129 -0
  75. package/dist/cjs/upload/car.cjs.map +1 -0
  76. package/dist/cjs/upload/car.d.cts +19 -0
  77. package/dist/cjs/upload/constants.cjs +9 -0
  78. package/dist/cjs/upload/constants.cjs.map +1 -0
  79. package/dist/cjs/upload/index.cjs +8 -0
  80. package/dist/cjs/upload/manager.cjs +249 -0
  81. package/dist/cjs/upload/manager.cjs.map +1 -0
  82. package/dist/cjs/upload/manager.d.cts +35 -0
  83. package/dist/cjs/upload/normalize.cjs +28 -0
  84. package/dist/cjs/upload/normalize.cjs.map +1 -0
  85. package/dist/cjs/upload/tus-upload.cjs +74 -0
  86. package/dist/cjs/upload/tus-upload.cjs.map +1 -0
  87. package/dist/cjs/upload/xhr-upload.cjs +41 -0
  88. package/dist/cjs/upload/xhr-upload.cjs.map +1 -0
  89. package/dist/cjs/utils/env.cjs +12 -0
  90. package/dist/cjs/utils/env.cjs.map +1 -0
  91. package/dist/cjs/utils/stream.cjs +141 -0
  92. package/dist/cjs/utils/stream.cjs.map +1 -0
  93. package/dist/cjs/utils/stream.d.cts +23 -0
  94. package/dist/cjs/utils/tus-patch.cjs +50 -0
  95. package/dist/cjs/utils/tus-patch.cjs.map +1 -0
  96. package/dist/cjs/utils/validation.cjs +62 -0
  97. package/dist/cjs/utils/validation.cjs.map +1 -0
  98. package/dist/esm/_virtual/rolldown_runtime.js +8 -0
  99. package/dist/esm/adapters/pinata/index.d.ts +7 -0
  100. package/dist/esm/adapters/pinata/index.js +6 -0
  101. package/dist/esm/adapters/pinata/legacy/adapter.d.ts +74 -0
  102. package/dist/esm/adapters/pinata/legacy/adapter.js +83 -0
  103. package/dist/esm/adapters/pinata/legacy/adapter.js.map +1 -0
  104. package/dist/esm/adapters/pinata/legacy/index.d.ts +1 -0
  105. package/dist/esm/adapters/pinata/legacy/index.js +1 -0
  106. package/dist/esm/adapters/pinata/shared/index.d.ts +2 -0
  107. package/dist/esm/adapters/pinata/shared/index.js +1 -0
  108. package/dist/esm/adapters/pinata/shared/types.d.ts +218 -0
  109. package/dist/esm/adapters/pinata/shared/utils.d.ts +1 -0
  110. package/dist/esm/adapters/pinata/shared/utils.js +78 -0
  111. package/dist/esm/adapters/pinata/shared/utils.js.map +1 -0
  112. package/dist/esm/adapters/pinata/v2/adapter-interface.d.ts +198 -0
  113. package/dist/esm/adapters/pinata/v2/adapter.d.ts +17 -0
  114. package/dist/esm/adapters/pinata/v2/adapter.js +636 -0
  115. package/dist/esm/adapters/pinata/v2/adapter.js.map +1 -0
  116. package/dist/esm/adapters/pinata/v2/index.d.ts +3 -0
  117. package/dist/esm/adapters/pinata/v2/index.js +1 -0
  118. package/dist/esm/adapters/pinata/v2/types.d.ts +308 -0
  119. package/dist/esm/blockstore/index.d.ts +2 -0
  120. package/dist/esm/blockstore/index.js +2 -0
  121. package/dist/esm/blockstore/unstorage-base.d.ts +23 -0
  122. package/dist/esm/blockstore/unstorage-base.js +231 -0
  123. package/dist/esm/blockstore/unstorage-base.js.map +1 -0
  124. package/dist/esm/blockstore/unstorage.d.ts +36 -0
  125. package/dist/esm/blockstore/unstorage.js +38 -0
  126. package/dist/esm/blockstore/unstorage.js.map +1 -0
  127. package/dist/esm/config.d.ts +51 -0
  128. package/dist/esm/encoder/base64.js +37 -0
  129. package/dist/esm/encoder/base64.js.map +1 -0
  130. package/dist/esm/encoder/csv/csv-formatter.js +81 -0
  131. package/dist/esm/encoder/csv/csv-formatter.js.map +1 -0
  132. package/dist/esm/encoder/csv/field-formatter.js +75 -0
  133. package/dist/esm/encoder/csv/field-formatter.js.map +1 -0
  134. package/dist/esm/encoder/csv/row-formatter.js +159 -0
  135. package/dist/esm/encoder/csv/row-formatter.js.map +1 -0
  136. package/dist/esm/encoder/csv.js +43 -0
  137. package/dist/esm/encoder/csv.js.map +1 -0
  138. package/dist/esm/encoder/error.js +18 -0
  139. package/dist/esm/encoder/error.js.map +1 -0
  140. package/dist/esm/encoder/index.js +6 -0
  141. package/dist/esm/encoder/json.js +35 -0
  142. package/dist/esm/encoder/json.js.map +1 -0
  143. package/dist/esm/encoder/text.js +34 -0
  144. package/dist/esm/encoder/text.js.map +1 -0
  145. package/dist/esm/encoder/url.js +36 -0
  146. package/dist/esm/encoder/url.js.map +1 -0
  147. package/dist/esm/errors/index.d.ts +47 -0
  148. package/dist/esm/errors/index.js +93 -0
  149. package/dist/esm/errors/index.js.map +1 -0
  150. package/dist/esm/index.d.ts +18 -0
  151. package/dist/esm/index.js +15 -0
  152. package/dist/esm/pin/client.js +97 -0
  153. package/dist/esm/pin/client.js.map +1 -0
  154. package/dist/esm/pin/index.js +1 -0
  155. package/dist/esm/pinner.d.ts +81 -0
  156. package/dist/esm/pinner.js +131 -0
  157. package/dist/esm/pinner.js.map +1 -0
  158. package/dist/esm/types/constants.js +33 -0
  159. package/dist/esm/types/constants.js.map +1 -0
  160. package/dist/esm/types/mime-types.d.ts +7 -0
  161. package/dist/esm/types/mime-types.js +8 -0
  162. package/dist/esm/types/mime-types.js.map +1 -0
  163. package/dist/esm/types/pin.d.ts +78 -0
  164. package/dist/esm/types/type-guards.d.ts +15 -0
  165. package/dist/esm/types/type-guards.js +19 -0
  166. package/dist/esm/types/type-guards.js.map +1 -0
  167. package/dist/esm/types/upload.d.ts +189 -0
  168. package/dist/esm/types/upload.js +16 -0
  169. package/dist/esm/types/upload.js.map +1 -0
  170. package/dist/esm/upload/base-upload.js +132 -0
  171. package/dist/esm/upload/base-upload.js.map +1 -0
  172. package/dist/esm/upload/builder.d.ts +60 -0
  173. package/dist/esm/upload/builder.js +173 -0
  174. package/dist/esm/upload/builder.js.map +1 -0
  175. package/dist/esm/upload/car.d.ts +19 -0
  176. package/dist/esm/upload/car.js +125 -0
  177. package/dist/esm/upload/car.js.map +1 -0
  178. package/dist/esm/upload/constants.js +7 -0
  179. package/dist/esm/upload/constants.js.map +1 -0
  180. package/dist/esm/upload/index.js +8 -0
  181. package/dist/esm/upload/manager.d.ts +35 -0
  182. package/dist/esm/upload/manager.js +248 -0
  183. package/dist/esm/upload/manager.js.map +1 -0
  184. package/dist/esm/upload/normalize.js +28 -0
  185. package/dist/esm/upload/normalize.js.map +1 -0
  186. package/dist/esm/upload/tus-upload.js +72 -0
  187. package/dist/esm/upload/tus-upload.js.map +1 -0
  188. package/dist/esm/upload/xhr-upload.js +39 -0
  189. package/dist/esm/upload/xhr-upload.js.map +1 -0
  190. package/dist/esm/utils/env.js +11 -0
  191. package/dist/esm/utils/env.js.map +1 -0
  192. package/dist/esm/utils/stream.d.ts +23 -0
  193. package/dist/esm/utils/stream.js +134 -0
  194. package/dist/esm/utils/stream.js.map +1 -0
  195. package/dist/esm/utils/tus-patch.js +51 -0
  196. package/dist/esm/utils/tus-patch.js.map +1 -0
  197. package/dist/esm/utils/validation.js +60 -0
  198. package/dist/esm/utils/validation.js.map +1 -0
  199. package/package.json +95 -8
  200. package/public/mockServiceWorker.js +349 -0
@@ -0,0 +1,78 @@
1
+ import { CID } from "multiformats/cid";
2
+
3
+ //#region src/adapters/pinata/shared/utils.ts
4
+ /**
5
+ * Shared utilities for Pinata adapters
6
+ */
7
+ /**
8
+ * Parse CID string to CID object
9
+ */
10
+ function parseCID(cidString) {
11
+ try {
12
+ return CID.parse(cidString);
13
+ } catch (error) {
14
+ throw new Error(`Invalid CID: ${cidString}`);
15
+ }
16
+ }
17
+ /**
18
+ * Create upload response object
19
+ */
20
+ function createUploadResponse(result, name) {
21
+ return {
22
+ id: result.cid,
23
+ name: name || "",
24
+ cid: result.cid,
25
+ size: result.size,
26
+ created_at: result.createdAt.toISOString(),
27
+ number_of_files: 1,
28
+ mime_type: "application/octet-stream",
29
+ user_id: "",
30
+ group_id: null,
31
+ is_duplicate: null,
32
+ vectorized: null
33
+ };
34
+ }
35
+ /**
36
+ * Create file list item from remote pin
37
+ */
38
+ function createFileListItem(remotePin) {
39
+ return {
40
+ id: remotePin.cid.toString(),
41
+ name: remotePin.name || null,
42
+ cid: remotePin.cid.toString(),
43
+ size: remotePin.size || 0,
44
+ number_of_files: 1,
45
+ mime_type: "application/octet-stream",
46
+ keyvalues: remotePin.metadata || {},
47
+ group_id: null,
48
+ created_at: remotePin.created.toISOString()
49
+ };
50
+ }
51
+ /**
52
+ * Create pin job item from remote pin
53
+ */
54
+ function createPinJobItem(remotePin) {
55
+ return {
56
+ id: remotePin.cid.toString(),
57
+ ipfs_pin_hash: remotePin.cid.toString(),
58
+ date_queued: remotePin.created.toISOString(),
59
+ name: remotePin.name || "",
60
+ status: remotePin.status || "pinned",
61
+ keyvalues: remotePin.metadata || {},
62
+ host_nodes: [],
63
+ pin_policy: {
64
+ regions: [],
65
+ version: 1
66
+ }
67
+ };
68
+ }
69
+ /**
70
+ * Throw error for unsupported features
71
+ */
72
+ function notSupported(feature) {
73
+ throw new Error(`${feature} are not supported by Pinner`);
74
+ }
75
+
76
+ //#endregion
77
+ export { createFileListItem, createPinJobItem, createUploadResponse, notSupported, parseCID };
78
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../../src/adapters/pinata/shared/utils.ts"],"sourcesContent":["/**\n * Shared utilities for Pinata adapters\n */\n\nimport { CID } from \"multiformats/cid\";\n\n/**\n * Parse CID string to CID object\n */\nexport function parseCID(cidString: string): CID {\n\ttry {\n\t\treturn CID.parse(cidString);\n\t} catch (error) {\n\t\tthrow new Error(`Invalid CID: ${cidString}`);\n\t}\n}\n\n/**\n * Convert Date to ISO string\n */\nexport function toISOString(date: Date): string {\n\treturn date.toISOString();\n}\n\n/**\n * Create upload response object\n */\nexport function createUploadResponse(\n\tresult: {\n\t\tcid: string;\n\t\tsize: number;\n\t\tcreatedAt: Date;\n\t},\n\tname?: string,\n): any {\n\treturn {\n\t\tid: result.cid,\n\t\tname: name || \"\",\n\t\tcid: result.cid,\n\t\tsize: result.size,\n\t\tcreated_at: result.createdAt.toISOString(),\n\t\tnumber_of_files: 1,\n\t\tmime_type: \"application/octet-stream\",\n\t\tuser_id: \"\",\n\t\tgroup_id: null,\n\t\tis_duplicate: null,\n\t\tvectorized: null,\n\t};\n}\n\n/**\n * Create file list item from remote pin\n */\nexport function createFileListItem(\n\tremotePin: any,\n): any {\n\treturn {\n\t\tid: remotePin.cid.toString(),\n\t\tname: remotePin.name || null,\n\t\tcid: remotePin.cid.toString(),\n\t\tsize: remotePin.size || 0,\n\t\tnumber_of_files: 1,\n\t\tmime_type: \"application/octet-stream\",\n\t\tkeyvalues: remotePin.metadata || {},\n\t\tgroup_id: null,\n\t\tcreated_at: remotePin.created.toISOString(),\n\t};\n}\n\n/**\n * Create pin job item from remote pin\n */\nexport function createPinJobItem(\n\tremotePin: any,\n): any {\n\treturn {\n\t\tid: remotePin.cid.toString(),\n\t\tipfs_pin_hash: remotePin.cid.toString(),\n\t\tdate_queued: remotePin.created.toISOString(),\n\t\tname: remotePin.name || \"\",\n\t\tstatus: remotePin.status || \"pinned\",\n\t\tkeyvalues: remotePin.metadata || {},\n\t\thost_nodes: [],\n\t\tpin_policy: {\n\t\t\tregions: [],\n\t\t\tversion: 1,\n\t\t},\n\t};\n}\n\n/**\n * Throw error for unsupported features\n */\nexport function notSupported(feature: string): never {\n\tthrow new Error(`${feature} are not supported by Pinner`);\n}\n"],"mappings":";;;;;;;;;AASA,SAAgB,SAAS,WAAwB;AAChD,KAAI;AACH,SAAO,IAAI,MAAM,UAAU;UACnB,OAAO;AACf,QAAM,IAAI,MAAM,gBAAgB,YAAY;;;;;;AAc9C,SAAgB,qBACf,QAKA,MACM;AACN,QAAO;EACN,IAAI,OAAO;EACX,MAAM,QAAQ;EACd,KAAK,OAAO;EACZ,MAAM,OAAO;EACb,YAAY,OAAO,UAAU,aAAa;EAC1C,iBAAiB;EACjB,WAAW;EACX,SAAS;EACT,UAAU;EACV,cAAc;EACd,YAAY;EACZ;;;;;AAMF,SAAgB,mBACf,WACM;AACN,QAAO;EACN,IAAI,UAAU,IAAI,UAAU;EAC5B,MAAM,UAAU,QAAQ;EACxB,KAAK,UAAU,IAAI,UAAU;EAC7B,MAAM,UAAU,QAAQ;EACxB,iBAAiB;EACjB,WAAW;EACX,WAAW,UAAU,YAAY,EAAE;EACnC,UAAU;EACV,YAAY,UAAU,QAAQ,aAAa;EAC3C;;;;;AAMF,SAAgB,iBACf,WACM;AACN,QAAO;EACN,IAAI,UAAU,IAAI,UAAU;EAC5B,eAAe,UAAU,IAAI,UAAU;EACvC,aAAa,UAAU,QAAQ,aAAa;EAC5C,MAAM,UAAU,QAAQ;EACxB,QAAQ,UAAU,UAAU;EAC5B,WAAW,UAAU,YAAY,EAAE;EACnC,YAAY,EAAE;EACd,YAAY;GACX,SAAS,EAAE;GACX,SAAS;GACT;EACD;;;;;AAMF,SAAgB,aAAa,SAAwB;AACpD,OAAM,IAAI,MAAM,GAAG,QAAQ,8BAA8B"}
@@ -0,0 +1,198 @@
1
+ import { AccessLinkOptions, DeleteResponse, FileListItem, FileListResponse, GetGroupOptions, GroupCIDOptions, GroupListResponse, GroupOptions, GroupResponseItem, PinByCIDResponse, PinQueueItem, PinQueueResponse, PinataConfig, SignedUploadUrlOptions, SwapCidOptions, SwapCidResponse, SwapHistoryOptions, TimeIntervalAnalyticsQuery, TimeIntervalAnalyticsResponse, TopAnalyticsQuery, TopAnalyticsResponse, UpdateFileOptions, UpdateGroupFilesResponse, UpdateGroupOptions, UploadCIDOptions, UploadOptions, UploadResponse } from "./types.js";
2
+
3
+ //#region src/adapters/pinata/v2/adapter-interface.d.ts
4
+
5
+ /**
6
+ * Upload builder interface
7
+ */
8
+ interface UploadBuilder<TResult> {
9
+ name(name: string): this;
10
+ keyvalues(keyvalues: Record<string, string>): this;
11
+ execute(): Promise<TResult>;
12
+ }
13
+ /**
14
+ * Filter files builder interface
15
+ */
16
+ interface FilterFiles {
17
+ name(name: string): FilterFiles;
18
+ group(group: string): FilterFiles;
19
+ cid(cid: string): FilterFiles;
20
+ mimeType(mimeType: string): FilterFiles;
21
+ order(order: "ASC" | "DESC"): FilterFiles;
22
+ limit(limit: number): FilterFiles;
23
+ cidPending(cidPending: boolean): FilterFiles;
24
+ keyvalues(keyvalues: Record<string, string>): FilterFiles;
25
+ noGroup(noGroup: boolean): FilterFiles;
26
+ pageToken(pageToken: string): FilterFiles;
27
+ then(onfulfilled?: ((value: FileListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
28
+ all(): Promise<FileListItem[]>;
29
+ [Symbol.asyncIterator](): AsyncGenerator<FileListItem, void, unknown>;
30
+ }
31
+ /**
32
+ * Filter queue builder interface
33
+ */
34
+ interface FilterQueue {
35
+ cid(cid: string): FilterQueue;
36
+ status(status: "prechecking" | "retrieving" | "expired" | "backfilled" | "over_free_limit" | "over_max_size" | "invalid_object" | "bad_host_node"): FilterQueue;
37
+ pageLimit(limit: number): FilterQueue;
38
+ pageToken(pageToken: string): FilterQueue;
39
+ sort(sort: "ASC" | "DSC"): FilterQueue;
40
+ then(onfulfilled?: ((value: PinQueueResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
41
+ all(): Promise<PinQueueItem[]>;
42
+ [Symbol.asyncIterator](): AsyncGenerator<PinQueueItem, void, unknown>;
43
+ }
44
+ /**
45
+ * Filter groups builder interface
46
+ */
47
+ interface FilterGroups {
48
+ name(name: string): FilterGroups;
49
+ limit(limit: number): FilterGroups;
50
+ pageToken(pageToken: string): FilterGroups;
51
+ isPublic(isPublic: boolean): FilterGroups;
52
+ then(onfulfilled?: ((value: GroupListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
53
+ all(): Promise<GroupResponseItem[]>;
54
+ [Symbol.asyncIterator](): AsyncGenerator<GroupResponseItem, void, unknown>;
55
+ }
56
+ /**
57
+ * Public upload interface
58
+ */
59
+ interface PublicUpload {
60
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
61
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
62
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
63
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
64
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
65
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
66
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
67
+ }
68
+ /**
69
+ * Private upload interface
70
+ */
71
+ interface PrivateUpload {
72
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
73
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
74
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
75
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
76
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
77
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
78
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
79
+ }
80
+ /**
81
+ * Public files interface
82
+ */
83
+ interface PublicFiles {
84
+ list(): FilterFiles;
85
+ get(id: string): Promise<FileListItem>;
86
+ delete(files: string[]): Promise<DeleteResponse[]>;
87
+ update(options: UpdateFileOptions): Promise<FileListItem>;
88
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
89
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
90
+ deleteSwap(cid: string): Promise<string>;
91
+ queue(): FilterQueue;
92
+ deletePinRequest(requestId: string): Promise<string>;
93
+ }
94
+ /**
95
+ * Private files interface
96
+ */
97
+ interface PrivateFiles {
98
+ list(): FilterFiles;
99
+ get(id: string): Promise<FileListItem>;
100
+ delete(files: string[]): Promise<DeleteResponse[]>;
101
+ update(options: UpdateFileOptions): Promise<FileListItem>;
102
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
103
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
104
+ deleteSwap(cid: string): Promise<string>;
105
+ queue(): FilterQueue;
106
+ deletePinRequest(requestId: string): Promise<string>;
107
+ }
108
+ /**
109
+ * Public gateways interface
110
+ */
111
+ interface PublicGateways {
112
+ get(cid: string): any;
113
+ convert(url: string, gatewayPrefix?: string): Promise<string>;
114
+ }
115
+ /**
116
+ * Private gateways interface
117
+ */
118
+ interface PrivateGateways {
119
+ get(cid: string): any;
120
+ createAccessLink(options: AccessLinkOptions): any;
121
+ }
122
+ /**
123
+ * Public groups interface
124
+ */
125
+ interface PublicGroups {
126
+ create(options: GroupOptions): Promise<GroupResponseItem>;
127
+ list(): FilterGroups;
128
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
129
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
130
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
131
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
132
+ delete(options: GetGroupOptions): Promise<string>;
133
+ }
134
+ /**
135
+ * Private groups interface
136
+ */
137
+ interface PrivateGroups {
138
+ create(options: GroupOptions): Promise<GroupResponseItem>;
139
+ list(): FilterGroups;
140
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
141
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
142
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
143
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
144
+ delete(options: GetGroupOptions): Promise<string>;
145
+ }
146
+ /**
147
+ * Analytics interface
148
+ */
149
+ interface Analytics {
150
+ requests(query: TopAnalyticsQuery): Promise<TopAnalyticsResponse>;
151
+ bandwidth(query: TimeIntervalAnalyticsQuery): Promise<TimeIntervalAnalyticsResponse>;
152
+ }
153
+ /**
154
+ * Pinata 2.x Adapter Interface
155
+ * Matches Pinata SDK 2.x API exactly
156
+ */
157
+ interface PinataAdapter {
158
+ /**
159
+ * Configuration
160
+ */
161
+ config: PinataConfig;
162
+ updateConfig(newConfig: PinataConfig): void;
163
+ /**
164
+ * Upload with public/private separation
165
+ */
166
+ upload: {
167
+ public: PublicUpload;
168
+ private: PrivateUpload;
169
+ };
170
+ /**
171
+ * Files with public/private separation
172
+ */
173
+ files: {
174
+ public: PublicFiles;
175
+ private: PrivateFiles;
176
+ };
177
+ /**
178
+ * Gateways with public/private separation
179
+ */
180
+ gateways: {
181
+ public: PublicGateways;
182
+ private: PrivateGateways;
183
+ };
184
+ /**
185
+ * Groups with public/private separation
186
+ */
187
+ groups: {
188
+ public: PublicGroups;
189
+ private: PrivateGroups;
190
+ };
191
+ /**
192
+ * Analytics (no public/private)
193
+ */
194
+ analytics: Analytics;
195
+ }
196
+ //#endregion
197
+ export { PinataAdapter };
198
+ //# sourceMappingURL=adapter-interface.d.ts.map
@@ -0,0 +1,17 @@
1
+ import { Pinner } from "../../../pinner.js";
2
+ import { PinataConfig } from "./types.js";
3
+ import { PinataAdapter } from "./adapter-interface.js";
4
+
5
+ //#region src/adapters/pinata/v2/adapter.d.ts
6
+
7
+ /**
8
+ * Create Pinata Adapter
9
+ *
10
+ * @param pinner - Pinner client instance
11
+ * @param config - Pinata configuration
12
+ * @returns PinataAdapter
13
+ */
14
+ declare function pinataAdapter(pinner: Pinner, config?: PinataConfig): PinataAdapter;
15
+ //#endregion
16
+ export { pinataAdapter };
17
+ //# sourceMappingURL=adapter.d.ts.map