@lumeweb/pinner 0.1.0 → 0.1.3

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 (180) hide show
  1. package/README.md +197 -18
  2. package/dist/esm/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +2 -2
  3. package/dist/esm/adapters/pinata/index.d.ts +4 -4
  4. package/dist/esm/adapters/pinata/index.js +6 -3
  5. package/dist/esm/adapters/pinata/legacy/adapter.d.ts +73 -0
  6. package/dist/esm/adapters/pinata/legacy/adapter.js +124 -0
  7. package/dist/esm/adapters/pinata/legacy/adapter.js.map +1 -0
  8. package/dist/esm/adapters/pinata/legacy/index.d.ts +1 -0
  9. package/dist/esm/adapters/pinata/legacy/index.js +1 -0
  10. package/dist/esm/adapters/pinata/shared/index.d.ts +1 -0
  11. package/dist/esm/adapters/pinata/shared/index.js +1 -0
  12. package/dist/esm/adapters/pinata/shared/types.d.ts +218 -0
  13. package/dist/esm/adapters/pinata/shared/utils.d.ts +1 -0
  14. package/dist/esm/adapters/pinata/shared/utils.js +78 -0
  15. package/dist/esm/adapters/pinata/shared/utils.js.map +1 -0
  16. package/dist/esm/adapters/pinata/v2/adapter-interface.d.ts +197 -0
  17. package/dist/esm/adapters/pinata/v2/adapter.d.ts +16 -0
  18. package/dist/esm/adapters/pinata/v2/adapter.js +636 -0
  19. package/dist/esm/adapters/pinata/v2/adapter.js.map +1 -0
  20. package/dist/esm/adapters/pinata/v2/index.d.ts +3 -0
  21. package/dist/esm/adapters/pinata/v2/index.js +1 -0
  22. package/dist/esm/adapters/pinata/v2/types.d.ts +308 -0
  23. package/dist/esm/api/generated/schemas/iPNSKeyListResponse.d.ts +46 -0
  24. package/dist/esm/api/generated/schemas/iPNSKeyListResponseResponse.d.ts +10 -0
  25. package/dist/esm/api/generated/schemas/iPNSKeyRequest.d.ts +43 -0
  26. package/dist/esm/api/generated/schemas/iPNSKeyResponse.d.ts +46 -0
  27. package/dist/esm/api/generated/schemas/iPNSPublishRequest.d.ts +44 -0
  28. package/dist/esm/api/generated/schemas/iPNSPublishResponse.d.ts +46 -0
  29. package/dist/esm/api/generated/schemas/iPNSResolveResponse.d.ts +47 -0
  30. package/dist/esm/api/generated/schemas/sSLStatusInfo.d.ts +45 -0
  31. package/dist/esm/api/generated/schemas/websiteConfigResponse.d.ts +43 -0
  32. package/dist/esm/api/generated/schemas/websiteItem.d.ts +23 -0
  33. package/dist/esm/api/generated/schemas/websiteItemResponse.d.ts +10 -0
  34. package/dist/esm/api/generated/schemas/websiteRequest.d.ts +45 -0
  35. package/dist/esm/api/generated/schemas/websiteResponse.d.ts +23 -0
  36. package/dist/esm/api/generated/schemas/websiteUpdateRequest.d.ts +45 -0
  37. package/dist/esm/api/generated/schemas/websiteValidateResponse.d.ts +45 -0
  38. package/dist/esm/api/ipns.d.ts +28 -0
  39. package/dist/esm/api/ipns.js +83 -0
  40. package/dist/esm/api/ipns.js.map +1 -0
  41. package/dist/esm/api/websites.d.ts +48 -0
  42. package/dist/esm/api/websites.js +168 -0
  43. package/dist/esm/api/websites.js.map +1 -0
  44. package/dist/esm/blockstore/unstorage-base.d.ts +4 -1
  45. package/dist/esm/blockstore/unstorage-base.js +3 -3
  46. package/dist/esm/blockstore/unstorage-base.js.map +1 -1
  47. package/dist/esm/blockstore/unstorage.d.ts +3 -31
  48. package/dist/esm/blockstore/unstorage.js +2 -2
  49. package/dist/esm/blockstore/unstorage.js.map +1 -1
  50. package/dist/esm/encoder/base64.js.map +1 -1
  51. package/dist/esm/encoder/csv/row-formatter.js.map +1 -1
  52. package/dist/esm/encoder/csv.js.map +1 -1
  53. package/dist/esm/encoder/json.js.map +1 -1
  54. package/dist/esm/encoder/text.js.map +1 -1
  55. package/dist/esm/encoder/url.js.map +1 -1
  56. package/dist/esm/index.d.ts +7 -5
  57. package/dist/esm/index.js +5 -2
  58. package/dist/esm/pin/client.js +8 -5
  59. package/dist/esm/pin/client.js.map +1 -1
  60. package/dist/esm/pinner.d.ts +16 -0
  61. package/dist/esm/pinner.js +24 -0
  62. package/dist/esm/pinner.js.map +1 -1
  63. package/dist/esm/types/constants.js +6 -2
  64. package/dist/esm/types/constants.js.map +1 -1
  65. package/dist/esm/types/pin.d.ts +4 -1
  66. package/dist/esm/types/type-guards.d.ts +0 -1
  67. package/dist/esm/types/upload.d.ts +0 -1
  68. package/dist/esm/upload/base-upload.js +3 -3
  69. package/dist/esm/upload/base-upload.js.map +1 -1
  70. package/dist/esm/upload/builder.d.ts +0 -1
  71. package/dist/esm/upload/car.js +3 -3
  72. package/dist/esm/upload/car.js.map +1 -1
  73. package/dist/esm/upload/manager.js +5 -5
  74. package/dist/esm/upload/manager.js.map +1 -1
  75. package/dist/esm/upload/normalize.js +1 -1
  76. package/dist/esm/upload/normalize.js.map +1 -1
  77. package/dist/esm/utils/stream.d.ts +0 -3
  78. package/dist/esm/utils/tus-patch.js +2 -2
  79. package/dist/esm/utils/tus-patch.js.map +1 -1
  80. package/dist/esm/utils/validation.js.map +1 -1
  81. package/package.json +33 -32
  82. package/dist/cjs/_virtual/rolldown_runtime.cjs +0 -29
  83. package/dist/cjs/adapters/pinata/adapter.cjs +0 -88
  84. package/dist/cjs/adapters/pinata/adapter.cjs.map +0 -1
  85. package/dist/cjs/adapters/pinata/adapter.d.cts +0 -35
  86. package/dist/cjs/adapters/pinata/builder.cjs +0 -194
  87. package/dist/cjs/adapters/pinata/builder.cjs.map +0 -1
  88. package/dist/cjs/adapters/pinata/index.cjs +0 -3
  89. package/dist/cjs/adapters/pinata/list-builder.cjs +0 -52
  90. package/dist/cjs/adapters/pinata/list-builder.cjs.map +0 -1
  91. package/dist/cjs/blockstore/index.cjs +0 -2
  92. package/dist/cjs/blockstore/unstorage-base.cjs +0 -240
  93. package/dist/cjs/blockstore/unstorage-base.cjs.map +0 -1
  94. package/dist/cjs/blockstore/unstorage-base.d.cts +0 -23
  95. package/dist/cjs/blockstore/unstorage.cjs +0 -39
  96. package/dist/cjs/blockstore/unstorage.cjs.map +0 -1
  97. package/dist/cjs/blockstore/unstorage.d.cts +0 -36
  98. package/dist/cjs/config.d.cts +0 -51
  99. package/dist/cjs/encoder/base64.cjs +0 -38
  100. package/dist/cjs/encoder/base64.cjs.map +0 -1
  101. package/dist/cjs/encoder/csv/csv-formatter.cjs +0 -81
  102. package/dist/cjs/encoder/csv/csv-formatter.cjs.map +0 -1
  103. package/dist/cjs/encoder/csv/field-formatter.cjs +0 -76
  104. package/dist/cjs/encoder/csv/field-formatter.cjs.map +0 -1
  105. package/dist/cjs/encoder/csv/row-formatter.cjs +0 -159
  106. package/dist/cjs/encoder/csv/row-formatter.cjs.map +0 -1
  107. package/dist/cjs/encoder/csv.cjs +0 -44
  108. package/dist/cjs/encoder/csv.cjs.map +0 -1
  109. package/dist/cjs/encoder/error.cjs +0 -19
  110. package/dist/cjs/encoder/error.cjs.map +0 -1
  111. package/dist/cjs/encoder/index.cjs +0 -6
  112. package/dist/cjs/encoder/json.cjs +0 -36
  113. package/dist/cjs/encoder/json.cjs.map +0 -1
  114. package/dist/cjs/encoder/text.cjs +0 -35
  115. package/dist/cjs/encoder/text.cjs.map +0 -1
  116. package/dist/cjs/encoder/url.cjs +0 -39
  117. package/dist/cjs/encoder/url.cjs.map +0 -1
  118. package/dist/cjs/errors/index.cjs +0 -104
  119. package/dist/cjs/errors/index.cjs.map +0 -1
  120. package/dist/cjs/errors/index.d.cts +0 -47
  121. package/dist/cjs/index.cjs +0 -42
  122. package/dist/cjs/index.d.cts +0 -14
  123. package/dist/cjs/pin/client.cjs +0 -96
  124. package/dist/cjs/pin/client.cjs.map +0 -1
  125. package/dist/cjs/pin/index.cjs +0 -1
  126. package/dist/cjs/pinner.cjs +0 -126
  127. package/dist/cjs/pinner.cjs.map +0 -1
  128. package/dist/cjs/pinner.d.cts +0 -77
  129. package/dist/cjs/types/constants.cjs +0 -34
  130. package/dist/cjs/types/constants.cjs.map +0 -1
  131. package/dist/cjs/types/mime-types.cjs +0 -11
  132. package/dist/cjs/types/mime-types.cjs.map +0 -1
  133. package/dist/cjs/types/mime-types.d.cts +0 -7
  134. package/dist/cjs/types/pin.d.cts +0 -74
  135. package/dist/cjs/types/pinata.d.cts +0 -99
  136. package/dist/cjs/types/type-guards.cjs +0 -20
  137. package/dist/cjs/types/type-guards.cjs.map +0 -1
  138. package/dist/cjs/types/type-guards.d.cts +0 -15
  139. package/dist/cjs/types/upload.cjs +0 -18
  140. package/dist/cjs/types/upload.cjs.map +0 -1
  141. package/dist/cjs/types/upload.d.cts +0 -189
  142. package/dist/cjs/upload/base-upload.cjs +0 -135
  143. package/dist/cjs/upload/base-upload.cjs.map +0 -1
  144. package/dist/cjs/upload/builder.cjs +0 -174
  145. package/dist/cjs/upload/builder.cjs.map +0 -1
  146. package/dist/cjs/upload/builder.d.cts +0 -60
  147. package/dist/cjs/upload/car.cjs +0 -129
  148. package/dist/cjs/upload/car.cjs.map +0 -1
  149. package/dist/cjs/upload/car.d.cts +0 -19
  150. package/dist/cjs/upload/constants.cjs +0 -9
  151. package/dist/cjs/upload/constants.cjs.map +0 -1
  152. package/dist/cjs/upload/index.cjs +0 -8
  153. package/dist/cjs/upload/manager.cjs +0 -249
  154. package/dist/cjs/upload/manager.cjs.map +0 -1
  155. package/dist/cjs/upload/manager.d.cts +0 -35
  156. package/dist/cjs/upload/normalize.cjs +0 -28
  157. package/dist/cjs/upload/normalize.cjs.map +0 -1
  158. package/dist/cjs/upload/tus-upload.cjs +0 -74
  159. package/dist/cjs/upload/tus-upload.cjs.map +0 -1
  160. package/dist/cjs/upload/xhr-upload.cjs +0 -41
  161. package/dist/cjs/upload/xhr-upload.cjs.map +0 -1
  162. package/dist/cjs/utils/env.cjs +0 -12
  163. package/dist/cjs/utils/env.cjs.map +0 -1
  164. package/dist/cjs/utils/stream.cjs +0 -141
  165. package/dist/cjs/utils/stream.cjs.map +0 -1
  166. package/dist/cjs/utils/stream.d.cts +0 -23
  167. package/dist/cjs/utils/tus-patch.cjs +0 -50
  168. package/dist/cjs/utils/tus-patch.cjs.map +0 -1
  169. package/dist/cjs/utils/validation.cjs +0 -62
  170. package/dist/cjs/utils/validation.cjs.map +0 -1
  171. package/dist/esm/adapters/pinata/adapter.d.ts +0 -35
  172. package/dist/esm/adapters/pinata/adapter.js +0 -87
  173. package/dist/esm/adapters/pinata/adapter.js.map +0 -1
  174. package/dist/esm/adapters/pinata/builder.d.ts +0 -1
  175. package/dist/esm/adapters/pinata/builder.js +0 -187
  176. package/dist/esm/adapters/pinata/builder.js.map +0 -1
  177. package/dist/esm/adapters/pinata/list-builder.d.ts +0 -1
  178. package/dist/esm/adapters/pinata/list-builder.js +0 -51
  179. package/dist/esm/adapters/pinata/list-builder.js.map +0 -1
  180. package/dist/esm/types/pinata.d.ts +0 -99
@@ -0,0 +1,218 @@
1
+ //#region src/adapters/pinata/shared/types.d.ts
2
+ /**
3
+ * Pinata SDK 1.x Types
4
+ * Source: https://github.com/PinataCloud/pinata/commit/c141177ff3036e46fa7b95fcc68c159b58817836
5
+ * - src/core/types.ts
6
+ *
7
+ * Copyright © 2024 Pinata Cloud Technologies
8
+ * Type definitions adapted from Pinata SDK for compatibility.
9
+ * Original Pinata SDK: https://github.com/PinataCloud/pinata
10
+ */
11
+ /**
12
+ * Pinata configuration options
13
+ */
14
+ type PinataConfig = {
15
+ pinataJwt?: string;
16
+ pinataGateway?: string;
17
+ pinataGatewayKey?: string;
18
+ customHeaders?: Record<string, string>;
19
+ endpointUrl?: string;
20
+ uploadUrl?: string;
21
+ };
22
+ /**
23
+ * Upload response from Pinata
24
+ */
25
+ type UploadResponse = {
26
+ id: string;
27
+ name: string;
28
+ cid: string;
29
+ size: number;
30
+ created_at: string;
31
+ number_of_files: number;
32
+ mime_type: string;
33
+ user_id: string;
34
+ group_id: string | null;
35
+ is_duplicate: true | null;
36
+ vectorized: true | null;
37
+ };
38
+ /**
39
+ * Pinata metadata options
40
+ */
41
+ type PinataMetadata = {
42
+ name?: string;
43
+ keyvalues?: Record<string, string>;
44
+ };
45
+ /**
46
+ * Upload options
47
+ */
48
+ type UploadOptions = {
49
+ metadata?: PinataMetadata;
50
+ keys?: string;
51
+ groupId?: string;
52
+ vectorize?: boolean;
53
+ url?: string;
54
+ };
55
+ /**
56
+ * File list item
57
+ */
58
+ type FileListItem = {
59
+ id: string;
60
+ name: string | null;
61
+ cid: "pending" | string;
62
+ size: number;
63
+ number_of_files: number;
64
+ mime_type: string;
65
+ keyvalues: Record<string, string>;
66
+ group_id: string | null;
67
+ created_at: string;
68
+ };
69
+ /**
70
+ * File list response
71
+ */
72
+ type FileListResponse = {
73
+ files: FileListItem[];
74
+ next_page_token: string;
75
+ };
76
+ /**
77
+ * File list query options
78
+ */
79
+ type FileListQuery = {
80
+ name?: string;
81
+ group?: string;
82
+ noGroup?: boolean;
83
+ mimeType?: string;
84
+ cid?: string;
85
+ cidPending?: boolean;
86
+ metadata?: Record<string, string>;
87
+ order?: "ASC" | "DESC";
88
+ limit?: number;
89
+ pageToken?: number;
90
+ };
91
+ /**
92
+ * Pin job query options
93
+ */
94
+ type PinJobQuery = {
95
+ sort?: "ASC" | "DSC";
96
+ status?: "prechecking" | "retrieving" | "expired" | "over_free_limit" | "over_max_size" | "invalid_object" | "bad_host_node";
97
+ ipfs_pin_hash?: string;
98
+ limit?: number;
99
+ offset?: number;
100
+ };
101
+ /**
102
+ * Pin job item
103
+ */
104
+ type PinJobItem = {
105
+ id: string;
106
+ ipfs_pin_hash: string;
107
+ date_queued: string;
108
+ name: string;
109
+ status: string;
110
+ keyvalues: any;
111
+ host_nodes: string[];
112
+ pin_policy: {
113
+ regions: {
114
+ id: string;
115
+ desiredReplicationCount: number;
116
+ }[];
117
+ version: number;
118
+ };
119
+ };
120
+ /**
121
+ * Pin job response
122
+ */
123
+ type PinJobResponse = {
124
+ rows: PinJobItem[];
125
+ };
126
+ /**
127
+ * Signed URL options
128
+ */
129
+ type SignedUrlOptions = {
130
+ cid: string;
131
+ date?: number;
132
+ expires: number;
133
+ gateway?: string;
134
+ };
135
+ /**
136
+ * Analytics query options
137
+ */
138
+ type AnalyticsQuery = {
139
+ gateway_domain: string;
140
+ start_date: string;
141
+ end_date: string;
142
+ cid?: string;
143
+ file_name?: string;
144
+ user_agent?: string;
145
+ country?: string;
146
+ region?: string;
147
+ referer?: string;
148
+ limit?: number;
149
+ sort_order?: "asc" | "desc";
150
+ };
151
+ /**
152
+ * Top analytics query options
153
+ */
154
+ type TopAnalyticsQuery = AnalyticsQuery & {
155
+ sort_by: "requests" | "bandwidth";
156
+ attribute: "cid" | "country" | "region" | "user_agent" | "referer" | "file_name";
157
+ };
158
+ /**
159
+ * Top analytics response
160
+ */
161
+ type TopAnalyticsResponse = {
162
+ data: TopAnalyticsItem[];
163
+ };
164
+ /**
165
+ * Top analytics item
166
+ */
167
+ type TopAnalyticsItem = {
168
+ value: string;
169
+ requests: number;
170
+ bandwidth: number;
171
+ };
172
+ /**
173
+ * Time interval analytics query options
174
+ */
175
+ type TimeIntervalAnalyticsQuery = AnalyticsQuery & {
176
+ sort_by?: "requests" | "bandwidth";
177
+ date_interval: "day" | "week";
178
+ };
179
+ /**
180
+ * Time period item
181
+ */
182
+ type TimePeriodItem = {
183
+ period_start_time: string;
184
+ requests: number;
185
+ bandwidth: number;
186
+ };
187
+ /**
188
+ * Time interval analytics response
189
+ */
190
+ type TimeIntervalAnalyticsResponse = {
191
+ total_requests: number;
192
+ total_bandwidth: number;
193
+ time_periods: TimePeriodItem[];
194
+ };
195
+ /**
196
+ * Swap CID options
197
+ */
198
+ type SwapCidOptions = {
199
+ cid: string;
200
+ swapCid: string;
201
+ };
202
+ /**
203
+ * Swap history options
204
+ */
205
+ type SwapHistoryOptions = {
206
+ cid: string;
207
+ domain: string;
208
+ };
209
+ /**
210
+ * Swap CID response
211
+ */
212
+ type SwapCidResponse = {
213
+ mapped_cid: string;
214
+ created_at: string;
215
+ };
216
+ //#endregion
217
+ export { AnalyticsQuery, FileListItem, FileListQuery, FileListResponse, PinJobItem, PinJobQuery, PinJobResponse, PinataConfig, PinataMetadata, SignedUrlOptions, SwapCidOptions, SwapCidResponse, SwapHistoryOptions, TimeIntervalAnalyticsQuery, TimeIntervalAnalyticsResponse, TimePeriodItem, TopAnalyticsItem, TopAnalyticsQuery, TopAnalyticsResponse, UploadOptions, UploadResponse };
218
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ import { CID } from "multiformats/cid";
@@ -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,197 @@
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
+ * Upload builder interface
6
+ */
7
+ interface UploadBuilder<TResult> {
8
+ name(name: string): this;
9
+ keyvalues(keyvalues: Record<string, string>): this;
10
+ execute(): Promise<TResult>;
11
+ }
12
+ /**
13
+ * Filter files builder interface
14
+ */
15
+ interface FilterFiles {
16
+ name(name: string): FilterFiles;
17
+ group(group: string): FilterFiles;
18
+ cid(cid: string): FilterFiles;
19
+ mimeType(mimeType: string): FilterFiles;
20
+ order(order: "ASC" | "DESC"): FilterFiles;
21
+ limit(limit: number): FilterFiles;
22
+ cidPending(cidPending: boolean): FilterFiles;
23
+ keyvalues(keyvalues: Record<string, string>): FilterFiles;
24
+ noGroup(noGroup: boolean): FilterFiles;
25
+ pageToken(pageToken: string): FilterFiles;
26
+ then(onfulfilled?: ((value: FileListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
27
+ all(): Promise<FileListItem[]>;
28
+ [Symbol.asyncIterator](): AsyncGenerator<FileListItem, void, unknown>;
29
+ }
30
+ /**
31
+ * Filter queue builder interface
32
+ */
33
+ interface FilterQueue {
34
+ cid(cid: string): FilterQueue;
35
+ status(status: "prechecking" | "retrieving" | "expired" | "backfilled" | "over_free_limit" | "over_max_size" | "invalid_object" | "bad_host_node"): FilterQueue;
36
+ pageLimit(limit: number): FilterQueue;
37
+ pageToken(pageToken: string): FilterQueue;
38
+ sort(sort: "ASC" | "DSC"): FilterQueue;
39
+ then(onfulfilled?: ((value: PinQueueResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
40
+ all(): Promise<PinQueueItem[]>;
41
+ [Symbol.asyncIterator](): AsyncGenerator<PinQueueItem, void, unknown>;
42
+ }
43
+ /**
44
+ * Filter groups builder interface
45
+ */
46
+ interface FilterGroups {
47
+ name(name: string): FilterGroups;
48
+ limit(limit: number): FilterGroups;
49
+ pageToken(pageToken: string): FilterGroups;
50
+ isPublic(isPublic: boolean): FilterGroups;
51
+ then(onfulfilled?: ((value: GroupListResponse) => any) | null, onrejected?: ((reason: any) => any) | null): Promise<any>;
52
+ all(): Promise<GroupResponseItem[]>;
53
+ [Symbol.asyncIterator](): AsyncGenerator<GroupResponseItem, void, unknown>;
54
+ }
55
+ /**
56
+ * Public upload interface
57
+ */
58
+ interface PublicUpload {
59
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
60
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
61
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
62
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
63
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
64
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
65
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
66
+ }
67
+ /**
68
+ * Private upload interface
69
+ */
70
+ interface PrivateUpload {
71
+ file(file: File, options?: UploadOptions): UploadBuilder<UploadResponse>;
72
+ fileArray(files: File[], options?: UploadOptions): UploadBuilder<UploadResponse>;
73
+ base64(base64String: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
74
+ url(url: string, options?: UploadOptions): UploadBuilder<UploadResponse>;
75
+ json(data: object, options?: UploadOptions): UploadBuilder<UploadResponse>;
76
+ cid(cid: string, options?: UploadCIDOptions): UploadBuilder<PinByCIDResponse>;
77
+ createSignedURL(options: SignedUploadUrlOptions): Promise<string>;
78
+ }
79
+ /**
80
+ * Public files interface
81
+ */
82
+ interface PublicFiles {
83
+ list(): FilterFiles;
84
+ get(id: string): Promise<FileListItem>;
85
+ delete(files: string[]): Promise<DeleteResponse[]>;
86
+ update(options: UpdateFileOptions): Promise<FileListItem>;
87
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
88
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
89
+ deleteSwap(cid: string): Promise<string>;
90
+ queue(): FilterQueue;
91
+ deletePinRequest(requestId: string): Promise<string>;
92
+ }
93
+ /**
94
+ * Private files interface
95
+ */
96
+ interface PrivateFiles {
97
+ list(): FilterFiles;
98
+ get(id: string): Promise<FileListItem>;
99
+ delete(files: string[]): Promise<DeleteResponse[]>;
100
+ update(options: UpdateFileOptions): Promise<FileListItem>;
101
+ addSwap(options: SwapCidOptions): Promise<SwapCidResponse>;
102
+ getSwapHistory(options: SwapHistoryOptions): Promise<SwapCidResponse[]>;
103
+ deleteSwap(cid: string): Promise<string>;
104
+ queue(): FilterQueue;
105
+ deletePinRequest(requestId: string): Promise<string>;
106
+ }
107
+ /**
108
+ * Public gateways interface
109
+ */
110
+ interface PublicGateways {
111
+ get(cid: string): any;
112
+ convert(url: string, gatewayPrefix?: string): Promise<string>;
113
+ }
114
+ /**
115
+ * Private gateways interface
116
+ */
117
+ interface PrivateGateways {
118
+ get(cid: string): any;
119
+ createAccessLink(options: AccessLinkOptions): any;
120
+ }
121
+ /**
122
+ * Public groups interface
123
+ */
124
+ interface PublicGroups {
125
+ create(options: GroupOptions): Promise<GroupResponseItem>;
126
+ list(): FilterGroups;
127
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
128
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
129
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
130
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
131
+ delete(options: GetGroupOptions): Promise<string>;
132
+ }
133
+ /**
134
+ * Private groups interface
135
+ */
136
+ interface PrivateGroups {
137
+ create(options: GroupOptions): Promise<GroupResponseItem>;
138
+ list(): FilterGroups;
139
+ get(options: GetGroupOptions): Promise<GroupResponseItem>;
140
+ addFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
141
+ removeFiles(options: GroupCIDOptions): Promise<UpdateGroupFilesResponse[]>;
142
+ update(options: UpdateGroupOptions): Promise<GroupResponseItem>;
143
+ delete(options: GetGroupOptions): Promise<string>;
144
+ }
145
+ /**
146
+ * Analytics interface
147
+ */
148
+ interface Analytics {
149
+ requests(query: TopAnalyticsQuery): Promise<TopAnalyticsResponse>;
150
+ bandwidth(query: TimeIntervalAnalyticsQuery): Promise<TimeIntervalAnalyticsResponse>;
151
+ }
152
+ /**
153
+ * Pinata 2.x Adapter Interface
154
+ * Matches Pinata SDK 2.x API exactly
155
+ */
156
+ interface PinataAdapter {
157
+ /**
158
+ * Configuration
159
+ */
160
+ config: PinataConfig;
161
+ updateConfig(newConfig: PinataConfig): void;
162
+ /**
163
+ * Upload with public/private separation
164
+ */
165
+ upload: {
166
+ public: PublicUpload;
167
+ private: PrivateUpload;
168
+ };
169
+ /**
170
+ * Files with public/private separation
171
+ */
172
+ files: {
173
+ public: PublicFiles;
174
+ private: PrivateFiles;
175
+ };
176
+ /**
177
+ * Gateways with public/private separation
178
+ */
179
+ gateways: {
180
+ public: PublicGateways;
181
+ private: PrivateGateways;
182
+ };
183
+ /**
184
+ * Groups with public/private separation
185
+ */
186
+ groups: {
187
+ public: PublicGroups;
188
+ private: PrivateGroups;
189
+ };
190
+ /**
191
+ * Analytics (no public/private)
192
+ */
193
+ analytics: Analytics;
194
+ }
195
+ //#endregion
196
+ export { PinataAdapter };
197
+ //# sourceMappingURL=adapter-interface.d.ts.map
@@ -0,0 +1,16 @@
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
+ * Create Pinata Adapter
8
+ *
9
+ * @param pinner - Pinner client instance
10
+ * @param config - Pinata configuration
11
+ * @returns PinataAdapter
12
+ */
13
+ declare function pinataAdapter(pinner: Pinner, config?: PinataConfig): PinataAdapter;
14
+ //#endregion
15
+ export { pinataAdapter };
16
+ //# sourceMappingURL=adapter.d.ts.map