@autonomys/auto-drive 1.5.19 → 1.6.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.
package/README.md CHANGED
@@ -26,6 +26,34 @@ To interact with the Auto-Drive API, you'll need to create an API key. Follow th
26
26
  - Once you're logged in, click on the developers section in the left sidebar menu.
27
27
  - In the developers section, click on 'Create API Key'
28
28
  - Read the modal message and click on generate
29
+ Add
30
+ ### How to upload a file from Buffer?
31
+
32
+ Here is an example of how to use the `uploadFileFromBuffer` method to upload a Buffer with optional encryption and compression:
33
+
34
+ ```typescript
35
+ import { createAutoDriveApi } from '@autonomys/auto-drive'
36
+ import { NetworkId } from '@autonomys/auto-utils'
37
+
38
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
39
+
40
+ // Create a buffer from your data
41
+ const buffer = Buffer.from('Hello, Autonomys!')
42
+ const fileName = 'hello.txt'
43
+
44
+ const options = {
45
+ password: 'your-encryption-password', // Optional: specify a password for encryption
46
+ compression: true,
47
+ // an optional callback useful for large file uploads
48
+ onProgress?: (progress: number) => {
49
+ console.log(`The upload is ${progress}% completed`)
50
+ }
51
+ }
52
+
53
+ const cid = await api.uploadFileFromBuffer(buffer, fileName, options)
54
+
55
+ console.log(`The file is uploaded and its cid is ${cid}`)
56
+ ```
29
57
 
30
58
  ### How to upload a file from filepath? (Not available in browser)
31
59
 
@@ -35,7 +63,7 @@ Here is an example of how to use the `fs.uploadFileFromFilepath` method to uploa
35
63
  import { fs, createAutoDriveApi } from '@autonomys/auto-drive'
36
64
  import { NetworkId } from '@autonomys/auto-utils'
37
65
 
38
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
66
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
39
67
  const filePath = 'path/to/your/file.txt' // Specify the path to your file
40
68
  const options = {
41
69
  password: 'your-encryption-password', // Optional: specify a password for encryption
@@ -57,7 +85,7 @@ console.log(`The file is uploaded and its cid is ${cid}`)
57
85
  import { createAutoDriveApi } from '@autonomys/auto-drive'
58
86
  import { NetworkId } from '@autonomys/auto-utils'
59
87
 
60
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
88
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
61
89
 
62
90
  // e.g Get File from object from HTML event
63
91
  const file: File = e.target.value // Substitute with your file
@@ -92,7 +120,7 @@ You could upload any file that could be represented in that way. For example, up
92
120
  import { createAutoDriveApi } from '@autonomys/auto-drive'
93
121
  import { NetworkId } from '@autonomys/auto-utils'
94
122
 
95
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
123
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
96
124
  const buffer = Buffer.from(...);
97
125
  const genericFile = {
98
126
  read: async function *() {
@@ -124,7 +152,7 @@ console.log(`The file is uploaded and its cid is ${cid}`)
124
152
  import { createAutoDriveApi, fs } from '@autonomys/auto-drive'
125
153
  import { NetworkId } from '@autonomys/auto-utils'
126
154
 
127
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
155
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
128
156
  const folderPath = 'path/to/your/folder' // Specify the path to your folder
129
157
 
130
158
  const options = {
@@ -151,7 +179,7 @@ Here is an example of how to use the `downloadFile` method to download a file fr
151
179
  import { createAutoDriveApi } from '@autonomys/auto-drive'
152
180
  import { NetworkId } from '@autonomys/auto-utils'
153
181
 
154
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
182
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
155
183
 
156
184
  try {
157
185
  const cid = '..'
@@ -176,7 +204,7 @@ Here are examples of how to use the object moderation methods:
176
204
  import { createAutoDriveApi } from '@autonomys/auto-drive'
177
205
  import { NetworkId } from '@autonomys/auto-utils'
178
206
 
179
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS })
207
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
180
208
 
181
209
  try {
182
210
  const cid = 'your-object-cid'
@@ -193,7 +221,7 @@ try {
193
221
  import { createAutoDriveApi } from '@autonomys/auto-drive'
194
222
  import { NetworkId } from '@autonomys/auto-utils'
195
223
 
196
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS })
224
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
197
225
 
198
226
  try {
199
227
  const cid = 'your-object-cid'
@@ -210,7 +238,7 @@ try {
210
238
  import { createAutoDriveApi } from '@autonomys/auto-drive'
211
239
  import { NetworkId } from '@autonomys/auto-utils'
212
240
 
213
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS })
241
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
214
242
 
215
243
  try {
216
244
  const cid = 'your-object-cid'
@@ -227,7 +255,7 @@ try {
227
255
  import { createAutoDriveApi } from '@autonomys/auto-drive'
228
256
  import { NetworkId } from '@autonomys/auto-utils'
229
257
 
230
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS })
258
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET })
231
259
 
232
260
  try {
233
261
  const toBeReviewed = await api.getToBeReviewedList(50, 0)
@@ -248,7 +276,7 @@ Here is an example of how to use the `publishObject` method to publish an object
248
276
  import { createAutoDriveApi } from '@autonomys/auto-drive'
249
277
  import { NetworkId } from '@autonomys/auto-utils'
250
278
 
251
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
279
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
252
280
 
253
281
  try {
254
282
  const cid = 'your-file-cid'
@@ -269,7 +297,7 @@ Here is an example of how to use the `getMyFiles` method to retrieve the root di
269
297
  import { createAutoDriveApi } from '@autonomys/auto-drive'
270
298
  import { NetworkId } from '@autonomys/auto-utils'
271
299
 
272
- const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.TAURUS }) // Initialize your API instance with API key
300
+ const api = createAutoDriveApi({ apiKey: 'your-api-key', network: NetworkId.MAINNET }) // Initialize your API instance with API key
273
301
 
274
302
  try {
275
303
  for (let i = 0; i < 10; i++) {
@@ -54,6 +54,18 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
54
54
  * @throws {Error} - Throws an error if the upload fails at any stage.
55
55
  */
56
56
  uploadFile: (file: GenericFile, options: UploadFileOptions, uploadChunkSize?: number) => Promise<string>;
57
+ /**
58
+ * Uploads a buffer to the server with optional encryption and compression.
59
+ *
60
+ * @param {AutoDriveApi} api - The API instance used to send requests.
61
+ * @param {Buffer} buffer - The buffer to be uploaded.
62
+ * @param {string} name - The name of the file to be uploaded.
63
+ * @param {UploadFileOptions} options - Options for the upload process.
64
+ * @param {number} [uploadChunkSize] - The size of each chunk to upload (optional).
65
+ * @returns {Promise<string>} - The CID of the uploaded file.
66
+ * @throws {Error} - Throws an error if the upload fails at any stage.
67
+ */
68
+ uploadFileFromBuffer: (buffer: Buffer, name: string, options: UploadFileOptions, uploadChunkSize?: number) => Promise<string>;
57
69
  /**
58
70
  * Uploads an object as a JSON file to the server.
59
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/api/wrappers.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAqB,MAAM,SAAS,CAAA;AA6B9E,eAAO,MAAM,kBAAkB,GAAI,KAAK,mBAAmB,KAAG,YA8U7D,CAAA"}
1
+ {"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/api/wrappers.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAqB,MAAM,SAAS,CAAA;AA6B9E,eAAO,MAAM,kBAAkB,GAAI,KAAK,mBAAmB,KAAG,YA4V7D,CAAA"}
@@ -144,6 +144,9 @@ const createApiInterface = (api) => {
144
144
  const result = yield index_1.apiCalls.completeUpload(api, { uploadId: fileUpload.id });
145
145
  return result.cid;
146
146
  });
147
+ const uploadFileFromBuffer = (buffer_1, name_1, ...args_1) => __awaiter(void 0, [buffer_1, name_1, ...args_1], void 0, function* (buffer, name, options = {}, uploadChunkSize) {
148
+ return uploadFile({ read: () => (0, asynchronous_1.bufferToAsyncIterable)(buffer), name, size: buffer.length }, options, uploadChunkSize);
149
+ });
147
150
  const uploadObjectAsJSON = (object_1, name_1, ...args_1) => __awaiter(void 0, [object_1, name_1, ...args_1], void 0, function* (object, name, options = {}, uploadChunkSize) {
148
151
  try {
149
152
  const json = Buffer.from(JSON.stringify(object));
@@ -270,6 +273,7 @@ const createApiInterface = (api) => {
270
273
  me,
271
274
  uploadFileFromInput,
272
275
  uploadFile,
276
+ uploadFileFromBuffer,
273
277
  uploadObjectAsJSON,
274
278
  uploadFolderFromInput,
275
279
  uploadFileWithinFolderUpload,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@autonomys/auto-drive",
3
3
  "packageManager": "yarn@4.7.0",
4
- "version": "1.5.19",
4
+ "version": "1.6.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -42,9 +42,9 @@
42
42
  "typescript": "^5.8.3"
43
43
  },
44
44
  "dependencies": {
45
- "@autonomys/asynchronous": "^1.5.19",
46
- "@autonomys/auto-dag-data": "^1.5.19",
47
- "@autonomys/auto-utils": "^1.5.19",
45
+ "@autonomys/asynchronous": "^1.6.0",
46
+ "@autonomys/auto-dag-data": "^1.6.0",
47
+ "@autonomys/auto-utils": "^1.6.0",
48
48
  "blockstore-core": "^5.0.2",
49
49
  "jszip": "^3.10.1",
50
50
  "mime-types": "^3.0.1",
@@ -52,5 +52,5 @@
52
52
  "stream": "^0.0.3",
53
53
  "zod": "^3.24.2"
54
54
  },
55
- "gitHead": "ada024eb3cb14bf67b3d9f1cb8545e7b7d9d14ed"
55
+ "gitHead": "a0a448db8d1a26006c4123ad9a0e53a8c9293255"
56
56
  }
package/src/api/types.ts CHANGED
@@ -65,6 +65,23 @@ export interface AutoDriveApi extends AutoDriveApiHandler {
65
65
  options: UploadFileOptions,
66
66
  uploadChunkSize?: number,
67
67
  ) => Promise<string>
68
+ /**
69
+ * Uploads a buffer to the server with optional encryption and compression.
70
+ *
71
+ * @param {AutoDriveApi} api - The API instance used to send requests.
72
+ * @param {Buffer} buffer - The buffer to be uploaded.
73
+ * @param {string} name - The name of the file to be uploaded.
74
+ * @param {UploadFileOptions} options - Options for the upload process.
75
+ * @param {number} [uploadChunkSize] - The size of each chunk to upload (optional).
76
+ * @returns {Promise<string>} - The CID of the uploaded file.
77
+ * @throws {Error} - Throws an error if the upload fails at any stage.
78
+ */
79
+ uploadFileFromBuffer: (
80
+ buffer: Buffer,
81
+ name: string,
82
+ options: UploadFileOptions,
83
+ uploadChunkSize?: number,
84
+ ) => Promise<string>
68
85
  /**
69
86
  * Uploads an object as a JSON file to the server.
70
87
  *
@@ -2,6 +2,7 @@
2
2
  import {
3
3
  asyncByChunk,
4
4
  asyncFromStream,
5
+ bufferToAsyncIterable,
5
6
  bufferToIterable,
6
7
  fileToIterable,
7
8
  } from '@autonomys/asynchronous'
@@ -152,6 +153,19 @@ export const createApiInterface = (api: AutoDriveApiHandler): AutoDriveApi => {
152
153
  return result.cid
153
154
  }
154
155
 
156
+ const uploadFileFromBuffer = async (
157
+ buffer: Buffer,
158
+ name: string,
159
+ options: UploadFileOptions = {},
160
+ uploadChunkSize?: number,
161
+ ): Promise<string> => {
162
+ return uploadFile(
163
+ { read: () => bufferToAsyncIterable(buffer), name, size: buffer.length },
164
+ options,
165
+ uploadChunkSize,
166
+ )
167
+ }
168
+
155
169
  const uploadObjectAsJSON = async (
156
170
  object: unknown,
157
171
  name?: string | undefined,
@@ -351,6 +365,7 @@ export const createApiInterface = (api: AutoDriveApiHandler): AutoDriveApi => {
351
365
  me,
352
366
  uploadFileFromInput,
353
367
  uploadFile,
368
+ uploadFileFromBuffer,
354
369
  uploadObjectAsJSON,
355
370
  uploadFolderFromInput,
356
371
  uploadFileWithinFolderUpload,