pixivflow 2.13.0 → 2.15.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 (82) hide show
  1. package/README.md +20 -2
  2. package/README_EN.md +11 -3
  3. package/config/fly-two-bots.example.json +3 -1
  4. package/dist/commands/OutboxCommand.d.ts +17 -0
  5. package/dist/commands/OutboxCommand.d.ts.map +1 -0
  6. package/dist/commands/OutboxCommand.js +149 -0
  7. package/dist/commands/OutboxCommand.js.map +1 -0
  8. package/dist/commands/RunsCommand.d.ts +21 -0
  9. package/dist/commands/RunsCommand.d.ts.map +1 -0
  10. package/dist/commands/RunsCommand.js +65 -0
  11. package/dist/commands/RunsCommand.js.map +1 -0
  12. package/dist/commands/VersionCommand.d.ts +2 -0
  13. package/dist/commands/VersionCommand.d.ts.map +1 -1
  14. package/dist/commands/VersionCommand.js +10 -46
  15. package/dist/commands/VersionCommand.js.map +1 -1
  16. package/dist/commands/index.d.ts +3 -1
  17. package/dist/commands/index.d.ts.map +1 -1
  18. package/dist/commands/index.js +7 -1
  19. package/dist/commands/index.js.map +1 -1
  20. package/dist/commands/scheduler-runtime.d.ts.map +1 -1
  21. package/dist/commands/scheduler-runtime.js +2 -0
  22. package/dist/commands/scheduler-runtime.js.map +1 -1
  23. package/dist/config/types.d.ts +4 -0
  24. package/dist/config/types.d.ts.map +1 -1
  25. package/dist/config/validation.d.ts.map +1 -1
  26. package/dist/config/validation.js +10 -0
  27. package/dist/config/validation.js.map +1 -1
  28. package/dist/delivery/DeliveryDispatcher.d.ts +4 -0
  29. package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
  30. package/dist/delivery/DeliveryDispatcher.js +12 -0
  31. package/dist/delivery/DeliveryDispatcher.js.map +1 -1
  32. package/dist/delivery/DeliveryService.d.ts.map +1 -1
  33. package/dist/delivery/DeliveryService.js +2 -0
  34. package/dist/delivery/DeliveryService.js.map +1 -1
  35. package/dist/delivery/HttpMultipartDelivery.d.ts +14 -0
  36. package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
  37. package/dist/delivery/HttpMultipartDelivery.js +59 -16
  38. package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
  39. package/dist/delivery/OutboxWorker.d.ts +15 -0
  40. package/dist/delivery/OutboxWorker.d.ts.map +1 -1
  41. package/dist/delivery/OutboxWorker.js +136 -4
  42. package/dist/delivery/OutboxWorker.js.map +1 -1
  43. package/dist/delivery/errorClass.d.ts +12 -0
  44. package/dist/delivery/errorClass.d.ts.map +1 -0
  45. package/dist/delivery/errorClass.js +34 -0
  46. package/dist/delivery/errorClass.js.map +1 -0
  47. package/dist/delivery/types.d.ts +4 -0
  48. package/dist/delivery/types.d.ts.map +1 -1
  49. package/dist/download/IllustrationDownloader.d.ts +1 -0
  50. package/dist/download/IllustrationDownloader.d.ts.map +1 -1
  51. package/dist/download/IllustrationDownloader.js +19 -1
  52. package/dist/download/IllustrationDownloader.js.map +1 -1
  53. package/dist/download/handlers/IllustrationTargetHandler.d.ts.map +1 -1
  54. package/dist/download/handlers/IllustrationTargetHandler.js +1 -0
  55. package/dist/download/handlers/IllustrationTargetHandler.js.map +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/package.json +1 -1
  59. package/dist/scheduler/SlotCoordinator.d.ts +7 -0
  60. package/dist/scheduler/SlotCoordinator.d.ts.map +1 -1
  61. package/dist/scheduler/SlotCoordinator.js +26 -0
  62. package/dist/scheduler/SlotCoordinator.js.map +1 -1
  63. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  64. package/dist/storage/DatabaseMigration.js +22 -0
  65. package/dist/storage/DatabaseMigration.js.map +1 -1
  66. package/dist/storage/repositories/OutboxRepository.d.ts +59 -1
  67. package/dist/storage/repositories/OutboxRepository.d.ts.map +1 -1
  68. package/dist/storage/repositories/OutboxRepository.js +202 -0
  69. package/dist/storage/repositories/OutboxRepository.js.map +1 -1
  70. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  71. package/dist/utils/config-validator-unified.js +14 -0
  72. package/dist/utils/config-validator-unified.js.map +1 -1
  73. package/dist/utils/redact.d.ts +14 -0
  74. package/dist/utils/redact.d.ts.map +1 -0
  75. package/dist/utils/redact.js +47 -0
  76. package/dist/utils/redact.js.map +1 -0
  77. package/dist/version.d.ts +5 -0
  78. package/dist/version.d.ts.map +1 -0
  79. package/dist/version.js +6 -0
  80. package/dist/version.js.map +1 -0
  81. package/dist/webui/package.json +1 -1
  82. package/package.json +2 -2
@@ -19,6 +19,7 @@ export interface OutboxWorkerOptions {
19
19
  /** Delivery side-effect payload (frozen at enqueue time). */
20
20
  export interface DeliveryPayload {
21
21
  files: string[];
22
+ previewFiles?: string[];
22
23
  /** Sidecars + cached media removed after confirmed delivery (cache mode). */
23
24
  cleanupFiles?: string[];
24
25
  deleteAfterDelivery?: boolean;
@@ -49,6 +50,8 @@ export declare class OutboxWorker {
49
50
  private readonly batchSize;
50
51
  private readonly retryBaseMs;
51
52
  private readonly retryMaxMs;
53
+ /** outboxId -> last deferred-event ts; bounds readiness defer flooding. */
54
+ private readonly lastDeferred;
52
55
  constructor(database: Database, dispatcher: DeliveryDispatcher, options?: OutboxWorkerOptions);
53
56
  private onDeliveryTerminal;
54
57
  private onDead;
@@ -62,6 +65,18 @@ export declare class OutboxWorker {
62
65
  dead: number;
63
66
  }>;
64
67
  private pump;
68
+ /** Probe via structured readinessProbe when available; boolean fallback stays compatible. */
69
+ private checkReadiness;
70
+ /** Record at most one deferral per outbox row per 60s (cold-start poll guard). */
71
+ private recordDeferred;
72
+ /** Pull correlation fields out of payload.context without trusting its shape. */
73
+ private contextCorrelation;
74
+ /**
75
+ * Record media.fallback only when the provider ack explicitly attests one
76
+ * (TelePost envelope may carry media_fallback/document_fallback flags).
77
+ */
78
+ private recordMediaFallback;
79
+ private recordEvent;
65
80
  private process;
66
81
  private handleDeliveryAck;
67
82
  private cleanup;
@@ -1 +1 @@
1
- {"version":3,"file":"OutboxWorker.d.ts","sourceRoot":"","sources":["../../src/delivery/OutboxWorker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAgB,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9F,4EAA4E;IAC5E,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAClD;AAED,6DAA6D;AAC7D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKjF;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IAYrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAZ7B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuD;IAC7E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGjB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,kBAAkB,EAC/C,OAAO,GAAE,mBAAwB;IAWnC,OAAO,CAAC,kBAAkB,CAAwD;IAClF,OAAO,CAAC,MAAM,CAA4C;IAE1D,KAAK,IAAI,IAAI;IAUb,IAAI,IAAI,IAAI;IAQZ,uEAAuE;IACjE,SAAS,CAAC,SAAS,SAAK,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;YAmB9F,IAAI;YAmBJ,OAAO;YAyCP,iBAAiB;YA+BjB,OAAO;CAWtB"}
1
+ {"version":3,"file":"OutboxWorker.d.ts","sourceRoot":"","sources":["../../src/delivery/OutboxWorker.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ exports.OutboxWorker = void 0;
4
4
  exports.backoffDelayMs = backoffDelayMs;
5
5
  const node_crypto_1 = require("node:crypto");
6
6
  const promises_1 = require("node:fs/promises");
7
+ const errorClass_1 = require("./errorClass");
8
+ const redact_1 = require("../utils/redact");
7
9
  const logger_1 = require("../logger");
8
10
  /** Exponential backoff with jitter, capped. */
9
11
  function backoffDelayMs(attempt, base, max) {
@@ -30,6 +32,8 @@ class OutboxWorker {
30
32
  batchSize;
31
33
  retryBaseMs;
32
34
  retryMaxMs;
35
+ /** outboxId -> last deferred-event ts; bounds readiness defer flooding. */
36
+ lastDeferred = new Map();
33
37
  constructor(database, dispatcher, options = {}) {
34
38
  this.database = database;
35
39
  this.dispatcher = dispatcher;
@@ -72,7 +76,15 @@ class OutboxWorker {
72
76
  const rows = this.database.outbox.claimDue(this.owner, this.leaseMs, this.batchSize);
73
77
  if (rows.length === 0)
74
78
  break;
79
+ let deferred = false;
75
80
  for (const row of rows) {
81
+ const readiness = await this.checkReadiness(row);
82
+ if (!readiness.ready) {
83
+ this.database.outbox.release(row.id);
84
+ this.recordDeferred(row, readiness);
85
+ deferred = true;
86
+ continue;
87
+ }
76
88
  processed++;
77
89
  const result = await this.process(row);
78
90
  if (result === 'done')
@@ -82,6 +94,8 @@ class OutboxWorker {
82
94
  else
83
95
  retried++;
84
96
  }
97
+ if (deferred)
98
+ break;
85
99
  }
86
100
  return { processed, done, retried, dead };
87
101
  }
@@ -96,18 +110,102 @@ class OutboxWorker {
96
110
  this.database.outbox.release(row.id);
97
111
  continue;
98
112
  }
113
+ const readiness = await this.checkReadiness(row);
114
+ if (!readiness.ready) {
115
+ this.database.outbox.release(row.id);
116
+ this.recordDeferred(row, readiness);
117
+ continue;
118
+ }
99
119
  await this.process(row);
100
120
  }
101
121
  }
102
122
  catch (error) {
103
- logger_1.logger.warn('Outbox pump failed', { error: error instanceof Error ? error.message : String(error) });
123
+ logger_1.logger.warn('Outbox pump failed', { error: (0, redact_1.redactError)(error) });
104
124
  }
105
125
  finally {
106
126
  this.running = false;
107
127
  }
108
128
  }
129
+ /** Probe via structured readinessProbe when available; boolean fallback stays compatible. */
130
+ async checkReadiness(row) {
131
+ const dispatcher = this.dispatcher;
132
+ if (typeof dispatcher.readinessProbe === 'function') {
133
+ return dispatcher.readinessProbe(row.deliveryTarget);
134
+ }
135
+ return { ready: await this.dispatcher.isReady(row.deliveryTarget) };
136
+ }
137
+ /** Record at most one deferral per outbox row per 60s (cold-start poll guard). */
138
+ recordDeferred(row, probe) {
139
+ const now = Date.now();
140
+ const last = this.lastDeferred.get(row.id) ?? 0;
141
+ if (now - last < 60_000)
142
+ return;
143
+ this.lastDeferred.set(row.id, now);
144
+ this.recordEvent(row, {
145
+ event: 'outbox.deferred',
146
+ errorClass: 'dependency_not_ready',
147
+ retryable: true,
148
+ countsAsAttempt: 0,
149
+ detail: { reason: probe.reason ?? 'not_ready', status: probe.status ?? null },
150
+ });
151
+ }
152
+ /** Pull correlation fields out of payload.context without trusting its shape. */
153
+ contextCorrelation(row) {
154
+ try {
155
+ const payload = JSON.parse(row.payloadJson);
156
+ const c = (payload.context ?? {});
157
+ const str = (v) => (typeof v === 'string' && v ? v : null);
158
+ return {
159
+ executionId: str(c.executionId) ?? str(c.slotId),
160
+ slotId: str(c.slotId),
161
+ pixivId: str(c.pixivId),
162
+ };
163
+ }
164
+ catch {
165
+ return {};
166
+ }
167
+ }
168
+ /**
169
+ * Record media.fallback only when the provider ack explicitly attests one
170
+ * (TelePost envelope may carry media_fallback/document_fallback flags).
171
+ */
172
+ recordMediaFallback(row, ack) {
173
+ const raw = 'raw' in ack ? ack.raw : undefined;
174
+ const data = raw && typeof raw === 'object'
175
+ ? raw.data
176
+ : undefined;
177
+ const rec = data && typeof data === 'object' ? data : undefined;
178
+ if (!rec)
179
+ return;
180
+ const reason = rec.media_fallback_reason ?? rec.document_fallback_reason;
181
+ const fellBack = rec.media_fallback === true || rec.document_fallback === true ||
182
+ (typeof rec.fallback === 'string' && /document/i.test(rec.fallback));
183
+ if (!fellBack)
184
+ return;
185
+ this.recordEvent(row, {
186
+ event: 'media.fallback',
187
+ countsAsAttempt: 0,
188
+ detail: { reason: typeof reason === 'string' ? reason : 'document' },
189
+ });
190
+ }
191
+ recordEvent(row, input) {
192
+ try {
193
+ this.database.outbox.recordEvent({
194
+ ...this.contextCorrelation(row),
195
+ deliveryId: row.deliveryId,
196
+ outboxId: row.id,
197
+ deliveryTarget: row.deliveryTarget,
198
+ ...input,
199
+ });
200
+ }
201
+ catch (error) {
202
+ logger_1.logger.debug('Failed to record delivery event', { event: input.event, error: (0, redact_1.redactError)(error) });
203
+ }
204
+ }
109
205
  async process(row) {
206
+ this.recordEvent(row, { event: 'outbox.claimed', countsAsAttempt: 0 });
110
207
  try {
208
+ let reused;
111
209
  if (row.kind === 'notification') {
112
210
  const payload = JSON.parse(row.payloadJson);
113
211
  await this.dispatcher.notify(row.deliveryTarget, {
@@ -119,6 +217,7 @@ class OutboxWorker {
119
217
  const payload = JSON.parse(row.payloadJson);
120
218
  const result = await this.dispatcher.deliver(row.deliveryTarget, {
121
219
  files: payload.files,
220
+ previewFiles: payload.previewFiles,
122
221
  fields: payload.fields,
123
222
  context: payload.context,
124
223
  });
@@ -126,18 +225,40 @@ class OutboxWorker {
126
225
  kind: result.status && result.status >= 200 && result.status < 300 ? 'accepted' : 'retryable_failure',
127
226
  error: `no ack (HTTP ${result.status})`,
128
227
  };
228
+ if (ack.kind === 'idempotent_replay' || ack.kind === 'duplicate_existing')
229
+ reused = ack;
230
+ this.recordMediaFallback(row, ack);
129
231
  await this.handleDeliveryAck(row, ack, payload);
130
232
  }
131
233
  this.database.outbox.markDone(row.id);
234
+ this.recordEvent(row, { event: 'outbox.delivered', countsAsAttempt: 0 });
235
+ if (reused) {
236
+ const remoteId = 'remoteId' in reused ? reused.remoteId : undefined;
237
+ this.recordEvent(row, {
238
+ event: 'delivery.duplicate',
239
+ errorClass: 'duplicate',
240
+ retryable: false,
241
+ countsAsAttempt: 0,
242
+ detail: { reason: reused.kind, remoteId },
243
+ });
244
+ }
132
245
  return 'done';
133
246
  }
134
247
  catch (error) {
135
- // Transport-level error (fetch threw): retryable.
136
- const message = error instanceof Error ? error.message : String(error);
248
+ // Transport-level error (fetch threw) or ack-classified failure: retryable.
249
+ const message = (0, redact_1.redactError)(error).slice(0, 1000);
250
+ const { errorClass } = (0, errorClass_1.classifyError)(error);
137
251
  const delay = backoffDelayMs(row.attempts + 1, this.retryBaseMs, this.retryMaxMs);
138
252
  const status = this.database.outbox.markRetry(row.id, Date.now() + delay, message);
139
253
  if (status === 'dead') {
140
254
  logger_1.logger.error('Outbox item dead after max attempts', { outboxId: row.id, kind: row.kind, error: message });
255
+ this.recordEvent(row, {
256
+ event: 'outbox.dead',
257
+ errorClass,
258
+ retryable: false,
259
+ countsAsAttempt: 1,
260
+ detail: { attempt: row.attempts + 1 },
261
+ });
141
262
  this.onDead?.(row, message);
142
263
  if (row.deliveryId) {
143
264
  this.database.deliveries.recordAck(row.deliveryId, { status: 'failed', error: message });
@@ -145,6 +266,13 @@ class OutboxWorker {
145
266
  }
146
267
  else {
147
268
  logger_1.logger.warn('Outbox item will retry', { outboxId: row.id, kind: row.kind, attempt: row.attempts + 1, delayMs: delay });
269
+ this.recordEvent(row, {
270
+ event: 'outbox.retry_scheduled',
271
+ errorClass,
272
+ retryable: true,
273
+ countsAsAttempt: 1,
274
+ detail: { attempt: row.attempts + 1, nextInMs: delay },
275
+ });
148
276
  }
149
277
  return status;
150
278
  }
@@ -183,7 +311,11 @@ class OutboxWorker {
183
311
  async cleanup(payload) {
184
312
  if (payload.deleteAfterDelivery === false)
185
313
  return;
186
- const files = [...(payload.files ?? []), ...(payload.cleanupFiles ?? [])];
314
+ const files = [
315
+ ...(payload.files ?? []),
316
+ ...(payload.previewFiles ?? []),
317
+ ...(payload.cleanupFiles ?? []),
318
+ ];
187
319
  await Promise.all([...new Set(files)].map((file) => (0, promises_1.unlink)(file).catch((error) => {
188
320
  if (error.code !== 'ENOENT')
189
321
  logger_1.logger.debug('cache cleanup failed', { file, error: error.message });
@@ -1 +1 @@
1
- {"version":3,"file":"OutboxWorker.js","sourceRoot":"","sources":["../../src/delivery/OutboxWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutboxWorker.js","sourceRoot":"","sources":["../../src/delivery/OutboxWorker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Tiny pure error classification for delivery attempts.
3
+ * Maps a thrown error / HTTP status to a stable audit category.
4
+ */
5
+ export type DeliveryErrorClass = 'dependency_not_ready' | 'network_timeout' | 'rate_limited' | 'remote_5xx' | 'remote_4xx' | 'invalid_payload' | 'telegram_send_failed' | 'duplicate' | 'internal_error';
6
+ export interface ErrorClassification {
7
+ errorClass: DeliveryErrorClass;
8
+ retryable: boolean;
9
+ }
10
+ /** Classify one failed delivery attempt from its thrown error and/or HTTP status. */
11
+ export declare function classifyError(error: unknown, status?: number): ErrorClassification;
12
+ //# sourceMappingURL=errorClass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorClass.d.ts","sourceRoot":"","sources":["../../src/delivery/errorClass.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,iBAAiB,GACjB,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,iBAAiB,GACjB,sBAAsB,GACtB,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAwBlF"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.classifyError = classifyError;
4
+ /** Classify one failed delivery attempt from its thrown error and/or HTTP status. */
5
+ function classifyError(error, status) {
6
+ const message = error instanceof Error ? error.message : String(error ?? '');
7
+ // Explicit HTTP status wins when present.
8
+ if (status === 429)
9
+ return { errorClass: 'rate_limited', retryable: true };
10
+ if (typeof status === 'number' && status >= 500)
11
+ return { errorClass: 'remote_5xx', retryable: true };
12
+ if (status === 409)
13
+ return { errorClass: 'duplicate', retryable: false };
14
+ if (typeof status === 'number' && status >= 400 && status < 500) {
15
+ return { errorClass: 'remote_4xx', retryable: false };
16
+ }
17
+ if (/timeout|timed out|abort|aborted/i.test(message) || error?.name === 'AbortError') {
18
+ return { errorClass: 'network_timeout', retryable: true };
19
+ }
20
+ if (/429|rate.?limit/i.test(message))
21
+ return { errorClass: 'rate_limited', retryable: true };
22
+ if (/duplicate|idempotent|replay|409/i.test(message))
23
+ return { errorClass: 'duplicate', retryable: false };
24
+ if (/invalid|validation|bad request|payload|http\s*4\d\d\b/i.test(message)) {
25
+ return { errorClass: 'invalid_payload', retryable: false };
26
+ }
27
+ if (/telegram/i.test(message))
28
+ return { errorClass: 'telegram_send_failed', retryable: false };
29
+ if (/not ready|refused|unavailable|connection|network|fetch|econn/i.test(message)) {
30
+ return { errorClass: 'network_timeout', retryable: true };
31
+ }
32
+ return { errorClass: 'internal_error', retryable: true };
33
+ }
34
+ //# sourceMappingURL=errorClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorClass.js","sourceRoot":"","sources":["../../src/delivery/errorClass.ts"],"names":[],"mappings":";;AAqBA,sCAwBC;AAzBD,qFAAqF;AACrF,SAAgB,aAAa,CAAC,KAAc,EAAE,MAAe;IAC3D,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAE7E,0CAA0C;IAC1C,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG;QAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACtG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,EAAE,CAAC;QAChE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAK,KAA2B,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;QAC5G,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC7F,IAAI,kCAAkC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC3G,IAAI,wDAAwD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC7D,CAAC;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC/F,IAAI,+DAA+D,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC3D,CAAC"}
@@ -9,6 +9,8 @@ export interface DownloadedArtifact {
9
9
  tags?: string[];
10
10
  /** Files sent to the configured delivery target. */
11
11
  files: string[];
12
+ /** Optional per-file lightweight preview sources, aligned with ``files``. */
13
+ previewFiles?: string[];
12
14
  /** Local sidecars deleted with cache files after successful delivery. */
13
15
  cleanupFiles?: string[];
14
16
  /** R-18 work (x_restrict > 0): delivery templates may open Telegram spoiler. */
@@ -72,6 +74,8 @@ export interface DeliveryContext {
72
74
  }
73
75
  export interface DeliveryRequest {
74
76
  files: string[];
77
+ /** Optional per-file preview sources, aligned with ``files``. */
78
+ previewFiles?: string[];
75
79
  fields?: Record<string, DeliveryFieldValue>;
76
80
  context: DeliveryContext;
77
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/delivery/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/delivery/types.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare class IllustrationDownloader {
19
19
  downloadIllustration(illust: PixivIllust, tag: string, options?: {
20
20
  aiMetadataCheck?: boolean;
21
21
  maxPageCount?: number;
22
+ includeDeliveryPreviews?: boolean;
22
23
  }): Promise<DownloadedArtifact | null>;
23
24
  /**
24
25
  * Download an ugoira (animation) work: fetch metadata, download the frame
@@ -1 +1 @@
1
- {"version":3,"file":"IllustrationDownloader.d.ts","sourceRoot":"","sources":["../../src/download/IllustrationDownloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAOpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAWvD;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAJX,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY,EACzB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,MAAM;IAGtC;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO,GACjE,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IA2NrC;;;;OAIG;YACW,cAAc;IAyG5B;;OAEG;YACW,6BAA6B;IAgC3C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAQzB"}
1
+ {"version":3,"file":"IllustrationDownloader.d.ts","sourceRoot":"","sources":["../../src/download/IllustrationDownloader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAmB,MAAM,sBAAsB,CAAC;AAOpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAWvD;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAJX,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,YAAY,EACzB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,MAAM;IAGtC;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;KAC9B,GACL,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAgPrC;;;;OAIG;YACW,cAAc;IAyG5B;;OAEG;YACW,6BAA6B;IAgC3C;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAQzB"}
@@ -127,6 +127,18 @@ class IllustrationDownloader {
127
127
  // Add timeout protection for image download (2 minutes per image)
128
128
  const buffer = await withTimeout(this.client.downloadImage(originalUrl), 120000, `Timeout: Failed to download image for illustration ${detail.id} page ${index + 1} within 120 seconds`);
129
129
  const filePath = await this.fileService.saveImage(buffer, fileName, metadata);
130
+ let previewPath;
131
+ const previewUrl = page.image_urls.large ?? page.image_urls.medium;
132
+ if (options.includeDeliveryPreviews && previewUrl && previewUrl !== originalUrl) {
133
+ try {
134
+ const preview = await withTimeout(this.client.downloadImage(previewUrl), 120000, `Timeout: Failed to download preview for illustration ${detail.id} page ${index + 1}`);
135
+ previewPath = `${filePath}.preview.jpg`;
136
+ await node_fs_1.promises.writeFile(previewPath, Buffer.from(preview));
137
+ }
138
+ catch (error) {
139
+ logger_1.logger.warn(`Preview unavailable for illustration ${detail.id} page ${index + 1}: ${(0, errors_1.getErrorMessage)(error)}`);
140
+ }
141
+ }
130
142
  // Release the page buffer promptly: ArrayBuffers are external memory,
131
143
  // NOT capped by --max-old-space-size. Without explicit GC they linger
132
144
  // and accumulate while downloading multi-page works, ballooning node
@@ -168,12 +180,13 @@ class IllustrationDownloader {
168
180
  // Log warning but don't fail the download if metadata save fails
169
181
  logger_1.logger.warn(`Failed to save metadata for illustration ${detail.id} page ${index + 1}: ${error instanceof Error ? error.message : String(error)}`);
170
182
  }
171
- return { filePath, index: index + 1, metadataPath };
183
+ return { filePath, index: index + 1, metadataPath, previewPath };
172
184
  }, concurrency);
173
185
  // Insert download records and log results
174
186
  let successCount = 0;
175
187
  const files = [];
176
188
  const cleanupFiles = [];
189
+ const previewFiles = [];
177
190
  for (const result of downloadResults) {
178
191
  if (result.success) {
179
192
  this.database.insertDownload({
@@ -196,6 +209,10 @@ class IllustrationDownloader {
196
209
  if (result.result.metadataPath) {
197
210
  cleanupFiles.push(result.result.metadataPath);
198
211
  }
212
+ if (result.result.previewPath) {
213
+ previewFiles.push(result.result.previewPath);
214
+ cleanupFiles.push(result.result.previewPath);
215
+ }
199
216
  }
200
217
  else {
201
218
  logger_1.logger.warn(`Failed to download page ${result.error.message}`, {
@@ -241,6 +258,7 @@ class IllustrationDownloader {
241
258
  title: detail.title,
242
259
  tags: tags.map((item) => item.name).filter(Boolean),
243
260
  files,
261
+ previewFiles: previewFiles.length === files.length ? previewFiles : undefined,
244
262
  cleanupFiles,
245
263
  spoiler: (detail.x_restrict ?? 0) > 0,
246
264
  xRestrict: detail.x_restrict,
@@ -1 +1 @@
1
- {"version":3,"file":"IllustrationDownloader.js","sourceRoot":"","sources":["../../src/download/IllustrationDownloader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IllustrationDownloader.js","sourceRoot":"","sources":["../../src/download/IllustrationDownloader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IllustrationTargetHandler.d.ts","sourceRoot":"","sources":["../../../src/download/handlers/IllustrationTargetHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,qBAAa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAVnC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAuB;gBAGpB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA,EAC3C,eAAe,CAAC,EAAE,eAAe,YAAA;IAG9C,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAmC1D,oFAAoF;IACpF,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,aAAa;YAgBP,kBAAkB;YAWlB,uBAAuB;YA2BvB,uBAAuB;IAoCrC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,QAAQ;YAMF,yBAAyB;YA4CzB,wBAAwB;IAwBtC,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,mBAAmB;YAmDb,wBAAwB;YAuBxB,uBAAuB;IAiCrC,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,QAAQ;YAmBF,kBAAkB;IAiBhC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,sBAAsB;CAY/B"}
1
+ {"version":3,"file":"IllustrationTargetHandler.d.ts","sourceRoot":"","sources":["../../../src/download/handlers/IllustrationTargetHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAKhE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,qBAAa,yBAAyB;IAKlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAVnC,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAuB;gBAGpB,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACnB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,sBAAsB,EAC9C,QAAQ,EAAE,gBAAgB,EAC1B,oBAAoB,CAAC,EAAE,oBAAoB,YAAA,EAC3C,eAAe,CAAC,EAAE,eAAe,YAAA;IAG9C,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAmC1D,oFAAoF;IACpF,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,aAAa;YAgBP,kBAAkB;YAWlB,uBAAuB;YA2BvB,uBAAuB;IAoCrC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,QAAQ;YAMF,yBAAyB;YA4CzB,wBAAwB;IAwBtC,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,mBAAmB;YAmDb,wBAAwB;YAuBxB,uBAAuB;IAiCrC,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,QAAQ;YAmBF,kBAAkB;IAoBhC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,sBAAsB;CAY/B"}
@@ -358,6 +358,7 @@ class IllustrationTargetHandler {
358
358
  const artifact = await this.illustrationDownloader.downloadIllustration(illust, tag, {
359
359
  aiMetadataCheck: target.aiMetadataCheck === true,
360
360
  maxPageCount: target.maxPageCount,
361
+ includeDeliveryPreviews: Boolean(target.storageMode === 'cache' && target.delivery?.target?.trim()),
361
362
  });
362
363
  if (!artifact)
363
364
  return;