pixivflow 2.17.0 → 2.18.1
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/{README_EN.md → README.en.md} +8 -6
- package/README.md +8 -6
- package/config/examples/README.md +218 -0
- package/config/examples/multi-tag-or-limit.zh.json +49 -0
- package/config/examples/specific-download.example.json +173 -0
- package/config/examples/standalone.config.example.json +167 -0
- package/config/examples/standalone.config.novel-chinese.json +124 -0
- package/config/examples/standalone.config.ranking.json +135 -0
- package/config/examples/standalone.config.simple.json +52 -0
- package/config/examples/yesterday-popular-novel.zh.json +48 -0
- package/config/examples/yesterday-ranking-illustration.json +43 -0
- package/dist/commands/DiagnoseEgressCommand.d.ts +98 -0
- package/dist/commands/DiagnoseEgressCommand.d.ts.map +1 -0
- package/dist/commands/DiagnoseEgressCommand.js +327 -0
- package/dist/commands/DiagnoseEgressCommand.js.map +1 -0
- package/dist/commands/MaintainCommand.d.ts.map +1 -1
- package/dist/commands/MaintainCommand.js +10 -15
- package/dist/commands/MaintainCommand.js.map +1 -1
- package/dist/commands/SchedulerCommand.d.ts.map +1 -1
- package/dist/commands/SchedulerCommand.js +63 -38
- package/dist/commands/SchedulerCommand.js.map +1 -1
- 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 +6 -0
- package/dist/commands/scheduler-runtime.d.ts.map +1 -1
- package/dist/commands/scheduler-runtime.js +77 -9
- package/dist/commands/scheduler-runtime.js.map +1 -1
- package/dist/delivery/LegacyOutboxMigration.js +1 -1
- package/dist/delivery/LegacyOutboxMigration.js.map +1 -1
- package/dist/download/DownloadManager.d.ts +9 -0
- package/dist/download/DownloadManager.d.ts.map +1 -1
- package/dist/download/DownloadManager.js +18 -1
- package/dist/download/DownloadManager.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/pixiv-client/PixivFlowPixivClient.d.ts +7 -1
- package/dist/pixiv-client/PixivFlowPixivClient.d.ts.map +1 -1
- package/dist/pixiv-client/PixivFlowPixivClient.js +14 -8
- package/dist/pixiv-client/PixivFlowPixivClient.js.map +1 -1
- package/dist/pixiv-client/TargetSearchRunner.d.ts +2 -2
- package/dist/pixiv-client/TargetSearchRunner.d.ts.map +1 -1
- package/dist/pixiv-client/TargetSearchRunner.js +21 -14
- package/dist/pixiv-client/TargetSearchRunner.js.map +1 -1
- package/dist/puppeteer-login-adapter/auth-code.d.ts +1 -1
- package/dist/puppeteer-login-adapter/auth-code.d.ts.map +1 -1
- package/dist/puppeteer-login-adapter/browser-launch.d.ts +21 -0
- package/dist/puppeteer-login-adapter/browser-launch.d.ts.map +1 -0
- package/dist/puppeteer-login-adapter/browser-launch.js +46 -0
- package/dist/puppeteer-login-adapter/browser-launch.js.map +1 -0
- package/dist/puppeteer-login-adapter/environment.js +2 -2
- package/dist/puppeteer-login-adapter/environment.js.map +1 -1
- package/dist/puppeteer-login-adapter/login-headless.d.ts.map +1 -1
- package/dist/puppeteer-login-adapter/login-headless.js +2 -5
- package/dist/puppeteer-login-adapter/login-headless.js.map +1 -1
- package/dist/puppeteer-login-adapter/login-interactive.d.ts.map +1 -1
- package/dist/puppeteer-login-adapter/login-interactive.js +2 -5
- package/dist/puppeteer-login-adapter/login-interactive.js.map +1 -1
- package/dist/scheduler/MultiScheduleManager.d.ts +33 -1
- package/dist/scheduler/MultiScheduleManager.d.ts.map +1 -1
- package/dist/scheduler/MultiScheduleManager.js +115 -2
- package/dist/scheduler/MultiScheduleManager.js.map +1 -1
- package/dist/scheduler/ScheduleTriggerServer.d.ts +32 -9
- package/dist/scheduler/ScheduleTriggerServer.d.ts.map +1 -1
- package/dist/scheduler/ScheduleTriggerServer.js +34 -6
- package/dist/scheduler/ScheduleTriggerServer.js.map +1 -1
- package/dist/scheduler/Scheduler.d.ts +28 -1
- package/dist/scheduler/Scheduler.d.ts.map +1 -1
- package/dist/scheduler/Scheduler.js +82 -7
- package/dist/scheduler/Scheduler.js.map +1 -1
- package/dist/scheduler/SlotCoordinator.d.ts +28 -3
- package/dist/scheduler/SlotCoordinator.d.ts.map +1 -1
- package/dist/scheduler/SlotCoordinator.js +31 -5
- package/dist/scheduler/SlotCoordinator.js.map +1 -1
- package/dist/storage/Database.d.ts +2 -0
- package/dist/storage/Database.d.ts.map +1 -1
- package/dist/storage/Database.js +7 -6
- package/dist/storage/Database.js.map +1 -1
- package/dist/storage/DatabaseMigration.d.ts +2 -2
- package/dist/storage/DatabaseMigration.d.ts.map +1 -1
- package/dist/storage/DatabaseMigration.js.map +1 -1
- package/dist/storage/drivers/NodeSqliteDriver.d.ts +14 -0
- package/dist/storage/drivers/NodeSqliteDriver.d.ts.map +1 -0
- package/dist/storage/drivers/NodeSqliteDriver.js +123 -0
- package/dist/storage/drivers/NodeSqliteDriver.js.map +1 -0
- package/dist/storage/drivers/SqliteDriver.d.ts +55 -0
- package/dist/storage/drivers/SqliteDriver.d.ts.map +1 -0
- package/dist/storage/drivers/SqliteDriver.js +21 -0
- package/dist/storage/drivers/SqliteDriver.js.map +1 -0
- package/dist/storage/repositories/BaseRepository.d.ts +4 -4
- package/dist/storage/repositories/BaseRepository.d.ts.map +1 -1
- package/dist/storage/repositories/BaseRepository.js.map +1 -1
- package/dist/storage/repositories/DownloadRepository.d.ts +2 -1
- package/dist/storage/repositories/DownloadRepository.d.ts.map +1 -1
- package/dist/storage/repositories/DownloadRepository.js.map +1 -1
- package/dist/storage/repositories/RateLimitStateRepository.d.ts +1 -1
- package/dist/storage/repositories/RateLimitStateRepository.js +1 -1
- package/dist/storage/repositories/SlotRepository.d.ts +17 -0
- package/dist/storage/repositories/SlotRepository.d.ts.map +1 -1
- package/dist/storage/repositories/SlotRepository.js +26 -4
- package/dist/storage/repositories/SlotRepository.js.map +1 -1
- package/dist/topic/TopicPipeline.d.ts +15 -1
- package/dist/topic/TopicPipeline.d.ts.map +1 -1
- package/dist/topic/TopicPipeline.js +18 -2
- package/dist/topic/TopicPipeline.js.map +1 -1
- package/dist/topic/TopicResolver.d.ts +5 -1
- package/dist/topic/TopicResolver.d.ts.map +1 -1
- package/dist/topic/TopicResolver.js +32 -6
- package/dist/topic/TopicResolver.js.map +1 -1
- package/dist/topic/createTopicPipeline.d.ts +2 -2
- package/dist/topic/createTopicPipeline.d.ts.map +1 -1
- package/dist/topic/createTopicPipeline.js +5 -5
- package/dist/topic/createTopicPipeline.js.map +1 -1
- package/dist/topic/types.d.ts +5 -1
- package/dist/topic/types.d.ts.map +1 -1
- package/dist/utils/errors.d.ts +18 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +30 -0
- package/dist/utils/errors.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/webui/package.json +1 -1
- package/node_modules/@redtidev/pixiv-client/README.en.md +105 -0
- package/node_modules/@redtidev/pixiv-client/README.md +67 -73
- package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.d.ts +1 -1
- package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.js +1 -1
- package/node_modules/@redtidev/pixiv-client/src/rate-limit/RateLimitGate.ts +1 -1
- package/package.json +7 -8
|
@@ -3,6 +3,19 @@ import { Database } from '../storage/Database';
|
|
|
3
3
|
import { CellStatus, SlotItemRecord, SlotRecord, SlotStatus } from '../storage/repositories/SlotRepository';
|
|
4
4
|
import { TriggerSource } from './OccurrenceResolver';
|
|
5
5
|
import { TargetOutcome } from './TargetOutcome';
|
|
6
|
+
/**
|
|
7
|
+
* Execution-lease TTL and heartbeat cadence.
|
|
8
|
+
*
|
|
9
|
+
* These describe how fast a DEAD worker is noticed — they are deliberately
|
|
10
|
+
* unrelated to `schedule.timeout` (which caps how long a run may take). Tying
|
|
11
|
+
* the two together made a crashed worker hold its slot for up to 31 minutes
|
|
12
|
+
* before any other trigger could resume it. A live worker renews its lease every
|
|
13
|
+
* SLOT_HEARTBEAT_MS, so the worst-case recovery delay after a crash/restart is
|
|
14
|
+
* about SLOT_LEASE_TTL_MS. The TTL stays comfortably above the heartbeat so an
|
|
15
|
+
* occasional stalled event loop cannot make a healthy run look dead.
|
|
16
|
+
*/
|
|
17
|
+
export declare const SLOT_LEASE_TTL_MS: number;
|
|
18
|
+
export declare const SLOT_HEARTBEAT_MS: number;
|
|
6
19
|
/**
|
|
7
20
|
* Durable execution context attached to a run. A scheduled occurrence always
|
|
8
21
|
* has a slotId; an ad-hoc/manual run has none (it never touches the slot ledger).
|
|
@@ -62,13 +75,25 @@ export declare class SlotCoordinator {
|
|
|
62
75
|
*/
|
|
63
76
|
resolveOccurrence(schedule: ScheduleConfig, config: StandaloneConfig, triggerSource: TriggerSource, at?: Date, requestedSlotName?: string): SlotResolveResult;
|
|
64
77
|
/**
|
|
65
|
-
*
|
|
66
|
-
* creation. A later config reload cannot add/remove cells for this
|
|
78
|
+
* Durably open (or resume) an occurrence and snapshot its target membership
|
|
79
|
+
* on first creation. A later config reload cannot add/remove cells for this
|
|
80
|
+
* occurrence.
|
|
81
|
+
*
|
|
82
|
+
* This deliberately does NOT mark the slot `running`: the HTTP trigger calls
|
|
83
|
+
* it before dispatch so that a crash between "accepted" and "claimed" still
|
|
84
|
+
* leaves a durable `pending` row for reconciliation to pick up (see
|
|
85
|
+
* `markRunning` and MultiScheduleManager's recovery loop).
|
|
67
86
|
*/
|
|
68
|
-
|
|
87
|
+
prepare(slot: SlotContext, schedule: ScheduleConfig, targets: TargetConfig[]): {
|
|
69
88
|
slotRec: SlotRecord;
|
|
70
89
|
alreadyCompleted: boolean;
|
|
71
90
|
};
|
|
91
|
+
/**
|
|
92
|
+
* Mark the occurrence as actually executing. Called by the worker that has
|
|
93
|
+
* already won the cross-process lease (never by the accepting adapter), so a
|
|
94
|
+
* slot is never reported `running` by a process that is not running it.
|
|
95
|
+
*/
|
|
96
|
+
markRunning(slotId: string): void;
|
|
72
97
|
/**
|
|
73
98
|
* The targets that still need to run for this occurrence. Membership comes
|
|
74
99
|
* from the materialized snapshot (stable), intersected with the targets the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlotCoordinator.d.ts","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACX,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAEL,aAAa,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,eAAe,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C;;;;;OAKG;IACH,iBAAiB,CACf,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,gBAAgB,EACxB,aAAa,EAAE,aAAa,EAC5B,EAAE,GAAE,IAAiB,EACrB,iBAAiB,CAAC,EAAE,MAAM,GACzB,iBAAiB;IAkCpB
|
|
1
|
+
{"version":3,"file":"SlotCoordinator.d.ts","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SlotCoordinator = void 0;
|
|
3
|
+
exports.SlotCoordinator = exports.SLOT_HEARTBEAT_MS = exports.SLOT_LEASE_TTL_MS = void 0;
|
|
4
4
|
exports.timezoneForSchedule = timezoneForSchedule;
|
|
5
5
|
const logger_1 = require("../logger");
|
|
6
6
|
const OccurrenceResolver_1 = require("./OccurrenceResolver");
|
|
7
|
+
/**
|
|
8
|
+
* Execution-lease TTL and heartbeat cadence.
|
|
9
|
+
*
|
|
10
|
+
* These describe how fast a DEAD worker is noticed — they are deliberately
|
|
11
|
+
* unrelated to `schedule.timeout` (which caps how long a run may take). Tying
|
|
12
|
+
* the two together made a crashed worker hold its slot for up to 31 minutes
|
|
13
|
+
* before any other trigger could resume it. A live worker renews its lease every
|
|
14
|
+
* SLOT_HEARTBEAT_MS, so the worst-case recovery delay after a crash/restart is
|
|
15
|
+
* about SLOT_LEASE_TTL_MS. The TTL stays comfortably above the heartbeat so an
|
|
16
|
+
* occasional stalled event loop cannot make a healthy run look dead.
|
|
17
|
+
*/
|
|
18
|
+
exports.SLOT_LEASE_TTL_MS = 3 * 60 * 1000;
|
|
19
|
+
exports.SLOT_HEARTBEAT_MS = 30 * 1000;
|
|
7
20
|
/**
|
|
8
21
|
* Owns the Schedule Slot ledger for one scheduler run. A Slot is one durable
|
|
9
22
|
* execution occurrence of a Schedule (NOT a morning/evening row). It ensures
|
|
@@ -58,10 +71,16 @@ class SlotCoordinator {
|
|
|
58
71
|
};
|
|
59
72
|
}
|
|
60
73
|
/**
|
|
61
|
-
*
|
|
62
|
-
* creation. A later config reload cannot add/remove cells for this
|
|
74
|
+
* Durably open (or resume) an occurrence and snapshot its target membership
|
|
75
|
+
* on first creation. A later config reload cannot add/remove cells for this
|
|
76
|
+
* occurrence.
|
|
77
|
+
*
|
|
78
|
+
* This deliberately does NOT mark the slot `running`: the HTTP trigger calls
|
|
79
|
+
* it before dispatch so that a crash between "accepted" and "claimed" still
|
|
80
|
+
* leaves a durable `pending` row for reconciliation to pick up (see
|
|
81
|
+
* `markRunning` and MultiScheduleManager's recovery loop).
|
|
63
82
|
*/
|
|
64
|
-
|
|
83
|
+
prepare(slot, schedule, targets) {
|
|
65
84
|
const targetIds = targets.map((t) => t.id).filter((id) => Boolean(id));
|
|
66
85
|
const { slot: slotRec, created } = this.database.slots.getOrCreateSlot(slot.slotId, {
|
|
67
86
|
scheduleId: slot.scheduleId,
|
|
@@ -86,9 +105,16 @@ class SlotCoordinator {
|
|
|
86
105
|
if (slotRec.status === 'success' || slotRec.status === 'partial') {
|
|
87
106
|
return { slotRec, alreadyCompleted: true };
|
|
88
107
|
}
|
|
89
|
-
this.database.slots.markSlotStatus(slot.slotId, 'running');
|
|
90
108
|
return { slotRec, alreadyCompleted: false };
|
|
91
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Mark the occurrence as actually executing. Called by the worker that has
|
|
112
|
+
* already won the cross-process lease (never by the accepting adapter), so a
|
|
113
|
+
* slot is never reported `running` by a process that is not running it.
|
|
114
|
+
*/
|
|
115
|
+
markRunning(slotId) {
|
|
116
|
+
this.database.slots.markSlotStatus(slotId, 'running');
|
|
117
|
+
}
|
|
92
118
|
/**
|
|
93
119
|
* The targets that still need to run for this occurrence. Membership comes
|
|
94
120
|
* from the materialized snapshot (stable), intersected with the targets the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlotCoordinator.js","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SlotCoordinator.js","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,6 +64,8 @@ export declare class Database implements IDatabase {
|
|
|
64
64
|
transaction<T>(fn: () => T): T;
|
|
65
65
|
/** Expose a prepared-statement helper if needed by services (pragmas etc). */
|
|
66
66
|
pragma(sql: string): unknown;
|
|
67
|
+
/** Run one or more statements for their side effect, discarding any result rows. */
|
|
68
|
+
exec(sql: string): void;
|
|
67
69
|
getToken(key: string): AccessTokenStore | null;
|
|
68
70
|
setToken(key: string, value: AccessTokenStore): void;
|
|
69
71
|
deleteToken(key: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/Database.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Database = void 0;
|
|
7
4
|
exports.isolateCorruptDatabase = isolateCorruptDatabase;
|
|
8
|
-
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
9
5
|
const node_fs_1 = require("node:fs");
|
|
10
6
|
const node_path_1 = require("node:path");
|
|
11
7
|
const errors_1 = require("../utils/errors");
|
|
@@ -21,6 +17,7 @@ const DeliveryRepository_1 = require("./repositories/DeliveryRepository");
|
|
|
21
17
|
const OutboxRepository_1 = require("./repositories/OutboxRepository");
|
|
22
18
|
const MetadataRepository_1 = require("./repositories/MetadataRepository");
|
|
23
19
|
const RateLimitStateRepository_1 = require("./repositories/RateLimitStateRepository");
|
|
20
|
+
const NodeSqliteDriver_1 = require("./drivers/NodeSqliteDriver");
|
|
24
21
|
class Database {
|
|
25
22
|
databasePath;
|
|
26
23
|
db;
|
|
@@ -40,7 +37,7 @@ class Database {
|
|
|
40
37
|
this.databasePath = databasePath;
|
|
41
38
|
try {
|
|
42
39
|
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(this.databasePath), { recursive: true });
|
|
43
|
-
this.db = new
|
|
40
|
+
this.db = new NodeSqliteDriver_1.NodeSqliteDriver(this.databasePath);
|
|
44
41
|
// Enable WAL mode for better concurrency
|
|
45
42
|
this.db.pragma('journal_mode = WAL');
|
|
46
43
|
// Optimize for read-heavy workloads
|
|
@@ -74,7 +71,7 @@ class Database {
|
|
|
74
71
|
/** Absolute path of the SQLite file (used to locate sibling cache dirs). */
|
|
75
72
|
getDatabasePath() {
|
|
76
73
|
// The constructor accepts a possibly-relative path (resolved against CWD
|
|
77
|
-
// by
|
|
74
|
+
// by the SQLite binding). Normalize to absolute so sibling dirs (topic-cache,
|
|
78
75
|
// delivery-outbox) always land beside the real database regardless of CWD.
|
|
79
76
|
return (0, node_path_1.isAbsolute)(this.databasePath) ? this.databasePath : (0, node_path_1.resolve)(process.cwd(), this.databasePath);
|
|
80
77
|
}
|
|
@@ -106,6 +103,10 @@ class Database {
|
|
|
106
103
|
pragma(sql) {
|
|
107
104
|
return this.db.pragma(sql);
|
|
108
105
|
}
|
|
106
|
+
/** Run one or more statements for their side effect, discarding any result rows. */
|
|
107
|
+
exec(sql) {
|
|
108
|
+
this.db.exec(sql);
|
|
109
|
+
}
|
|
109
110
|
// Token management - delegated to TokenRepository
|
|
110
111
|
getToken(key) {
|
|
111
112
|
return this.tokenRepo.getToken(key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Database.js","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { SqliteDriver } from './drivers/SqliteDriver';
|
|
2
2
|
/**
|
|
3
3
|
* Handles database migrations
|
|
4
4
|
*/
|
|
5
5
|
export declare class DatabaseMigration {
|
|
6
6
|
private readonly db;
|
|
7
|
-
constructor(db:
|
|
7
|
+
constructor(db: SqliteDriver);
|
|
8
8
|
/**
|
|
9
9
|
* Run all database migrations
|
|
10
10
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseMigration.d.ts","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DatabaseMigration.d.ts","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI3D;;GAEG;AACH,qBAAa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE7C;;OAEG;IACI,OAAO,IAAI,IAAI;CA8SvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseMigration.js","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":";;;AACA,4CAAgD;AAChD,sCAAmC;AAEnC;;GAEG;AACH,MAAa,iBAAiB;IACC;IAA7B,YAA6B,
|
|
1
|
+
{"version":3,"file":"DatabaseMigration.js","sourceRoot":"","sources":["../../src/storage/DatabaseMigration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SqliteDriver, SqliteStatement } from './SqliteDriver';
|
|
2
|
+
export declare class NodeSqliteDriver implements SqliteDriver {
|
|
3
|
+
private readonly db;
|
|
4
|
+
private transactionDepth;
|
|
5
|
+
private savepointCounter;
|
|
6
|
+
private closed;
|
|
7
|
+
constructor(path: string);
|
|
8
|
+
prepare(sql: string): SqliteStatement;
|
|
9
|
+
exec(sql: string): void;
|
|
10
|
+
pragma(sql: string): unknown;
|
|
11
|
+
transaction<A extends unknown[], R>(fn: (...args: A) => R): (...args: A) => R;
|
|
12
|
+
close(): void;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=NodeSqliteDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeSqliteDriver.d.ts","sourceRoot":"","sources":["../../../src/storage/drivers/NodeSqliteDriver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAmB,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA2BrF,qBAAa,gBAAiB,YAAW,YAAY;IACnD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAe;IAClC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,MAAM,CAAS;gBAEX,IAAI,EAAE,MAAM;IAMjB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAoBrC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAuB5B,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC;IA4B7E,KAAK,IAAI,IAAI;CAKrB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NodeSqliteDriver = void 0;
|
|
4
|
+
const node_sqlite_1 = require("node:sqlite");
|
|
5
|
+
/**
|
|
6
|
+
* SQLite driver backed by Node's built-in `node:sqlite`.
|
|
7
|
+
*
|
|
8
|
+
* Why this binding: it ships inside Node, so installing pixivflow requires no compiler
|
|
9
|
+
* toolchain, no node-gyp, and no install-time build step. `node:sqlite` is unflagged from
|
|
10
|
+
* Node v22.13.0 (the `engines` floor); before that it needs `--experimental-sqlite` and
|
|
11
|
+
* prints an ExperimentalWarning, which is why the floor is what it is.
|
|
12
|
+
*
|
|
13
|
+
* Two binding defaults differ from better-sqlite3 and are corrected here rather than
|
|
14
|
+
* inherited silently:
|
|
15
|
+
*
|
|
16
|
+
* 1. Lock wait. better-sqlite3 waits up to 5s for a competing writer before returning
|
|
17
|
+
* SQLITE_BUSY. `node:sqlite` defaults to 0 (fail immediately), and the CLI and the
|
|
18
|
+
* scheduler do open the same file. Left alone this would turn a brief overlap into a
|
|
19
|
+
* spurious "database is locked" failure.
|
|
20
|
+
* 2. Foreign keys. better-sqlite3 defaults them OFF; `node:sqlite` defaults them ON. The
|
|
21
|
+
* schema declares no FOREIGN KEY constraints, so the pragma is what keeps behaviour
|
|
22
|
+
* identical either way.
|
|
23
|
+
*
|
|
24
|
+
* Both are applied as PRAGMAs rather than constructor options on purpose: the option forms
|
|
25
|
+
* (and their names) landed across different Node minors, while the pragma behaves the same
|
|
26
|
+
* on every supported version.
|
|
27
|
+
*/
|
|
28
|
+
const BUSY_TIMEOUT_MS = 5000;
|
|
29
|
+
class NodeSqliteDriver {
|
|
30
|
+
db;
|
|
31
|
+
transactionDepth = 0;
|
|
32
|
+
savepointCounter = 0;
|
|
33
|
+
closed = false;
|
|
34
|
+
constructor(path) {
|
|
35
|
+
this.db = new node_sqlite_1.DatabaseSync(path);
|
|
36
|
+
this.pragma('foreign_keys = OFF');
|
|
37
|
+
this.pragma(`busy_timeout = ${BUSY_TIMEOUT_MS}`);
|
|
38
|
+
}
|
|
39
|
+
prepare(sql) {
|
|
40
|
+
const statement = this.db.prepare(sql);
|
|
41
|
+
return {
|
|
42
|
+
// `never[]` keeps the spread assignable to the binding's parameter types
|
|
43
|
+
// (`null | number | bigint | string | Uint8Array`) without weakening the public
|
|
44
|
+
// signature to `any`.
|
|
45
|
+
run: (...params) => {
|
|
46
|
+
const result = statement.run(...params);
|
|
47
|
+
return {
|
|
48
|
+
// better-sqlite3 hands back plain numbers; the binding may hand back BigInt, and
|
|
49
|
+
// `changes === 0` / `> 0` comparisons downstream would silently break on `0n`.
|
|
50
|
+
changes: Number(result.changes),
|
|
51
|
+
lastInsertRowid: Number(result.lastInsertRowid),
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
get: (...params) => statement.get(...params),
|
|
55
|
+
all: (...params) => statement.all(...params),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exec(sql) {
|
|
59
|
+
this.db.exec(sql);
|
|
60
|
+
}
|
|
61
|
+
pragma(sql) {
|
|
62
|
+
// better-sqlite3's `.pragma()` takes the pragma body (`journal_mode = WAL`) and adds
|
|
63
|
+
// the keyword itself, while direct SQL callers pass a full statement. Accept both so
|
|
64
|
+
// neither call style silently becomes a syntax error.
|
|
65
|
+
const statement = /^\s*pragma\b/i.test(sql) ? sql : `PRAGMA ${sql}`;
|
|
66
|
+
try {
|
|
67
|
+
const rows = this.db.prepare(statement).all();
|
|
68
|
+
if (rows.length === 0)
|
|
69
|
+
return undefined;
|
|
70
|
+
if (rows.length > 1)
|
|
71
|
+
return rows;
|
|
72
|
+
const row = rows[0];
|
|
73
|
+
if (row !== null && typeof row === 'object') {
|
|
74
|
+
const values = Object.values(row);
|
|
75
|
+
return values.length === 1 ? values[0] : row;
|
|
76
|
+
}
|
|
77
|
+
return row;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Not every statement can be read as a row source. Run it for its side effect and
|
|
81
|
+
// report no value, the way a fire-and-forget pragma behaves.
|
|
82
|
+
this.db.exec(statement);
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
transaction(fn) {
|
|
87
|
+
return (...args) => {
|
|
88
|
+
// Nested transactions are legitimate here (a service-level transaction calling
|
|
89
|
+
// repository methods that are themselves transactional). SQLite cannot nest BEGIN,
|
|
90
|
+
// so inner scopes become savepoints — the same strategy better-sqlite3 uses.
|
|
91
|
+
const nested = this.transactionDepth > 0;
|
|
92
|
+
const savepoint = `pixivflow_sp_${(this.savepointCounter += 1)}`;
|
|
93
|
+
this.db.exec(nested ? `SAVEPOINT ${savepoint}` : 'BEGIN');
|
|
94
|
+
this.transactionDepth += 1;
|
|
95
|
+
try {
|
|
96
|
+
const result = fn(...args);
|
|
97
|
+
this.transactionDepth -= 1;
|
|
98
|
+
this.db.exec(nested ? `RELEASE ${savepoint}` : 'COMMIT');
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
this.transactionDepth -= 1;
|
|
103
|
+
try {
|
|
104
|
+
this.db.exec(nested ? `ROLLBACK TO ${savepoint}` : 'ROLLBACK');
|
|
105
|
+
if (nested)
|
|
106
|
+
this.db.exec(`RELEASE ${savepoint}`);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// The connection is already unwound (or closed). Surface the original error.
|
|
110
|
+
}
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
close() {
|
|
116
|
+
if (this.closed)
|
|
117
|
+
return;
|
|
118
|
+
this.closed = true;
|
|
119
|
+
this.db.close();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.NodeSqliteDriver = NodeSqliteDriver;
|
|
123
|
+
//# sourceMappingURL=NodeSqliteDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeSqliteDriver.js","sourceRoot":"","sources":["../../../src/storage/drivers/NodeSqliteDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal SQLite driver contract for the storage layer.
|
|
3
|
+
*
|
|
4
|
+
* Everything under `src/storage/` talks to SQLite through this interface and nothing
|
|
5
|
+
* else. The binding is a deployment concern (it decides whether `npm install -g pixivflow`
|
|
6
|
+
* compiles native code), so it lives behind one seam: swapping `node:sqlite` for another
|
|
7
|
+
* binding stays a change to one file instead of a sweep over every repository.
|
|
8
|
+
*
|
|
9
|
+
* The shapes intentionally mirror the synchronous better-sqlite3 API the repositories were
|
|
10
|
+
* written against, so call sites keep working unchanged:
|
|
11
|
+
* - `prepare()` returns a reusable statement;
|
|
12
|
+
* - a statement accepts an optional leading named-parameter object followed by
|
|
13
|
+
* positional parameters (`stmt.run({ id }, 'extra')`);
|
|
14
|
+
* - `.get()` returns `undefined` when no row matches.
|
|
15
|
+
*
|
|
16
|
+
* Bindings differ in their defaults, so implementations are responsible for normalising
|
|
17
|
+
* them (see `NodeSqliteDriver` for the lock-wait and foreign-key details).
|
|
18
|
+
*/
|
|
19
|
+
export interface SqliteRunResult {
|
|
20
|
+
/** Number of rows changed. Normalised to `number` so `changes === 0` keeps working. */
|
|
21
|
+
changes: number;
|
|
22
|
+
/** Rowid of the last inserted row. Normalised to `number` for the same reason. */
|
|
23
|
+
lastInsertRowid: number;
|
|
24
|
+
}
|
|
25
|
+
export interface SqliteStatement {
|
|
26
|
+
run(...params: unknown[]): SqliteRunResult;
|
|
27
|
+
get(...params: unknown[]): unknown;
|
|
28
|
+
all(...params: unknown[]): unknown[];
|
|
29
|
+
}
|
|
30
|
+
export interface SqliteDriver {
|
|
31
|
+
prepare(sql: string): SqliteStatement;
|
|
32
|
+
/** Execute one or more statements, discarding any result rows. */
|
|
33
|
+
exec(sql: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Apply or read a PRAGMA.
|
|
36
|
+
*
|
|
37
|
+
* Accepts either the pragma body (`journal_mode = WAL`) or a full statement
|
|
38
|
+
* (`PRAGMA integrity_check;`), so both calling styles survive the binding swap.
|
|
39
|
+
*
|
|
40
|
+
* Follows better-sqlite3's shape: a single-row/single-column result collapses to that
|
|
41
|
+
* scalar, a multi-row result (e.g. `table_info`) comes back as an array of row objects,
|
|
42
|
+
* and a statement that yields nothing returns `undefined`.
|
|
43
|
+
*/
|
|
44
|
+
pragma(sql: string): unknown;
|
|
45
|
+
/**
|
|
46
|
+
* Wrap `fn` in a transaction and return a function that runs it.
|
|
47
|
+
*
|
|
48
|
+
* Nested calls join the outer transaction rather than starting a second one — the
|
|
49
|
+
* storage layer nests legitimately (a service-level transaction calling repository
|
|
50
|
+
* methods that are themselves transactional).
|
|
51
|
+
*/
|
|
52
|
+
transaction<A extends unknown[], R>(fn: (...args: A) => R): (...args: A) => R;
|
|
53
|
+
close(): void;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=SqliteDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteDriver.d.ts","sourceRoot":"","sources":["../../../src/storage/drivers/SqliteDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,CAAC;IAC3C,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,GAAG,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAC;IAEtC,kEAAkE;IAClE,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAExB;;;;;;;;;OASG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAE9E,KAAK,IAAI,IAAI,CAAC;CACf"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Minimal SQLite driver contract for the storage layer.
|
|
4
|
+
*
|
|
5
|
+
* Everything under `src/storage/` talks to SQLite through this interface and nothing
|
|
6
|
+
* else. The binding is a deployment concern (it decides whether `npm install -g pixivflow`
|
|
7
|
+
* compiles native code), so it lives behind one seam: swapping `node:sqlite` for another
|
|
8
|
+
* binding stays a change to one file instead of a sweep over every repository.
|
|
9
|
+
*
|
|
10
|
+
* The shapes intentionally mirror the synchronous better-sqlite3 API the repositories were
|
|
11
|
+
* written against, so call sites keep working unchanged:
|
|
12
|
+
* - `prepare()` returns a reusable statement;
|
|
13
|
+
* - a statement accepts an optional leading named-parameter object followed by
|
|
14
|
+
* positional parameters (`stmt.run({ id }, 'extra')`);
|
|
15
|
+
* - `.get()` returns `undefined` when no row matches.
|
|
16
|
+
*
|
|
17
|
+
* Bindings differ in their defaults, so implementations are responsible for normalising
|
|
18
|
+
* them (see `NodeSqliteDriver` for the lock-wait and foreign-key details).
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
//# sourceMappingURL=SqliteDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteDriver.js","sourceRoot":"","sources":["../../../src/storage/drivers/SqliteDriver.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|