instasave-sdk 1.2.7 → 1.2.8

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/CHANGELOG.md CHANGED
@@ -2,6 +2,119 @@
2
2
 
3
3
  All notable changes to InstaSave SDK will be documented in this file.
4
4
 
5
+ ## [1.2.8] - 2026-01-04
6
+
7
+ ### ✨ New Features - Direct Download API
8
+
9
+ #### Added `downloadImages()` Function
10
+ - **Batch image download** - Download all images from scraped MediaData
11
+ - **Progress tracking** - Real-time progress callbacks `(percent, current, total)`
12
+ - **Custom filename patterns** - `{username}_{postid}_{index}.{ext}`
13
+ - **Duplicate detection** - MD5 hash-based skip for already downloaded files
14
+ - **Retry logic** - 3 attempts with exponential backoff (1s, 2s, 4s)
15
+ - **Configurable timeout** - Default 30 seconds per image
16
+
17
+ #### Added `downloadScrape()` Function
18
+ - **Direct URL download** - Download any image URL directly
19
+ - **Base64 conversion** - Optional: Download → Base64 → File
20
+ - **Direct download** - Download → File (bypasses Base64)
21
+ - **Format auto-detection** - Detects format from Content-Type header
22
+ - **Retry mechanism** - 3 attempts with exponential backoff
23
+ - **Engine class** - `DownloadScrapeEngine` for batch operations
24
+
25
+ ### New Dependencies
26
+ - **axios** ^1.6.0 - HTTP client for downloads
27
+ - **sharp** ^0.33.0 - Image processing (future features)
28
+ - **file-type** ^18.0.0 - File format detection
29
+
30
+ ### API Examples
31
+
32
+ #### downloadImages()
33
+ ```javascript
34
+ import { downloadImages, MediaScraper } from 'instasave-sdk';
35
+
36
+ const scraper = new MediaScraper();
37
+ const data = await scraper.scrape('https://instagram.com/p/ABC123/');
38
+
39
+ // Download all images with progress
40
+ const result = await downloadImages(data, {
41
+ savePath: './downloads',
42
+ getFile: true,
43
+ filename: '{username}_{postid}_{index}.{ext}',
44
+ skipDuplicates: true,
45
+ onProgress: (percent, current, total) => {
46
+ console.log(`${percent}% (${current}/${total})`);
47
+ }
48
+ });
49
+
50
+ console.log(`Downloaded: ${result.downloaded}/${result.total}`);
51
+ ```
52
+
53
+ #### downloadScrape()
54
+ ```javascript
55
+ import { downloadScrape } from 'instasave-sdk';
56
+
57
+ // Download with Base64 conversion (default)
58
+ const result = await downloadScrape(imageUrl, {
59
+ useBase64: true,
60
+ outputPath: './images',
61
+ filename: 'my-image.jpg'
62
+ });
63
+
64
+ // Direct download (faster)
65
+ const result = await downloadScrape(imageUrl, {
66
+ useBase64: false,
67
+ outputPath: './images',
68
+ filename: 'my-image.jpg'
69
+ });
70
+
71
+ console.log(result.localPath); // "./images/my-image.jpg"
72
+ console.log(result.bytes); // File size in bytes
73
+ console.log(result.format); // "jpg", "png", "webp"
74
+ ```
75
+
76
+ ### Download Options
77
+ | Option | Type | Default | Description |
78
+ |--------|------|---------|-------------|
79
+ | `savePath` | string | './downloads' | Destination folder |
80
+ | `getFile` | boolean | true | Save to file or just return URLs |
81
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Custom filename pattern |
82
+ | `useBase64` | boolean | true | Convert to Base64 before saving |
83
+ | `skipDuplicates` | boolean | false | Skip already downloaded files |
84
+ | `timeout` | number | 30000 | Request timeout in ms |
85
+ | `retries` | number | 3 | Retry attempts on failure |
86
+
87
+ ### Download Result
88
+ ```typescript
89
+ {
90
+ success: true, // true if all files downloaded
91
+ total: 5, // total files attempted
92
+ downloaded: 5, // successfully downloaded
93
+ failed: 0, // failed downloads
94
+ skipped: 0, // skipped duplicates
95
+ files: [
96
+ {
97
+ index: 0,
98
+ url: "https://...",
99
+ path: "./downloads/user_ABC123_01.jpg",
100
+ filename: "user_ABC123_01.jpg",
101
+ bytes: 265661,
102
+ format: "jpg"
103
+ }
104
+ ],
105
+ totalBytes: 1328305, // total bytes downloaded
106
+ duration: 5234 // time in milliseconds
107
+ }
108
+ ```
109
+
110
+ ### New Exports
111
+ - `downloadImages()` - Main download function
112
+ - `DownloadManager` - Manager class for advanced usage
113
+ - `downloadScrape()` - Direct URL download function
114
+ - `DownloadScrapeEngine` - Engine class for batch downloads
115
+ - `DownloadScrapeOptions` - Options interface
116
+ - `DownloadScrapeResult` - Result interface
117
+
5
118
  ## [1.2.7] - 2026-01-04
6
119
 
7
120
  ### 🐛 Metadata Extraction Fix
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # InstaSave SDK
2
2
 
3
- [![Version](https://img.shields.io/badge/version-1.2.7-blue.svg)](https://github.com/nykadamec/instasave-sdk/releases/tag/v1.2.7)
3
+ [![Version](https://img.shields.io/badge/version-1.2.8-blue.svg)](https://github.com/nykadamec/instasave-sdk/releases/tag/v1.2.8)
4
4
  [![Changelog](https://img.shields.io/badge/changelog-latest-green.svg)](https://github.com/nykadamec/instasave-sdk/blob/main/CHANGELOG.md)
5
5
 
6
6
  📸 **Simple Instagram scraper for downloading images from posts**
7
7
 
8
- Fast, reliable, and easy-to-use Instagram media downloader with authentication support.
8
+ Fast, reliable, and easy-to-use Instagram media downloader with authentication and direct download support.
9
9
 
10
10
  ---
11
11
 
@@ -113,6 +113,204 @@ const data = await scraper.scrape('URL', {
113
113
 
114
114
  ---
115
115
 
116
+ ## 📥 Download Images
117
+
118
+ Stáhněte obrázky přímo z scraped dat:
119
+
120
+ ```javascript
121
+ import { MediaScraper, downloadImages } from 'instasave-sdk';
122
+
123
+ const scraper = new MediaScraper();
124
+
125
+ // Nejprve scrape data
126
+ const data = await scraper.scrape('https://www.instagram.com/p/ABC123/');
127
+
128
+ // Potom stáhněte obrázky
129
+ const result = await downloadImages(data, {
130
+ savePath: './downloads', // Kam ukládat
131
+ getFile: true, // 'download' | 'save' | false
132
+ filename: '{username}_{postid}_{index}.{ext}',
133
+ skipDuplicates: true,
134
+ onProgress: (percent, current, total) => {
135
+ console.log(`${percent}% (${current}/${total})`);
136
+ }
137
+ });
138
+
139
+ console.log(`✅ Staženo: ${result.downloaded}/${result.total}`);
140
+ console.log(`📁 Soubory: ${result.files.map(f => f.filename).join(', ')}`);
141
+ ```
142
+
143
+ ### Download Options
144
+
145
+ | Parametr | Typ | Default | Popis |
146
+ |----------|-----|---------|-------|
147
+ | `savePath` | string | - | Cílová složka |
148
+ | `getFile` | boolean | true | Ukládat soubory |
149
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Pattern názvu |
150
+ | `skipDuplicates` | boolean | false | Přeskočit duplikáty |
151
+ | `createSubfolders` | boolean | false | Vytvořit podsložku podle username |
152
+ | `onProgress` | function | - | Callback pro progress |
153
+ | `timeout` | number | 30000 | Timeout v ms |
154
+
155
+ ### Download Result
156
+
157
+ ```javascript
158
+ {
159
+ success: true, // true pokud všechny úspěšné
160
+ total: 5, // celkem obrázků
161
+ downloaded: 4, // úspěšně staženo
162
+ failed: 1, // selhalo
163
+ skipped: 0, // přeskočeno (duplikáty)
164
+ files: [
165
+ {
166
+ index: 0,
167
+ url: 'https://...',
168
+ path: './downloads/user_ABC123_01.jpg',
169
+ filename: 'user_ABC123_01.jpg',
170
+ bytes: 245000,
171
+ format: 'jpg'
172
+ }
173
+ ],
174
+ errors: [
175
+ {
176
+ index: 4,
177
+ url: 'https://...',
178
+ code: 'DOWNLOAD_FAILED',
179
+ message: 'Timeout after 3 attempts'
180
+ }
181
+ ],
182
+ totalBytes: 980000, // celkem staženo bytes
183
+ duration: 5234 // ms
184
+ }
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 📥 Download Images
190
+
191
+ Download images directly from scraped data:
192
+
193
+ ```javascript
194
+ import { MediaScraper, downloadImages } from 'instasave-sdk';
195
+
196
+ const scraper = new MediaScraper();
197
+ const data = await scraper.scrape('https://www.instagram.com/p/ABC123/');
198
+
199
+ // Download all images with progress tracking
200
+ const result = await downloadImages(data, {
201
+ savePath: './downloads',
202
+ getFile: true,
203
+ filename: '{username}_{postid}_{index}.{ext}',
204
+ skipDuplicates: false,
205
+ onProgress: (percent, current, total) => {
206
+ console.log(`${percent}% (${current}/${total})`);
207
+ }
208
+ });
209
+
210
+ console.log(`Downloaded: ${result.downloaded}/${result.total}`);
211
+ console.log(`Files: ${result.files.map(f => f.filename).join(', ')}`);
212
+ ```
213
+
214
+ ### Download Options
215
+
216
+ | Option | Type | Default | Description |
217
+ |--------|------|---------|-------------|
218
+ | `savePath` | string | './downloads' | Destination folder |
219
+ | `getFile` | boolean | true | Save to file or return URLs |
220
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Filename pattern |
221
+ | `skipDuplicates` | boolean | false | Skip already downloaded files |
222
+ | `createSubfolders` | boolean | false | Create subfolder by username |
223
+ | `onProgress` | function | - | Progress callback |
224
+ | `timeout` | number | 30000 | Request timeout in ms |
225
+
226
+ ### Download Result
227
+
228
+ ```javascript
229
+ {
230
+ success: true, // true if all successful
231
+ total: 5, // total images
232
+ downloaded: 4, // successfully downloaded
233
+ failed: 1, // failed downloads
234
+ skipped: 0, // skipped duplicates
235
+ files: [
236
+ {
237
+ index: 0,
238
+ url: 'https://...',
239
+ path: './downloads/user_ABC123_01.jpg',
240
+ filename: 'user_ABC123_01.jpg',
241
+ bytes: 245000,
242
+ format: 'jpg'
243
+ }
244
+ ],
245
+ errors: [
246
+ {
247
+ index: 4,
248
+ url: 'https://...',
249
+ code: 'DOWNLOAD_FAILED',
250
+ message: 'Timeout after 3 attempts'
251
+ }
252
+ ],
253
+ totalBytes: 980000, // total bytes
254
+ duration: 5234 // milliseconds
255
+ }
256
+ ```
257
+
258
+ ---
259
+
260
+ ## 🔗 Direct URL Download
261
+
262
+ Download any image URL directly with `downloadScrape()`:
263
+
264
+ ```javascript
265
+ import { downloadScrape } from 'instasave-sdk';
266
+
267
+ // Download with Base64 conversion (default)
268
+ const result = await downloadScrape(imageUrl, {
269
+ useBase64: true,
270
+ outputPath: './images',
271
+ filename: 'my-image.jpg'
272
+ });
273
+ // Flow: Download → Base64 → File
274
+
275
+ // Direct download (faster)
276
+ const result = await downloadScrape(imageUrl, {
277
+ useBase64: false,
278
+ outputPath: './images',
279
+ filename: 'my-image.jpg'
280
+ });
281
+ // Flow: Download → File
282
+
283
+ console.log(result.localPath); // "./images/my-image.jpg"
284
+ console.log(result.bytes); // 265661
285
+ console.log(result.format); // "jpg"
286
+ ```
287
+
288
+ ### downloadScrape Options
289
+
290
+ | Option | Type | Default | Description |
291
+ |--------|------|---------|-------------|
292
+ | `useBase64` | boolean | true | Download→Base64→File or direct Download→File |
293
+ | `outputPath` | string | './downloads' | Destination folder |
294
+ | `filename` | string | auto-generated | Filename |
295
+ | `timeout` | number | 30000 | Request timeout in ms |
296
+ | `retries` | number | 3 | Retry attempts on failure |
297
+
298
+ ### downloadScrape Result
299
+
300
+ ```javascript
301
+ {
302
+ success: true,
303
+ url: 'https://instagram.com/image.jpg',
304
+ localPath: './images/my-image.jpg',
305
+ filename: 'my-image.jpg',
306
+ format: 'jpg',
307
+ bytes: 265661,
308
+ error: undefined
309
+ }
310
+ ```
311
+
312
+ ---
313
+
116
314
  ## ⚙️ Configuration
117
315
 
118
316
  Create `instasave.config` in your project root for automatic setup:
@@ -155,6 +353,8 @@ TIMEOUT = 60
155
353
  ✅ **Reliable login** - Stable authentication with Instagram
156
354
  ✅ **Browser reuse** - 61-70% faster performance through connection pooling
157
355
  ✅ **Hot reload config** - Automatic config updates without restart
356
+ ✅ **Direct download** - Download images directly from scraped data
357
+ ✅ **Download API** - Batch download with progress tracking and retry logic
158
358
 
159
359
  ### Limitations
160
360
  ❌ **Videos/Reels** - Images only
@@ -2,6 +2,7 @@ import { MediaData } from '../types';
2
2
  import { FastAuthManager, LoginCredentials } from '../auth';
3
3
  import { PluginManager, Plugin, ScrapingOptions } from '../plugins';
4
4
  import { ConfigParser, InstaSaveConfig } from '../utils/config';
5
+ import { DownloadOptions, DownloadResult } from '../download';
5
6
  /**
6
7
  * Main media scraper class with multi-platform support
7
8
  * @class MediaScraper
@@ -18,6 +19,7 @@ export declare class MediaScraper {
18
19
  private currentScrapeId;
19
20
  private stepCallback;
20
21
  private crawlerManager;
22
+ private downloadManager;
21
23
  /**
22
24
  * Creates a new MediaScraper instance
23
25
  */
@@ -95,6 +97,10 @@ export declare class MediaScraper {
95
97
  * Logout and clear session data
96
98
  */
97
99
  logout(): Promise<void>;
100
+ /**
101
+ * Download images from scraped media data
102
+ */
103
+ downloadImages(data: MediaData, options: DownloadOptions): Promise<DownloadResult>;
98
104
  /**
99
105
  * Clear all cached data and reset SDK state
100
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"media-scraper.d.ts","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAKpF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAShE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;;IAoCH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;YACW,SAAS;IAevB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;YAqQ9D,UAAU;IAaxB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;IAIjD;;OAEG;IACH,UAAU;IAIV;;OAEG;IACG,SAAS;IAIf;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,cAAc,IAAI,eAAe;IAIjC;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,eAAe,IAAI,YAAY;IAIzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,IAAI;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"media-scraper.d.ts","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAKpF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKhE,OAAO,EAAmB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK/E;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;OAEG;;IAqCH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;YACW,SAAS;IAevB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;YAqQ9D,UAAU;IAaxB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;IAIjD;;OAEG;IACH,UAAU;IAIV;;OAEG;IACG,SAAS;IAIf;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,cAAc,IAAI,eAAe;IAIjC;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,eAAe,IAAI,YAAY;IAIzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,IAAI;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC;IAI1B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -49,6 +49,7 @@ const url_normalizer_1 = require("../utils/url-normalizer");
49
49
  const crawler_manager_1 = require("../browser/crawler-manager");
50
50
  const logger_1 = require("../utils/logger");
51
51
  const workflow_executor_1 = require("./workflow-executor");
52
+ const download_1 = require("../download");
52
53
  // Load environment variables
53
54
  dotenv.config();
54
55
  /**
@@ -71,6 +72,7 @@ class MediaScraper {
71
72
  this.fileManager = new file_manager_1.FileManager();
72
73
  this.configParser = new config_1.ConfigParser();
73
74
  this.crawlerManager = crawler_manager_1.CrawlerManager.getInstance();
75
+ this.downloadManager = new download_1.DownloadManager();
74
76
  // Set crawler manager for auth manager
75
77
  this.authManager.setCrawlerManager(this.crawlerManager);
76
78
  // Load configuration
@@ -476,6 +478,12 @@ class MediaScraper {
476
478
  await this.authManager.logout();
477
479
  logger_1.log.info('🔐 Session cleared successfully');
478
480
  }
481
+ /**
482
+ * Download images from scraped media data
483
+ */
484
+ async downloadImages(data, options) {
485
+ return this.downloadManager.downloadImages(data, options);
486
+ }
479
487
  /**
480
488
  * Clear all cached data and reset SDK state
481
489
  */
@@ -1 +1 @@
1
- {"version":3,"file":"media-scraper.js","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-scraper.js","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Download engine - HTTP download with retries
3
+ */
4
+ interface DownloadResultInternal {
5
+ success: boolean;
6
+ bytes: number;
7
+ path: string;
8
+ error?: string;
9
+ }
10
+ interface DownloadFileParams {
11
+ url: string;
12
+ destPath: string;
13
+ filename: string;
14
+ onProgress?: (percent: number) => void;
15
+ timeout?: number;
16
+ }
17
+ export declare class DownloadEngine {
18
+ private readonly tempDir;
19
+ private readonly defaultTimeout;
20
+ constructor();
21
+ download(params: DownloadFileParams): Promise<DownloadResultInternal>;
22
+ private downloadWithRetry;
23
+ private performDownload;
24
+ getFileNameFromUrl(url: string): string;
25
+ getFileFormat(url: string): string;
26
+ getFileHash(filePath: string): Promise<string>;
27
+ private ensureTempDir;
28
+ private cleanupTemp;
29
+ private sleep;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=download-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download-engine.d.ts","sourceRoot":"","sources":["../../src/download/download-engine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;;IAMlC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAM7D,iBAAiB;YAqCjB,eAAe;IA6D7B,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAWvC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAM5B,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpD,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,KAAK;CAGd"}