pixivflow 2.16.1 → 2.18.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 (143) hide show
  1. package/{README_EN.md → README.en.md} +8 -6
  2. package/README.md +8 -6
  3. package/config/examples/README.md +218 -0
  4. package/config/examples/multi-tag-or-limit.zh.json +49 -0
  5. package/config/examples/specific-download.example.json +173 -0
  6. package/config/examples/standalone.config.example.json +167 -0
  7. package/config/examples/standalone.config.novel-chinese.json +124 -0
  8. package/config/examples/standalone.config.ranking.json +135 -0
  9. package/config/examples/standalone.config.simple.json +52 -0
  10. package/config/examples/yesterday-popular-novel.zh.json +48 -0
  11. package/config/examples/yesterday-ranking-illustration.json +43 -0
  12. package/dist/auth/PixivAuth.d.ts +12 -0
  13. package/dist/auth/PixivAuth.d.ts.map +1 -1
  14. package/dist/auth/PixivAuth.js +26 -0
  15. package/dist/auth/PixivAuth.js.map +1 -1
  16. package/dist/batch/executionResult.d.ts +85 -0
  17. package/dist/batch/executionResult.d.ts.map +1 -0
  18. package/dist/batch/executionResult.js +102 -0
  19. package/dist/batch/executionResult.js.map +1 -0
  20. package/dist/batch/runDiagnostics.d.ts +48 -0
  21. package/dist/batch/runDiagnostics.d.ts.map +1 -0
  22. package/dist/batch/runDiagnostics.js +103 -0
  23. package/dist/batch/runDiagnostics.js.map +1 -0
  24. package/dist/commands/Command.d.ts +5 -0
  25. package/dist/commands/Command.d.ts.map +1 -1
  26. package/dist/commands/Command.js +7 -0
  27. package/dist/commands/Command.js.map +1 -1
  28. package/dist/commands/DiagnoseEgressCommand.d.ts +98 -0
  29. package/dist/commands/DiagnoseEgressCommand.d.ts.map +1 -0
  30. package/dist/commands/DiagnoseEgressCommand.js +327 -0
  31. package/dist/commands/DiagnoseEgressCommand.js.map +1 -0
  32. package/dist/commands/ExecuteSlotCommand.d.ts +37 -0
  33. package/dist/commands/ExecuteSlotCommand.d.ts.map +1 -0
  34. package/dist/commands/ExecuteSlotCommand.js +267 -0
  35. package/dist/commands/ExecuteSlotCommand.js.map +1 -0
  36. package/dist/commands/MaintainCommand.d.ts.map +1 -1
  37. package/dist/commands/MaintainCommand.js +10 -15
  38. package/dist/commands/MaintainCommand.js.map +1 -1
  39. package/dist/commands/index.d.ts +3 -1
  40. package/dist/commands/index.d.ts.map +1 -1
  41. package/dist/commands/index.js +7 -1
  42. package/dist/commands/index.js.map +1 -1
  43. package/dist/commands/scheduler-runtime.d.ts +37 -1
  44. package/dist/commands/scheduler-runtime.d.ts.map +1 -1
  45. package/dist/commands/scheduler-runtime.js +52 -19
  46. package/dist/commands/scheduler-runtime.js.map +1 -1
  47. package/dist/commands/types.d.ts +6 -0
  48. package/dist/commands/types.d.ts.map +1 -1
  49. package/dist/config/types.d.ts +33 -1
  50. package/dist/config/types.d.ts.map +1 -1
  51. package/dist/config/validation.d.ts +14 -1
  52. package/dist/config/validation.d.ts.map +1 -1
  53. package/dist/config/validation.js +109 -33
  54. package/dist/config/validation.js.map +1 -1
  55. package/dist/config.d.ts +1 -1
  56. package/dist/config.d.ts.map +1 -1
  57. package/dist/config.js.map +1 -1
  58. package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
  59. package/dist/delivery/DeliveryDispatcher.js +7 -0
  60. package/dist/delivery/DeliveryDispatcher.js.map +1 -1
  61. package/dist/delivery/HttpMultipartDelivery.d.ts +12 -0
  62. package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
  63. package/dist/delivery/HttpMultipartDelivery.js +89 -70
  64. package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
  65. package/dist/delivery/LegacyOutboxMigration.js +1 -1
  66. package/dist/delivery/LegacyOutboxMigration.js.map +1 -1
  67. package/dist/delivery/TelegramReviewDelivery.d.ts +49 -0
  68. package/dist/delivery/TelegramReviewDelivery.d.ts.map +1 -0
  69. package/dist/delivery/TelegramReviewDelivery.js +307 -0
  70. package/dist/delivery/TelegramReviewDelivery.js.map +1 -0
  71. package/dist/download/DownloadManager.d.ts +10 -0
  72. package/dist/download/DownloadManager.d.ts.map +1 -1
  73. package/dist/download/DownloadManager.js +21 -0
  74. package/dist/download/DownloadManager.js.map +1 -1
  75. package/dist/download/plan/DownloadPlanner.d.ts +10 -0
  76. package/dist/download/plan/DownloadPlanner.d.ts.map +1 -1
  77. package/dist/download/plan/DownloadPlanner.js +19 -0
  78. package/dist/download/plan/DownloadPlanner.js.map +1 -1
  79. package/dist/index.js +5 -3
  80. package/dist/index.js.map +1 -1
  81. package/dist/notification/NotificationPolicy.d.ts.map +1 -1
  82. package/dist/notification/NotificationPolicy.js +4 -1
  83. package/dist/notification/NotificationPolicy.js.map +1 -1
  84. package/dist/package.json +1 -1
  85. package/dist/pixiv-token-getter-adapter.d.ts +27 -7
  86. package/dist/pixiv-token-getter-adapter.d.ts.map +1 -1
  87. package/dist/pixiv-token-getter-adapter.js +44 -27
  88. package/dist/pixiv-token-getter-adapter.js.map +1 -1
  89. package/dist/puppeteer-login-adapter/auth-code.d.ts +1 -1
  90. package/dist/puppeteer-login-adapter/auth-code.d.ts.map +1 -1
  91. package/dist/puppeteer-login-adapter/browser-launch.d.ts +21 -0
  92. package/dist/puppeteer-login-adapter/browser-launch.d.ts.map +1 -0
  93. package/dist/puppeteer-login-adapter/browser-launch.js +46 -0
  94. package/dist/puppeteer-login-adapter/browser-launch.js.map +1 -0
  95. package/dist/puppeteer-login-adapter/environment.js +2 -2
  96. package/dist/puppeteer-login-adapter/environment.js.map +1 -1
  97. package/dist/puppeteer-login-adapter/login-headless.d.ts.map +1 -1
  98. package/dist/puppeteer-login-adapter/login-headless.js +2 -5
  99. package/dist/puppeteer-login-adapter/login-headless.js.map +1 -1
  100. package/dist/puppeteer-login-adapter/login-interactive.d.ts.map +1 -1
  101. package/dist/puppeteer-login-adapter/login-interactive.js +2 -5
  102. package/dist/puppeteer-login-adapter/login-interactive.js.map +1 -1
  103. package/dist/storage/Database.d.ts +2 -0
  104. package/dist/storage/Database.d.ts.map +1 -1
  105. package/dist/storage/Database.js +7 -6
  106. package/dist/storage/Database.js.map +1 -1
  107. package/dist/storage/DatabaseMigration.d.ts +2 -2
  108. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  109. package/dist/storage/DatabaseMigration.js.map +1 -1
  110. package/dist/storage/drivers/NodeSqliteDriver.d.ts +14 -0
  111. package/dist/storage/drivers/NodeSqliteDriver.d.ts.map +1 -0
  112. package/dist/storage/drivers/NodeSqliteDriver.js +123 -0
  113. package/dist/storage/drivers/NodeSqliteDriver.js.map +1 -0
  114. package/dist/storage/drivers/SqliteDriver.d.ts +55 -0
  115. package/dist/storage/drivers/SqliteDriver.d.ts.map +1 -0
  116. package/dist/storage/drivers/SqliteDriver.js +21 -0
  117. package/dist/storage/drivers/SqliteDriver.js.map +1 -0
  118. package/dist/storage/repositories/BaseRepository.d.ts +4 -4
  119. package/dist/storage/repositories/BaseRepository.d.ts.map +1 -1
  120. package/dist/storage/repositories/BaseRepository.js.map +1 -1
  121. package/dist/storage/repositories/DownloadRepository.d.ts +2 -1
  122. package/dist/storage/repositories/DownloadRepository.d.ts.map +1 -1
  123. package/dist/storage/repositories/DownloadRepository.js.map +1 -1
  124. package/dist/storage/repositories/RateLimitStateRepository.d.ts +1 -1
  125. package/dist/storage/repositories/RateLimitStateRepository.js +1 -1
  126. package/dist/utils/concurrency.d.ts.map +1 -1
  127. package/dist/utils/concurrency.js +9 -2
  128. package/dist/utils/concurrency.js.map +1 -1
  129. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  130. package/dist/utils/config-validator-unified.js +15 -1
  131. package/dist/utils/config-validator-unified.js.map +1 -1
  132. package/dist/utils/token-maintenance.d.ts +0 -4
  133. package/dist/utils/token-maintenance.d.ts.map +1 -1
  134. package/dist/utils/token-maintenance.js +5 -25
  135. package/dist/utils/token-maintenance.js.map +1 -1
  136. package/dist/version.js +1 -1
  137. package/dist/webui/package.json +1 -1
  138. package/node_modules/@redtidev/pixiv-client/README.en.md +105 -0
  139. package/node_modules/@redtidev/pixiv-client/README.md +67 -73
  140. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.d.ts +1 -1
  141. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.js +1 -1
  142. package/node_modules/@redtidev/pixiv-client/src/rate-limit/RateLimitGate.ts +1 -1
  143. package/package.json +7 -8
@@ -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
- if (!deliveryTarget || !config.delivery?.targets?.[deliveryTarget]?.notificationUrl?.trim()) {
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',
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator-unified.js","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validator-unified.js","sourceRoot":"","sources":["../../src/utils/config-validator-unified.ts"],"names":[],"mappings":"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"}
@@ -55,10 +55,6 @@ export declare class TokenMaintenanceService {
55
55
  * This method refreshes the refresh token to ensure it never expires
56
56
  */
57
57
  private maintainToken;
58
- /**
59
- * Check if the current refresh token is valid
60
- */
61
- private checkRefreshTokenValidity;
62
58
  /**
63
59
  * Manually trigger token maintenance
64
60
  * Useful for testing or immediate refresh
@@ -1 +1 @@
1
- {"version":3,"file":"token-maintenance.d.ts","sourceRoot":"","sources":["../../src/utils/token-maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGnF,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAQD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,OAAO,CAAgB;gBAG7B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,sBAAsB;IAQjC;;OAEG;IACI,KAAK,IAAI,IAAI;IAiCpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAcnB;;;OAGG;YACW,aAAa;IA+B3B;;OAEG;YACW,yBAAyB;IAiBvC;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,gBAAgB,GACxB,uBAAuB,GAAG,IAAI,CAkBhC"}
1
+ {"version":3,"file":"token-maintenance.d.ts","sourceRoot":"","sources":["../../src/utils/token-maintenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnF,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAQD,qBAAa,uBAAuB;IAClC,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,OAAO,CAAgB;gBAG7B,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,sBAAsB;IAQjC;;OAEG;IACI,KAAK,IAAI,IAAI;IAiCpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAcnB;;;OAGG;YACW,aAAa;IA6B3B;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIzC;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,gBAAgB,GACxB,uBAAuB,GAAG,IAAI,CAkBhC"}
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TokenMaintenanceService = void 0;
16
16
  exports.createTokenMaintenanceService = createTokenMaintenanceService;
17
17
  const logger_1 = require("../logger");
18
- const token_refresh_1 = require("../terminal-login/token-refresh");
18
+ const PixivAuth_1 = require("../auth/PixivAuth");
19
19
  const DEFAULT_CONFIG = {
20
20
  enabled: true,
21
21
  refreshInterval: 7 * 24 * 60 * 60 * 1000, // 7 days
@@ -86,11 +86,10 @@ class TokenMaintenanceService {
86
86
  async maintainToken() {
87
87
  try {
88
88
  logger_1.logger.debug('Performing token maintenance check...');
89
- // Check if refresh token is valid
90
- const isValid = await this.checkRefreshTokenValidity();
91
- if (!isValid) {
92
- logger_1.logger.warn('Refresh token is invalid, but cannot auto-renew without credentials');
93
- logger_1.logger.warn('Please run login command to get a new refresh token');
89
+ // Read-only auth must never reach the token endpoint; getAccessToken() below
90
+ // would refuse anyway, and logging it here keeps the reason visible.
91
+ if ((0, PixivAuth_1.isAuthReadOnly)()) {
92
+ logger_1.logger.info('Read-only auth: token endpoint is off-limits for this run');
94
93
  return;
95
94
  }
96
95
  // Refresh the access token, which will also update the refresh token if needed
@@ -112,25 +111,6 @@ class TokenMaintenanceService {
112
111
  });
113
112
  }
114
113
  }
115
- /**
116
- * Check if the current refresh token is valid
117
- */
118
- async checkRefreshTokenValidity() {
119
- try {
120
- if (!this.credentials.refreshToken) {
121
- return false;
122
- }
123
- // Try to refresh the token to verify it's valid
124
- await (0, token_refresh_1.refreshToken)(this.credentials.refreshToken);
125
- return true;
126
- }
127
- catch (error) {
128
- logger_1.logger.debug('Refresh token validation failed', {
129
- error: error instanceof Error ? error.message : String(error),
130
- });
131
- return false;
132
- }
133
- }
134
114
  /**
135
115
  * Manually trigger token maintenance
136
116
  * Useful for testing or immediate refresh
@@ -1 +1 @@
1
- {"version":3,"file":"token-maintenance.js","sourceRoot":"","sources":["../../src/utils/token-maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-maintenance.js","sourceRoot":"","sources":["../../src/utils/token-maintenance.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BUILD = void 0;
4
4
  // GENERATED by scripts/write-version.js — do not edit manually.
5
- exports.BUILD = { version: '2.16.1', commit: '180f23d510a0' };
5
+ exports.BUILD = { version: '2.18.0', commit: '2ce5c9705daf' };
6
6
  //# sourceMappingURL=version.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "type": "commonjs",
3
3
  "name": "pixivflow-webui-backend",
4
- "version": "2.16.1",
4
+ "version": "2.18.0",
5
5
  "description": "PixivFlow WebUI Backend - CommonJS module"
6
6
  }
@@ -0,0 +1,105 @@
1
+ # @redtidev/pixiv-client
2
+
3
+ **English** | [中文](./README.md)
4
+
5
+ Independent, reusable **Pixiv App API client kit** for TypeScript/Node.js.
6
+
7
+ It knows Pixiv. It does **not** know your application: no config schema, no
8
+ database, no browser login, no scheduler. It currently lives as an npm
9
+ workspace package inside the PixivFlow monorepo and is intentionally **not
10
+ yet published** (see "When to split out" below).
11
+
12
+ ```ts
13
+ import { createPixivClient, StaticTokenProvider } from '@redtidev/pixiv-client';
14
+
15
+ const pixiv = createPixivClient({ auth: new StaticTokenProvider(process.env.PIXIV_ACCESS_TOKEN!) });
16
+
17
+ const illust = await pixiv.illustrations.get(123_456);
18
+ const page = await pixiv.illustrations.searchPage({ word: '風景', limit: 30 });
19
+ const bytes = await pixiv.media.fetch(illust.meta_single_page!.original_image_url!);
20
+ ```
21
+
22
+ ## Features
23
+
24
+ - **Auth port, not login implementation** — inject anything implementing
25
+ `AccessTokenProvider` (optionally `RefreshableAccessTokenProvider`). Browser
26
+ OAuth/PKCE, puppeteer and python helpers stay in the host application.
27
+ - **One transport** for every call: base URL, App headers, Bearer auth,
28
+ timeout (`AbortController`), HTTP(S) proxy (undici) and SOCKS proxy
29
+ (axios + socks-proxy-agent), response parsing, typed errors.
30
+ - **Typed errors** — `PixivNotFoundError`, `PixivRateLimitError`,
31
+ `PixivAuthenticationError`, `PixivServerError`, `PixivNetworkError`,
32
+ `PixivTimeoutError`, `PixivCircuitOpenError`, ... classify with `instanceof`,
33
+ never with `message.includes('429')`.
34
+ - **Single 429 gate** — one global rate limiter paces all requests and applies
35
+ one shared cooldown. No nested retries, no request storms.
36
+ - **Slot-reservation pacing** — concurrent callers are serialized to
37
+ t, t+interval, t+2·interval ... (the old coordinator woke them in a burst).
38
+ - **Conservative defaults**: 1000 ms minimum interval, jitter 25 %, first 429
39
+ cooldown 60 s, exponential 60→120→240→480 s capped at 15 min, Retry-After
40
+ always honored as a floor.
41
+ - **Penalty decay** — one success never clears the penalty; it decays after a
42
+ configurable run (default 20) of consecutive successes.
43
+ - **Circuit breaker** — repeated 429s OPEN the gate; requests fast-fail with
44
+ `PixivCircuitOpenError`; after the cooldown a single half-open probe tests
45
+ recovery.
46
+ - **Persistent state port** — inject a `RateLimitStateStore` (e.g. an SQLite
47
+ adapter) so restarts/deploys remember an active cooldown. Default is
48
+ in-memory.
49
+ - **In-flight coalescing** — 10 concurrent `get(123)` calls make 1 HTTP
50
+ request.
51
+ - **Pagination without auto-crawl** — `searchPage`/`rankingPage` plus the
52
+ optional `paginate()` helper; always bounded by `limit`/`maxPages` and
53
+ `AbortSignal`-aware.
54
+ - **Structured events** via `onEvent` (`request_start`, `request_retry`,
55
+ `rate_limited`, `circuit_opened`, `auth_refresh`, ...). No credentials are
56
+ ever logged or emitted.
57
+
58
+ ## Retry ownership
59
+
60
+ | Failure | Owner |
61
+ | ------------------------------- | -------------------------------------------- |
62
+ | network reset / timeout / 5xx | transport retries (default 2), linear backoff|
63
+ | 429 while circuit CLOSED | transport waits the shared gate cooldown |
64
+ | 429 after circuit OPEN threshold| fails fast; durable retry belongs to the host (scheduler/outbox) |
65
+ | 401 | one `refreshAccessToken()` + retry, then error|
66
+ | 400 / 403 / 404 | never retried |
67
+
68
+ The kit never rotates proxies or IPs on 429 and never alternates between the
69
+ App and Web API to dodge rate limits. Endpoint-capability fallback (the novel
70
+ text v2→v1/ajax chain) is allowed; anti-rate-limit rotation is not.
71
+
72
+ ## API surface
73
+
74
+ - `createPixivClient(options)` / `new PixivClient(options)`
75
+ - `pixiv.illustrations` — `get/detail`, `detailWithTags`, `searchPage`,
76
+ `search`, `rankingPage`, `ranking`, `userWorksPage`, `listByUser`,
77
+ `ugoiraMetadata`
78
+ - `pixiv.novels` — `get/detail`, `detailCompatible`, `detailWithTags`,
79
+ `searchPage`, `search`, `rankingPage`, `ranking`, `userWorksPage`,
80
+ `listByUser`, `listSeries`, `text`
81
+ - `pixiv.tags.autocomplete(word)`
82
+ - `pixiv.users.user(userId)` (Pixiv removed `/v1/user/profile`, so there is no "current user" endpoint)
83
+ - `pixiv.media.fetch(url)` → `ArrayBuffer`
84
+ - `pixiv.getRateLimitStatus()` — `{ circuitState, cooldownRemainingMs, penaltyLevel, last429At, nextAllowedInMs }`
85
+
86
+ The package has zero knowledge of host types (`TargetConfig`, schedulers,
87
+ SQLite, delivery, …). Mapping a host query into kit options is the host's
88
+ job, e.g. `mapTargetToPixivQuery(target): IllustSearchOptions`.
89
+
90
+ ## When to split out into its own repo
91
+
92
+ Do **not** split yet. Split only once both hold:
93
+
94
+ 1. A second real consumer exists (another bot, an Electron client, a
95
+ standalone downloader …) — PixivFlow alone does not justify cross-repo
96
+ version coordination.
97
+ 2. The public API has run stable for a while and the host adapter has stopped
98
+ churning.
99
+
100
+ At that point: history-split `packages/pixiv-client` → its own repo →
101
+ publish `@redtidev/pixiv-client` and depend on the released version.
102
+
103
+ ## License
104
+
105
+ MIT
@@ -1,11 +1,12 @@
1
1
  # @redtidev/pixiv-client
2
2
 
3
- Independent, reusable **Pixiv App API client kit** for TypeScript/Node.js.
3
+ [English](./README.en.md) | **中文**
4
4
 
5
- It knows Pixiv. It does **not** know your application: no config schema, no
6
- database, no browser login, no scheduler. It currently lives as an npm
7
- workspace package inside the PixivFlow monorepo and is intentionally **not
8
- yet published** (see "When to split out" below).
5
+ 面向 TypeScript/Node.js 的独立、可复用的 **Pixiv App API 客户端 kit**。
6
+
7
+ 它懂 Pixiv,但**不懂你的应用**:没有配置 schema、没有数据库、没有浏览器登录、
8
+ 没有调度器。它目前作为 npm 工作区包存在于 PixivFlow 单仓库内,且有意
9
+ **尚未发布**(见下文「何时拆分到独立仓库」)。
9
10
 
10
11
  ```ts
11
12
  import { createPixivClient, StaticTokenProvider } from '@redtidev/pixiv-client';
@@ -17,87 +18,80 @@ const page = await pixiv.illustrations.searchPage({ word: '風景', limit: 30
17
18
  const bytes = await pixiv.media.fetch(illust.meta_single_page!.original_image_url!);
18
19
  ```
19
20
 
20
- ## Features
21
-
22
- - **Auth port, not login implementation** — inject anything implementing
23
- `AccessTokenProvider` (optionally `RefreshableAccessTokenProvider`). Browser
24
- OAuth/PKCE, puppeteer and python helpers stay in the host application.
25
- - **One transport** for every call: base URL, App headers, Bearer auth,
26
- timeout (`AbortController`), HTTP(S) proxy (undici) and SOCKS proxy
27
- (axios + socks-proxy-agent), response parsing, typed errors.
28
- - **Typed errors** `PixivNotFoundError`, `PixivRateLimitError`,
29
- `PixivAuthenticationError`, `PixivServerError`, `PixivNetworkError`,
30
- `PixivTimeoutError`, `PixivCircuitOpenError`, ... classify with `instanceof`,
31
- never with `message.includes('429')`.
32
- - **Single 429 gate** one global rate limiter paces all requests and applies
33
- one shared cooldown. No nested retries, no request storms.
34
- - **Slot-reservation pacing** concurrent callers are serialized to
35
- t, t+interval, t+2·interval ... (the old coordinator woke them in a burst).
36
- - **Conservative defaults**: 1000 ms minimum interval, jitter 25 %, first 429
37
- cooldown 60 s, exponential 60→120→240→480 s capped at 15 min, Retry-After
38
- always honored as a floor.
39
- - **Penalty decay** — one success never clears the penalty; it decays after a
40
- configurable run (default 20) of consecutive successes.
41
- - **Circuit breaker** — repeated 429s OPEN the gate; requests fast-fail with
42
- `PixivCircuitOpenError`; after the cooldown a single half-open probe tests
43
- recovery.
44
- - **Persistent state port** inject a `RateLimitStateStore` (e.g. an SQLite
45
- adapter) so restarts/deploys remember an active cooldown. Default is
46
- in-memory.
47
- - **In-flight coalescing** — 10 concurrent `get(123)` calls make 1 HTTP
48
- request.
49
- - **Pagination without auto-crawl** — `searchPage`/`rankingPage` plus the
50
- optional `paginate()` helper; always bounded by `limit`/`maxPages` and
51
- `AbortSignal`-aware.
52
- - **Structured events** via `onEvent` (`request_start`, `request_retry`,
53
- `rate_limited`, `circuit_opened`, `auth_refresh`, ...). No credentials are
54
- ever logged or emitted.
55
-
56
- ## Retry ownership
57
-
58
- | Failure | Owner |
21
+ ## 特性
22
+
23
+ - **认证端口,而非登录实现** —— 注入任何实现了 `AccessTokenProvider`
24
+ (可选 `RefreshableAccessTokenProvider`)的对象。浏览器 OAuth/PKCE、
25
+ puppeteer python 辅助逻辑留在宿主应用中。
26
+ - **单一传输层**服务所有调用:base URLApp 头、Bearer 认证、超时
27
+ (`AbortController`)、HTTP(S) 代理(undici)与 SOCKS 代理
28
+ axios + socks-proxy-agent)、响应解析、类型化错误。
29
+ - **类型化错误** —— `PixivNotFoundError`、`PixivRateLimitError`、
30
+ `PixivAuthenticationError`、`PixivServerError`、`PixivNetworkError`、
31
+ `PixivTimeoutError`、`PixivCircuitOpenError` 等,用 `instanceof` 分类,
32
+ 绝不用 `message.includes('429')`。
33
+ - **单一 429 闸门** —— 一个全局限速器为所有请求节流,并施加同一份冷却。
34
+ 没有嵌套重试,也没有请求风暴。
35
+ - **槽位预约式节流** —— 并发调用方被串行化到 t、t+interval、
36
+ t+2·interval…(旧的协调器会把它们在同一瞬间唤醒)。
37
+ - **保守默认值**:最小间隔 1000 ms,抖动 25 %,首次 429 冷却 60 s,
38
+ 指数退避 60→120→240→480 s,上限 15 minRetry-After 始终作为下限被遵守。
39
+ - **惩罚衰减** —— 一次成功绝不会清除惩罚;需连续成功达到可配置次数
40
+ (默认 20)后才衰减。
41
+ - **熔断器** —— 反复 429 OPEN 闸门;请求以 `PixivCircuitOpenError`
42
+ 快速失败;冷却结束后以一次半开探测检验恢复情况。
43
+ - **持久化状态端口** —— 注入 `RateLimitStateStore`(例如 SQLite 适配器),
44
+ 让重启 / 部署后仍记得生效中的冷却。默认是内存实现。
45
+ - **在途请求合并** —— 10 个并发的 `get(123)` 只会发出 1 次 HTTP 请求。
46
+ - **分页但不自动爬取** —— `searchPage`/`rankingPage` 加上可选的
47
+ `paginate()` 辅助函数;始终受 `limit`/`maxPages` 约束,并支持
48
+ `AbortSignal`。
49
+ - **结构化事件**(通过 `onEvent`):`request_start`、`request_retry`、
50
+ `rate_limited`、`circuit_opened`、`auth_refresh` 等。凭据绝不会被记录或发出。
51
+
52
+ ## 重试归属
53
+
54
+ | 失败 | 归属方 |
59
55
  | ------------------------------- | -------------------------------------------- |
60
- | network reset / timeout / 5xx | transport retries (default 2), linear backoff|
61
- | 429 while circuit CLOSED | transport waits the shared gate cooldown |
62
- | 429 after circuit OPEN threshold| fails fast; durable retry belongs to the host (scheduler/outbox) |
63
- | 401 | one `refreshAccessToken()` + retry, then error|
64
- | 400 / 403 / 404 | never retried |
56
+ | 网络重置 / 超时 / 5xx | 传输层重试(默认 2 次),线性退避 |
57
+ | 熔断处于 CLOSED 时的 429 | 传输层等待共享闸门冷却 |
58
+ | 超过熔断 OPEN 阈值后的 429 | 快速失败;持久化重试属于宿主(调度器 / outbox |
59
+ | 401 | 一次 `refreshAccessToken()` + 重试,随后报错 |
60
+ | 400 / 403 / 404 | 永不重试 |
65
61
 
66
- The kit never rotates proxies or IPs on 429 and never alternates between the
67
- App and Web API to dodge rate limits. Endpoint-capability fallback (the novel
68
- text v2→v1/ajax chain) is allowed; anti-rate-limit rotation is not.
62
+ kit 绝不会在 429 时轮换代理或 IP,也绝不在 App API Web API 之间
63
+ 切换以规避速率限制。端点能力回退(小说正文 v2→v1/ajax 链)是允许的;
64
+ 反速率限制的轮换不允许。
69
65
 
70
- ## API surface
66
+ ## API 接口面
71
67
 
72
68
  - `createPixivClient(options)` / `new PixivClient(options)`
73
- - `pixiv.illustrations` `get/detail`, `detailWithTags`, `searchPage`,
74
- `search`, `rankingPage`, `ranking`, `userWorksPage`, `listByUser`,
69
+ - `pixiv.illustrations` —— `get/detail`、`detailWithTags`、`searchPage`、
70
+ `search`、`rankingPage`、`ranking`、`userWorksPage`、`listByUser`、
75
71
  `ugoiraMetadata`
76
- - `pixiv.novels` `get/detail`, `detailCompatible`, `detailWithTags`,
77
- `searchPage`, `search`, `rankingPage`, `ranking`, `userWorksPage`,
78
- `listByUser`, `listSeries`, `text`
72
+ - `pixiv.novels` —— `get/detail`、`detailCompatible`、`detailWithTags`、
73
+ `searchPage`、`search`、`rankingPage`、`ranking`、`userWorksPage`、
74
+ `listByUser`、`listSeries`、`text`
79
75
  - `pixiv.tags.autocomplete(word)`
80
- - `pixiv.users.user(userId)` (Pixiv removed `/v1/user/profile`, so there is no "current user" endpoint)
76
+ - `pixiv.users.user(userId)`(Pixiv 已移除 `/v1/user/profile`,因此没有「当前用户」端点)
81
77
  - `pixiv.media.fetch(url)` → `ArrayBuffer`
82
- - `pixiv.getRateLimitStatus()` `{ circuitState, cooldownRemainingMs, penaltyLevel, last429At, nextAllowedInMs }`
78
+ - `pixiv.getRateLimitStatus()` —— `{ circuitState, cooldownRemainingMs, penaltyLevel, last429At, nextAllowedInMs }`
83
79
 
84
- The package has zero knowledge of host types (`TargetConfig`, schedulers,
85
- SQLite, delivery, …). Mapping a host query into kit options is the host's
86
- job, e.g. `mapTargetToPixivQuery(target): IllustSearchOptions`.
80
+ 该包对宿主类型(`TargetConfig`、调度器、SQLite、投递等)一无所知。
81
+ 把宿主查询映射为 kit 选项是宿主的职责,例如
82
+ `mapTargetToPixivQuery(target): IllustSearchOptions`。
87
83
 
88
- ## When to split out into its own repo
84
+ ## 何时拆分到独立仓库
89
85
 
90
- Do **not** split yet. Split only once both hold:
86
+ **不要**现在就拆分。只有以下两条同时成立再拆:
91
87
 
92
- 1. A second real consumer exists (another bot, an Electron client, a
93
- standalone downloader …) — PixivFlow alone does not justify cross-repo
94
- version coordination.
95
- 2. The public API has run stable for a while and the host adapter has stopped
96
- churning.
88
+ 1. 出现第二个真实消费方(另一个 bot、一个 Electron 客户端、一个独立
89
+ 下载器等)—— 仅靠 PixivFlow 不足以支撑跨仓库的版本协调。
90
+ 2. 公开 API 已稳定运行一段时间,且宿主适配器已不再频繁变动。
97
91
 
98
- At that point: history-split `packages/pixiv-client` its own repo
99
- publish `@redtidev/pixiv-client` and depend on the released version.
92
+ 到那时:用 history-split `packages/pixiv-client` 拆到独立仓库
93
+ 发布 `@redtidev/pixiv-client` 并依赖已发布版本。
100
94
 
101
- ## License
95
+ ## 许可证
102
96
 
103
97
  MIT
@@ -49,7 +49,7 @@ export declare class RateLimitGate {
49
49
  private reservationQueue;
50
50
  /**
51
51
  * Synchronously warm the state from a state store whose load() is sync
52
- * (MemoryRateLimitStateStore, better-sqlite3, ...). Reservation in
52
+ * (MemoryRateLimitStateStore, node:sqlite-backed stores, ...). Reservation in
53
53
  * {@link acquire} then happens with NO preceding await, which is what makes
54
54
  * concurrent callers serialize (A 0s, B 1s, C 2s ...).
55
55
  */
@@ -84,7 +84,7 @@ class RateLimitGate {
84
84
  reservationQueue = Promise.resolve();
85
85
  /**
86
86
  * Synchronously warm the state from a state store whose load() is sync
87
- * (MemoryRateLimitStateStore, better-sqlite3, ...). Reservation in
87
+ * (MemoryRateLimitStateStore, node:sqlite-backed stores, ...). Reservation in
88
88
  * {@link acquire} then happens with NO preceding await, which is what makes
89
89
  * concurrent callers serialize (A 0s, B 1s, C 2s ...).
90
90
  */
@@ -104,7 +104,7 @@ export class RateLimitGate {
104
104
 
105
105
  /**
106
106
  * Synchronously warm the state from a state store whose load() is sync
107
- * (MemoryRateLimitStateStore, better-sqlite3, ...). Reservation in
107
+ * (MemoryRateLimitStateStore, node:sqlite-backed stores, ...). Reservation in
108
108
  * {@link acquire} then happens with NO preceding await, which is what makes
109
109
  * concurrent callers serialize (A 0s, B 1s, C 2s ...).
110
110
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixivflow",
3
- "version": "2.16.1",
3
+ "version": "2.18.0",
4
4
  "description": "🎨 智能的 Pixiv 自动化下载工具 - 支持批量下载插画和小说、定时任务、Docker部署 | Intelligent Pixiv Automation Downloader with batch download, scheduler, and Docker support",
5
5
  "repository": {
6
6
  "type": "git",
@@ -37,6 +37,7 @@
37
37
  "test:scheduled": "jest --runTestsByPath src/__tests__/integration/download-flow.test.ts",
38
38
  "test:concurrency": "jest --runTestsByPath src/__tests__/utils/concurrency.test.ts",
39
39
  "test:performance": "jest --runInBand src/__tests__/performance",
40
+ "smoke:package": "node scripts/package-smoke.mjs",
40
41
  "benchmark": "npm run test:performance",
41
42
  "analyze:complexity": "node scripts/analyze-complexity.js",
42
43
  "analyze:unused": "npx ts-prune",
@@ -88,7 +89,6 @@
88
89
  "tags:cleanup:dry-run": "./scripts/cleanup-github-tags.sh --dry-run"
89
90
  },
90
91
  "devDependencies": {
91
- "@types/better-sqlite3": "^7.6.13",
92
92
  "@types/cors": "^2.8.19",
93
93
  "@types/express": "^4.17.21",
94
94
  "@types/jest": "^29.5.0",
@@ -100,7 +100,6 @@
100
100
  "kill-port": "^2.0.1",
101
101
  "nodemon": "^3.1.14",
102
102
  "npm-run-all": "^4.1.5",
103
- "puppeteer": "^24.43.1",
104
103
  "ts-jest": "^29.4.12",
105
104
  "typescript": "^5.6.2"
106
105
  },
@@ -118,27 +117,27 @@
118
117
  "dependencies": {
119
118
  "@redtidev/pixiv-client": "0.1.0",
120
119
  "axios": "^1.20.0",
121
- "better-sqlite3": "^12.11.1",
122
120
  "cors": "^2.8.6",
123
121
  "cron-parser": "^4.9.0",
124
122
  "express": "^4.22.2",
125
123
  "franc-min": "^6.2.0",
126
124
  "node-cron": "^4.6.0",
127
- "pixiv-token-getter": "^2.2.1",
125
+ "pixiv-token-getter": "^2.6.1",
126
+ "puppeteer-core": "^25.9.0",
128
127
  "socket.io": "^4.8.3",
129
128
  "socks-proxy-agent": "^8.0.5",
130
129
  "undici": "^6.28.0"
131
130
  },
132
131
  "engines": {
133
- "node": ">=22.12.0",
132
+ "node": ">=22.13.0",
134
133
  "npm": ">=9.0.0"
135
134
  },
136
135
  "files": [
137
136
  "dist/",
138
- "config/standalone.config.example.json",
137
+ "config/examples/",
139
138
  "config/fly-two-bots.example.json",
140
139
  "README.md",
141
- "README_EN.md",
140
+ "README.en.md",
142
141
  "LICENSE"
143
142
  ],
144
143
  "keywords": [