pixivflow 2.0.41 → 2.1.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.
Files changed (50) hide show
  1. package/LICENSE +21 -674
  2. package/README.md +67 -574
  3. package/README_EN.md +71 -1523
  4. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  5. package/dist/commands/SchedulerCommand.js +5 -1
  6. package/dist/commands/SchedulerCommand.js.map +1 -1
  7. package/dist/download/DownloadManager.d.ts +9 -0
  8. package/dist/download/DownloadManager.d.ts.map +1 -1
  9. package/dist/download/DownloadManager.js +27 -0
  10. package/dist/download/DownloadManager.js.map +1 -1
  11. package/dist/download/pipeline/DownloadPipeline.d.ts +6 -0
  12. package/dist/download/pipeline/DownloadPipeline.d.ts.map +1 -1
  13. package/dist/download/pipeline/DownloadPipeline.js +4 -2
  14. package/dist/download/pipeline/DownloadPipeline.js.map +1 -1
  15. package/dist/package.json +1 -1
  16. package/dist/scheduler/Scheduler.d.ts +17 -4
  17. package/dist/scheduler/Scheduler.d.ts.map +1 -1
  18. package/dist/scheduler/Scheduler.js +58 -20
  19. package/dist/scheduler/Scheduler.js.map +1 -1
  20. package/dist/utils/errors.d.ts +9 -0
  21. package/dist/utils/errors.d.ts.map +1 -1
  22. package/dist/utils/errors.js +17 -1
  23. package/dist/utils/errors.js.map +1 -1
  24. package/dist/webui/package.json +1 -1
  25. package/dist/webui/routes/handlers/download-basic-handlers.d.ts.map +1 -1
  26. package/dist/webui/routes/handlers/download-basic-handlers.js +6 -20
  27. package/dist/webui/routes/handlers/download-basic-handlers.js.map +1 -1
  28. package/dist/webui/routes/handlers/download-url-handlers.d.ts +3 -6
  29. package/dist/webui/routes/handlers/download-url-handlers.d.ts.map +1 -1
  30. package/dist/webui/routes/handlers/download-url-handlers.js +72 -138
  31. package/dist/webui/routes/handlers/download-url-handlers.js.map +1 -1
  32. package/dist/webui/server/server-routes.d.ts.map +1 -1
  33. package/dist/webui/server/server-routes.js +6 -2
  34. package/dist/webui/server/server-routes.js.map +1 -1
  35. package/dist/webui/server/server.d.ts.map +1 -1
  36. package/dist/webui/server/server.js +25 -3
  37. package/dist/webui/server/server.js.map +1 -1
  38. package/dist/webui/services/DownloadTaskManager.d.ts +12 -0
  39. package/dist/webui/services/DownloadTaskManager.d.ts.map +1 -1
  40. package/dist/webui/services/DownloadTaskManager.js +119 -51
  41. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  42. package/dist/webui/utils/task-serialize.d.ts +31 -0
  43. package/dist/webui/utils/task-serialize.d.ts.map +1 -0
  44. package/dist/webui/utils/task-serialize.js +40 -0
  45. package/dist/webui/utils/task-serialize.js.map +1 -0
  46. package/dist/webui/websocket/DownloadStatus.d.ts +19 -0
  47. package/dist/webui/websocket/DownloadStatus.d.ts.map +1 -0
  48. package/dist/webui/websocket/DownloadStatus.js +61 -0
  49. package/dist/webui/websocket/DownloadStatus.js.map +1 -0
  50. package/package.json +11 -10
@@ -1 +1 @@
1
- {"version":3,"file":"SchedulerCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAUrE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,oDAAoD;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAgB;IAC1C,QAAQ,CAAC,QAAQ;;;;MAIf;IAEI,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA6EjF,QAAQ,IAAI,MAAM;CAYnB"}
1
+ {"version":3,"file":"SchedulerCommand.d.ts","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAUrE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,WAAW,oDAAoD;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAgB;IAC1C,QAAQ,CAAC,QAAQ;;;;MAIf;IAEI,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAkFjF,QAAQ,IAAI,MAAM;CAYnB"}
@@ -58,7 +58,11 @@ class SchedulerCommand extends Command_1.BaseCommand {
58
58
  context.logger.info(`Scheduled download job finished (took ${duration}s)`);
59
59
  context.logger.info('='.repeat(60));
60
60
  };
61
- const scheduler = new Scheduler_1.Scheduler(config.scheduler);
61
+ const scheduler = new Scheduler_1.Scheduler(config.scheduler, database, {
62
+ beginRun: () => database.getOverviewStats().totalDownloads,
63
+ endRun: (baseline) => Promise.resolve(database.getOverviewStats().totalDownloads - baseline),
64
+ requestCancel: (reason) => downloadManager.cancel(reason),
65
+ });
62
66
  scheduler.start(runJob);
63
67
  const cleanup = () => {
64
68
  context.logger.info('Shutting down PixivFlow');
@@ -1 +1 @@
1
- {"version":3,"file":"SchedulerCommand.js","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchedulerCommand.js","sourceRoot":"","sources":["../../src/commands/SchedulerCommand.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,15 @@ export declare class DownloadManager implements IDownloadManager {
41
41
  private readonly pipeline;
42
42
  private readonly illustrationHandler;
43
43
  private readonly novelHandler;
44
+ private cancelled;
45
+ private cancelReason;
46
+ /**
47
+ * Request cooperative cancellation of the current run. In-flight item
48
+ * finishes; no further targets/items are started. runAllTargets() will
49
+ * throw OperationCancelledError once drained.
50
+ */
51
+ cancel(reason?: string): void;
52
+ isCancelled(): boolean;
44
53
  constructor(config: StandaloneConfig, client: IPixivClient, database: IDatabase, fileService: IFileService);
45
54
  setProgressCallback(callback: (current: number, total: number, message?: string) => void): void;
46
55
  initialise(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadManager.d.ts","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAY1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAapD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAf9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;gBAG/B,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY;IAuD5C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlF,UAAU;IAIV,aAAa;YAwCZ,cAAc;IAa5B,OAAO,CAAC,cAAc;CAGvB"}
1
+ {"version":3,"file":"DownloadManager.d.ts","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAa1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAkCpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IApC9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAM;IAE1B;;;;OAIG;IACI,MAAM,CAAC,MAAM,GAAE,MAAoB,GAAG,IAAI;IAQ1C,WAAW,IAAI,OAAO;gBAKV,MAAM,EAAE,gBAAgB,EACxB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY;IAwD5C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlF,UAAU;IAIV,aAAa;YAiDZ,cAAc;IAa5B,OAAO,CAAC,cAAc;CAGvB"}
@@ -10,6 +10,7 @@ const DownloadPlanner_1 = require("./plan/DownloadPlanner");
10
10
  const DownloadExecutor_1 = require("./exec/DownloadExecutor");
11
11
  const ErrorRecovery_1 = require("./recovery/ErrorRecovery");
12
12
  const DownloadPipeline_1 = require("./pipeline/DownloadPipeline");
13
+ const errors_1 = require("../utils/errors");
13
14
  const IllustrationTargetHandler_1 = require("./handlers/IllustrationTargetHandler");
14
15
  const NovelTargetHandler_1 = require("./handlers/NovelTargetHandler");
15
16
  /**
@@ -50,6 +51,24 @@ class DownloadManager {
50
51
  pipeline;
51
52
  illustrationHandler;
52
53
  novelHandler;
54
+ // Cooperative cancellation state (see cancel())
55
+ cancelled = false;
56
+ cancelReason = '';
57
+ /**
58
+ * Request cooperative cancellation of the current run. In-flight item
59
+ * finishes; no further targets/items are started. runAllTargets() will
60
+ * throw OperationCancelledError once drained.
61
+ */
62
+ cancel(reason = 'cancelled') {
63
+ if (!this.cancelled) {
64
+ this.cancelled = true;
65
+ this.cancelReason = reason;
66
+ logger_1.logger.warn(`Download cancellation requested: ${reason}`);
67
+ }
68
+ }
69
+ isCancelled() {
70
+ return this.cancelled;
71
+ }
53
72
  constructor(config, client, database, fileService) {
54
73
  this.config = config;
55
74
  this.client = client;
@@ -78,6 +97,7 @@ class DownloadManager {
78
97
  executor: this.executor,
79
98
  progressReporter: this.progressReporter,
80
99
  recovery: this.errorRecovery,
100
+ isCancelled: () => this.cancelled,
81
101
  });
82
102
  this.illustrationHandler = new IllustrationTargetHandler_1.IllustrationTargetHandler(client, database, this.rankingService, this.illustrationDownloader, this.pipeline);
83
103
  this.novelHandler = new NovelTargetHandler_1.NovelTargetHandler(client, database, this.rankingService, this.pipeline, this.novelDownloader);
@@ -97,6 +117,10 @@ class DownloadManager {
97
117
  let currentTarget = 0;
98
118
  const errors = [];
99
119
  for (const target of this.config.targets) {
120
+ if (this.cancelled) {
121
+ logger_1.logger.warn(`Skipping remaining ${totalTargets - currentTarget + 1} target(s): ${this.cancelReason}`);
122
+ break;
123
+ }
100
124
  currentTarget++;
101
125
  const targetName = target.filterTag || target.tag || 'unknown';
102
126
  this.updateProgress(currentTarget, totalTargets, `处理目标: ${targetName} (${target.type})`);
@@ -109,6 +133,9 @@ class DownloadManager {
109
133
  logger_1.logger.error(`Target ${targetName} (${target.type}) failed, continuing with next target`, { error: errorMessage });
110
134
  }
111
135
  }
136
+ if (this.cancelled) {
137
+ throw new errors_1.OperationCancelledError(`下载已取消: ${this.cancelReason || '用户停止'}`);
138
+ }
112
139
  this.progressReporter.complete(totalTargets, '所有目标处理完成');
113
140
  if (errors.length > 0) {
114
141
  logger_1.logger.warn(`Completed with ${errors.length} target(s) failed`, {
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadManager.js","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DownloadManager.js","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,11 @@ export interface DownloadPipelineDependencies {
18
18
  executor: DownloadExecutor;
19
19
  progressReporter: ProgressReporter;
20
20
  recovery: ErrorRecoveryStrategy;
21
+ /**
22
+ * Cooperative cancellation check. When provided and returning true,
23
+ * remaining items become no-ops so the current batch drains quickly.
24
+ */
25
+ isCancelled?: () => boolean;
21
26
  }
22
27
  export declare class DownloadPipeline {
23
28
  private readonly config;
@@ -25,6 +30,7 @@ export declare class DownloadPipeline {
25
30
  private readonly executor;
26
31
  private readonly progressReporter;
27
32
  private readonly recovery;
33
+ private readonly isRunCancelled;
28
34
  constructor(deps: DownloadPipelineDependencies);
29
35
  run<T extends DownloadItem>(items: T[], target: TargetConfig, itemType: ItemType, downloadFn: (item: T, tag: string) => Promise<void>): Promise<DownloadPipelineResult>;
30
36
  private executeRandomMode;
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadPipeline.d.ts","sourceRoot":"","sources":["../../../src/download/pipeline/DownloadPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAoB,MAAM,2BAA2B,CAAC;AAEpF,KAAK,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAC7C,KAAK,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,qBAAqB,CAAC;CACjC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;gBAErC,IAAI,EAAE,4BAA4B;IAQxC,GAAG,CAAC,CAAC,SAAS,YAAY,EAC9B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,sBAAsB,CAAC;YAoCpB,iBAAiB;YAgFjB,qBAAqB;IAsDnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;CAqD5B"}
1
+ {"version":3,"file":"DownloadPipeline.d.ts","sourceRoot":"","sources":["../../../src/download/pipeline/DownloadPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAoB,MAAM,2BAA2B,CAAC;AAEpF,KAAK,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAC7C,KAAK,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,qBAAqB,CAAC;IAChC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;gBAEnC,IAAI,EAAE,4BAA4B;IASxC,GAAG,CAAC,CAAC,SAAS,YAAY,EAC9B,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,sBAAsB,CAAC;YAoCpB,iBAAiB;YAgFjB,qBAAqB;IAsDnC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;CAqD5B"}
@@ -9,12 +9,14 @@ class DownloadPipeline {
9
9
  executor;
10
10
  progressReporter;
11
11
  recovery;
12
+ isRunCancelled;
12
13
  constructor(deps) {
13
14
  this.config = deps.config;
14
15
  this.planner = deps.planner;
15
16
  this.executor = deps.executor;
16
17
  this.progressReporter = deps.progressReporter;
17
18
  this.recovery = deps.recovery;
19
+ this.isRunCancelled = deps.isCancelled ?? (() => false);
18
20
  }
19
21
  async run(items, target, itemType, downloadFn) {
20
22
  const tagForLog = target.filterTag || target.tag || 'unknown';
@@ -64,7 +66,7 @@ class DownloadPipeline {
64
66
  recovery: this.recovery,
65
67
  contextProvider: () => ({ itemType }),
66
68
  task: async (item) => {
67
- if (state.downloaded >= targetLimit) {
69
+ if (state.downloaded >= targetLimit || this.isRunCancelled()) {
68
70
  return;
69
71
  }
70
72
  const attempt = ++attemptCounter;
@@ -107,7 +109,7 @@ class DownloadPipeline {
107
109
  recovery: this.recovery,
108
110
  contextProvider: () => ({ itemType }),
109
111
  task: async (item) => {
110
- if (state.downloaded >= targetLimit) {
112
+ if (state.downloaded >= targetLimit || this.isRunCancelled()) {
111
113
  return;
112
114
  }
113
115
  await downloadFn(item, tagForLog);
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadPipeline.js","sourceRoot":"","sources":["../../../src/download/pipeline/DownloadPipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DownloadPipeline.js","sourceRoot":"","sources":["../../../src/download/pipeline/DownloadPipeline.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "pixivflow",
4
- "version": "2.0.41",
4
+ "version": "2.1.0",
5
5
  "private": true
6
6
  }
@@ -1,8 +1,21 @@
1
1
  import { SchedulerConfig } from '../config';
2
2
  import { Database } from '../storage/Database';
3
+ /**
4
+ * Optional integration hooks allowing the host command to provide real
5
+ * accounting data and cooperative cancellation to the scheduler.
6
+ */
7
+ export interface JobTelemetry {
8
+ /** Called right before each run; returns a baseline (e.g. total downloads so far). */
9
+ beginRun(): Promise<number> | number;
10
+ /** Called after a successful/failed-but-not-timed-out run; derives items from the baseline. */
11
+ endRun(baseline: number): Promise<number> | number;
12
+ /** Called when the configured timeout fires; should abort the in-flight job. */
13
+ requestCancel?(reason: string): void;
14
+ }
3
15
  export declare class Scheduler {
4
16
  private readonly config;
5
17
  private readonly database?;
18
+ private readonly telemetry?;
6
19
  private task;
7
20
  private running;
8
21
  private lastExecutionTime;
@@ -10,13 +23,13 @@ export declare class Scheduler {
10
23
  private consecutiveFailures;
11
24
  private timeoutHandle;
12
25
  private stopped;
13
- constructor(config: SchedulerConfig, database?: Database | undefined);
26
+ constructor(config: SchedulerConfig, database?: Database | undefined, telemetry?: JobTelemetry | undefined);
14
27
  start(job: () => Promise<void>): void;
15
28
  private executeJob;
16
29
  /**
17
- * Execute job with tracking of downloaded items
18
- * This is a simplified version - in a real implementation, you might want to
19
- * pass a callback to DownloadManager to track items as they're downloaded
30
+ * Execute the job. Item counting happens via JobTelemetry in executeJob,
31
+ * which queries a durable baseline before/after the run instead of trying
32
+ * to intercept individual download events.
20
33
  */
21
34
  private executeWithTracking;
22
35
  stop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/Scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,qBAAa,SAAS;IAUlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAV5B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,OAAO,CAAkB;gBAGd,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAG/B,KAAK,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;YAkCvB,UAAU;IA8IxB;;;;OAIG;YACW,mBAAmB;IAY1B,IAAI;IAgBJ,QAAQ;;;;;;;CAShB"}
1
+ {"version":3,"file":"Scheduler.d.ts","sourceRoot":"","sources":["../../src/scheduler/Scheduler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sFAAsF;IACtF,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACrC,+FAA+F;IAC/F,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACnD,gFAAgF;IAChF,aAAa,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,qBAAa,SAAS;IAUlB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAX7B,OAAO,CAAC,IAAI,CAA8B;IAC1C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,OAAO,CAAkB;gBAGd,MAAM,EAAE,eAAe,EACvB,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,SAAS,CAAC,EAAE,YAAY,YAAA;IAGpC,KAAK,CAAC,GAAG,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;YAkCvB,UAAU;IAmLxB;;;;OAIG;YACW,mBAAmB;IAO1B,IAAI;IAgBJ,QAAQ;;;;;;;CAShB"}
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Scheduler = void 0;
7
7
  const node_cron_1 = __importDefault(require("node-cron"));
8
8
  const logger_1 = require("../logger");
9
+ const errors_1 = require("../utils/errors");
9
10
  class Scheduler {
10
11
  config;
11
12
  database;
13
+ telemetry;
12
14
  task = null;
13
15
  running = false;
14
16
  lastExecutionTime = 0;
@@ -16,9 +18,10 @@ class Scheduler {
16
18
  consecutiveFailures = 0;
17
19
  timeoutHandle = null;
18
20
  stopped = false;
19
- constructor(config, database) {
21
+ constructor(config, database, telemetry) {
20
22
  this.config = config;
21
23
  this.database = database;
24
+ this.telemetry = telemetry;
22
25
  }
23
26
  start(job) {
24
27
  if (!node_cron_1.default.validate(this.config.cron)) {
@@ -93,45 +96,85 @@ class Scheduler {
93
96
  let errorMessage = null;
94
97
  let itemsDownloaded = 0;
95
98
  let timeoutOccurred = false;
99
+ let baseline = 0;
100
+ let baselineValid = false;
101
+ const accountItems = async () => {
102
+ if (!this.telemetry || !baselineValid)
103
+ return 0;
104
+ try {
105
+ const after = Number(await this.telemetry.endRun(baseline)) || 0;
106
+ return after > baseline ? after - baseline : 0;
107
+ }
108
+ catch (error) {
109
+ logger_1.logger.debug('Telemetry endRun failed; keeping previous item count', { error });
110
+ return itemsDownloaded;
111
+ }
112
+ };
113
+ if (this.telemetry) {
114
+ try {
115
+ baseline = Number(await this.telemetry.beginRun()) || 0;
116
+ baselineValid = true;
117
+ }
118
+ catch (error) {
119
+ logger_1.logger.warn('Telemetry beginRun failed; item counting disabled for this run', { error });
120
+ }
121
+ }
96
122
  logger_1.logger.info(`Starting scheduled Pixiv download job (execution #${executionNumber})`);
97
123
  // Set up timeout if configured
98
124
  if (this.config.timeout) {
99
125
  this.timeoutHandle = setTimeout(() => {
100
126
  if (this.running) {
101
- logger_1.logger.error(`Job execution timeout after ${this.config.timeout}ms`);
127
+ logger_1.logger.error(`Job execution timeout after ${this.config.timeout}ms, requesting cancellation`);
102
128
  timeoutOccurred = true;
103
129
  status = 'timeout';
104
130
  errorMessage = `Execution timeout after ${this.config.timeout}ms`;
105
- this.running = false;
131
+ try {
132
+ this.telemetry?.requestCancel?.('scheduler timeout');
133
+ }
134
+ catch (cancelError) {
135
+ logger_1.logger.warn('Failed to request job cancellation', { error: cancelError });
136
+ }
137
+ // Keep running=true until the aborted job actually settles so the
138
+ // concurrent-run guard stays correct during the drain window.
106
139
  }
107
140
  }, this.config.timeout);
108
141
  }
109
142
  try {
110
- // Wrap job execution to track items downloaded
111
143
  await this.executeWithTracking(job, (count) => {
112
144
  itemsDownloaded = count;
113
145
  });
114
146
  if (timeoutOccurred) {
115
- // Timeout occurred
116
147
  status = 'timeout';
117
148
  this.consecutiveFailures++;
118
149
  }
119
150
  else {
120
151
  status = 'success';
121
152
  this.consecutiveFailures = 0;
153
+ itemsDownloaded = await accountItems();
122
154
  logger_1.logger.info(`Scheduled Pixiv download job completed (execution #${executionNumber})`, {
123
155
  itemsDownloaded,
124
156
  });
125
157
  }
126
158
  }
127
159
  catch (error) {
128
- status = 'failed';
129
- errorMessage = error instanceof Error ? error.message : String(error);
130
- this.consecutiveFailures++;
131
- logger_1.logger.error(`Scheduled Pixiv download job failed (execution #${executionNumber})`, {
132
- error: errorMessage,
133
- consecutiveFailures: this.consecutiveFailures,
134
- });
160
+ if ((0, errors_1.isOperationCancelled)(error)) {
161
+ // Cancelled via telemetry.requestCancel (scheduler timeout or user).
162
+ // Keep the timeout accounting intact instead of reporting a failure.
163
+ if (!timeoutOccurred) {
164
+ errorMessage = error instanceof Error ? error.message : String(error);
165
+ }
166
+ logger_1.logger.warn('Scheduled job was cancelled', { executionNumber, reason: errorMessage });
167
+ itemsDownloaded = await accountItems();
168
+ }
169
+ else {
170
+ status = 'failed';
171
+ errorMessage = error instanceof Error ? error.message : String(error);
172
+ this.consecutiveFailures++;
173
+ logger_1.logger.error(`Scheduled Pixiv download job failed (execution #${executionNumber})`, {
174
+ error: errorMessage,
175
+ consecutiveFailures: this.consecutiveFailures,
176
+ });
177
+ }
135
178
  }
136
179
  finally {
137
180
  // Clear timeout
@@ -156,17 +199,12 @@ class Scheduler {
156
199
  }
157
200
  }
158
201
  /**
159
- * Execute job with tracking of downloaded items
160
- * This is a simplified version - in a real implementation, you might want to
161
- * pass a callback to DownloadManager to track items as they're downloaded
202
+ * Execute the job. Item counting happens via JobTelemetry in executeJob,
203
+ * which queries a durable baseline before/after the run instead of trying
204
+ * to intercept individual download events.
162
205
  */
163
206
  async executeWithTracking(job, onItemsDownloaded) {
164
- // For now, we'll just execute the job
165
- // In a more sophisticated implementation, we could track downloads
166
- // by intercepting DownloadManager calls or using a shared counter
167
207
  await job();
168
- // Note: itemsDownloaded tracking would need to be implemented
169
- // by modifying DownloadManager to report counts, or by querying the database
170
208
  }
171
209
  stop() {
172
210
  this.stopped = true;
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../src/scheduler/Scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scheduler.js","sourceRoot":"","sources":["../../src/scheduler/Scheduler.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgD;AAGhD,sCAAmC;AACnC,4CAAuD;AAgBvD,MAAa,SAAS;IAUD;IACA;IACA;IAXX,IAAI,GAAyB,IAAI,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC;IAChB,iBAAiB,GAAW,CAAC,CAAC;IAC9B,cAAc,GAAW,CAAC,CAAC;IAC3B,mBAAmB,GAAW,CAAC,CAAC;IAChC,aAAa,GAA0B,IAAI,CAAC;IAC5C,OAAO,GAAY,KAAK,CAAC;IAEjC,YACmB,MAAuB,EACvB,QAAmB,EACnB,SAAwB;QAFxB,WAAM,GAAN,MAAM,CAAiB;QACvB,aAAQ,GAAR,QAAQ,CAAW;QACnB,cAAS,GAAT,SAAS,CAAe;IACxC,CAAC;IAEG,KAAK,CAAC,GAAwB;QACnC,IAAI,CAAC,mBAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC;YAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACpE,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACnC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,QAAQ;YAC1C,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,WAAW;YACvD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,MAAM;YAC9E,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM;YAClE,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,sBAAsB,IAAI,WAAW;YACzE,qBAAqB,EAAE,IAAI,CAAC,cAAc;YAC1C,0BAA0B,EAAE,IAAI,CAAC,mBAAmB;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,mBAAI,CAAC,QAAQ,CACvB,IAAI,CAAC,MAAM,CAAC,IAAI,EAChB,KAAK,IAAI,EAAE;YACT,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,EACD;YACE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;SAC/B,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,GAAwB;QAC/C,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,eAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,sBAAsB,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC5D,IAAI,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrD,eAAM,CAAC,IAAI,CACT,qDAAqD,sBAAsB,QAAQ,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,CAChH,CAAC;gBACF,OAAO;YACT,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YAClF,eAAM,CAAC,IAAI,CACT,+BAA+B,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,uBAAuB,CACvG,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,IACE,IAAI,CAAC,MAAM,CAAC,sBAAsB;YAClC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAC9D,CAAC;YACD,eAAM,CAAC,KAAK,CACV,yCAAyC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,uBAAuB,CAC/H,CAAC;YACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YAClE,eAAM,CAAC,IAAI,CACT,WAAW,IAAI,CAAC,MAAM,CAAC,iBAAiB,yBAAyB,IAAI,CAAC,mBAAmB,uBAAuB,CACjH,CAAC;YACF,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAkB,CAAC,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC;QACvF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAiD,SAAS,CAAC;QACrE,IAAI,YAAY,GAAkB,IAAI,CAAC;QACvC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,YAAY,GAAG,KAAK,IAAqB,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa;gBAAE,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjE,OAAO,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CAAC,sDAAsD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,OAAO,eAAe,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;gBACxD,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,gEAAgE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;QAED,eAAM,CAAC,IAAI,CAAC,qDAAqD,eAAe,GAAG,CAAC,CAAC;QAErF,+BAA+B;QAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,eAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,OAAO,6BAA6B,CAAC,CAAC;oBAC9F,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM,GAAG,SAAS,CAAC;oBACnB,YAAY,GAAG,2BAA2B,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC;oBAClE,IAAI,CAAC;wBACH,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,mBAAmB,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,eAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBAC5E,CAAC;oBACD,kEAAkE;oBAClE,8DAA8D;gBAChE,CAAC;YACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC5C,eAAe,GAAG,KAAK,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,GAAG,SAAS,CAAC;gBACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;gBACnB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;gBAC7B,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;gBACvC,eAAM,CAAC,IAAI,CAAC,sDAAsD,eAAe,GAAG,EAAE;oBACpF,eAAe;iBAChB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAA,6BAAoB,EAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,qEAAqE;gBACrE,qEAAqE;gBACrE,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,CAAC;gBACD,eAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;gBACtF,eAAe,GAAG,MAAM,YAAY,EAAE,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,QAAQ,CAAC;gBAClB,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,eAAM,CAAC,KAAK,CAAC,mDAAmD,eAAe,GAAG,EAAE;oBAClF,KAAK,EAAE,YAAY;oBACnB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,gBAAgB;YAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;YAEzD,+BAA+B;YAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACjC,eAAe,EACf,MAAM,EACN,SAAS,EACT,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,eAAe,CAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,+CAA+C;YAC/C,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC/E,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB;oBACjC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,EACjE,CAAC;gBACD,eAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;gBACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAC/B,GAAwB,EACxB,iBAA0C;QAE1C,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,eAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC/B,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;SAC9C,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ;QACb,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC;IACJ,CAAC;CACF;AAzQD,8BAyQC"}
@@ -31,6 +31,15 @@ export declare class DownloadError extends PixivFlowError {
31
31
  export declare class DatabaseError extends PixivFlowError {
32
32
  constructor(message: string, cause?: Error);
33
33
  }
34
+ /**
35
+ * Raised when a long-running operation is cooperatively cancelled
36
+ * (WebUI user stop or scheduler timeout). Callers can distinguish it
37
+ * from genuine failures and record an appropriate final status.
38
+ */
39
+ export declare class OperationCancelledError extends PixivFlowError {
40
+ constructor(message: string, cause?: Error);
41
+ }
42
+ export declare function isOperationCancelled(error: unknown): error is OperationCancelledError;
34
43
  /**
35
44
  * A special error-like class to signal a version request.
36
45
  * This is used for early exit without a full error stack.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,IAAI,EAAE,MAAM;aACZ,UAAU,CAAC,EAAE,MAAM;aACnB,KAAK,CAAC,EAAE,KAAK;gBAH7B,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,YAAA,EACnB,KAAK,CAAC,EAAE,KAAK,YAAA;CAShC;AAED,qBAAa,WAAY,SAAQ,cAAc;gBACjC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED,qBAAa,YAAa,SAAQ,cAAc;aAM5B,GAAG,CAAC,EAAE,MAAM;IAL9B,SAAgB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAGhC,OAAO,EAAE,MAAM,EACC,GAAG,CAAC,EAAE,MAAM,YAAA,EAC5B,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;CAO1D;AAED,qBAAa,aAAc,SAAQ,cAAc;aAG7B,MAAM,CAAC,EAAE,MAAM;aACf,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO;gBAFnD,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,YAAA,EACnD,KAAK,CAAC,EAAE,KAAK;CAKhB;AAED,qBAAa,aAAc,SAAQ,cAAc;gBACnC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAI3C;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK;;CAKxC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;aACR,OAAO,CAAC,EAAE,MAAM;gBAAhB,OAAO,CAAC,EAAE,MAAM,YAAA;CAI7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAOlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAwBvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAmCA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKhE;AAED;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAiB9E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC1C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrD,GACA,OAAO,CAAC,CAAC,CAAC,CAkCZ;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAChB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC3B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAErC,wBAAsB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAQ1E"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@
4
4
  * Provides consistent error types and handling patterns across the application
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ErrorRecoveryStrategy = exports.HelpRequest = exports.VersionRequest = exports.DatabaseError = exports.DownloadError = exports.NetworkError = exports.AuthenticationError = exports.ConfigError = exports.PixivFlowError = void 0;
7
+ exports.ErrorRecoveryStrategy = exports.HelpRequest = exports.VersionRequest = exports.OperationCancelledError = exports.DatabaseError = exports.DownloadError = exports.NetworkError = exports.AuthenticationError = exports.ConfigError = exports.PixivFlowError = void 0;
8
+ exports.isOperationCancelled = isOperationCancelled;
8
9
  exports.is404Error = is404Error;
9
10
  exports.isSkipableError = isSkipableError;
10
11
  exports.getErrorMessage = getErrorMessage;
@@ -75,6 +76,21 @@ class DatabaseError extends PixivFlowError {
75
76
  }
76
77
  }
77
78
  exports.DatabaseError = DatabaseError;
79
+ /**
80
+ * Raised when a long-running operation is cooperatively cancelled
81
+ * (WebUI user stop or scheduler timeout). Callers can distinguish it
82
+ * from genuine failures and record an appropriate final status.
83
+ */
84
+ class OperationCancelledError extends PixivFlowError {
85
+ constructor(message, cause) {
86
+ super(message, 'OPERATION_CANCELLED', 499, cause);
87
+ this.name = 'OperationCancelledError';
88
+ }
89
+ }
90
+ exports.OperationCancelledError = OperationCancelledError;
91
+ function isOperationCancelled(error) {
92
+ return error instanceof OperationCancelledError;
93
+ }
78
94
  /**
79
95
  * A special error-like class to signal a version request.
80
96
  * This is used for early exit without a full error stack.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "pixivflow-webui-backend",
4
- "version": "2.0.41",
4
+ "version": "2.1.0",
5
5
  "description": "PixivFlow WebUI Backend - CommonJS module"
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAkE5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAsBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DnF"}
1
+ {"version":3,"file":"download-basic-handlers.d.ts","sourceRoot":"","sources":["../../../../src/webui/routes/handlers/download-basic-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAqD5C;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAwB7E;AAsBD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGlF;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChF;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA4DlF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDrF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DnF"}