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.
- package/dist/auth/PixivAuth.d.ts +12 -0
- package/dist/auth/PixivAuth.d.ts.map +1 -1
- package/dist/auth/PixivAuth.js +26 -0
- package/dist/auth/PixivAuth.js.map +1 -1
- package/dist/batch/executionResult.d.ts +85 -0
- package/dist/batch/executionResult.d.ts.map +1 -0
- package/dist/batch/executionResult.js +102 -0
- package/dist/batch/executionResult.js.map +1 -0
- package/dist/batch/runDiagnostics.d.ts +48 -0
- package/dist/batch/runDiagnostics.d.ts.map +1 -0
- package/dist/batch/runDiagnostics.js +103 -0
- package/dist/batch/runDiagnostics.js.map +1 -0
- package/dist/commands/Command.d.ts +5 -0
- package/dist/commands/Command.d.ts.map +1 -1
- package/dist/commands/Command.js +7 -0
- package/dist/commands/Command.js.map +1 -1
- package/dist/commands/ExecuteSlotCommand.d.ts +37 -0
- package/dist/commands/ExecuteSlotCommand.d.ts.map +1 -0
- package/dist/commands/ExecuteSlotCommand.js +267 -0
- package/dist/commands/ExecuteSlotCommand.js.map +1 -0
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/scheduler-runtime.d.ts +37 -1
- package/dist/commands/scheduler-runtime.d.ts.map +1 -1
- package/dist/commands/scheduler-runtime.js +52 -19
- package/dist/commands/scheduler-runtime.js.map +1 -1
- package/dist/commands/types.d.ts +6 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/config/types.d.ts +33 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/validation.d.ts +14 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +109 -33
- package/dist/config/validation.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
- package/dist/delivery/DeliveryDispatcher.js +7 -0
- package/dist/delivery/DeliveryDispatcher.js.map +1 -1
- package/dist/delivery/HttpMultipartDelivery.d.ts +12 -0
- package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
- package/dist/delivery/HttpMultipartDelivery.js +89 -70
- package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
- package/dist/delivery/TelegramReviewDelivery.d.ts +49 -0
- package/dist/delivery/TelegramReviewDelivery.d.ts.map +1 -0
- package/dist/delivery/TelegramReviewDelivery.js +307 -0
- package/dist/delivery/TelegramReviewDelivery.js.map +1 -0
- package/dist/download/DownloadManager.d.ts +10 -0
- package/dist/download/DownloadManager.d.ts.map +1 -1
- package/dist/download/DownloadManager.js +21 -0
- package/dist/download/DownloadManager.js.map +1 -1
- package/dist/download/plan/DownloadPlanner.d.ts +10 -0
- package/dist/download/plan/DownloadPlanner.d.ts.map +1 -1
- package/dist/download/plan/DownloadPlanner.js +19 -0
- package/dist/download/plan/DownloadPlanner.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/notification/NotificationPolicy.d.ts.map +1 -1
- package/dist/notification/NotificationPolicy.js +4 -1
- package/dist/notification/NotificationPolicy.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/pixiv-token-getter-adapter.d.ts +27 -7
- package/dist/pixiv-token-getter-adapter.d.ts.map +1 -1
- package/dist/pixiv-token-getter-adapter.js +44 -27
- package/dist/pixiv-token-getter-adapter.js.map +1 -1
- package/dist/utils/concurrency.d.ts.map +1 -1
- package/dist/utils/concurrency.js +9 -2
- package/dist/utils/concurrency.js.map +1 -1
- package/dist/utils/config-validator-unified.d.ts.map +1 -1
- package/dist/utils/config-validator-unified.js +15 -1
- package/dist/utils/config-validator-unified.js.map +1 -1
- package/dist/utils/token-maintenance.d.ts +0 -4
- package/dist/utils/token-maintenance.d.ts.map +1 -1
- package/dist/utils/token-maintenance.js +5 -25
- package/dist/utils/token-maintenance.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/webui/package.json +1 -1
- package/package.json +2 -2
|
@@ -57,6 +57,18 @@ class DownloadManager {
|
|
|
57
57
|
deliveryService;
|
|
58
58
|
/** Per-target TYPED outcome hook (the Slot ledger maps it to cell transitions). */
|
|
59
59
|
onTargetOutcome = null;
|
|
60
|
+
/**
|
|
61
|
+
* Works this bot already handled, according to durable history outside this
|
|
62
|
+
* process (empty for a normal local run, populated by a batch runner).
|
|
63
|
+
*/
|
|
64
|
+
processedWorkIds = {};
|
|
65
|
+
/** Supply durable duplicate history before the run starts. */
|
|
66
|
+
setProcessedWorkIds(ids) {
|
|
67
|
+
this.processedWorkIds = {
|
|
68
|
+
...(ids.illustration ? { illustration: new Set(ids.illustration) } : {}),
|
|
69
|
+
...(ids.novel ? { novel: new Set(ids.novel) } : {}),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
60
72
|
/** Register a callback fired after each target with its explicit business outcome. */
|
|
61
73
|
setTargetOutcomeHook(fn) {
|
|
62
74
|
this.onTargetOutcome = fn;
|
|
@@ -93,6 +105,15 @@ class DownloadManager {
|
|
|
93
105
|
this.novelDownloader = new NovelDownloader_1.NovelDownloader(client, database, fileService, database);
|
|
94
106
|
this.planner = new DownloadPlanner_1.DownloadPlanner(database, {
|
|
95
107
|
deliveredIds: (target, type, ids) => this.deliveryService.deliveredIds(target, type, ids),
|
|
108
|
+
// Durable duplicate history handed in by the caller (the batch runner asks
|
|
109
|
+
// the control plane for it). Independent of any local delivery target, so it
|
|
110
|
+
// also works for a shadow run that delivers nowhere.
|
|
111
|
+
processedIds: (type, ids) => {
|
|
112
|
+
const known = this.processedWorkIds[type];
|
|
113
|
+
if (!known || known.size === 0)
|
|
114
|
+
return new Set();
|
|
115
|
+
return new Set(ids.filter((id) => known.has(id)));
|
|
116
|
+
},
|
|
96
117
|
});
|
|
97
118
|
this.executor = new DownloadExecutor_1.DownloadExecutor();
|
|
98
119
|
const downloadConfig = config.download ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadManager.js","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":";;;AACA,sCAAmC;AAKnC,qDAAkD;AAClD,qEAAkE;AAClE,uDAAoD;AACpD,gEAA6D;AAC7D,4DAAyD;AACzD,8DAA2D;AAC3D,4DAAuF;AACvF,kEAA+D;AAC/D,4CAA0D;AAC1D,iEAA8D;AAE9D,oFAAiF;AACjF,sEAAmE;AACnE,sEAA0E;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"DownloadManager.js","sourceRoot":"","sources":["../../src/download/DownloadManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,16 @@ export interface PlannedDownload<T extends DownloadItem> {
|
|
|
21
21
|
export interface DeliveryDedupeSource {
|
|
22
22
|
/** Returns the subset of ids already CONFIRMED delivered to this target. */
|
|
23
23
|
deliveredIds?(deliveryTarget: string, workType: 'illustration' | 'novel', ids: string[]): Set<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Works this bot has already handled ANYWHERE — durable history owned by a
|
|
26
|
+
* control plane, supplied by the caller.
|
|
27
|
+
*
|
|
28
|
+
* This is what makes a disposable runner safe: its local database starts empty,
|
|
29
|
+
* so without external history it re-selects works that were delivered weeks ago
|
|
30
|
+
* and the run silently produces nothing new. Unlike `deliveredIds` it does not
|
|
31
|
+
* depend on a local delivery target existing.
|
|
32
|
+
*/
|
|
33
|
+
processedIds?(workType: 'illustration' | 'novel', ids: string[]): Set<string>;
|
|
24
34
|
}
|
|
25
35
|
export declare class DownloadPlanner {
|
|
26
36
|
private readonly database;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadPlanner.d.ts","sourceRoot":"","sources":["../../../src/download/plan/DownloadPlanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAQpD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY;IACrD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,YAAY,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DownloadPlanner.d.ts","sourceRoot":"","sources":["../../../src/download/plan/DownloadPlanner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAItE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAQpD,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY;IACrD,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE;QACP,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4EAA4E;IAC5E,YAAY,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACtG;;;;;;;;OAQG;IACH,YAAY,CAAC,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CAC/E;AAED,qBAAa,eAAe;IAExB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;gBADf,QAAQ,EAAE,SAAS,EACnB,cAAc,CAAC,EAAE,oBAAoB,YAAA;IAGxD,aAAa,CAAC,CAAC,SAAS,YAAY,EAClC,KAAK,EAAE,CAAC,EAAE,EACV,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,cAAc,GAAG,OAAO,GACjC,eAAe,CAAC,CAAC,CAAC;IAoGrB,OAAO,CAAC,WAAW;IAwEnB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,OAAO;CAQhB"}
|
|
@@ -42,6 +42,25 @@ class DownloadPlanner {
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
// DURABLE duplicate history (independent of any local delivery target): a
|
|
46
|
+
// disposable runner must not re-select work this bot already handled.
|
|
47
|
+
const processedSource = this.deliveryDedupe?.processedIds;
|
|
48
|
+
if (processedSource && available.length > 0) {
|
|
49
|
+
try {
|
|
50
|
+
const processed = processedSource(itemType, available.map((item) => String(item.id)));
|
|
51
|
+
const before = available.length;
|
|
52
|
+
available = available.filter((item) => !processed.has(String(item.id)));
|
|
53
|
+
const skipped = before - available.length;
|
|
54
|
+
if (skipped > 0) {
|
|
55
|
+
logger_1.logger.info(`Durable history skipped ${skipped} already-processed ${itemType}(s)`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
logger_1.logger.warn('Durable duplicate history lookup failed; continuing', {
|
|
60
|
+
error: error instanceof Error ? error.message : String(error),
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
45
64
|
const limit = target.limit && target.limit > 0 ? target.limit : 10;
|
|
46
65
|
if (target.random) {
|
|
47
66
|
const shuffled = this.shuffle(available);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DownloadPlanner.js","sourceRoot":"","sources":["../../../src/download/plan/DownloadPlanner.ts"],"names":[],"mappings":";;;AAEA,uDAAuE;AACvE,2DAA4D;AAC5D,yCAAsC;
|
|
1
|
+
{"version":3,"file":"DownloadPlanner.js","sourceRoot":"","sources":["../../../src/download/plan/DownloadPlanner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -68,14 +68,16 @@ async function executeCommand(registry, commandName, context, args) {
|
|
|
68
68
|
const result = await command.execute(context, args);
|
|
69
69
|
if (!result.success) {
|
|
70
70
|
logger_1.logger.error('Command execution failed', { command: commandName, error: result.error });
|
|
71
|
-
process
|
|
71
|
+
// A batch command distinguishes "nothing succeeded" from "the process could
|
|
72
|
+
// not run at all"; honour the explicit code when it provides one.
|
|
73
|
+
process.exit(result.exitCode ?? 1);
|
|
72
74
|
}
|
|
73
75
|
// Decide exit behavior based on command metadata (long running)
|
|
74
76
|
const isLongRunning = typeof command.getMetadata === 'function'
|
|
75
77
|
? command.getMetadata().longRunning === true
|
|
76
78
|
: false;
|
|
77
79
|
if (!isLongRunning) {
|
|
78
|
-
process.exit(0);
|
|
80
|
+
process.exit(result.exitCode ?? 0);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
catch (error) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationPolicy.d.ts","sourceRoot":"","sources":["../../src/notification/NotificationPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,gBAAgB;IAG3C,OAAO,CAAC,UAAU;IAIlB,2EAA2E;IAC3E,MAAM,CAAC,IAAI;0BACS,MAAM,YAAY,MAAM;2BACvB,MAAM,YAAY,MAAM;0BACzB,MAAM;uBACT,MAAM,YAAY,MAAM;MACvC;IAEF,WAAW,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,GACrB,IAAI;IAyBP,yFAAyF;IACzF,eAAe,CACb,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,GAC9H,IAAI;
|
|
1
|
+
{"version":3,"file":"NotificationPolicy.d.ts","sourceRoot":"","sources":["../../src/notification/NotificationPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,gBAAgB;IAG3C,OAAO,CAAC,UAAU;IAIlB,2EAA2E;IAC3E,MAAM,CAAC,IAAI;0BACS,MAAM,YAAY,MAAM;2BACvB,MAAM,YAAY,MAAM;0BACzB,MAAM;uBACT,MAAM,YAAY,MAAM;MACvC;IAEF,WAAW,CACT,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,aAAa,GACrB,IAAI;IAyBP,yFAAyF;IACzF,eAAe,CACb,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,GAC9H,IAAI;IAgCP,OAAO,CAAC,IAAI;CASb"}
|
|
@@ -54,7 +54,10 @@ class NotificationPolicy {
|
|
|
54
54
|
/** One consolidated summary per slot, delivered to every notifying target's endpoint. */
|
|
55
55
|
sendSlotSummary(slot, schedule, rows) {
|
|
56
56
|
const targets = this.config.delivery?.targets ?? {};
|
|
57
|
-
const notifiable = new Set(Object.keys(targets).filter((n) =>
|
|
57
|
+
const notifiable = new Set(Object.keys(targets).filter((n) => {
|
|
58
|
+
const target = targets[n];
|
|
59
|
+
return target?.type === 'httpMultipart' && Boolean(target.notificationUrl?.trim());
|
|
60
|
+
}));
|
|
58
61
|
if (notifiable.size === 0 || rows.length === 0)
|
|
59
62
|
return;
|
|
60
63
|
const icon = (s) => s === 'submitted' ? '✅' : s === 'no_candidate' ? '⚠️' : s === 'duplicate' ? '♱' : s === 'delivery_pending' ? '🕓' : '❌';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotificationPolicy.js","sourceRoot":"","sources":["../../src/notification/NotificationPolicy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NotificationPolicy.js","sourceRoot":"","sources":["../../src/notification/NotificationPolicy.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pixiv Token Getter Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Thin delegation layer over the `pixiv-token-getter` credential manager.
|
|
5
|
+
*
|
|
6
|
+
* The library owns everything credential-related: the PKCE browser login, the
|
|
7
|
+
* credential (e2e) login, refresh handling, proxy routing and the persistent
|
|
8
|
+
* per-profile token store. This module only:
|
|
9
|
+
* - decides which login method to ask for, and
|
|
10
|
+
* - maps the returned `TokenInfo` onto the project's `LoginInfo` shape.
|
|
6
11
|
*
|
|
7
12
|
* Library: https://github.com/redtidev1918/pixiv-token-getter
|
|
8
13
|
*/
|
|
9
14
|
import { LoginInfo } from './terminal-login';
|
|
10
|
-
import { ProxyConfig } from './puppeteer-login-adapter';
|
|
15
|
+
import { ProxyConfig } from './puppeteer-login-adapter/proxy';
|
|
16
|
+
/**
|
|
17
|
+
* Options shared by the interactive and headless login helpers.
|
|
18
|
+
*/
|
|
19
|
+
export interface PixivTokenGetterLoginOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Force a fresh login even when a valid credential is already stored.
|
|
22
|
+
*
|
|
23
|
+
* Defaults to `true`: these helpers are used as the *login* step, so they keep
|
|
24
|
+
* the historical "a login command always logs in" contract. Pass `false` to
|
|
25
|
+
* let the library reuse a cached credential or refresh it instead.
|
|
26
|
+
*/
|
|
27
|
+
force?: boolean;
|
|
28
|
+
/** Login timeout in milliseconds. */
|
|
29
|
+
timeout?: number;
|
|
30
|
+
}
|
|
11
31
|
/**
|
|
12
32
|
* Check if pixiv-token-getter is available
|
|
13
33
|
*/
|
|
@@ -16,13 +36,13 @@ export declare function checkPixivTokenGetterAvailable(): Promise<boolean>;
|
|
|
16
36
|
* Login using pixiv-token-getter (interactive mode)
|
|
17
37
|
* Opens a browser window for user to manually log in
|
|
18
38
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
39
|
+
* Proxy is routed through the library, which applies it to both the browser and
|
|
40
|
+
* the token exchange.
|
|
21
41
|
*/
|
|
22
|
-
export declare function loginWithPixivTokenGetterInteractive(proxy?: ProxyConfig): Promise<LoginInfo | null>;
|
|
42
|
+
export declare function loginWithPixivTokenGetterInteractive(proxy?: ProxyConfig, options?: PixivTokenGetterLoginOptions): Promise<LoginInfo | null>;
|
|
23
43
|
/**
|
|
24
44
|
* Login using pixiv-token-getter (headless mode)
|
|
25
45
|
* Runs browser in background without visible window
|
|
26
46
|
*/
|
|
27
|
-
export declare function loginWithPixivTokenGetterHeadless(username: string, password: string, proxy?: ProxyConfig): Promise<LoginInfo | null>;
|
|
47
|
+
export declare function loginWithPixivTokenGetterHeadless(username: string, password: string, proxy?: ProxyConfig, options?: PixivTokenGetterLoginOptions): Promise<LoginInfo | null>;
|
|
28
48
|
//# sourceMappingURL=pixiv-token-getter-adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixiv-token-getter-adapter.d.ts","sourceRoot":"","sources":["../src/pixiv-token-getter-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pixiv-token-getter-adapter.d.ts","sourceRoot":"","sources":["../src/pixiv-token-getter-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,8BAA8B,IAAI,OAAO,CAAC,OAAO,CAAC,CAiBvE;AAiFD;;;;;;GAMG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,CAAC,EAAE,WAAW,EACnB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA6B3B;AAED;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,WAAW,EACnB,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA+C3B"}
|
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Pixiv Token Getter Adapter
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* Thin delegation layer over the `pixiv-token-getter` credential manager.
|
|
6
|
+
*
|
|
7
|
+
* The library owns everything credential-related: the PKCE browser login, the
|
|
8
|
+
* credential (e2e) login, refresh handling, proxy routing and the persistent
|
|
9
|
+
* per-profile token store. This module only:
|
|
10
|
+
* - decides which login method to ask for, and
|
|
11
|
+
* - maps the returned `TokenInfo` onto the project's `LoginInfo` shape.
|
|
7
12
|
*
|
|
8
13
|
* Library: https://github.com/redtidev1918/pixiv-token-getter
|
|
9
14
|
*/
|
|
@@ -45,13 +50,15 @@ exports.checkPixivTokenGetterAvailable = checkPixivTokenGetterAvailable;
|
|
|
45
50
|
exports.loginWithPixivTokenGetterInteractive = loginWithPixivTokenGetterInteractive;
|
|
46
51
|
exports.loginWithPixivTokenGetterHeadless = loginWithPixivTokenGetterHeadless;
|
|
47
52
|
const pixiv_token_getter_1 = require("pixiv-token-getter");
|
|
53
|
+
const proxy_1 = require("./puppeteer-login-adapter/proxy");
|
|
48
54
|
/**
|
|
49
55
|
* Check if pixiv-token-getter is available
|
|
50
56
|
*/
|
|
51
57
|
async function checkPixivTokenGetterAvailable() {
|
|
52
58
|
try {
|
|
53
|
-
const
|
|
54
|
-
|
|
59
|
+
const mod = await Promise.resolve().then(() => __importStar(require('pixiv-token-getter')));
|
|
60
|
+
// `getToken` is the credential-lifecycle entry point (2.4+).
|
|
61
|
+
return typeof mod.getToken === 'function';
|
|
55
62
|
}
|
|
56
63
|
catch (error) {
|
|
57
64
|
const errorMessage = error?.message || String(error);
|
|
@@ -65,14 +72,27 @@ async function checkPixivTokenGetterAvailable() {
|
|
|
65
72
|
return false;
|
|
66
73
|
}
|
|
67
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Map the project's proxy configuration onto the library's `proxy` option.
|
|
77
|
+
*
|
|
78
|
+
* The library accepts a proxy URL and applies it to both the browser and the
|
|
79
|
+
* token requests, so redirecting the login no longer requires env vars.
|
|
80
|
+
*/
|
|
81
|
+
function toProxyOption(proxy) {
|
|
82
|
+
if (!proxy || !proxy.enabled) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
return (0, proxy_1.buildProxyUrl)(proxy);
|
|
86
|
+
}
|
|
68
87
|
/**
|
|
69
88
|
* Convert TokenInfo from pixiv-token-getter to LoginInfo format
|
|
70
89
|
* Maps the user object to match the project's UserInfo interface
|
|
71
90
|
*/
|
|
72
91
|
function convertTokenInfoToLoginInfo(tokenInfo) {
|
|
73
|
-
// Map user object to match project's UserInfo interface
|
|
74
|
-
//
|
|
75
|
-
|
|
92
|
+
// Map user object to match project's UserInfo interface.
|
|
93
|
+
// `user` is optional in the library's TokenInfo (a gppt-imported credential
|
|
94
|
+
// has no user at all), so normalise it to an empty object first.
|
|
95
|
+
const user = tokenInfo.user ?? {};
|
|
76
96
|
// Create UserInfo with required fields, using defaults for missing fields
|
|
77
97
|
const mappedUser = {
|
|
78
98
|
id: user.id || '',
|
|
@@ -128,27 +148,25 @@ function convertTokenInfoToLoginInfo(tokenInfo) {
|
|
|
128
148
|
* Login using pixiv-token-getter (interactive mode)
|
|
129
149
|
* Opens a browser window for user to manually log in
|
|
130
150
|
*
|
|
131
|
-
*
|
|
132
|
-
*
|
|
151
|
+
* Proxy is routed through the library, which applies it to both the browser and
|
|
152
|
+
* the token exchange.
|
|
133
153
|
*/
|
|
134
|
-
async function loginWithPixivTokenGetterInteractive(proxy) {
|
|
154
|
+
async function loginWithPixivTokenGetterInteractive(proxy, options = {}) {
|
|
155
|
+
const { force = true, timeout = 300000 } = options;
|
|
135
156
|
try {
|
|
136
157
|
console.log('[!]: Using pixiv-token-getter for login (interactive mode)...');
|
|
137
158
|
console.log('[i]: A browser window will open shortly.');
|
|
138
159
|
console.log('[i]: Please complete the login process in the browser window.');
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
if (proxy && proxy.enabled) {
|
|
142
|
-
console.warn('[!]: Proxy configuration is not yet supported by pixiv-token-getter');
|
|
143
|
-
console.warn('[!]: Proceeding without proxy...');
|
|
144
|
-
}
|
|
145
|
-
const tokenInfo = await (0, pixiv_token_getter_1.getTokenInteractive)({
|
|
160
|
+
const tokenInfo = await (0, pixiv_token_getter_1.getToken)({
|
|
161
|
+
method: 'browser',
|
|
146
162
|
headless: false,
|
|
147
|
-
timeout
|
|
163
|
+
timeout,
|
|
164
|
+
force,
|
|
165
|
+
proxy: toProxyOption(proxy),
|
|
148
166
|
onBrowserOpen: () => {
|
|
149
167
|
console.log('[i]: Browser opened, please complete login');
|
|
150
168
|
},
|
|
151
|
-
onPageReady: (
|
|
169
|
+
onPageReady: (_page, url) => {
|
|
152
170
|
console.log(`[i]: Login page ready: ${url}`);
|
|
153
171
|
},
|
|
154
172
|
});
|
|
@@ -165,7 +183,8 @@ async function loginWithPixivTokenGetterInteractive(proxy) {
|
|
|
165
183
|
* Login using pixiv-token-getter (headless mode)
|
|
166
184
|
* Runs browser in background without visible window
|
|
167
185
|
*/
|
|
168
|
-
async function loginWithPixivTokenGetterHeadless(username, password, proxy) {
|
|
186
|
+
async function loginWithPixivTokenGetterHeadless(username, password, proxy, options = {}) {
|
|
187
|
+
const { force = true, timeout = 120000 } = options;
|
|
169
188
|
try {
|
|
170
189
|
console.log('[!]: Using pixiv-token-getter for login (headless mode)...');
|
|
171
190
|
// Validate inputs
|
|
@@ -175,15 +194,13 @@ async function loginWithPixivTokenGetterHeadless(username, password, proxy) {
|
|
|
175
194
|
if (!password || password.trim() === '') {
|
|
176
195
|
throw new Error('Password cannot be empty');
|
|
177
196
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
console.warn('[!]: Proxy configuration is not yet supported by pixiv-token-getter');
|
|
181
|
-
console.warn('[!]: Proceeding without proxy...');
|
|
182
|
-
}
|
|
183
|
-
const tokenInfo = await (0, pixiv_token_getter_1.getTokenHeadless)({
|
|
197
|
+
const tokenInfo = await (0, pixiv_token_getter_1.getToken)({
|
|
198
|
+
method: 'e2e',
|
|
184
199
|
username: username.trim(),
|
|
185
200
|
password: password.trim(),
|
|
186
|
-
timeout
|
|
201
|
+
timeout,
|
|
202
|
+
force,
|
|
203
|
+
proxy: toProxyOption(proxy),
|
|
187
204
|
});
|
|
188
205
|
const loginInfo = convertTokenInfoToLoginInfo(tokenInfo);
|
|
189
206
|
console.log('[+]: Login successful with pixiv-token-getter!');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixiv-token-getter-adapter.js","sourceRoot":"","sources":["../src/pixiv-token-getter-adapter.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"pixiv-token-getter-adapter.js","sourceRoot":"","sources":["../src/pixiv-token-getter-adapter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH,wEAiBC;AAwFD,oFAgCC;AAMD,8EAoDC;AA1ND,2DAAyD;AAEzD,2DAA6E;AAkB7E;;GAEG;AACI,KAAK,UAAU,8BAA8B;IAClD,IAAI,CAAC;QACH,MAAM,GAAG,GAAQ,wDAAa,oBAAoB,GAAC,CAAC;QACpD,6DAA6D;QAC7D,OAAO,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,MAAM,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;QAE9B,IAAI,SAAS,KAAK,kBAAkB,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACpF,OAAO,CAAC,KAAK,CAAC,qFAAqF,EAAE,YAAY,CAAC,CAAC;QACrH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,KAAmB;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,2BAA2B,CAAC,SAAoB;IACvD,yDAAyD;IACzD,4EAA4E;IAC5E,iEAAiE;IACjE,MAAM,IAAI,GAAQ,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;IAEvC,0EAA0E;IAC1E,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;QAC3B,kBAAkB,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;SACf;QACD,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,CAAC;QACb,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;QAC/B,8DAA8D;QAC9D,GAAI,IAAY;KACjB,CAAC;IAEF,+DAA+D;IAC/D,IAAK,IAAY,CAAC,kBAAkB,EAAE,CAAC;QACrC,UAAU,CAAC,kBAAkB,GAAI,IAAY,CAAC,kBAAkB,CAAC;IACnE,CAAC;IAED,iCAAiC;IACjC,IAAK,IAAY,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC7C,UAAU,CAAC,YAAY,GAAI,IAAY,CAAC,YAAY,CAAC;IACvD,CAAC;IACD,IAAK,IAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3C,UAAU,CAAC,UAAU,GAAI,IAAY,CAAC,UAAU,CAAC;IACnD,CAAC;IACD,IAAK,IAAY,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3C,UAAU,CAAC,UAAU,GAAI,IAAY,CAAC,UAAU,CAAC;IACnD,CAAC;IACD,IAAK,IAAY,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACnD,UAAU,CAAC,kBAAkB,GAAI,IAAY,CAAC,kBAAkB,CAAC;IACnE,CAAC;IACD,IAAK,IAAY,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;QACzD,UAAU,CAAC,wBAAwB,GAAI,IAAY,CAAC,wBAAwB,CAAC;IAC/E,CAAC;IAED,MAAM,aAAa,GAAG;QACpB,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,QAAQ;QAC5C,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;QAC5B,IAAI,EAAE,UAAU;KACjB,CAAC;IAEF,OAAO;QACL,GAAG,aAAa;QAChB,QAAQ,EAAE,aAAa;KACxB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,oCAAoC,CACxD,KAAmB,EACnB,UAAwC,EAAE;IAE1C,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAQ,EAAC;YAC/B,MAAM,EAAE,SAAS;YACjB,QAAQ,EAAE,KAAK;YACf,OAAO;YACP,KAAK;YACL,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;YAC3B,aAAa,EAAE,GAAG,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC5D,CAAC;YACD,WAAW,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,iCAAiC,CACrD,QAAgB,EAChB,QAAgB,EAChB,KAAmB,EACnB,UAAwC,EAAE;IAE1C,MAAM,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;IAEnD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAE1E,kBAAkB;QAClB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAQ,EAAC;YAC/B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzB,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;YACzB,OAAO;YACP,KAAK;YACL,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QAEvE,iCAAiC;QACjC,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7E,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gCAAgC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAC5B;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAErC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAC1C,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAClC,WAAW,GAAE,MAAU,EACvB,MAAM,GAAE,iBAAsB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAmI7B"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.processInParallel = processInParallel;
|
|
4
4
|
const logger_1 = require("../logger");
|
|
5
5
|
const errors_1 = require("./errors");
|
|
6
|
+
const runDiagnostics_1 = require("../batch/runDiagnostics");
|
|
7
|
+
const errors_2 = require("./errors");
|
|
6
8
|
/**
|
|
7
9
|
* Process items in parallel with intelligent concurrency control
|
|
8
10
|
*
|
|
@@ -92,8 +94,13 @@ async function processInParallel(items, processor, concurrency = 3, config = {})
|
|
|
92
94
|
error: error instanceof Error ? error : new Error(String(error))
|
|
93
95
|
};
|
|
94
96
|
// Check if this is a rate limit error
|
|
95
|
-
const isRateLimit = (error instanceof
|
|
96
|
-
error instanceof
|
|
97
|
+
const isRateLimit = (error instanceof errors_2.NetworkError && error.isRateLimit === true) ||
|
|
98
|
+
error instanceof errors_2.PixivRateLimitError;
|
|
99
|
+
if (isRateLimit) {
|
|
100
|
+
// Record it even when dynamic concurrency is off: the control plane needs
|
|
101
|
+
// to know this run was throttled in order to wait for the server.
|
|
102
|
+
(0, runDiagnostics_1.recordRateLimit)((0, errors_1.rateLimitWaitMs)(error));
|
|
103
|
+
}
|
|
97
104
|
if (isRateLimit && dynamicConcurrency) {
|
|
98
105
|
rateLimitCount++;
|
|
99
106
|
const previousConcurrency = currentConcurrency;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-validator-unified.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config-validator-unified.d.ts","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAgB,MAAM,WAAW,CAAC;AAM3D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,QAAQ,CACN,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,gBAAgB;IAgcnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACH,eAAe,CACb,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACjC,OAAO,GAAE;QACP,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GACL,IAAI;CAaR;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC;AAGrD,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CAEzE;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,gBAAgB,CAKlB"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
10
10
|
exports.configValidator = exports.ConfigValidator = void 0;
|
|
11
11
|
exports.validateConfig = validateConfig;
|
|
12
12
|
exports.validateConfigWithUnifiedStorage = validateConfigWithUnifiedStorage;
|
|
13
|
+
const validation_1 = require("../config/validation");
|
|
13
14
|
const node_cron_1 = __importDefault(require("node-cron"));
|
|
14
15
|
const token_manager_1 = require("./token-manager");
|
|
15
16
|
const errors_1 = require("./errors");
|
|
@@ -173,7 +174,9 @@ class ConfigValidator {
|
|
|
173
174
|
}
|
|
174
175
|
if (target.noMatchPolicy?.notify === true) {
|
|
175
176
|
const deliveryTarget = target.delivery?.target?.trim();
|
|
176
|
-
|
|
177
|
+
const notifyTarget = deliveryTarget ? config.delivery?.targets?.[deliveryTarget] : undefined;
|
|
178
|
+
const hasNotificationUrl = notifyTarget?.type === 'httpMultipart' && Boolean(notifyTarget.notificationUrl?.trim());
|
|
179
|
+
if (!hasNotificationUrl) {
|
|
177
180
|
errors.push({
|
|
178
181
|
code: 'CONFIG_VALIDATION_TARGET_NO_MATCH_NOTIFICATION_MISSING',
|
|
179
182
|
field: `${targetPrefix}.noMatchPolicy.notify`,
|
|
@@ -211,6 +214,17 @@ class ConfigValidator {
|
|
|
211
214
|
}
|
|
212
215
|
for (const [name, delivery] of Object.entries(config.delivery?.targets ?? {})) {
|
|
213
216
|
const prefix = `delivery.targets.${name}`;
|
|
217
|
+
if (delivery.type === 'telegram') {
|
|
218
|
+
// Same checks the loader's validator runs: one shared source, no drift.
|
|
219
|
+
for (const error of (0, validation_1.collectTelegramDeliveryErrors)(name, delivery)) {
|
|
220
|
+
errors.push({
|
|
221
|
+
code: `CONFIG_VALIDATION_${error.code}`,
|
|
222
|
+
field: error.field,
|
|
223
|
+
message: `Delivery target '${name}': ${error.message}`,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
214
228
|
if (delivery.type !== 'httpMultipart') {
|
|
215
229
|
errors.push({
|
|
216
230
|
code: 'CONFIG_VALIDATION_DELIVERY_TYPE_UNSUPPORTED',
|