pixivflow 2.6.0 → 2.8.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 (70) hide show
  1. package/README.md +35 -2
  2. package/README_EN.md +15 -0
  3. package/config/fly-two-bots.example.json +242 -0
  4. package/dist/commands/SchedulerCommand.d.ts +1 -0
  5. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  6. package/dist/commands/SchedulerCommand.js +78 -22
  7. package/dist/commands/SchedulerCommand.js.map +1 -1
  8. package/dist/config/defaults.d.ts +5 -0
  9. package/dist/config/defaults.d.ts.map +1 -1
  10. package/dist/config/defaults.js +6 -0
  11. package/dist/config/defaults.js.map +1 -1
  12. package/dist/config/loader.d.ts +1 -1
  13. package/dist/config/loader.d.ts.map +1 -1
  14. package/dist/config/loader.js +4 -2
  15. package/dist/config/loader.js.map +1 -1
  16. package/dist/config/path-resolution.d.ts.map +1 -1
  17. package/dist/config/path-resolution.js +4 -0
  18. package/dist/config/path-resolution.js.map +1 -1
  19. package/dist/config/types.d.ts +44 -3
  20. package/dist/config/types.d.ts.map +1 -1
  21. package/dist/config/validation.d.ts.map +1 -1
  22. package/dist/config/validation.js +64 -0
  23. package/dist/config/validation.js.map +1 -1
  24. package/dist/config.d.ts +1 -1
  25. package/dist/config.d.ts.map +1 -1
  26. package/dist/config.js.map +1 -1
  27. package/dist/delivery/DeliveryOutbox.d.ts +11 -1
  28. package/dist/delivery/DeliveryOutbox.d.ts.map +1 -1
  29. package/dist/delivery/DeliveryOutbox.js +38 -8
  30. package/dist/delivery/DeliveryOutbox.js.map +1 -1
  31. package/dist/download/DownloadManager.d.ts.map +1 -1
  32. package/dist/download/DownloadManager.js +7 -1
  33. package/dist/download/DownloadManager.js.map +1 -1
  34. package/dist/download/handlers/IllustrationTargetHandler.d.ts.map +1 -1
  35. package/dist/download/handlers/IllustrationTargetHandler.js +15 -6
  36. package/dist/download/handlers/IllustrationTargetHandler.js.map +1 -1
  37. package/dist/download/handlers/NovelTargetHandler.d.ts.map +1 -1
  38. package/dist/download/handlers/NovelTargetHandler.js +13 -6
  39. package/dist/download/handlers/NovelTargetHandler.js.map +1 -1
  40. package/dist/index.js +4 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/package.json +1 -1
  43. package/dist/scheduler/MultiScheduleManager.d.ts +39 -0
  44. package/dist/scheduler/MultiScheduleManager.d.ts.map +1 -0
  45. package/dist/scheduler/MultiScheduleManager.js +182 -0
  46. package/dist/scheduler/MultiScheduleManager.js.map +1 -0
  47. package/dist/scheduler/Scheduler.d.ts +13 -1
  48. package/dist/scheduler/Scheduler.d.ts.map +1 -1
  49. package/dist/scheduler/Scheduler.js +31 -7
  50. package/dist/scheduler/Scheduler.js.map +1 -1
  51. package/dist/scheduler/schedules.d.ts +8 -0
  52. package/dist/scheduler/schedules.d.ts.map +1 -0
  53. package/dist/scheduler/schedules.js +32 -0
  54. package/dist/scheduler/schedules.js.map +1 -0
  55. package/dist/storage/Database.d.ts +5 -4
  56. package/dist/storage/Database.d.ts.map +1 -1
  57. package/dist/storage/Database.js +13 -9
  58. package/dist/storage/Database.js.map +1 -1
  59. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  60. package/dist/storage/DatabaseMigration.js +11 -0
  61. package/dist/storage/DatabaseMigration.js.map +1 -1
  62. package/dist/storage/repositories/SchedulerRepository.d.ts +4 -4
  63. package/dist/storage/repositories/SchedulerRepository.d.ts.map +1 -1
  64. package/dist/storage/repositories/SchedulerRepository.js +18 -12
  65. package/dist/storage/repositories/SchedulerRepository.js.map +1 -1
  66. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  67. package/dist/utils/config-validator-unified.js +84 -0
  68. package/dist/utils/config-validator-unified.js.map +1 -1
  69. package/dist/webui/package.json +1 -1
  70. package/package.json +2 -1
@@ -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":"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"}
@@ -0,0 +1,8 @@
1
+ import { ScheduleConfig, StandaloneConfig, TargetConfig } from '../config';
2
+ export declare const LEGACY_SCHEDULE_ID = "default";
3
+ /** Return configured plans while preserving the legacy single-cron format. */
4
+ export declare function resolveSchedules(config: StandaloneConfig): ScheduleConfig[];
5
+ /** Select a plan's targets without mutating the active config snapshot. */
6
+ export declare function selectScheduleTargets(targets: TargetConfig[], schedule: ScheduleConfig): TargetConfig[];
7
+ export declare function describeSchedule(schedule: ScheduleConfig): string;
8
+ //# sourceMappingURL=schedules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/scheduler/schedules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3E,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,EAAE,CAa3E;AAED,2EAA2E;AAC3E,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,EAAE,EACvB,QAAQ,EAAE,cAAc,GACvB,YAAY,EAAE,CAOhB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAEjE"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LEGACY_SCHEDULE_ID = void 0;
4
+ exports.resolveSchedules = resolveSchedules;
5
+ exports.selectScheduleTargets = selectScheduleTargets;
6
+ exports.describeSchedule = describeSchedule;
7
+ exports.LEGACY_SCHEDULE_ID = 'default';
8
+ /** Return configured plans while preserving the legacy single-cron format. */
9
+ function resolveSchedules(config) {
10
+ if (config.schedules !== undefined) {
11
+ return config.schedules.map((schedule) => ({
12
+ ...schedule,
13
+ targetIds: schedule.targetIds ? [...schedule.targetIds] : undefined,
14
+ }));
15
+ }
16
+ if (!config.scheduler) {
17
+ return [];
18
+ }
19
+ return [{ id: exports.LEGACY_SCHEDULE_ID, name: 'Default', ...config.scheduler }];
20
+ }
21
+ /** Select a plan's targets without mutating the active config snapshot. */
22
+ function selectScheduleTargets(targets, schedule) {
23
+ if (!schedule.targetIds || schedule.targetIds.length === 0) {
24
+ return [...targets];
25
+ }
26
+ const selected = new Set(schedule.targetIds);
27
+ return targets.filter((target) => target.id && selected.has(target.id));
28
+ }
29
+ function describeSchedule(schedule) {
30
+ return schedule.name?.trim() || schedule.id;
31
+ }
32
+ //# sourceMappingURL=schedules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/scheduler/schedules.ts"],"names":[],"mappings":";;;AAKA,4CAaC;AAGD,sDAUC;AAED,4CAEC;AAjCY,QAAA,kBAAkB,GAAG,SAAS,CAAC;AAE5C,8EAA8E;AAC9E,SAAgB,gBAAgB,CAAC,MAAwB;IACvD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzC,GAAG,QAAQ;YACX,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC,CAAC,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,EAAE,EAAE,EAAE,0BAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5E,CAAC;AAED,2EAA2E;AAC3E,SAAgB,qBAAqB,CACnC,OAAuB,EACvB,QAAwB;IAExB,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,gBAAgB,CAAC,QAAwB;IACvD,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC;AAC9C,CAAC"}
@@ -24,6 +24,7 @@ export interface SchedulerExecutionRecord {
24
24
  duration: number | null;
25
25
  errorMessage: string | null;
26
26
  itemsDownloaded: number;
27
+ scheduleId: string;
27
28
  }
28
29
  export declare class Database implements IDatabase {
29
30
  private readonly databasePath;
@@ -71,10 +72,10 @@ export declare class Database implements IDatabase {
71
72
  deletedCount: number;
72
73
  message?: string;
73
74
  };
74
- getNextExecutionNumber(): number;
75
- logSchedulerExecution(executionNumber: number, status: 'success' | 'failed' | 'timeout' | 'skipped', startTime: Date, endTime: Date | null, durationMs: number | null, errorMessage: string | null, itemsDownloaded?: number): void;
75
+ getNextExecutionNumber(scheduleId?: string): number;
76
+ logSchedulerExecution(executionNumber: number, status: 'success' | 'failed' | 'timeout' | 'skipped', startTime: Date, endTime: Date | null, durationMs: number | null, errorMessage: string | null, itemsDownloaded?: number, scheduleId?: string): void;
76
77
  recordSchedulerExecution(executionNumber: number, status: 'success' | 'failed' | 'timeout' | 'skipped', startTime: Date, endTime: Date | null, duration: number | null, errorMessage: string | null, itemsDownloaded: number): void;
77
- getSchedulerStats(): {
78
+ getSchedulerStats(scheduleId?: string): {
78
79
  totalExecutions: number;
79
80
  successfulExecutions: number;
80
81
  failedExecutions: number;
@@ -84,7 +85,7 @@ export declare class Database implements IDatabase {
84
85
  };
85
86
  getRecentSchedulerExecutions(limit?: number): SchedulerExecutionRecord[];
86
87
  getSchedulerExecutions(limit?: number): SchedulerExecutionRecord[];
87
- getConsecutiveFailures(): number;
88
+ getConsecutiveFailures(scheduleId?: string): number;
88
89
  getDownloadHistory(options: {
89
90
  page?: number;
90
91
  limit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASpD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,QAAS,YAAW,SAAS;IAU5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IATzC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,eAAe,CAAwB;gBAElB,YAAY,EAAE,MAAM;IA8B1C,OAAO,IAAI,IAAI;IAKf,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAI9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAKrD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,OAAO;IAIvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IAIjF,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIjD,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIjD,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,cAAc,GAAG,OAAO,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM;IAIF,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG;QACtE,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;IAKM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI1G,kBAAkB,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,GAAG,OAAO,EAC9B,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI;IAIA,kBAAkB,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QACnD,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAIK,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxE,wBAAwB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxF,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAInD,qBAAqB,CAC1B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,GAAE,MAAU,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAaA,wBAAwB,CAC7B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GACtB,IAAI;IAYA,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;QAC7C,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;IAIM,4BAA4B,CAAC,KAAK,GAAE,MAAW,GAAG,wBAAwB,EAAE;IAI5E,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAIlE,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnD,kBAAkB,CAAC,OAAO,EAAE;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC5B,GAAG;QACF,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB;IAgFM,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,cAAc,GAAG,OAAO,GAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIf,kBAAkB,CACvB,KAAK,GAAE,MAAW,EAClB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAC9B,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIK,uBAAuB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAC9B,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIK,gBAAgB,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB;IAIM,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAC/C,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAIK,WAAW,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE,cAAc,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1E,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1E,gBAAgB,IAAI,KAAK,CAAC;QAC/B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAIK,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;QACvC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAID,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAIzF,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3C,sBAAsB,IAAI;QAC/B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAID,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKvC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QACvD,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI;IAID,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,sCAAsC,EAAE,iBAAiB,GAAG,IAAI;IAIvG,iBAAiB,CAAC,KAAK,GAAE,MAAY,GAAG,OAAO,sCAAsC,EAAE,iBAAiB,EAAE;IAI1G,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIzE,oBAAoB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIpF,KAAK;CAGb"}
@@ -34,7 +34,11 @@ class Database {
34
34
  this.db.pragma('journal_mode = WAL');
35
35
  // Optimize for read-heavy workloads
36
36
  this.db.pragma('synchronous = NORMAL');
37
- this.db.pragma('cache_size = -64000'); // 64MB cache
37
+ const configuredCacheKb = Number.parseInt(process.env.PIXIV_DB_CACHE_KB || '8192', 10);
38
+ const cacheKb = Number.isFinite(configuredCacheKb)
39
+ ? Math.min(Math.max(configuredCacheKb, 1024), 65536)
40
+ : 8192;
41
+ this.db.pragma(`cache_size = -${cacheKb}`);
38
42
  // Initialize repositories
39
43
  this.migration = new DatabaseMigration_1.DatabaseMigration(this.db);
40
44
  this.tokenRepo = new TokenRepository_1.TokenRepository(this.db);
@@ -103,17 +107,17 @@ class Database {
103
107
  return this.executionRepo.deleteAllIncompleteTasks();
104
108
  }
105
109
  // Scheduler management - delegated to SchedulerRepository
106
- getNextExecutionNumber() {
107
- return this.schedulerRepo.getNextExecutionNumber();
110
+ getNextExecutionNumber(scheduleId) {
111
+ return this.schedulerRepo.getNextExecutionNumber(scheduleId);
108
112
  }
109
- logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded = 0) {
110
- this.schedulerRepo.logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded);
113
+ logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded = 0, scheduleId) {
114
+ this.schedulerRepo.logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded, scheduleId);
111
115
  }
112
116
  recordSchedulerExecution(executionNumber, status, startTime, endTime, duration, errorMessage, itemsDownloaded) {
113
117
  this.schedulerRepo.recordSchedulerExecution(executionNumber, status, startTime, endTime, duration, errorMessage, itemsDownloaded);
114
118
  }
115
- getSchedulerStats() {
116
- return this.schedulerRepo.getSchedulerStats();
119
+ getSchedulerStats(scheduleId) {
120
+ return this.schedulerRepo.getSchedulerStats(scheduleId);
117
121
  }
118
122
  getRecentSchedulerExecutions(limit = 10) {
119
123
  return this.schedulerRepo.getRecentSchedulerExecutions(limit);
@@ -121,8 +125,8 @@ class Database {
121
125
  getSchedulerExecutions(limit) {
122
126
  return this.schedulerRepo.getSchedulerExecutions(limit);
123
127
  }
124
- getConsecutiveFailures() {
125
- return this.schedulerRepo.getConsecutiveFailures();
128
+ getConsecutiveFailures(scheduleId) {
129
+ return this.schedulerRepo.getConsecutiveFailures(scheduleId);
126
130
  }
127
131
  // Additional download methods - delegated to DownloadRepository
128
132
  getDownloadHistory(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseMigration.d.ts","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAI5C;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc,CAAC,QAAQ;IAExD;;OAEG;IACI,OAAO,IAAI,IAAI;CAuHvB"}
1
+ {"version":3,"file":"DatabaseMigration.d.ts","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gBAAgB,CAAC;AAI5C;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,cAAc,CAAC,QAAQ;IAExD;;OAEG;IACI,OAAO,IAAI,IAAI;CAsIvB"}
@@ -110,6 +110,17 @@ class DatabaseMigration {
110
110
  // In SQLite, if column exists, ALTER TABLE will fail, which is fine
111
111
  logger_1.logger.warn('Failed to add is_active column (may already exist)', { error });
112
112
  }
113
+ // Scope scheduler counters/history by plan while keeping old rows valid.
114
+ try {
115
+ const tableInfo = this.db.prepare(`PRAGMA table_info(scheduler_executions)`).all();
116
+ if (!tableInfo.some(col => col.name === 'schedule_id')) {
117
+ this.db.prepare(`ALTER TABLE scheduler_executions ADD COLUMN schedule_id TEXT NOT NULL DEFAULT 'default'`).run();
118
+ }
119
+ this.db.prepare(`CREATE INDEX IF NOT EXISTS idx_scheduler_executions_schedule ON scheduler_executions(schedule_id, execution_number)`).run();
120
+ }
121
+ catch (error) {
122
+ logger_1.logger.warn('Failed to add scheduler plan scope (may already exist)', { error });
123
+ }
113
124
  // Add task_history table if it doesn't exist (for backward compatibility)
114
125
  try {
115
126
  const tableInfo = this.db.prepare(`PRAGMA table_info(task_history)`).all();
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseMigration.js","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":";;;AACA,4CAAgD;AAChD,sCAAmC;AAEnC;;GAEG;AACH,MAAa,iBAAiB;IACC;IAA7B,YAA6B,EAA2B;QAA3B,OAAE,GAAF,EAAE,CAAyB;IAAG,CAAC;IAE5D;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC;YACH,MAAM,UAAU,GAAG;gBACjB;;;;YAII;gBACJ;;;;;;;;;;;YAWI;gBACJ;;;;;;;YAOI;gBACJ;;;;;;;;;;YAUI;gBACJ;;;;;;;YAOI;gBACJ;;;;;;;;;;;;;YAaI;aACL,CAAC;YAEF,8CAA8C;YAC9C,MAAM,OAAO,GAAG;gBACd,qFAAqF;gBACrF,gEAAgE;gBAChE,oFAAoF;gBACpF,mFAAmF;gBACnF,sGAAsG;gBACtG,4FAA4F;gBAC5F,wFAAwF;gBACxF,8EAA8E;gBAC9E,4EAA4E;gBAC5E,oFAAoF;aACrF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,KAAe,EAAE,EAAE;gBAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YAEzC,6DAA6D;YAC7D,IAAI,CAAC;gBACH,uDAAuD;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAA6B,CAAC;gBACxG,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAE1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3F,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2CAA2C;gBAC3C,oEAAoE;gBACpE,eAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAA6B,CAAC;gBACtG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,2EAA2E;oBAC3E,8BAA8B;oBAC9B,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAa,CACrB,mCAAmC,EACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA7HD,8CA6HC"}
1
+ {"version":3,"file":"DatabaseMigration.js","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":";;;AACA,4CAAgD;AAChD,sCAAmC;AAEnC;;GAEG;AACH,MAAa,iBAAiB;IACC;IAA7B,YAA6B,EAA2B;QAA3B,OAAE,GAAF,EAAE,CAAyB;IAAG,CAAC;IAE5D;;OAEG;IACI,OAAO;QACZ,IAAI,CAAC;YACH,MAAM,UAAU,GAAG;gBACjB;;;;YAII;gBACJ;;;;;;;;;;;YAWI;gBACJ;;;;;;;YAOI;gBACJ;;;;;;;;;;YAUI;gBACJ;;;;;;;YAOI;gBACJ;;;;;;;;;;;;;YAaI;aACL,CAAC;YAEF,8CAA8C;YAC9C,MAAM,OAAO,GAAG;gBACd,qFAAqF;gBACrF,gEAAgE;gBAChE,oFAAoF;gBACpF,mFAAmF;gBACnF,sGAAsG;gBACtG,4FAA4F;gBAC5F,wFAAwF;gBACxF,8EAA8E;gBAC9E,4EAA4E;gBAC5E,oFAAoF;aACrF,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,KAAe,EAAE,EAAE;gBAC1D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAC7B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;YAEzC,6DAA6D;YAC7D,IAAI,CAAC;gBACH,uDAAuD;gBACvD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAA6B,CAAC;gBACxG,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;gBAE1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mEAAmE,CAAC,CAAC,GAAG,EAAE,CAAC;oBAC3F,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sFAAsF,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,2CAA2C;gBAC3C,oEAAoE;gBACpE,eAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,yEAAyE;YACzE,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAA6B,CAAC;gBAC9G,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,yFAAyF,CAC1F,CAAC,GAAG,EAAE,CAAC;gBACV,CAAC;gBACD,IAAI,CAAC,EAAE,CAAC,OAAO,CACb,qHAAqH,CACtH,CAAC,GAAG,EAAE,CAAC;YACV,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,0EAA0E;YAC1E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAA6B,CAAC;gBACtG,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,2EAA2E;oBAC3E,8BAA8B;oBAC9B,eAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,IAAI,CAAC,wDAAwD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,sBAAa,CACrB,mCAAmC,EACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA5ID,8CA4IC"}
@@ -7,11 +7,11 @@ export declare class SchedulerRepository extends BaseRepository {
7
7
  /**
8
8
  * Get the next execution number for the scheduler
9
9
  */
10
- getNextExecutionNumber(): number;
10
+ getNextExecutionNumber(scheduleId?: string): number;
11
11
  /**
12
12
  * Log a scheduler execution
13
13
  */
14
- logSchedulerExecution(executionNumber: number, status: 'success' | 'failed' | 'timeout' | 'skipped', startTime: Date, endTime: Date | null, durationMs: number | null, errorMessage: string | null, itemsDownloaded?: number): void;
14
+ logSchedulerExecution(executionNumber: number, status: 'success' | 'failed' | 'timeout' | 'skipped', startTime: Date, endTime: Date | null, durationMs: number | null, errorMessage: string | null, itemsDownloaded?: number, scheduleId?: string): void;
15
15
  /**
16
16
  * Record scheduler execution (alias for logSchedulerExecution)
17
17
  */
@@ -19,7 +19,7 @@ export declare class SchedulerRepository extends BaseRepository {
19
19
  /**
20
20
  * Get scheduler execution statistics
21
21
  */
22
- getSchedulerStats(): {
22
+ getSchedulerStats(scheduleId?: string): {
23
23
  totalExecutions: number;
24
24
  successfulExecutions: number;
25
25
  failedExecutions: number;
@@ -38,6 +38,6 @@ export declare class SchedulerRepository extends BaseRepository {
38
38
  /**
39
39
  * Get consecutive failure count
40
40
  */
41
- getConsecutiveFailures(): number;
41
+ getConsecutiveFailures(scheduleId?: string): number;
42
42
  }
43
43
  //# sourceMappingURL=SchedulerRepository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchedulerRepository.d.ts","sourceRoot":"","sources":["../../../src/storage/repositories/SchedulerRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD;;OAEG;IACI,sBAAsB,IAAI,MAAM;IAQvC;;OAEG;IACI,qBAAqB,CAC1B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,GAAE,MAAU,GAC1B,IAAI;IAkBP;;OAEG;IACI,wBAAwB,CAC7B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GACtB,IAAI;IAYP;;OAEG;IACI,iBAAiB,IAAI;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;IA+BD;;OAEG;IACI,4BAA4B,CAAC,KAAK,GAAE,MAAW,GAAG,wBAAwB,EAAE;IAuCnF;;OAEG;IACI,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAIzE;;OAEG;IACI,sBAAsB,IAAI,MAAM;CAoBxC"}
1
+ {"version":3,"file":"SchedulerRepository.d.ts","sourceRoot":"","sources":["../../../src/storage/repositories/SchedulerRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IACrD;;OAEG;IACI,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAS1D;;OAEG;IACI,qBAAqB,CAC1B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,GAAE,MAAU,EAC3B,UAAU,GAAE,MAAkB,GAC7B,IAAI;IAmBP;;OAEG;IACI,wBAAwB,CAC7B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GACtB,IAAI;IAYP;;OAEG;IACI,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;QAC7C,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;IAgCD;;OAEG;IACI,4BAA4B,CAAC,KAAK,GAAE,MAAW,GAAG,wBAAwB,EAAE;IA0CnF;;OAEG;IACI,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAIzE;;OAEG;IACI,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;CAqB3D"}
@@ -9,18 +9,19 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
9
9
  /**
10
10
  * Get the next execution number for the scheduler
11
11
  */
12
- getNextExecutionNumber() {
13
- const stmt = this.db.prepare(`SELECT COALESCE(MAX(execution_number), 0) + 1 as next FROM scheduler_executions`);
14
- const row = stmt.get();
12
+ getNextExecutionNumber(scheduleId) {
13
+ const stmt = this.db.prepare(`SELECT COALESCE(MAX(execution_number), 0) + 1 as next FROM scheduler_executions
14
+ ${scheduleId ? 'WHERE schedule_id = ?' : ''}`);
15
+ const row = (scheduleId ? stmt.get(scheduleId) : stmt.get());
15
16
  return row.next;
16
17
  }
17
18
  /**
18
19
  * Log a scheduler execution
19
20
  */
20
- logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded = 0) {
21
+ logSchedulerExecution(executionNumber, status, startTime, endTime, durationMs, errorMessage, itemsDownloaded = 0, scheduleId = 'default') {
21
22
  const stmt = this.db.prepare(`INSERT INTO scheduler_executions
22
- (execution_number, status, start_time, end_time, duration_ms, error_message, items_downloaded)
23
- VALUES (@execution_number, @status, @start_time, @end_time, @duration_ms, @error_message, @items_downloaded)`);
23
+ (execution_number, status, start_time, end_time, duration_ms, error_message, items_downloaded, schedule_id)
24
+ VALUES (@execution_number, @status, @start_time, @end_time, @duration_ms, @error_message, @items_downloaded, @schedule_id)`);
24
25
  stmt.run({
25
26
  execution_number: executionNumber,
26
27
  status,
@@ -29,6 +30,7 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
29
30
  duration_ms: durationMs ?? null,
30
31
  error_message: errorMessage ?? null,
31
32
  items_downloaded: itemsDownloaded,
33
+ schedule_id: scheduleId,
32
34
  });
33
35
  }
34
36
  /**
@@ -40,7 +42,7 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
40
42
  /**
41
43
  * Get scheduler execution statistics
42
44
  */
43
- getSchedulerStats() {
45
+ getSchedulerStats(scheduleId) {
44
46
  const statsStmt = this.db.prepare(`SELECT
45
47
  COUNT(*) as total,
46
48
  SUM(CASE WHEN status = 'success' THEN 1 ELSE 0 END) as successful,
@@ -48,8 +50,9 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
48
50
  MAX(start_time) as last_execution,
49
51
  AVG(duration_ms) as avg_duration,
50
52
  SUM(items_downloaded) as total_items
51
- FROM scheduler_executions`);
52
- const row = statsStmt.get();
53
+ FROM scheduler_executions
54
+ ${scheduleId ? 'WHERE schedule_id = ?' : ''}`);
55
+ const row = (scheduleId ? statsStmt.get(scheduleId) : statsStmt.get());
53
56
  return {
54
57
  totalExecutions: row.total ?? 0,
55
58
  successfulExecutions: row.successful ?? 0,
@@ -71,7 +74,8 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
71
74
  end_time,
72
75
  duration_ms,
73
76
  error_message,
74
- items_downloaded
77
+ items_downloaded
78
+ ,schedule_id
75
79
  FROM scheduler_executions
76
80
  ORDER BY execution_number DESC
77
81
  LIMIT ?`);
@@ -85,6 +89,7 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
85
89
  duration: row.duration_ms,
86
90
  errorMessage: row.error_message,
87
91
  itemsDownloaded: row.items_downloaded,
92
+ scheduleId: row.schedule_id || 'default',
88
93
  }));
89
94
  }
90
95
  /**
@@ -96,11 +101,12 @@ class SchedulerRepository extends BaseRepository_1.BaseRepository {
96
101
  /**
97
102
  * Get consecutive failure count
98
103
  */
99
- getConsecutiveFailures() {
104
+ getConsecutiveFailures(scheduleId) {
100
105
  const stmt = this.db.prepare(`SELECT status FROM scheduler_executions
106
+ ${scheduleId ? 'WHERE schedule_id = ?' : ''}
101
107
  ORDER BY execution_number DESC
102
108
  LIMIT 100`);
103
- const rows = stmt.all();
109
+ const rows = (scheduleId ? stmt.all(scheduleId) : stmt.all());
104
110
  let count = 0;
105
111
  for (const row of rows) {
106
112
  if (row.status === 'failed' || row.status === 'timeout') {
@@ -1 +1 @@
1
- {"version":3,"file":"SchedulerRepository.js","sourceRoot":"","sources":["../../../src/storage/repositories/SchedulerRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchedulerRepository.js","sourceRoot":"","sources":["../../../src/storage/repositories/SchedulerRepository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator-unified.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAI3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,QAAQ,CACN,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,gBAAgB;IAgPnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACH,eAAe,CACb,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;CAaR;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAGrD,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEzE;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CAKlB"}
1
+ {"version":3,"file":"config-validator-unified.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAK3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,QAAQ,CACN,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,gBAAgB;IAkUnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACH,eAAe,CACb,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;CAaR;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAGrD,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEzE;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CAKlB"}
@@ -3,10 +3,14 @@
3
3
  * Unified configuration validator
4
4
  * Consolidates all configuration validation logic from different modules
5
5
  */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
6
9
  Object.defineProperty(exports, "__esModule", { value: true });
7
10
  exports.configValidator = exports.ConfigValidator = void 0;
8
11
  exports.validateConfig = validateConfig;
9
12
  exports.validateConfigWithUnifiedStorage = validateConfigWithUnifiedStorage;
13
+ const node_cron_1 = __importDefault(require("node-cron"));
10
14
  const token_manager_1 = require("./token-manager");
11
15
  const errors_1 = require("./errors");
12
16
  /**
@@ -77,8 +81,19 @@ class ConfigValidator {
77
81
  // Validate targets (targets can be empty for URL-based downloads)
78
82
  // Only validate target structure if targets are provided
79
83
  if (config.targets && config.targets.length > 0) {
84
+ const targetIds = new Set();
80
85
  config.targets.forEach((target, index) => {
81
86
  const targetPrefix = `targets[${index}]`;
87
+ if (target.id) {
88
+ if (!/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(target.id) || targetIds.has(target.id)) {
89
+ errors.push({
90
+ code: 'CONFIG_VALIDATION_TARGET_ID_INVALID',
91
+ field: `${targetPrefix}.id`,
92
+ message: `Target ${index + 1}: Id must be unique and contain only letters, numbers, '_' or '-'`,
93
+ });
94
+ }
95
+ targetIds.add(target.id);
96
+ }
82
97
  if (!target.type) {
83
98
  errors.push({
84
99
  code: 'CONFIG_VALIDATION_TARGET_TYPE_REQUIRED',
@@ -163,6 +178,29 @@ class ConfigValidator {
163
178
  });
164
179
  }
165
180
  }
181
+ const retryBase = config.delivery?.outboxRetryBaseMs;
182
+ const retryMax = config.delivery?.outboxRetryMaxMs;
183
+ if (retryBase !== undefined && (!Number.isInteger(retryBase) || retryBase < 0)) {
184
+ errors.push({
185
+ code: 'CONFIG_VALIDATION_OUTBOX_RETRY_BASE_INVALID',
186
+ field: 'delivery.outboxRetryBaseMs',
187
+ message: 'Delivery outbox retry base must be an integer greater than or equal to 0',
188
+ });
189
+ }
190
+ if (retryMax !== undefined && (!Number.isInteger(retryMax) || retryMax < 0)) {
191
+ errors.push({
192
+ code: 'CONFIG_VALIDATION_OUTBOX_RETRY_MAX_INVALID',
193
+ field: 'delivery.outboxRetryMaxMs',
194
+ message: 'Delivery outbox retry maximum must be an integer greater than or equal to 0',
195
+ });
196
+ }
197
+ if (retryBase !== undefined && retryMax !== undefined && retryMax < retryBase) {
198
+ errors.push({
199
+ code: 'CONFIG_VALIDATION_OUTBOX_RETRY_RANGE_INVALID',
200
+ field: 'delivery.outboxRetryMaxMs',
201
+ message: 'Delivery outbox retry maximum must be greater than or equal to the base',
202
+ });
203
+ }
166
204
  // Validate storage config
167
205
  if (!config.storage) {
168
206
  errors.push({
@@ -235,6 +273,52 @@ class ConfigValidator {
235
273
  }
236
274
  }
237
275
  }
276
+ if (config.schedules !== undefined) {
277
+ const scheduleIds = new Set();
278
+ const targetIds = new Set((config.targets ?? []).flatMap(target => target.id ? [target.id] : []));
279
+ config.schedules.forEach((schedule, index) => {
280
+ const prefix = `schedules[${index}]`;
281
+ if (!schedule.id || !/^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$/.test(schedule.id) || scheduleIds.has(schedule.id)) {
282
+ errors.push({
283
+ code: 'CONFIG_VALIDATION_SCHEDULE_ID_INVALID',
284
+ field: `${prefix}.id`,
285
+ message: `Schedule ${index + 1}: Id must be unique and contain only letters, numbers, '_' or '-'`,
286
+ });
287
+ }
288
+ scheduleIds.add(schedule.id);
289
+ if (schedule.enabled && (!schedule.cron || !node_cron_1.default.validate(schedule.cron))) {
290
+ errors.push({
291
+ code: 'CONFIG_VALIDATION_CRON_INVALID',
292
+ field: `${prefix}.cron`,
293
+ message: `Schedule ${index + 1}: Cron expression is invalid`,
294
+ });
295
+ }
296
+ for (const targetId of schedule.targetIds ?? []) {
297
+ if (!targetIds.has(targetId)) {
298
+ errors.push({
299
+ code: 'CONFIG_VALIDATION_SCHEDULE_TARGET_UNKNOWN',
300
+ field: `${prefix}.targetIds`,
301
+ message: `Schedule ${index + 1}: Unknown target id '${targetId}'`,
302
+ });
303
+ }
304
+ }
305
+ });
306
+ }
307
+ if (config.schedulerRuntime?.reloadDebounceMs !== undefined && config.schedulerRuntime.reloadDebounceMs < 100) {
308
+ errors.push({
309
+ code: 'CONFIG_VALIDATION_RELOAD_DEBOUNCE_INVALID',
310
+ field: 'schedulerRuntime.reloadDebounceMs',
311
+ message: 'Reload debounce must be at least 100ms',
312
+ });
313
+ }
314
+ if (config.schedulerRuntime?.queueLimit !== undefined &&
315
+ (!Number.isInteger(config.schedulerRuntime.queueLimit) || config.schedulerRuntime.queueLimit < 0 || config.schedulerRuntime.queueLimit > 100)) {
316
+ errors.push({
317
+ code: 'CONFIG_VALIDATION_QUEUE_LIMIT_INVALID',
318
+ field: 'schedulerRuntime.queueLimit',
319
+ message: 'Queue limit must be an integer between 0 and 100',
320
+ });
321
+ }
238
322
  // Validate log level
239
323
  if (config.logLevel && !['debug', 'info', 'warn', 'error'].includes(config.logLevel)) {
240
324
  errors.push({