pixivflow 2.16.1 → 2.17.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 (81) hide show
  1. package/dist/auth/PixivAuth.d.ts +12 -0
  2. package/dist/auth/PixivAuth.d.ts.map +1 -1
  3. package/dist/auth/PixivAuth.js +26 -0
  4. package/dist/auth/PixivAuth.js.map +1 -1
  5. package/dist/batch/executionResult.d.ts +85 -0
  6. package/dist/batch/executionResult.d.ts.map +1 -0
  7. package/dist/batch/executionResult.js +102 -0
  8. package/dist/batch/executionResult.js.map +1 -0
  9. package/dist/batch/runDiagnostics.d.ts +48 -0
  10. package/dist/batch/runDiagnostics.d.ts.map +1 -0
  11. package/dist/batch/runDiagnostics.js +103 -0
  12. package/dist/batch/runDiagnostics.js.map +1 -0
  13. package/dist/commands/Command.d.ts +5 -0
  14. package/dist/commands/Command.d.ts.map +1 -1
  15. package/dist/commands/Command.js +7 -0
  16. package/dist/commands/Command.js.map +1 -1
  17. package/dist/commands/ExecuteSlotCommand.d.ts +37 -0
  18. package/dist/commands/ExecuteSlotCommand.d.ts.map +1 -0
  19. package/dist/commands/ExecuteSlotCommand.js +267 -0
  20. package/dist/commands/ExecuteSlotCommand.js.map +1 -0
  21. package/dist/commands/index.d.ts +2 -1
  22. package/dist/commands/index.d.ts.map +1 -1
  23. package/dist/commands/index.js +4 -1
  24. package/dist/commands/index.js.map +1 -1
  25. package/dist/commands/scheduler-runtime.d.ts +37 -1
  26. package/dist/commands/scheduler-runtime.d.ts.map +1 -1
  27. package/dist/commands/scheduler-runtime.js +52 -19
  28. package/dist/commands/scheduler-runtime.js.map +1 -1
  29. package/dist/commands/types.d.ts +6 -0
  30. package/dist/commands/types.d.ts.map +1 -1
  31. package/dist/config/types.d.ts +33 -1
  32. package/dist/config/types.d.ts.map +1 -1
  33. package/dist/config/validation.d.ts +14 -1
  34. package/dist/config/validation.d.ts.map +1 -1
  35. package/dist/config/validation.js +109 -33
  36. package/dist/config/validation.js.map +1 -1
  37. package/dist/config.d.ts +1 -1
  38. package/dist/config.d.ts.map +1 -1
  39. package/dist/config.js.map +1 -1
  40. package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
  41. package/dist/delivery/DeliveryDispatcher.js +7 -0
  42. package/dist/delivery/DeliveryDispatcher.js.map +1 -1
  43. package/dist/delivery/HttpMultipartDelivery.d.ts +12 -0
  44. package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
  45. package/dist/delivery/HttpMultipartDelivery.js +89 -70
  46. package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
  47. package/dist/delivery/TelegramReviewDelivery.d.ts +49 -0
  48. package/dist/delivery/TelegramReviewDelivery.d.ts.map +1 -0
  49. package/dist/delivery/TelegramReviewDelivery.js +307 -0
  50. package/dist/delivery/TelegramReviewDelivery.js.map +1 -0
  51. package/dist/download/DownloadManager.d.ts +10 -0
  52. package/dist/download/DownloadManager.d.ts.map +1 -1
  53. package/dist/download/DownloadManager.js +21 -0
  54. package/dist/download/DownloadManager.js.map +1 -1
  55. package/dist/download/plan/DownloadPlanner.d.ts +10 -0
  56. package/dist/download/plan/DownloadPlanner.d.ts.map +1 -1
  57. package/dist/download/plan/DownloadPlanner.js +19 -0
  58. package/dist/download/plan/DownloadPlanner.js.map +1 -1
  59. package/dist/index.js +4 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/notification/NotificationPolicy.d.ts.map +1 -1
  62. package/dist/notification/NotificationPolicy.js +4 -1
  63. package/dist/notification/NotificationPolicy.js.map +1 -1
  64. package/dist/package.json +1 -1
  65. package/dist/pixiv-token-getter-adapter.d.ts +27 -7
  66. package/dist/pixiv-token-getter-adapter.d.ts.map +1 -1
  67. package/dist/pixiv-token-getter-adapter.js +44 -27
  68. package/dist/pixiv-token-getter-adapter.js.map +1 -1
  69. package/dist/utils/concurrency.d.ts.map +1 -1
  70. package/dist/utils/concurrency.js +9 -2
  71. package/dist/utils/concurrency.js.map +1 -1
  72. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  73. package/dist/utils/config-validator-unified.js +15 -1
  74. package/dist/utils/config-validator-unified.js.map +1 -1
  75. package/dist/utils/token-maintenance.d.ts +0 -4
  76. package/dist/utils/token-maintenance.d.ts.map +1 -1
  77. package/dist/utils/token-maintenance.js +5 -25
  78. package/dist/utils/token-maintenance.js.map +1 -1
  79. package/dist/version.js +1 -1
  80. package/dist/webui/package.json +1 -1
  81. package/package.json +2 -2
@@ -34,6 +34,8 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.HttpMultipartDelivery = exports.redactUrl = void 0;
37
+ exports.buildTemplateVariables = buildTemplateVariables;
38
+ exports.renderDeliveryTemplate = renderDeliveryTemplate;
37
39
  const fs = __importStar(require("node:fs"));
38
40
  const path = __importStar(require("node:path"));
39
41
  const node_crypto_1 = require("node:crypto");
@@ -228,78 +230,10 @@ class HttpMultipartDelivery {
228
230
  return Object.fromEntries(Object.entries(headers).map(([key, value]) => [key, this.interpolateEnvironment(value)]));
229
231
  }
230
232
  resolveFields(fields, request) {
231
- const xRestrict = request.context.xRestrict;
232
- const xRestrictLabel = (() => {
233
- if (xRestrict === undefined)
234
- return 'unknown';
235
- if (xRestrict === 0)
236
- return 'all-ages';
237
- if (xRestrict === 1)
238
- return 'R-18';
239
- if (xRestrict === 2)
240
- return 'R-18G';
241
- return `unknown(${xRestrict})`;
242
- })();
243
- const xRestrictTag = (() => {
244
- if (xRestrict === undefined)
245
- return '';
246
- if (xRestrict === 0)
247
- return 'AllAges';
248
- if (xRestrict === 1)
249
- return 'R18';
250
- if (xRestrict === 2)
251
- return 'R18G';
252
- return `XRestrict${xRestrict}`;
253
- })();
254
- const variables = {
255
- title: request.context.title,
256
- pixivId: request.context.pixivId,
257
- type: request.context.type,
258
- targetId: request.context.targetId ?? '',
259
- tag: request.context.tag ?? '',
260
- topic: request.context.topic ?? '',
261
- workTags: request.context.workTags?.join(',') ?? '',
262
- // Canonical Pixiv permalink; generated here so templates stay type-agnostic.
263
- link: request.context.type === 'novel'
264
- ? `https://www.pixiv.net/novel/show.php?id=${request.context.pixivId}`
265
- : `https://www.pixiv.net/artworks/${request.context.pixivId}`,
266
- // Non-empty topic-or-tag label for tags fields (topic targets have no tag).
267
- topicTag: request.context.topic || request.context.tag || '',
268
- // R-18 works are auto-spoilerized; templates can use {{spoiler}} instead
269
- // of hard-coding true.
270
- spoiler: request.context.spoiler === true ? 'true' : 'false',
271
- // Keep Pixiv's exact rating independent from the channel's mask policy.
272
- xRestrict: xRestrict === undefined ? '' : String(xRestrict),
273
- xRestrictLabel,
274
- xRestrictTag,
275
- // Ranking day (JST YYYY-MM-DD) — which day's hot works this is.
276
- rankingDate: request.context.rankingDate ?? '',
277
- // Pixiv publish date, YYYY-MM-DD (create_date is JST ISO).
278
- publishedDate: formatPublishedDate(request.context.publishedAt),
279
- // Detected language for novels ("Chinese (Mandarin) (cmn)"); empty for
280
- // illustrations or when detection was inconclusive.
281
- language: request.context.language ?? '',
282
- // Popularity signals. Compact localized form (e.g. 12.3k) when large,
283
- // empty string when the API response carried no count.
284
- bookmarkCount: formatCount(request.context.bookmarkCount),
285
- viewCount: formatCount(request.context.viewCount),
286
- // Schedule slot provenance (e.g. 2026-09-08 / morning / 2026-09-08:morning)
287
- // so the review card can show "今日早班 · bot1 · 小说" instead of a bare post.
288
- scheduleId: request.context.scheduleId ?? '',
289
- executionId: request.context.executionId ?? '',
290
- occurrenceAt: request.context.occurrenceAt ?? '',
291
- triggerSource: request.context.triggerSource ?? '',
292
- slotId: request.context.slotId ?? '',
293
- slotName: request.context.slotName ?? '',
294
- slotDate: request.context.slotDate ?? '',
295
- // The occurrence-scoped intent key. MUST be sent so an ACK-loss retry
296
- // (same key) converges remotely as idempotent_replay instead of being
297
- // mistaken for a historical duplicate or, worse, double-posting.
298
- idempotencyKey: request.context.idempotencyKey ?? '',
299
- };
233
+ const variables = buildTemplateVariables(request);
300
234
  return Object.fromEntries(Object.entries(fields).map(([name, value]) => {
301
235
  const values = Array.isArray(value) ? value : [value];
302
- const rendered = values.map((item) => String(item).replace(/\{\{(title|pixivId|type|targetId|tag|topic|workTags|link|topicTag|spoiler|xRestrict|xRestrictLabel|xRestrictTag|rankingDate|publishedDate|language|bookmarkCount|viewCount|scheduleId|executionId|occurrenceAt|triggerSource|slotId|slotName|slotDate|idempotencyKey)\}\}/g, (_, key) => variables[key]));
236
+ const rendered = values.map((item) => renderDeliveryTemplate(String(item), variables));
303
237
  switch (this.config.arrayFormat ?? 'comma') {
304
238
  case 'repeat':
305
239
  return [name, rendered];
@@ -380,4 +314,89 @@ class HttpMultipartDelivery {
380
314
  }
381
315
  }
382
316
  exports.HttpMultipartDelivery = HttpMultipartDelivery;
317
+ /**
318
+ * Template variables shared by every delivery provider.
319
+ *
320
+ * Exported so a provider that is not HTTP multipart — the Telegram review sender —
321
+ * renders the SAME vocabulary instead of owning a second, drifting copy of it.
322
+ */
323
+ function buildTemplateVariables(request) {
324
+ const c = request.context;
325
+ const xRestrict = c.xRestrict;
326
+ const xRestrictLabel = (() => {
327
+ if (xRestrict === undefined)
328
+ return 'unknown';
329
+ if (xRestrict === 0)
330
+ return 'all-ages';
331
+ if (xRestrict === 1)
332
+ return 'R-18';
333
+ if (xRestrict === 2)
334
+ return 'R-18G';
335
+ return `unknown(${xRestrict})`;
336
+ })();
337
+ const xRestrictTag = (() => {
338
+ if (xRestrict === undefined)
339
+ return '';
340
+ if (xRestrict === 0)
341
+ return 'AllAges';
342
+ if (xRestrict === 1)
343
+ return 'R18';
344
+ if (xRestrict === 2)
345
+ return 'R18G';
346
+ return `XRestrict${xRestrict}`;
347
+ })();
348
+ return {
349
+ title: c.title,
350
+ pixivId: c.pixivId,
351
+ type: c.type,
352
+ targetId: c.targetId ?? '',
353
+ tag: c.tag ?? '',
354
+ topic: c.topic ?? '',
355
+ workTags: c.workTags?.join(',') ?? '',
356
+ // Canonical Pixiv permalink; generated here so templates stay type-agnostic.
357
+ link: c.type === 'novel'
358
+ ? `https://www.pixiv.net/novel/show.php?id=${c.pixivId}`
359
+ : `https://www.pixiv.net/artworks/${c.pixivId}`,
360
+ // Non-empty topic-or-tag label for tags fields (topic targets have no tag).
361
+ topicTag: c.topic || c.tag || '',
362
+ // R-18 works are auto-spoilerized; templates can use {{spoiler}} instead of
363
+ // hard-coding true.
364
+ spoiler: c.spoiler === true ? 'true' : 'false',
365
+ // Keep Pixiv's exact rating independent from the channel's mask policy.
366
+ xRestrict: xRestrict === undefined ? '' : String(xRestrict),
367
+ xRestrictLabel,
368
+ xRestrictTag,
369
+ // Ranking day (JST YYYY-MM-DD) — which day's hot works this is.
370
+ rankingDate: c.rankingDate ?? '',
371
+ // Pixiv publish date, YYYY-MM-DD (create_date is JST ISO).
372
+ publishedDate: formatPublishedDate(c.publishedAt),
373
+ // Detected language for novels ("Chinese (Mandarin) (cmn)"); empty for
374
+ // illustrations or when detection was inconclusive.
375
+ language: c.language ?? '',
376
+ // Popularity signals. Compact localized form (e.g. 12.3k) when large, empty
377
+ // string when the API response carried no count.
378
+ bookmarkCount: formatCount(c.bookmarkCount),
379
+ viewCount: formatCount(c.viewCount),
380
+ // Schedule slot provenance (e.g. 2026-09-08 / morning / 2026-09-08:morning) so
381
+ // a review card can show "今日早班 · bot1 · 小说" instead of a bare post.
382
+ scheduleId: c.scheduleId ?? '',
383
+ executionId: c.executionId ?? '',
384
+ occurrenceAt: c.occurrenceAt ?? '',
385
+ triggerSource: c.triggerSource ?? '',
386
+ slotId: c.slotId ?? '',
387
+ slotName: c.slotName ?? '',
388
+ slotDate: c.slotDate ?? '',
389
+ // The occurrence-scoped intent key. MUST be sent so an ACK-loss retry (same
390
+ // key) converges remotely as idempotent_replay instead of being mistaken for
391
+ // a historical duplicate or, worse, double-posting.
392
+ idempotencyKey: c.idempotencyKey ?? '',
393
+ };
394
+ }
395
+ /**
396
+ * `{{name}}` substitution. Unknown placeholders are left literal rather than
397
+ * silently emptied, so a typo in a template is visible in the delivered message.
398
+ */
399
+ function renderDeliveryTemplate(template, variables) {
400
+ return template.replace(/\{\{(\w+)\}\}/g, (match, key) => variables[key] ?? match);
401
+ }
383
402
  //# sourceMappingURL=HttpMultipartDelivery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMultipartDelivery.js","sourceRoot":"","sources":["../../src/delivery/HttpMultipartDelivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpMultipartDelivery.js","sourceRoot":"","sources":["../../src/delivery/HttpMultipartDelivery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Telegram review delivery: the runner posts the work to the review group and
3
+ * records the review in the control plane.
4
+ *
5
+ * Why this provider exists at all: the old architecture relayed media through
6
+ * TelePost's HTTP API so a long-lived daemon could own the review. Here the media
7
+ * goes straight to Telegram (one upload, from the disposable runner) and the
8
+ * control plane only ever handles ids — an approve is a server-side
9
+ * `copyMessage`, so nothing re-uploads and a 128 MB Worker never touches bytes.
10
+ *
11
+ * The hard part is not the upload, it is not uploading TWICE:
12
+ *
13
+ * 1. before posting, ask the control plane whether this review already exists —
14
+ * a retry after a lost report must converge instead of posting a second copy;
15
+ * 2. if Telegram's answer is ambiguous (network failure), record the review as
16
+ * `uncertain` BEFORE returning, so the next attempt's pre-flight check finds
17
+ * it and stops. An unconfirmed send is never retried blindly;
18
+ * 3. a definitive rejection means nothing was posted, so the delivery is a
19
+ * visible failure rather than a silent duplicate.
20
+ */
21
+ import type { TelegramReviewDeliveryConfig } from '../config';
22
+ import type { DeliveryAck } from './DeliveryAck';
23
+ import type { DeliveryProvider, DeliveryRequest, DeliveryResult } from './types';
24
+ export declare class TelegramReviewDelivery implements DeliveryProvider {
25
+ private readonly config;
26
+ private readonly fetchImpl;
27
+ constructor(config: TelegramReviewDeliveryConfig, fetchImpl?: typeof fetch);
28
+ /**
29
+ * Deterministic review id: the same work in the same target can only ever have
30
+ * one review, no matter how many attempts run.
31
+ */
32
+ reviewId(request: DeliveryRequest): string;
33
+ deliver(request: DeliveryRequest): Promise<DeliveryResult>;
34
+ /** GET /control/reviews/<id>: does the control plane already know this review? */
35
+ private lookupReview;
36
+ private controlHeaders;
37
+ private trimmedControlPlane;
38
+ private reportReview;
39
+ /** Bot identity is deployment data; guessing it from a chat id would be wrong. */
40
+ private botId;
41
+ private caption;
42
+ private post;
43
+ private botApiBase;
44
+ }
45
+ /** Compile-time reminder that the ack union stays closed over these kinds. */
46
+ export type TelegramReviewAck = Extract<DeliveryAck, {
47
+ kind: 'accepted' | 'idempotent_replay' | 'retryable_failure' | 'permanent_failure';
48
+ }>;
49
+ //# sourceMappingURL=TelegramReviewDelivery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelegramReviewDelivery.d.ts","sourceRoot":"","sources":["../../src/delivery/TelegramReviewDelivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAuBjF,qBAAa,sBAAuB,YAAW,gBAAgB;IAE3D,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,MAAM,EAAE,4BAA4B,EACpC,SAAS,GAAE,OAAO,KAAoB;IAGzD;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;IAOpC,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAsEhE,kFAAkF;YACpE,YAAY;IAgB1B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,mBAAmB;YAIb,YAAY;IAwC1B,kFAAkF;IAClF,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,OAAO;YAKD,IAAI;IA8ElB,OAAO,CAAC,UAAU;CAGnB;AAgBD,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,WAAW,EACX;IAAE,IAAI,EAAE,UAAU,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;CAAE,CACvF,CAAC"}
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ /**
3
+ * Telegram review delivery: the runner posts the work to the review group and
4
+ * records the review in the control plane.
5
+ *
6
+ * Why this provider exists at all: the old architecture relayed media through
7
+ * TelePost's HTTP API so a long-lived daemon could own the review. Here the media
8
+ * goes straight to Telegram (one upload, from the disposable runner) and the
9
+ * control plane only ever handles ids — an approve is a server-side
10
+ * `copyMessage`, so nothing re-uploads and a 128 MB Worker never touches bytes.
11
+ *
12
+ * The hard part is not the upload, it is not uploading TWICE:
13
+ *
14
+ * 1. before posting, ask the control plane whether this review already exists —
15
+ * a retry after a lost report must converge instead of posting a second copy;
16
+ * 2. if Telegram's answer is ambiguous (network failure), record the review as
17
+ * `uncertain` BEFORE returning, so the next attempt's pre-flight check finds
18
+ * it and stops. An unconfirmed send is never retried blindly;
19
+ * 3. a definitive rejection means nothing was posted, so the delivery is a
20
+ * visible failure rather than a silent duplicate.
21
+ */
22
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ var desc = Object.getOwnPropertyDescriptor(m, k);
25
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
+ desc = { enumerable: true, get: function() { return m[k]; } };
27
+ }
28
+ Object.defineProperty(o, k2, desc);
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || (function () {
39
+ var ownKeys = function(o) {
40
+ ownKeys = Object.getOwnPropertyNames || function (o) {
41
+ var ar = [];
42
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
43
+ return ar;
44
+ };
45
+ return ownKeys(o);
46
+ };
47
+ return function (mod) {
48
+ if (mod && mod.__esModule) return mod;
49
+ var result = {};
50
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
51
+ __setModuleDefault(result, mod);
52
+ return result;
53
+ };
54
+ })();
55
+ Object.defineProperty(exports, "__esModule", { value: true });
56
+ exports.TelegramReviewDelivery = void 0;
57
+ const node_crypto_1 = require("node:crypto");
58
+ const logger_1 = require("../logger");
59
+ const HttpMultipartDelivery_1 = require("./HttpMultipartDelivery");
60
+ /**
61
+ * Wrapper, not a stored reference: Cloudflare rejects a detached `fetch`, and a
62
+ * stored `this.fetchImpl` reproduces exactly that failure. Injected in tests.
63
+ */
64
+ const defaultFetch = (input, init) => globalThis.fetch(input, init);
65
+ class TelegramReviewDelivery {
66
+ config;
67
+ fetchImpl;
68
+ constructor(config, fetchImpl = defaultFetch) {
69
+ this.config = config;
70
+ this.fetchImpl = fetchImpl;
71
+ }
72
+ /**
73
+ * Deterministic review id: the same work in the same target can only ever have
74
+ * one review, no matter how many attempts run.
75
+ */
76
+ reviewId(request) {
77
+ const prefix = this.config.reviewIdPrefix ?? 'rv';
78
+ const identity = `${request.context.targetId ?? ''}|${request.context.type}|${request.context.pixivId}`;
79
+ const digest = (0, node_crypto_1.createHash)('sha1').update(identity).digest('hex').slice(0, 16);
80
+ return `${prefix}_${digest}`;
81
+ }
82
+ async deliver(request) {
83
+ const reviewId = this.reviewId(request);
84
+ // 1. Pre-flight. A review that already exists means a previous attempt's post
85
+ // landed (only its report was lost): converge, never post again.
86
+ const existing = await this.lookupReview(reviewId);
87
+ if (existing === 'found') {
88
+ logger_1.logger.info('[TelegramReview] review already recorded; not posting again', { reviewId });
89
+ return { ack: { kind: 'idempotent_replay', remoteId: reviewId, remoteStatus: 'review_exists' } };
90
+ }
91
+ if (existing === 'unreachable') {
92
+ // We cannot verify, so we must not post: an unrecorded post could never be
93
+ // approved and a retry would duplicate it.
94
+ return {
95
+ ack: {
96
+ kind: 'retryable_failure',
97
+ error: 'control plane unreachable before posting; postponing to avoid an unrecorded duplicate',
98
+ },
99
+ };
100
+ }
101
+ // 2. Post the media with the review keyboard.
102
+ const posted = await this.post(request, reviewId);
103
+ if (!posted.ok) {
104
+ if (posted.ambiguous) {
105
+ await this.reportReview(reviewId, request, {
106
+ status: 'uncertain',
107
+ error: `Telegram send outcome unconfirmed: ${posted.error}`,
108
+ });
109
+ return {
110
+ ack: {
111
+ kind: 'retryable_failure',
112
+ error: `Telegram send outcome unconfirmed; a retry will converge via the pre-flight check (${posted.error})`,
113
+ },
114
+ };
115
+ }
116
+ return { ack: { kind: 'permanent_failure', error: posted.error } };
117
+ }
118
+ // 3. Record the review (idempotent by review id).
119
+ const reported = await this.reportReview(reviewId, request, {
120
+ status: 'pending',
121
+ messages: posted.messages,
122
+ ...(posted.mediaGroupId ? { mediaGroupId: posted.mediaGroupId } : {}),
123
+ });
124
+ if (!reported) {
125
+ // The media IS in the review chat but the control plane does not know it.
126
+ // Record it as uncertain so a retry converges instead of posting a copy.
127
+ await this.reportReview(reviewId, request, {
128
+ status: 'uncertain',
129
+ error: 'media posted but the review could not be recorded',
130
+ });
131
+ return {
132
+ ack: {
133
+ kind: 'retryable_failure',
134
+ error: 'media posted but the review was not recorded; recorded as uncertain to prevent a duplicate post',
135
+ },
136
+ };
137
+ }
138
+ return {
139
+ ack: {
140
+ kind: 'accepted',
141
+ remoteId: reviewId,
142
+ remoteStatus: 'in_review',
143
+ raw: { messages: posted.messages.length },
144
+ },
145
+ };
146
+ }
147
+ /** GET /control/reviews/<id>: does the control plane already know this review? */
148
+ async lookupReview(reviewId) {
149
+ try {
150
+ const response = await this.fetchImpl(`${this.trimmedControlPlane()}/reviews/${encodeURIComponent(reviewId)}`, { method: 'GET', headers: this.controlHeaders() });
151
+ if (response.status === 200)
152
+ return 'found';
153
+ if (response.status === 404)
154
+ return 'missing';
155
+ // 401/5xx: treat as unknown rather than "missing" — posting on a maybe is
156
+ // how duplicates happen.
157
+ return 'unreachable';
158
+ }
159
+ catch {
160
+ return 'unreachable';
161
+ }
162
+ }
163
+ controlHeaders() {
164
+ return {
165
+ authorization: `Bearer ${this.config.controlPlaneToken}`,
166
+ 'content-type': 'application/json',
167
+ };
168
+ }
169
+ trimmedControlPlane() {
170
+ return this.config.controlPlaneUrl.replace(/\/+$/, '');
171
+ }
172
+ async reportReview(reviewId, request, input) {
173
+ const body = {
174
+ review_id: reviewId,
175
+ bot_id: this.botId(),
176
+ chat_id: this.config.chatId,
177
+ publish_chat_id: this.config.publishChatId,
178
+ ...(this.config.publishThreadId !== undefined ? { publish_thread_id: this.config.publishThreadId } : {}),
179
+ slot_id: request.context.slotId ?? null,
180
+ target_id: request.context.targetId ?? null,
181
+ work_id: request.context.pixivId,
182
+ caption: this.caption(request),
183
+ status: input.status,
184
+ };
185
+ if (input.status === 'pending') {
186
+ body.message_id = input.messages[0]?.messageId ?? null;
187
+ body.message_ids = input.messages.map((message) => message.messageId);
188
+ body.file_ids = input.messages.map((message) => message.fileId).filter(Boolean);
189
+ if (input.mediaGroupId)
190
+ body.media_group_id = input.mediaGroupId;
191
+ }
192
+ else {
193
+ body.error = input.error;
194
+ }
195
+ try {
196
+ const response = await this.fetchImpl(`${this.trimmedControlPlane()}/reviews`, {
197
+ method: 'POST',
198
+ headers: this.controlHeaders(),
199
+ body: JSON.stringify(body),
200
+ });
201
+ return response.ok;
202
+ }
203
+ catch {
204
+ return false;
205
+ }
206
+ }
207
+ /** Bot identity is deployment data; guessing it from a chat id would be wrong. */
208
+ botId() {
209
+ return this.config.botId;
210
+ }
211
+ caption(request) {
212
+ if (!this.config.caption)
213
+ return request.context.title;
214
+ return (0, HttpMultipartDelivery_1.renderDeliveryTemplate)(this.config.caption, (0, HttpMultipartDelivery_1.buildTemplateVariables)(request));
215
+ }
216
+ async post(request, reviewId) {
217
+ const keyboard = {
218
+ inline_keyboard: [
219
+ [
220
+ { text: '✅ 发布', callback_data: `review:${reviewId}:approve` },
221
+ { text: '❌ 拒绝', callback_data: `review:${reviewId}:reject` },
222
+ ],
223
+ ],
224
+ };
225
+ const album = (this.config.album ?? true) && request.files.length > 1;
226
+ const form = new FormData();
227
+ form.append('chat_id', this.config.chatId);
228
+ if (this.config.publishThreadId !== undefined) {
229
+ form.append('message_thread_id', String(this.config.publishThreadId));
230
+ }
231
+ form.append('reply_markup', JSON.stringify(keyboard));
232
+ if (album) {
233
+ const media = [];
234
+ for (const [index, file] of request.files.entries()) {
235
+ const buffer = await Promise.resolve().then(() => __importStar(require('node:fs/promises'))).then((fs) => fs.readFile(file));
236
+ form.append(`file${index}`, new Blob([new Uint8Array(buffer)]), `media${index}`);
237
+ media.push({ type: 'photo', media: `attach://file${index}` });
238
+ }
239
+ form.append('media', JSON.stringify(media));
240
+ }
241
+ else {
242
+ const file = request.files[0];
243
+ if (!file)
244
+ return { ok: false, ambiguous: false, error: 'no files to deliver' };
245
+ const buffer = await Promise.resolve().then(() => __importStar(require('node:fs/promises'))).then((fs) => fs.readFile(file));
246
+ form.append(request.context.type === 'novel' ? 'document' : 'photo', new Blob([new Uint8Array(buffer)]), 'media');
247
+ form.append('caption', this.caption(request).slice(0, 1024));
248
+ }
249
+ const method = album ? 'sendMediaGroup' : request.context.type === 'novel' ? 'sendDocument' : 'sendPhoto';
250
+ let response;
251
+ try {
252
+ response = await this.fetchImpl(`${this.botApiBase()}/bot${this.config.botToken}/${method}`, {
253
+ method: 'POST',
254
+ body: form,
255
+ });
256
+ }
257
+ catch (error) {
258
+ return {
259
+ ok: false,
260
+ ambiguous: true,
261
+ error: error instanceof Error ? error.message : String(error),
262
+ };
263
+ }
264
+ let envelope = {};
265
+ try {
266
+ envelope = (await response.json());
267
+ }
268
+ catch {
269
+ envelope = {};
270
+ }
271
+ if (!response.ok || envelope.ok === false) {
272
+ return {
273
+ ok: false,
274
+ ambiguous: false,
275
+ error: envelope.description ?? `Telegram HTTP ${response.status}`,
276
+ };
277
+ }
278
+ const messages = extractMessages(envelope.result);
279
+ if (messages.length === 0) {
280
+ // A 200 without message ids means we cannot point the review at anything.
281
+ return { ok: false, ambiguous: true, error: 'Telegram accepted the send but returned no message id' };
282
+ }
283
+ const mediaGroupId = Array.isArray(envelope.result)
284
+ ? envelope.result[0]?.media_group_id
285
+ : envelope.result?.media_group_id;
286
+ return { ok: true, messages, ...(mediaGroupId ? { mediaGroupId } : {}) };
287
+ }
288
+ botApiBase() {
289
+ return process.env.TELEGRAM_API_BASE ?? 'https://api.telegram.org';
290
+ }
291
+ }
292
+ exports.TelegramReviewDelivery = TelegramReviewDelivery;
293
+ function extractMessages(result) {
294
+ const items = Array.isArray(result) ? result : result ? [result] : [];
295
+ const messages = [];
296
+ for (const item of items) {
297
+ const message = item;
298
+ if (typeof message.message_id !== 'number')
299
+ continue;
300
+ // The largest photo size carries the file id we would reuse later.
301
+ const photo = Array.isArray(message.photo) ? message.photo[message.photo.length - 1] : undefined;
302
+ const fileId = photo?.file_id ?? message.document?.file_id;
303
+ messages.push({ messageId: message.message_id, ...(fileId ? { fileId } : {}) });
304
+ }
305
+ return messages;
306
+ }
307
+ //# sourceMappingURL=TelegramReviewDelivery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TelegramReviewDelivery.js","sourceRoot":"","sources":["../../src/delivery/TelegramReviewDelivery.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,16 @@ export declare class DownloadManager implements IDownloadManager {
46
46
  private readonly deliveryService;
47
47
  /** Per-target TYPED outcome hook (the Slot ledger maps it to cell transitions). */
48
48
  private onTargetOutcome;
49
+ /**
50
+ * Works this bot already handled, according to durable history outside this
51
+ * process (empty for a normal local run, populated by a batch runner).
52
+ */
53
+ private processedWorkIds;
54
+ /** Supply durable duplicate history before the run starts. */
55
+ setProcessedWorkIds(ids: {
56
+ illustration?: string[];
57
+ novel?: string[];
58
+ }): void;
49
59
  /** Register a callback fired after each target with its explicit business outcome. */
50
60
  setTargetOutcomeHook(fn: (target: TargetConfig, outcome: TargetOutcome) => void): void;
51
61
  /** Expose delivery service for handlers (preflight + intent creation). */
@@ -1 +1 @@
1
- {"version":3,"file":"DownloadManager.d.ts","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAyDpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IA3D9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,mFAAmF;IACnF,OAAO,CAAC,eAAe,CAAyE;IAEhG,sFAAsF;IAC/E,oBAAoB,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI7F,0EAA0E;IAC1E,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,iFAAiF;IAC1E,WAAW,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;OAIG;IACI,MAAM,CAAC,MAAM,GAAE,MAAoB,GAAG,IAAI;IAQ1C,WAAW,IAAI,OAAO;gBAKV,MAAM,EAAE,gBAAgB,EACzC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACF,WAAW,EAAE,YAAY;IAoF5C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlF,UAAU;IAIV,aAAa;YAyDZ,cAAc;IAY5B,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"DownloadManager.d.ts","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IAsEpD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAxE9B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA4B;IAChE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAGlD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;IACnD,mFAAmF;IACnF,OAAO,CAAC,eAAe,CAAyE;IAChG;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAA2D;IAEnF,8DAA8D;IACvD,mBAAmB,CAAC,GAAG,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAOpF,sFAAsF;IAC/E,oBAAoB,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAI7F,0EAA0E;IAC1E,IAAW,UAAU,IAAI,eAAe,CAEvC;IAED,iFAAiF;IAC1E,WAAW,CAAC,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF;;;;OAIG;IACI,MAAM,CAAC,MAAM,GAAE,MAAoB,GAAG,IAAI;IAQ1C,WAAW,IAAI,OAAO;gBAKV,MAAM,EAAE,gBAAgB,EACzC,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,SAAS,EACF,WAAW,EAAE,YAAY;IA4F5C,mBAAmB,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIlF,UAAU;IAIV,aAAa;YAyDZ,cAAc;IAY5B,OAAO,CAAC,cAAc;CAIvB"}