@chunkflowjs/core 0.0.1-alpha.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.
package/README.md ADDED
@@ -0,0 +1,181 @@
1
+ # @chunkflowjs/core
2
+
3
+ Core upload engine for ChunkFlow Upload SDK with state machine, task management, and plugin system.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ pnpm add @chunkflowjs/core
9
+ ```
10
+
11
+ ## Features
12
+
13
+ - Upload state machine
14
+ - Task management
15
+ - Dynamic chunk size adjustment
16
+ - Plugin system for extensibility
17
+ - Resumable uploads
18
+ - Concurrent chunk uploads
19
+ - Progress tracking
20
+
21
+ ## Usage
22
+
23
+ ### Basic Upload
24
+
25
+ ```typescript
26
+ import { UploadManager } from "@chunkflowjs/core";
27
+
28
+ // Create manager with request adapter
29
+ const manager = new UploadManager({
30
+ requestAdapter: myAdapter,
31
+ defaultChunkSize: 1024 * 1024, // 1MB
32
+ defaultConcurrency: 3,
33
+ });
34
+
35
+ // Initialize
36
+ await manager.init();
37
+
38
+ // Create and start upload task
39
+ const task = manager.createTask(file);
40
+
41
+ task.on("progress", ({ progress, speed }) => {
42
+ console.log(`Progress: ${progress}%, Speed: ${speed} bytes/s`);
43
+ });
44
+
45
+ task.on("success", ({ fileUrl }) => {
46
+ console.log(`Upload complete: ${fileUrl}`);
47
+ });
48
+
49
+ await task.start();
50
+ ```
51
+
52
+ ### Using Plugins
53
+
54
+ The plugin system allows you to extend the UploadManager with custom functionality.
55
+
56
+ #### Built-in Plugins
57
+
58
+ ##### LoggerPlugin
59
+
60
+ Logs all upload events to the console:
61
+
62
+ ```typescript
63
+ import { UploadManager, LoggerPlugin } from "@chunkflowjs/core";
64
+
65
+ const manager = new UploadManager({ requestAdapter });
66
+
67
+ // Use logger plugin
68
+ manager.use(
69
+ new LoggerPlugin({
70
+ logProgress: true,
71
+ prefix: "[Upload]",
72
+ }),
73
+ );
74
+ ```
75
+
76
+ ##### StatisticsPlugin
77
+
78
+ Tracks upload statistics:
79
+
80
+ ```typescript
81
+ import { UploadManager, StatisticsPlugin } from "@chunkflowjs/core";
82
+
83
+ const manager = new UploadManager({ requestAdapter });
84
+ const stats = new StatisticsPlugin();
85
+
86
+ manager.use(stats);
87
+
88
+ // Later, get statistics
89
+ const metrics = stats.getStats();
90
+ console.log(`Success rate: ${metrics.successRate}%`);
91
+ console.log(`Total uploaded: ${metrics.totalBytesUploaded} bytes`);
92
+ console.log(`Average speed: ${metrics.averageSpeed} bytes/s`);
93
+
94
+ // Or get a formatted summary
95
+ console.log(stats.getSummary());
96
+ ```
97
+
98
+ #### Creating Custom Plugins
99
+
100
+ Create your own plugin by implementing the `Plugin` interface:
101
+
102
+ ```typescript
103
+ import { Plugin, UploadTask, UploadProgress } from "@chunkflowjs/core";
104
+
105
+ class MyCustomPlugin implements Plugin {
106
+ name = "my-custom-plugin";
107
+
108
+ install(manager: UploadManager): void {
109
+ console.log("Plugin installed");
110
+ }
111
+
112
+ onTaskCreated(task: UploadTask): void {
113
+ console.log(`Task created: ${task.id}`);
114
+ }
115
+
116
+ onTaskProgress(task: UploadTask, progress: UploadProgress): void {
117
+ // Send progress to analytics
118
+ analytics.track("upload_progress", {
119
+ taskId: task.id,
120
+ percentage: progress.percentage,
121
+ });
122
+ }
123
+
124
+ onTaskSuccess(task: UploadTask, fileUrl: string): void {
125
+ // Send success event
126
+ analytics.track("upload_success", {
127
+ taskId: task.id,
128
+ fileUrl,
129
+ });
130
+ }
131
+
132
+ onTaskError(task: UploadTask, error: Error): void {
133
+ // Send error to monitoring service
134
+ errorMonitoring.captureException(error, {
135
+ taskId: task.id,
136
+ fileName: task.file.name,
137
+ });
138
+ }
139
+ }
140
+
141
+ // Use your custom plugin
142
+ manager.use(new MyCustomPlugin());
143
+ ```
144
+
145
+ #### Available Plugin Hooks
146
+
147
+ - `install(manager)` - Called when plugin is registered
148
+ - `onTaskCreated(task)` - Called when a new task is created
149
+ - `onTaskStart(task)` - Called when a task starts uploading
150
+ - `onTaskProgress(task, progress)` - Called on progress updates
151
+ - `onTaskSuccess(task, fileUrl)` - Called when upload completes
152
+ - `onTaskError(task, error)` - Called when an error occurs
153
+ - `onTaskPause(task)` - Called when a task is paused
154
+ - `onTaskResume(task)` - Called when a task is resumed
155
+ - `onTaskCancel(task)` - Called when a task is cancelled
156
+
157
+ All hooks are optional - implement only what you need.
158
+
159
+ ### Resumable Uploads
160
+
161
+ ```typescript
162
+ // Get unfinished uploads
163
+ const unfinished = await manager.getUnfinishedTasksInfo();
164
+
165
+ if (unfinished.length > 0) {
166
+ // User re-selects file
167
+ const file = await selectFile();
168
+
169
+ // Resume upload
170
+ const task = await manager.resumeTask(unfinished[0].taskId, file);
171
+ await task.start();
172
+ }
173
+ ```
174
+
175
+ ## API Reference
176
+
177
+ See the [full API documentation](../../apps/website/docs/api/core.md) for detailed information.
178
+
179
+ ## License
180
+
181
+ MIT
@@ -0,0 +1,12 @@
1
+ export interface IChunkSizeAdjuster {
2
+ adjust(uploadTimeMs: number): number;
3
+ getCurrentSize(): number;
4
+ reset(): void;
5
+ }
6
+ export interface BaseChunkSizeAdjusterOptions {
7
+ initialSize: number;
8
+ minSize: number;
9
+ maxSize: number;
10
+ targetTime?: number;
11
+ }
12
+ //# sourceMappingURL=chunk-size-adjuster-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-size-adjuster-interface.d.ts","sourceRoot":"","sources":["../src/chunk-size-adjuster-interface.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,kBAAkB;IAMjC,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAMrC,cAAc,IAAI,MAAM,CAAC;IAKzB,KAAK,IAAI,IAAI,CAAC;CACf;AAKD,MAAM,WAAW,4BAA4B;IAI3C,WAAW,EAAE,MAAM,CAAC;IAIpB,OAAO,EAAE,MAAM,CAAC;IAIhB,OAAO,EAAE,MAAM,CAAC;IAKhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,34 @@
1
+ import type { IChunkSizeAdjuster, BaseChunkSizeAdjusterOptions } from "./chunk-size-adjuster-interface";
2
+ export interface TCPChunkSizeAdjusterOptions extends BaseChunkSizeAdjusterOptions {
3
+ initialSsthresh?: number;
4
+ }
5
+ export declare enum CongestionState {
6
+ SLOW_START = "slow_start",
7
+ CONGESTION_AVOIDANCE = "congestion_avoidance",
8
+ FAST_RECOVERY = "fast_recovery"
9
+ }
10
+ export declare class TCPChunkSizeAdjuster implements IChunkSizeAdjuster {
11
+ private currentSize;
12
+ private ssthresh;
13
+ private state;
14
+ private readonly options;
15
+ private consecutiveFastUploads;
16
+ private consecutiveSlowUploads;
17
+ constructor(options: TCPChunkSizeAdjusterOptions);
18
+ private validate;
19
+ adjust(uploadTimeMs: number): number;
20
+ private handleFastUpload;
21
+ private handleSlowUpload;
22
+ getCurrentSize(): number;
23
+ getSsthresh(): number;
24
+ getState(): CongestionState;
25
+ reset(): void;
26
+ getStats(): {
27
+ currentSize: number;
28
+ ssthresh: number;
29
+ state: CongestionState;
30
+ consecutiveFastUploads: number;
31
+ consecutiveSlowUploads: number;
32
+ };
33
+ }
34
+ //# sourceMappingURL=chunk-size-adjuster-tcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-size-adjuster-tcp.d.ts","sourceRoot":"","sources":["../src/chunk-size-adjuster-tcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AAOzC,MAAM,WAAW,2BAA4B,SAAQ,4BAA4B;IAI/E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,oBAAY,eAAe;IACzB,UAAU,eAAe;IACzB,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;CAChC;AAwBD,qBAAa,oBAAqB,YAAW,kBAAkB;IAC7D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwC;IAChE,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,sBAAsB,CAAa;gBAE/B,OAAO,EAAE,2BAA2B;IAahD,OAAO,CAAC,QAAQ;IAuBhB,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAgCpC,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,gBAAgB;IAiBxB,cAAc,IAAI,MAAM;IAOxB,WAAW,IAAI,MAAM;IAOrB,QAAQ,IAAI,eAAe;IAO3B,KAAK,IAAI,IAAI;IAWb,QAAQ;;;;;;;CAST"}
@@ -0,0 +1,12 @@
1
+ import type { IChunkSizeAdjuster, BaseChunkSizeAdjusterOptions } from "./chunk-size-adjuster-interface";
2
+ export interface ChunkSizeAdjusterOptions extends BaseChunkSizeAdjusterOptions {
3
+ }
4
+ export declare class ChunkSizeAdjuster implements IChunkSizeAdjuster {
5
+ private currentSize;
6
+ private readonly options;
7
+ constructor(options: ChunkSizeAdjusterOptions);
8
+ adjust(uploadTimeMs: number): number;
9
+ getCurrentSize(): number;
10
+ reset(): void;
11
+ }
12
+ //# sourceMappingURL=chunk-size-adjuster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-size-adjuster.d.ts","sourceRoot":"","sources":["../src/chunk-size-adjuster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC7B,MAAM,iCAAiC,CAAC;AAKzC,MAAM,WAAW,wBAAyB,SAAQ,4BAA4B;CAAG;AAoBjF,qBAAa,iBAAkB,YAAW,kBAAkB;IAC1D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqC;gBAEjD,OAAO,EAAE,wBAAwB;IAgC7C,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAyBpC,cAAc,IAAI,MAAM;IAQxB,KAAK,IAAI,IAAI;CAGd"}
@@ -0,0 +1,246 @@
1
+ import * as _chunkflowjs_shared0 from "@chunkflowjs/shared";
2
+ import { RequestAdapter, UploadProgress as UploadProgress$1, UploadStatus } from "@chunkflowjs/protocol";
3
+
4
+ //#region src/chunk-size-adjuster-interface.d.ts
5
+ interface IChunkSizeAdjuster {
6
+ adjust(uploadTimeMs: number): number;
7
+ getCurrentSize(): number;
8
+ reset(): void;
9
+ }
10
+ interface BaseChunkSizeAdjusterOptions {
11
+ initialSize: number;
12
+ minSize: number;
13
+ maxSize: number;
14
+ targetTime?: number;
15
+ }
16
+ //#endregion
17
+ //#region src/chunk-size-adjuster.d.ts
18
+ interface ChunkSizeAdjusterOptions extends BaseChunkSizeAdjusterOptions {}
19
+ declare class ChunkSizeAdjuster implements IChunkSizeAdjuster {
20
+ private currentSize;
21
+ private readonly options;
22
+ constructor(options: ChunkSizeAdjusterOptions);
23
+ adjust(uploadTimeMs: number): number;
24
+ getCurrentSize(): number;
25
+ reset(): void;
26
+ }
27
+ //#endregion
28
+ //#region src/chunk-size-adjuster-tcp.d.ts
29
+ interface TCPChunkSizeAdjusterOptions extends BaseChunkSizeAdjusterOptions {
30
+ initialSsthresh?: number;
31
+ }
32
+ declare enum CongestionState {
33
+ SLOW_START = "slow_start",
34
+ CONGESTION_AVOIDANCE = "congestion_avoidance",
35
+ FAST_RECOVERY = "fast_recovery"
36
+ }
37
+ declare class TCPChunkSizeAdjuster implements IChunkSizeAdjuster {
38
+ private currentSize;
39
+ private ssthresh;
40
+ private state;
41
+ private readonly options;
42
+ private consecutiveFastUploads;
43
+ private consecutiveSlowUploads;
44
+ constructor(options: TCPChunkSizeAdjusterOptions);
45
+ private validate;
46
+ adjust(uploadTimeMs: number): number;
47
+ private handleFastUpload;
48
+ private handleSlowUpload;
49
+ getCurrentSize(): number;
50
+ getSsthresh(): number;
51
+ getState(): CongestionState;
52
+ reset(): void;
53
+ getStats(): {
54
+ currentSize: number;
55
+ ssthresh: number;
56
+ state: CongestionState;
57
+ consecutiveFastUploads: number;
58
+ consecutiveSlowUploads: number;
59
+ };
60
+ }
61
+ //#endregion
62
+ //#region src/upload-task.d.ts
63
+ interface UploadProgress {
64
+ uploadedBytes: number;
65
+ totalBytes: number;
66
+ percentage: number;
67
+ speed: number;
68
+ remainingTime: number;
69
+ uploadedChunks: number;
70
+ totalChunks: number;
71
+ }
72
+ interface UploadTaskOptions {
73
+ file: File;
74
+ requestAdapter: RequestAdapter;
75
+ chunkSize?: number;
76
+ concurrency?: number;
77
+ retryCount?: number;
78
+ retryDelay?: number;
79
+ autoStart?: boolean;
80
+ resumeTaskId?: string;
81
+ resumeUploadToken?: string;
82
+ resumeUploadedChunks?: number[];
83
+ chunkSizeStrategy?: "simple" | "tcp-like" | IChunkSizeAdjuster;
84
+ initialSsthresh?: number;
85
+ }
86
+ declare class UploadTask {
87
+ readonly id: string;
88
+ readonly file: File;
89
+ private status;
90
+ private progress;
91
+ private chunks;
92
+ private uploadToken;
93
+ private fileHash;
94
+ private eventBus;
95
+ private concurrencyController;
96
+ private storage;
97
+ private requestAdapter;
98
+ private options;
99
+ private startTime;
100
+ private endTime;
101
+ private chunkSizeAdjuster;
102
+ private shouldCancelUpload;
103
+ constructor(options: UploadTaskOptions);
104
+ private generateTaskId;
105
+ getStatus(): UploadStatus;
106
+ getProgress(): UploadProgress;
107
+ getDuration(): number | null;
108
+ on<K extends keyof _chunkflowjs_shared0.UploadEvents>(event: K, handler: (payload: _chunkflowjs_shared0.UploadEvents[K]) => void): void;
109
+ off<K extends keyof _chunkflowjs_shared0.UploadEvents>(event: K, handler: (payload: _chunkflowjs_shared0.UploadEvents[K]) => void): void;
110
+ private createChunks;
111
+ start(): Promise<void>;
112
+ private startUpload;
113
+ private uploadChunkWithRetry;
114
+ private updateProgress;
115
+ private delay;
116
+ private calculateAndVerifyHash;
117
+ private skipExistingChunks;
118
+ private initializeStorage;
119
+ private persistProgress;
120
+ pause(): void;
121
+ resume(): Promise<void>;
122
+ cancel(): void;
123
+ private cleanupStorage;
124
+ }
125
+ //#endregion
126
+ //#region src/upload-manager.d.ts
127
+ interface Plugin {
128
+ name: string;
129
+ install?(manager: UploadManager): void;
130
+ onTaskCreated?(task: UploadTask): void;
131
+ onTaskStart?(task: UploadTask): void;
132
+ onTaskProgress?(task: UploadTask, progress: UploadProgress$1): void;
133
+ onTaskSuccess?(task: UploadTask, fileUrl: string): void;
134
+ onTaskError?(task: UploadTask, error: Error): void;
135
+ onTaskPause?(task: UploadTask): void;
136
+ onTaskResume?(task: UploadTask): void;
137
+ onTaskCancel?(task: UploadTask): void;
138
+ }
139
+ interface UploadManagerOptions {
140
+ requestAdapter: RequestAdapter;
141
+ maxConcurrentTasks?: number;
142
+ defaultChunkSize?: number;
143
+ defaultConcurrency?: number;
144
+ autoResumeUnfinished?: boolean;
145
+ }
146
+ declare class UploadManager {
147
+ private tasks;
148
+ private options;
149
+ private storage;
150
+ private initialized;
151
+ private plugins;
152
+ constructor(options: UploadManagerOptions);
153
+ use(plugin: Plugin): void;
154
+ private callPluginHook;
155
+ init(): Promise<void>;
156
+ createTask(file: File, options?: Partial<UploadTaskOptions>): UploadTask;
157
+ private setupTaskPluginHooks;
158
+ getTask(taskId: string): UploadTask | undefined;
159
+ getAllTasks(): UploadTask[];
160
+ deleteTask(taskId: string): Promise<void>;
161
+ private loadUnfinishedTasks;
162
+ getUnfinishedTasksInfo(): Promise<Array<{
163
+ taskId: string;
164
+ fileInfo: {
165
+ name: string;
166
+ size: number;
167
+ type: string;
168
+ lastModified: number;
169
+ };
170
+ uploadedChunks: number[];
171
+ uploadToken: string;
172
+ createdAt: number;
173
+ updatedAt: number;
174
+ }>>;
175
+ resumeTask(taskId: string, file: File, options?: Partial<UploadTaskOptions>): Promise<UploadTask>;
176
+ clearUnfinishedTask(taskId: string): Promise<void>;
177
+ clearAllUnfinishedTasks(): Promise<number>;
178
+ getTaskCount(): number;
179
+ isInitialized(): boolean;
180
+ clearCompletedTasks(): Promise<number>;
181
+ pauseAll(): number;
182
+ resumeAll(): Promise<number>;
183
+ cancelAll(): number;
184
+ getStatistics(): {
185
+ total: number;
186
+ idle: number;
187
+ uploading: number;
188
+ paused: number;
189
+ success: number;
190
+ error: number;
191
+ cancelled: number;
192
+ };
193
+ close(): void;
194
+ }
195
+ //#endregion
196
+ //#region src/plugins.d.ts
197
+ declare class LoggerPlugin implements Plugin {
198
+ name: string;
199
+ private options;
200
+ constructor(options?: Partial<{
201
+ logProgress: boolean;
202
+ logStart: boolean;
203
+ logSuccess: boolean;
204
+ logError: boolean;
205
+ logPause: boolean;
206
+ logResume: boolean;
207
+ logCancel: boolean;
208
+ prefix: string;
209
+ }>);
210
+ private log;
211
+ install(): void;
212
+ onTaskCreated(task: UploadTask): void;
213
+ onTaskStart(task: UploadTask): void;
214
+ onTaskProgress(task: UploadTask, progress: UploadProgress$1): void;
215
+ onTaskSuccess(task: UploadTask, fileUrl: string): void;
216
+ onTaskError(task: UploadTask, error: Error): void;
217
+ onTaskPause(task: UploadTask): void;
218
+ onTaskResume(task: UploadTask): void;
219
+ onTaskCancel(task: UploadTask): void;
220
+ }
221
+ declare class StatisticsPlugin implements Plugin {
222
+ name: string;
223
+ private stats;
224
+ install(): void;
225
+ onTaskCreated(_task: UploadTask): void;
226
+ onTaskStart(task: UploadTask): void;
227
+ onTaskSuccess(task: UploadTask, _fileUrl: string): void;
228
+ onTaskError(task: UploadTask, _error: Error): void;
229
+ onTaskCancel(task: UploadTask): void;
230
+ getStats(): {
231
+ totalFiles: number;
232
+ successCount: number;
233
+ errorCount: number;
234
+ cancelledCount: number;
235
+ totalBytesUploaded: number;
236
+ averageSpeed: number;
237
+ averageUploadTime: number;
238
+ successRate: number;
239
+ errorRate: number;
240
+ };
241
+ reset(): void;
242
+ getSummary(): string;
243
+ }
244
+ //#endregion
245
+ export { BaseChunkSizeAdjusterOptions, ChunkSizeAdjuster, ChunkSizeAdjusterOptions, CongestionState, IChunkSizeAdjuster, LoggerPlugin, Plugin, StatisticsPlugin, TCPChunkSizeAdjuster, TCPChunkSizeAdjusterOptions, UploadManager, UploadManagerOptions, UploadProgress, UploadTask, UploadTaskOptions };
246
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/chunk-size-adjuster-interface.ts","../src/chunk-size-adjuster.ts","../src/chunk-size-adjuster-tcp.ts","../src/upload-task.ts","../src/upload-manager.ts","../src/plugins.ts"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from "./chunk-size-adjuster-interface";
2
+ export * from "./chunk-size-adjuster";
3
+ export * from "./chunk-size-adjuster-tcp";
4
+ export * from "./upload-task";
5
+ export * from "./upload-manager";
6
+ export * from "./plugins";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}