pixivflow 2.12.3 → 2.14.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 (151) hide show
  1. package/README.md +30 -4
  2. package/README_EN.md +11 -3
  3. package/config/fly-two-bots.example.json +3 -1
  4. package/dist/commands/DoctorCommand.d.ts +20 -0
  5. package/dist/commands/DoctorCommand.d.ts.map +1 -0
  6. package/dist/commands/DoctorCommand.js +107 -0
  7. package/dist/commands/DoctorCommand.js.map +1 -0
  8. package/dist/commands/OutboxCommand.d.ts +17 -0
  9. package/dist/commands/OutboxCommand.d.ts.map +1 -0
  10. package/dist/commands/OutboxCommand.js +102 -0
  11. package/dist/commands/OutboxCommand.js.map +1 -0
  12. package/dist/commands/ReconcileCommand.d.ts +24 -0
  13. package/dist/commands/ReconcileCommand.d.ts.map +1 -0
  14. package/dist/commands/ReconcileCommand.js +70 -0
  15. package/dist/commands/ReconcileCommand.js.map +1 -0
  16. package/dist/commands/SchedulerCommand.d.ts.map +1 -1
  17. package/dist/commands/SchedulerCommand.js +5 -0
  18. package/dist/commands/SchedulerCommand.js.map +1 -1
  19. package/dist/commands/SchedulerRunOnceCommand.d.ts.map +1 -1
  20. package/dist/commands/SchedulerRunOnceCommand.js +6 -0
  21. package/dist/commands/SchedulerRunOnceCommand.js.map +1 -1
  22. package/dist/commands/index.d.ts +4 -1
  23. package/dist/commands/index.d.ts.map +1 -1
  24. package/dist/commands/index.js +10 -1
  25. package/dist/commands/index.js.map +1 -1
  26. package/dist/commands/scheduler-runtime.d.ts +10 -1
  27. package/dist/commands/scheduler-runtime.d.ts.map +1 -1
  28. package/dist/commands/scheduler-runtime.js +157 -47
  29. package/dist/commands/scheduler-runtime.js.map +1 -1
  30. package/dist/config/types.d.ts +14 -1
  31. package/dist/config/types.d.ts.map +1 -1
  32. package/dist/config/validation.d.ts.map +1 -1
  33. package/dist/config/validation.js +10 -0
  34. package/dist/config/validation.js.map +1 -1
  35. package/dist/delivery/DeliveryAck.d.ts +70 -0
  36. package/dist/delivery/DeliveryAck.d.ts.map +1 -0
  37. package/dist/delivery/DeliveryAck.js +72 -0
  38. package/dist/delivery/DeliveryAck.js.map +1 -0
  39. package/dist/delivery/DeliveryDispatcher.d.ts +1 -0
  40. package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
  41. package/dist/delivery/DeliveryDispatcher.js +9 -1
  42. package/dist/delivery/DeliveryDispatcher.js.map +1 -1
  43. package/dist/delivery/DeliveryService.d.ts +74 -0
  44. package/dist/delivery/DeliveryService.d.ts.map +1 -0
  45. package/dist/delivery/DeliveryService.js +209 -0
  46. package/dist/delivery/DeliveryService.js.map +1 -0
  47. package/dist/delivery/HttpMultipartDelivery.d.ts +11 -1
  48. package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
  49. package/dist/delivery/HttpMultipartDelivery.js +70 -67
  50. package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
  51. package/dist/delivery/LegacyOutboxMigration.d.ts +21 -0
  52. package/dist/delivery/LegacyOutboxMigration.d.ts.map +1 -0
  53. package/dist/delivery/LegacyOutboxMigration.js +125 -0
  54. package/dist/delivery/LegacyOutboxMigration.js.map +1 -0
  55. package/dist/delivery/OutboxWorker.d.ts +70 -0
  56. package/dist/delivery/OutboxWorker.d.ts.map +1 -0
  57. package/dist/delivery/OutboxWorker.js +211 -0
  58. package/dist/delivery/OutboxWorker.js.map +1 -0
  59. package/dist/delivery/types.d.ts +15 -0
  60. package/dist/delivery/types.d.ts.map +1 -1
  61. package/dist/download/DownloadManager.d.ts +17 -12
  62. package/dist/download/DownloadManager.d.ts.map +1 -1
  63. package/dist/download/DownloadManager.js +31 -53
  64. package/dist/download/DownloadManager.js.map +1 -1
  65. package/dist/download/IllustrationDownloader.d.ts +1 -0
  66. package/dist/download/IllustrationDownloader.d.ts.map +1 -1
  67. package/dist/download/IllustrationDownloader.js +19 -1
  68. package/dist/download/IllustrationDownloader.js.map +1 -1
  69. package/dist/download/NovelDownloader.d.ts +3 -1
  70. package/dist/download/NovelDownloader.d.ts.map +1 -1
  71. package/dist/download/NovelDownloader.js +30 -2
  72. package/dist/download/NovelDownloader.js.map +1 -1
  73. package/dist/download/handlers/IllustrationTargetHandler.d.ts +18 -8
  74. package/dist/download/handlers/IllustrationTargetHandler.d.ts.map +1 -1
  75. package/dist/download/handlers/IllustrationTargetHandler.js +101 -74
  76. package/dist/download/handlers/IllustrationTargetHandler.js.map +1 -1
  77. package/dist/download/handlers/NovelTargetHandler.d.ts +8 -8
  78. package/dist/download/handlers/NovelTargetHandler.d.ts.map +1 -1
  79. package/dist/download/handlers/NovelTargetHandler.js +64 -83
  80. package/dist/download/handlers/NovelTargetHandler.js.map +1 -1
  81. package/dist/download/plan/DownloadPlanner.d.ts +6 -1
  82. package/dist/download/plan/DownloadPlanner.d.ts.map +1 -1
  83. package/dist/download/plan/DownloadPlanner.js +28 -5
  84. package/dist/download/plan/DownloadPlanner.js.map +1 -1
  85. package/dist/index.js +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/dist/notification/NotificationPolicy.d.ts +38 -0
  88. package/dist/notification/NotificationPolicy.d.ts.map +1 -0
  89. package/dist/notification/NotificationPolicy.js +89 -0
  90. package/dist/notification/NotificationPolicy.js.map +1 -0
  91. package/dist/package.json +1 -1
  92. package/dist/pixiv/PixivClient.d.ts +4 -0
  93. package/dist/pixiv/PixivClient.d.ts.map +1 -1
  94. package/dist/pixiv/PixivClient.js +15 -2
  95. package/dist/pixiv/PixivClient.js.map +1 -1
  96. package/dist/pixiv/RateLimitCoordinator.d.ts +30 -0
  97. package/dist/pixiv/RateLimitCoordinator.d.ts.map +1 -0
  98. package/dist/pixiv/RateLimitCoordinator.js +66 -0
  99. package/dist/pixiv/RateLimitCoordinator.js.map +1 -0
  100. package/dist/pixiv/client/PixivApiCore.d.ts +5 -0
  101. package/dist/pixiv/client/PixivApiCore.d.ts.map +1 -1
  102. package/dist/pixiv/client/PixivApiCore.js +31 -9
  103. package/dist/pixiv/client/PixivApiCore.js.map +1 -1
  104. package/dist/scheduler/ScheduleTriggerServer.d.ts +7 -0
  105. package/dist/scheduler/ScheduleTriggerServer.d.ts.map +1 -1
  106. package/dist/scheduler/ScheduleTriggerServer.js +17 -0
  107. package/dist/scheduler/ScheduleTriggerServer.js.map +1 -1
  108. package/dist/scheduler/SlotCoordinator.d.ts +15 -0
  109. package/dist/scheduler/SlotCoordinator.d.ts.map +1 -1
  110. package/dist/scheduler/SlotCoordinator.js +74 -0
  111. package/dist/scheduler/SlotCoordinator.js.map +1 -1
  112. package/dist/scheduler/SlotStateMachine.d.ts +32 -0
  113. package/dist/scheduler/SlotStateMachine.d.ts.map +1 -0
  114. package/dist/scheduler/SlotStateMachine.js +65 -0
  115. package/dist/scheduler/SlotStateMachine.js.map +1 -0
  116. package/dist/scheduler/TargetOutcome.d.ts +63 -0
  117. package/dist/scheduler/TargetOutcome.d.ts.map +1 -0
  118. package/dist/scheduler/TargetOutcome.js +28 -0
  119. package/dist/scheduler/TargetOutcome.js.map +1 -0
  120. package/dist/storage/Database.d.ts +16 -0
  121. package/dist/storage/Database.d.ts.map +1 -1
  122. package/dist/storage/Database.js +29 -0
  123. package/dist/storage/Database.js.map +1 -1
  124. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  125. package/dist/storage/DatabaseMigration.js +66 -0
  126. package/dist/storage/DatabaseMigration.js.map +1 -1
  127. package/dist/storage/repositories/DeliveryRepository.d.ts +73 -0
  128. package/dist/storage/repositories/DeliveryRepository.d.ts.map +1 -0
  129. package/dist/storage/repositories/DeliveryRepository.js +148 -0
  130. package/dist/storage/repositories/DeliveryRepository.js.map +1 -0
  131. package/dist/storage/repositories/MetadataRepository.d.ts +27 -0
  132. package/dist/storage/repositories/MetadataRepository.d.ts.map +1 -0
  133. package/dist/storage/repositories/MetadataRepository.js +58 -0
  134. package/dist/storage/repositories/MetadataRepository.js.map +1 -0
  135. package/dist/storage/repositories/OutboxRepository.d.ts +72 -0
  136. package/dist/storage/repositories/OutboxRepository.d.ts.map +1 -0
  137. package/dist/storage/repositories/OutboxRepository.js +200 -0
  138. package/dist/storage/repositories/OutboxRepository.js.map +1 -0
  139. package/dist/storage/repositories/SlotRepository.d.ts +26 -1
  140. package/dist/storage/repositories/SlotRepository.d.ts.map +1 -1
  141. package/dist/storage/repositories/SlotRepository.js +76 -2
  142. package/dist/storage/repositories/SlotRepository.js.map +1 -1
  143. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  144. package/dist/utils/config-validator-unified.js +14 -0
  145. package/dist/utils/config-validator-unified.js.map +1 -1
  146. package/dist/webui/package.json +1 -1
  147. package/package.json +1 -1
  148. package/dist/delivery/DeliveryOutbox.d.ts +0 -43
  149. package/dist/delivery/DeliveryOutbox.d.ts.map +0 -1
  150. package/dist/delivery/DeliveryOutbox.js +0 -293
  151. package/dist/delivery/DeliveryOutbox.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAwBnE;AAED;;GAEG;AACH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CA2BnE;AAED;;GAEG;AACH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,EACX,YAAY,EACZ,aAAa,GACd,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Command exports and registration
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TopicCommand = exports.TagsCommand = exports.VersionCommand = exports.DirsCommand = exports.SetupCommand = exports.MonitorCommand = exports.MaintainCommand = exports.BackupCommand = exports.ConfigCommand = exports.LogsCommand = exports.StatusCommand = exports.HealthCommand = exports.WebUICommand = exports.NormalizeCommand = exports.MigrateConfigCommand = exports.SchedulerRunOnceCommand = exports.SchedulerCommand = exports.RandomDownloadCommand = exports.DownloadCommand = exports.RefreshCommand = exports.LoginHeadlessCommand = exports.LoginCommand = exports.HelpCommand = void 0;
6
+ exports.OutboxCommand = exports.TopicCommand = exports.TagsCommand = exports.VersionCommand = exports.DirsCommand = exports.SetupCommand = exports.MonitorCommand = exports.MaintainCommand = exports.BackupCommand = exports.ConfigCommand = exports.LogsCommand = exports.StatusCommand = exports.ReconcileCommand = exports.DoctorCommand = exports.HealthCommand = exports.WebUICommand = exports.NormalizeCommand = exports.MigrateConfigCommand = exports.SchedulerRunOnceCommand = exports.SchedulerCommand = exports.RandomDownloadCommand = exports.DownloadCommand = exports.RefreshCommand = exports.LoginHeadlessCommand = exports.LoginCommand = exports.HelpCommand = void 0;
7
7
  exports.registerAllCommands = registerAllCommands;
8
8
  const HelpCommand_1 = require("./HelpCommand");
9
9
  Object.defineProperty(exports, "HelpCommand", { enumerable: true, get: function () { return HelpCommand_1.HelpCommand; } });
@@ -29,6 +29,10 @@ const WebUICommand_1 = require("./WebUICommand");
29
29
  Object.defineProperty(exports, "WebUICommand", { enumerable: true, get: function () { return WebUICommand_1.WebUICommand; } });
30
30
  const HealthCommand_1 = require("./HealthCommand");
31
31
  Object.defineProperty(exports, "HealthCommand", { enumerable: true, get: function () { return HealthCommand_1.HealthCommand; } });
32
+ const DoctorCommand_1 = require("./DoctorCommand");
33
+ Object.defineProperty(exports, "DoctorCommand", { enumerable: true, get: function () { return DoctorCommand_1.DoctorCommand; } });
34
+ const ReconcileCommand_1 = require("./ReconcileCommand");
35
+ Object.defineProperty(exports, "ReconcileCommand", { enumerable: true, get: function () { return ReconcileCommand_1.ReconcileCommand; } });
32
36
  const StatusCommand_1 = require("./StatusCommand");
33
37
  Object.defineProperty(exports, "StatusCommand", { enumerable: true, get: function () { return StatusCommand_1.StatusCommand; } });
34
38
  const LogsCommand_1 = require("./LogsCommand");
@@ -51,6 +55,8 @@ const TagsCommand_1 = require("./TagsCommand");
51
55
  Object.defineProperty(exports, "TagsCommand", { enumerable: true, get: function () { return TagsCommand_1.TagsCommand; } });
52
56
  const TopicCommand_1 = require("./TopicCommand");
53
57
  Object.defineProperty(exports, "TopicCommand", { enumerable: true, get: function () { return TopicCommand_1.TopicCommand; } });
58
+ const OutboxCommand_1 = require("./OutboxCommand");
59
+ Object.defineProperty(exports, "OutboxCommand", { enumerable: true, get: function () { return OutboxCommand_1.OutboxCommand; } });
54
60
  /**
55
61
  * Create and register all commands
56
62
  */
@@ -67,6 +73,8 @@ function registerAllCommands(registry) {
67
73
  registry.register(new NormalizeCommand_1.NormalizeCommand());
68
74
  registry.register(new WebUICommand_1.WebUICommand());
69
75
  registry.register(new HealthCommand_1.HealthCommand());
76
+ registry.register(new DoctorCommand_1.DoctorCommand());
77
+ registry.register(new ReconcileCommand_1.ReconcileCommand());
70
78
  registry.register(new StatusCommand_1.StatusCommand());
71
79
  registry.register(new LogsCommand_1.LogsCommand());
72
80
  registry.register(new ConfigCommand_1.ConfigCommand());
@@ -78,5 +86,6 @@ function registerAllCommands(registry) {
78
86
  registry.register(new VersionCommand_1.VersionCommand());
79
87
  registry.register(new TagsCommand_1.TagsCommand());
80
88
  registry.register(new TopicCommand_1.TopicCommand());
89
+ registry.register(new OutboxCommand_1.OutboxCommand());
81
90
  }
82
91
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -27,10 +27,19 @@ export interface SchedulerRuntime {
27
27
  cancelActive(reason: string): void;
28
28
  /** Notify the affected review group after a failed scheduled run. */
29
29
  notifyScheduleFailure(snapshot: StandaloneConfig, schedule: ScheduleConfig, failure: JobFailure): Promise<void>;
30
+ /** Start the independent outbox pump (long-running daemon). */
31
+ startOutboxWorker(): void;
32
+ /** Drain due outbox rows once (run-once / watchdog wake). */
33
+ drainOutbox(): Promise<{
34
+ processed: number;
35
+ done: number;
36
+ retried: number;
37
+ dead: number;
38
+ }>;
30
39
  /** Stop token maintenance, cancel any in-flight download and close the DB. */
31
40
  close(): void;
32
41
  }
33
- export declare function notifyScheduleFailure(config: StandaloneConfig, databasePath: string, schedule: ScheduleConfig, failure: JobFailure): Promise<void>;
42
+ export declare function notifyScheduleFailure(config: StandaloneConfig, database: Database, schedule: ScheduleConfig, failure: JobFailure): Promise<void>;
34
43
  export declare function createSchedulerRuntime(configPathArg?: string): Promise<SchedulerRuntime>;
35
44
  /**
36
45
  * Watchdog for a single plan run (used by `run-once`; the daemon's cron runs
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAA6B,cAAc,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAG3E,OAAO,EAAE,kBAAkB,EAAiB,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;IACnE,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,qBAAqB,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;CACf;AAsGD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBf;AAED,wBAAsB,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2N9F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,IAAI,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAcZ"}
1
+ {"version":3,"file":"scheduler-runtime.d.ts","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAA6B,cAAc,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AACtG,OAAO,EAAE,QAAQ,EAA0B,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAU3E,OAAO,EAAE,kBAAkB,EAAiB,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIpD,+EAA+E;AAC/E,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;IACnE,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrG,kDAAkD;IAClD,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qEAAqE;IACrE,qBAAqB,CACnB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,+DAA+D;IAC/D,iBAAiB,IAAI,IAAI,CAAC;IAC1B,6DAA6D;IAC7D,WAAW,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,8EAA8E;IAC9E,KAAK,IAAI,IAAI,CAAC;CACf;AAiGD,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAiBjB;AAWD,wBAAsB,sBAAsB,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqS9F;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,IAAI,EACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,CAAC,CAcZ"}
@@ -7,11 +7,43 @@
7
7
  * refetch behaves identically to a scheduled run: same config resolution,
8
8
  * same token maintenance, same target selection, same dedupe and delivery.
9
9
  */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
10
43
  Object.defineProperty(exports, "__esModule", { value: true });
11
44
  exports.notifyScheduleFailure = notifyScheduleFailure;
12
45
  exports.createSchedulerRuntime = createSchedulerRuntime;
13
46
  exports.runWithTimeout = runWithTimeout;
14
- const node_path_1 = require("node:path");
15
47
  const config_1 = require("../config");
16
48
  const Database_1 = require("../storage/Database");
17
49
  const AuthClient_1 = require("../pixiv/AuthClient");
@@ -19,10 +51,13 @@ const PixivClient_1 = require("../pixiv/PixivClient");
19
51
  const FileService_1 = require("../download/FileService");
20
52
  const DownloadManager_1 = require("../download/DownloadManager");
21
53
  const DeliveryDispatcher_1 = require("../delivery/DeliveryDispatcher");
22
- const DeliveryOutbox_1 = require("../delivery/DeliveryOutbox");
23
54
  const token_maintenance_1 = require("../utils/token-maintenance");
24
55
  const schedules_1 = require("../scheduler/schedules");
25
56
  const SlotCoordinator_1 = require("../scheduler/SlotCoordinator");
57
+ const OutboxWorker_1 = require("../delivery/OutboxWorker");
58
+ const LegacyOutboxMigration_1 = require("../delivery/LegacyOutboxMigration");
59
+ const NotificationPolicy_1 = require("../notification/NotificationPolicy");
60
+ const node_crypto_1 = require("node:crypto");
26
61
  const placeholders_1 = require("../config/placeholders");
27
62
  const logger_1 = require("../logger");
28
63
  /**
@@ -50,13 +85,14 @@ function openDatabaseWithRecovery(databasePath) {
50
85
  database = openFresh();
51
86
  return {
52
87
  database,
53
- recoveryNote: `数据库无法打开(${message}),已隔离损坏文件 ${isolated} 并重建空库;下载去重记录已重置,将重新下载近期作品。`,
88
+ recoveryNote: `数据库无法打开(${message}),已隔离损坏文件 ${isolated} 并重建空库;已进入降级模式:自动选择/投递已暂停,请执行 doctor --repair 或确认历史后再恢复,以避免空库重复发布。`,
89
+ degraded: true,
54
90
  };
55
91
  }
56
92
  const check = database.checkIntegrity();
57
93
  if (check === 'ok') {
58
94
  database.migrate();
59
- return { database };
95
+ return { database, degraded: false };
60
96
  }
61
97
  // Structurally corrupt: isolate (preserving evidence) and recreate fresh.
62
98
  const message = check.slice(0, 200);
@@ -75,37 +111,34 @@ function openDatabaseWithRecovery(databasePath) {
75
111
  database = openFresh();
76
112
  return {
77
113
  database,
78
- recoveryNote: `数据库完整性检查未通过(${message}),已隔离损坏文件 ${isolated} 并重建空库;下载去重记录已重置,将重新下载近期作品。`,
114
+ recoveryNote: `数据库完整性检查未通过(${message}),已隔离损坏文件 ${isolated} 并重建空库;已进入降级模式:自动选择/投递已暂停,请运行 pixivflow doctor --repair / reconcile 确认历史后再恢复,以避免空库批量重复发布。`,
115
+ degraded: true,
79
116
  };
80
117
  }
81
- async function notifyDeliveryTargets(config, databasePath, targetNames, text, key) {
118
+ async function notifyDeliveryTargets(config, database, targetNames, text, key) {
82
119
  const delivery = config.delivery;
83
120
  const notifyable = [...new Set(targetNames)].filter((name) => delivery?.targets?.[name]?.notificationUrl?.trim());
84
121
  if (notifyable.length === 0)
85
122
  return;
123
+ // Notifications are durable SQLite outbox rows (kind=notification), pumped by
124
+ // the OutboxWorker — never fire-and-forget, never swallowed silently.
86
125
  try {
87
- const dispatcher = new DeliveryDispatcher_1.DeliveryDispatcher(delivery, undefined);
88
- const outbox = new DeliveryOutbox_1.DeliveryOutbox((0, node_path_1.join)((0, node_path_1.dirname)(databasePath), 'delivery-outbox'), dispatcher, delivery?.deleteAfterDelivery !== false);
126
+ const { DeliveryService } = await Promise.resolve().then(() => __importStar(require('../delivery/DeliveryService')));
127
+ const service = new DeliveryService(database);
89
128
  for (const name of notifyable) {
90
- try {
91
- const syntheticTarget = { type: 'novel', delivery: { target: name } };
92
- await outbox.notifyNoMatch(syntheticTarget, text, key);
93
- }
94
- catch (error) {
95
- logger_1.logger.warn('Notification failed for delivery target', { target: name, error });
96
- }
129
+ service.enqueueNotification(name, text, key);
97
130
  }
98
131
  }
99
132
  catch (error) {
100
- logger_1.logger.warn('Failed to build delivery notification', { error });
133
+ logger_1.logger.warn('Failed to enqueue delivery notification', { error });
101
134
  }
102
135
  }
103
136
  /** Best-effort: alert every delivery target that exposes a notificationUrl. */
104
- async function notifyRecovery(config, databasePath, note) {
137
+ async function notifyRecovery(config, database, note) {
105
138
  const targetNames = Object.keys(config.delivery?.targets ?? {});
106
- await notifyDeliveryTargets(config, databasePath, targetNames, `⚠️ PixivFlow 数据库自检未通过,已自动隔离并重建\n${note}`, `pixivflow:db-recovery:${new Date().toISOString().slice(0, 10)}`);
139
+ await notifyDeliveryTargets(config, database, targetNames, `⚠️ PixivFlow 数据库自检未通过,已自动隔离并重建\n${note}`, `pixivflow:db-recovery:${new Date().toISOString().slice(0, 10)}`);
107
140
  }
108
- async function notifyScheduleFailure(config, databasePath, schedule, failure) {
141
+ async function notifyScheduleFailure(config, database, schedule, failure) {
109
142
  const targetNames = (0, schedules_1.selectScheduleTargets)(config.targets, schedule)
110
143
  .map((target) => target.delivery?.target?.trim())
111
144
  .filter((name) => Boolean(name));
@@ -114,18 +147,31 @@ async function notifyScheduleFailure(config, databasePath, schedule, failure) {
114
147
  ? '\n计划已达到连续失败上限并自动停止,请检查后重载配置或重启进程。'
115
148
  : '';
116
149
  const error = failure.errorMessage ? `\n错误:${failure.errorMessage.slice(0, 500)}` : '';
117
- await notifyDeliveryTargets(config, databasePath, targetNames, `⚠️ PixivFlow 定时任务${status}\n计划:${schedule.name?.trim() || schedule.id}` +
150
+ await notifyDeliveryTargets(config, database, targetNames, `⚠️ PixivFlow 定时任务${status}\n计划:${schedule.name?.trim() || schedule.id}` +
118
151
  `\n连续失败:${failure.consecutiveFailures}${error}${stopped}`, `pixivflow:schedule-failure:${schedule.id}:${failure.executionNumber}`);
119
152
  }
153
+ function buildProxyUrl(network) {
154
+ const proxy = network?.proxy;
155
+ if (!proxy?.enabled)
156
+ return undefined;
157
+ const protocol = proxy.protocol ?? 'http';
158
+ if (protocol !== 'http' && protocol !== 'https')
159
+ return undefined;
160
+ const auth = proxy.username ? `${proxy.username}:${proxy.password ?? ''}@` : '';
161
+ return `${protocol}://${auth}${proxy.host}:${proxy.port}`;
162
+ }
120
163
  async function createSchedulerRuntime(configPathArg) {
121
164
  // Keep TODAY/YESTERDAY placeholders intact. They are resolved afresh for
122
165
  // every plan execution, not frozen at daemon startup.
123
166
  const configPath = (0, config_1.getConfigPath)(configPathArg);
124
167
  const config = (0, config_1.loadConfig)(configPath, false, false);
125
168
  const databasePath = config.storage.databasePath;
126
- const { database, recoveryNote } = openDatabaseWithRecovery(databasePath);
169
+ const { database, recoveryNote, degraded } = openDatabaseWithRecovery(databasePath);
170
+ // One-time, idempotent import of any file-based outbox manifests. Safe to run
171
+ // every start: committed rows are archived; a crash mid-way resumes here.
172
+ (0, LegacyOutboxMigration_1.migrateLegacyOutbox)(database);
127
173
  if (recoveryNote) {
128
- await notifyRecovery(config, databasePath, recoveryNote);
174
+ await notifyRecovery(config, database, recoveryNote);
129
175
  }
130
176
  const auth = new AuthClient_1.PixivAuth(config.pixiv, config.network, database, configPath);
131
177
  const pixivClient = new PixivClient_1.PixivClient(auth, config);
@@ -137,6 +183,31 @@ async function createSchedulerRuntime(configPathArg) {
137
183
  tokenMaintenance.start();
138
184
  }
139
185
  let activeDownloadManager = null;
186
+ // Independently-pumped durable outbox (content + notifications). Started in
187
+ // the long-running scheduler daemon; run-once drains explicitly before exit.
188
+ const deliveryDispatcher = new DeliveryDispatcher_1.DeliveryDispatcher(config.delivery, buildProxyUrl(config.network));
189
+ const outboxWorker = new OutboxWorker_1.OutboxWorker(database, deliveryDispatcher, {
190
+ retryBaseMs: config.delivery?.outboxRetryBaseMs,
191
+ retryMaxMs: config.delivery?.outboxRetryMaxMs,
192
+ // A confirmed ACK promotes the delivery_pending cell to submitted.
193
+ onDeliveryTerminal: (deliveryId, ack) => {
194
+ const row = database.deliveries.getById(deliveryId);
195
+ if (!row || !row.slotId || !row.targetId)
196
+ return;
197
+ if (ack.kind === 'duplicate_existing') {
198
+ const coord = new SlotCoordinator_1.SlotCoordinator(database);
199
+ coord.applyOutcome(row.slotId, row.targetId, {
200
+ kind: 'duplicate',
201
+ workId: row.pixivId,
202
+ reason: 'downstream attested historical duplicate',
203
+ });
204
+ return;
205
+ }
206
+ const coord = new SlotCoordinator_1.SlotCoordinator(database);
207
+ coord.markDelivered(row.slotId, row.targetId, row.pixivId, row.workType);
208
+ },
209
+ });
210
+ const notificationPolicy = new NotificationPolicy_1.NotificationPolicy(database, config);
140
211
  const runJob = async (snapshot, schedule, options = {}) => {
141
212
  const { onlyTarget, adhoc = false, slot: providedSlot } = options;
142
213
  // A scheduled run is cron by default; an HTTP/manual trigger passes its own.
@@ -160,6 +231,7 @@ async function createSchedulerRuntime(configPathArg) {
160
231
  // complete or be resumed as one. Scheduled runs (cron/http/catchup) always
161
232
  // resolve a canonical occurrence and converge on one durable Slot.
162
233
  let slotCtx = null;
234
+ let varReleaseLease = null;
163
235
  if (!adhoc) {
164
236
  if (providedSlot) {
165
237
  slotCtx = providedSlot;
@@ -177,14 +249,38 @@ async function createSchedulerRuntime(configPathArg) {
177
249
  }
178
250
  slotCtx = resolved.context;
179
251
  }
252
+ const activeSlot = slotCtx;
253
+ const runOwner = `run-${process.pid}-${(0, node_crypto_1.randomUUID)().slice(0, 8)}`;
254
+ const leaseMs = Math.max(60_000, (schedule.timeout ?? 30 * 60_000) + 60_000);
180
255
  const begin = coordinator.begin(slotCtx, schedule, targets);
181
256
  if (begin.alreadyCompleted && !onlyTarget) {
182
257
  logger_1.logger.info('Slot already terminal; nothing to do', {
183
- slot: slotCtx.slotId,
258
+ slot: activeSlot.slotId,
184
259
  status: begin.slotRec.status,
185
260
  });
186
261
  return;
187
262
  }
263
+ // Cross-process lease: a concurrent Cloudflare + watchdog + manual
264
+ // trigger on a SECOND process sees an active lease and converges instead
265
+ // of running the same targets in parallel.
266
+ const claimed = coordinator.claimRunLease(activeSlot.slotId, runOwner, leaseMs);
267
+ if (!claimed) {
268
+ const lease = database.slots.getSlotLease(activeSlot.slotId);
269
+ logger_1.logger.info('Slot run already leased by another worker; converging', {
270
+ slot: activeSlot.slotId,
271
+ leaseOwner: lease.owner,
272
+ });
273
+ // Resume-only: the OutboxWorker drains pending deliveries; do not run
274
+ // candidate selection again. Drain due rows and return.
275
+ await outboxWorker.drainOnce(1);
276
+ return;
277
+ }
278
+ const heartbeat = setInterval(() => coordinator.heartbeatLease(activeSlot.slotId, runOwner, leaseMs), Math.floor(leaseMs / 3));
279
+ heartbeat.unref?.();
280
+ varReleaseLease = () => {
281
+ clearInterval(heartbeat);
282
+ coordinator.releaseRunLease(activeSlot.slotId, runOwner);
283
+ };
188
284
  }
189
285
  // For a scheduled run, skip cells already in a terminal state (resume never
190
286
  // re-runs a finished cell — that is what prevents a second post). Membership
@@ -224,29 +320,23 @@ async function createSchedulerRuntime(configPathArg) {
224
320
  activeDownloadManager = downloadManager;
225
321
  await downloadManager.initialise();
226
322
  if (slotCtx) {
227
- // Record cell outcomes into the slot ledger.
228
- downloadManager.setWorkLockedHook((artifact, target) => {
229
- if (!target.id || !slotCtx)
323
+ const slot = slotCtx; // stable for callbacks
324
+ // TYPED outcome -> explicit FSM transition. No message regex, no
325
+ // "no throw => submitted". Only a confirmed ACK yields 'submitted'.
326
+ downloadManager.setTargetOutcomeHook((target, outcome) => {
327
+ if (!target.id)
230
328
  return;
231
- // First selection wins; retries/replays carry the same pixivId and the
232
- // ledger COALESCE keeps it, so a retry never silently swaps the work.
233
- coordinator.lockWork(slotCtx.slotId, target.id, artifact.pixivId, artifact.type);
234
- });
235
- downloadManager.setTargetOutcomeHook((target, error) => {
236
- if (!target.id || !slotCtx)
237
- return;
238
- if (!error) {
239
- // Delivered (or queued in outbox, which retries the SAME work). Mark
240
- // submitted; the work id is best-effort from the most recent download.
241
- coordinator.markCell(slotCtx.slotId, target.id, 'submitted');
242
- }
243
- else if (/no matching|no_candidate|all .*filtered|already downloaded/i.test(error)) {
244
- coordinator.markCell(slotCtx.slotId, target.id, 'no_candidate', error);
245
- }
246
- else {
247
- coordinator.markCell(slotCtx.slotId, target.id, 'failed', error);
248
- }
329
+ coordinator.applyOutcome(slot.slotId, target.id, outcome);
330
+ notificationPolicy.noteOutcome(slot.slotId, slot, schedule, target, outcome);
249
331
  });
332
+ downloadManager.slotContext = {
333
+ slotId: slot.slotId,
334
+ scheduleId: slot.scheduleId,
335
+ occurrenceAtIso: new Date(slot.occurrenceAt).toISOString(),
336
+ triggerSource: slot.triggerSource,
337
+ slotName: slot.slotName,
338
+ slotDate: slot.slotDate,
339
+ };
250
340
  }
251
341
  // Apply initial delay if configured
252
342
  if (runtimeConfig.initialDelay && runtimeConfig.initialDelay > 0) {
@@ -265,6 +355,9 @@ async function createSchedulerRuntime(configPathArg) {
265
355
  logger_1.logger.info('='.repeat(60));
266
356
  const startTime = Date.now();
267
357
  let allTargetsFailed;
358
+ let releaseLease = () => undefined;
359
+ if (slotCtx && varReleaseLease)
360
+ releaseLease = varReleaseLease;
268
361
  try {
269
362
  await downloadManager.runAllTargets();
270
363
  }
@@ -280,10 +373,24 @@ async function createSchedulerRuntime(configPathArg) {
280
373
  finally {
281
374
  if (activeDownloadManager === downloadManager)
282
375
  activeDownloadManager = null;
376
+ releaseLease?.();
283
377
  }
284
378
  const duration = Math.round((Date.now() - startTime) / 1000);
285
- if (slotCtx)
286
- coordinator.finish(slotCtx, schedule, targets);
379
+ if (slotCtx) {
380
+ const summary = coordinator.finish(slotCtx, schedule, targets);
381
+ notificationPolicy.sendSlotSummary(slotCtx, schedule, summary.cells.map((c) => {
382
+ const t = targets.find((x) => x.id === c.targetId);
383
+ return {
384
+ targetId: c.targetId,
385
+ label: c.targetId,
386
+ workType: t?.type ?? 'unknown',
387
+ status: c.status,
388
+ workId: c.workId,
389
+ error: c.error ?? null,
390
+ };
391
+ }));
392
+ releaseLease();
393
+ }
287
394
  if (!slotCtx && allTargetsFailed)
288
395
  throw allTargetsFailed;
289
396
  logger_1.logger.info('='.repeat(60));
@@ -297,6 +404,7 @@ async function createSchedulerRuntime(configPathArg) {
297
404
  activeDownloadManager?.cancel(reason);
298
405
  };
299
406
  const close = () => {
407
+ outboxWorker.stop();
300
408
  cancelActive('process shutdown');
301
409
  if (tokenMaintenance) {
302
410
  tokenMaintenance.stop();
@@ -311,7 +419,9 @@ async function createSchedulerRuntime(configPathArg) {
311
419
  tokenMaintenance,
312
420
  runJob,
313
421
  cancelActive,
314
- notifyScheduleFailure: (snapshot, schedule, failure) => notifyScheduleFailure(snapshot, databasePath, schedule, failure),
422
+ startOutboxWorker: () => outboxWorker.start(),
423
+ drainOutbox: () => outboxWorker.drainOnce(),
424
+ notifyScheduleFailure: (snapshot, schedule, failure) => notifyScheduleFailure(snapshot, database, schedule, failure),
315
425
  close,
316
426
  };
317
427
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler-runtime.js","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler-runtime.js","sourceRoot":"","sources":["../../src/commands/scheduler-runtime.ts"],"names":[],"mappings":"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"}
@@ -468,15 +468,28 @@ export interface HttpMultipartDeliveryConfig {
468
468
  headers?: Record<string, string>;
469
469
  /** multipart 文件字段名,默认 files */
470
470
  fileField?: string;
471
+ /** 可选预览文件字段名,默认 previews;与 files 一一对应 */
472
+ previewFileField?: string;
473
+ /** Optional dependency readiness endpoint. Non-200 defers outbox attempts. */
474
+ readinessUrl?: string;
471
475
  /** 普通表单字段,支持 title/pixivId/type/tag/topic/workTags 模板变量 */
472
476
  fields?: Record<string, DeliveryFieldValue>;
473
477
  /** 数组字段编码方式,默认 comma */
474
478
  arrayFormat?: 'comma' | 'repeat' | 'json';
475
479
  success?: HttpMultipartSuccessConfig;
476
- /** 单次交付的最大尝试次数(含首次),默认 3 */
480
+ /** 单次交付的最大尝试次数(含首次),默认 3(遗留即时重试;SQLite outbox 是主重试层) */
477
481
  maxAttempts?: number;
478
482
  /** 重试基础间隔(毫秒),默认 2000 */
479
483
  retryDelayMs?: number;
484
+ /** 业务 ACK 信封字段映射(默认解析 TelePost {data:{review_id,reused,...}})。 */
485
+ ack?: {
486
+ dataPath?: string;
487
+ idField?: string;
488
+ statusField?: string;
489
+ reusedField?: string;
490
+ reasonField?: string;
491
+ keyField?: string;
492
+ };
480
493
  }
481
494
  export type DeliveryTargetConfig = HttpMultipartDeliveryConfig;
482
495
  export interface DeliveryConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC;AAElD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;AAEtE,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,oDAAoD;AACpD,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,qCAAqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,YAAY,CAAC,EAAE,wBAAwB,GAAG,sBAAsB,GAAG,mBAAmB,CAAC;IACvF;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC;IACjD,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAChC;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAChD,oEAAoE;IACpE,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,aAAa,GAAG,SAAS,GAAG,cAAc,GAAG,gBAAgB,CAAC;IAChK;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;IAC3C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,yBAAyB,GACzB,wBAAwB,CAAC;AAE7B,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,gBAAgB,CAAC;IAC5C;;;OAGG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,mDAAmD;AACnD,MAAM,WAAW,sBAAsB;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACxB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC5C,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAE/D,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC9C,iCAAiC;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mCAAmC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,KAAK,EAAE,qBAAqB,CAAC;IAC7B;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C;;OAEG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;WAIG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA8X/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAsY/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
@@ -231,6 +231,16 @@ function validateConfig(config, location, databasePath) {
231
231
  errors.push(`${prefix}.notificationUrl: Must be a valid HTTP or HTTPS URL`);
232
232
  }
233
233
  }
234
+ if (delivery.readinessUrl && !/\$\{[A-Za-z_][A-Za-z0-9_]*\}/.test(delivery.readinessUrl)) {
235
+ try {
236
+ const url = new URL(delivery.readinessUrl);
237
+ if (!['http:', 'https:'].includes(url.protocol))
238
+ throw new Error('unsupported protocol');
239
+ }
240
+ catch {
241
+ errors.push(`${prefix}.readinessUrl: Must be a valid HTTP or HTTPS URL`);
242
+ }
243
+ }
234
244
  if (delivery.method && !['POST', 'PUT'].includes(delivery.method)) {
235
245
  errors.push(`${prefix}.method: Must be "POST" or "PUT"`);
236
246
  }