pixivflow 2.14.0 → 2.16.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 (192) hide show
  1. package/dist/auth/PixivAuth.d.ts +18 -0
  2. package/dist/auth/PixivAuth.d.ts.map +1 -0
  3. package/dist/auth/PixivAuth.js +200 -0
  4. package/dist/auth/PixivAuth.js.map +1 -0
  5. package/dist/commands/DoctorCommand.d.ts.map +1 -1
  6. package/dist/commands/DoctorCommand.js +23 -0
  7. package/dist/commands/DoctorCommand.js.map +1 -1
  8. package/dist/commands/DownloadCommand.js +4 -4
  9. package/dist/commands/DownloadCommand.js.map +1 -1
  10. package/dist/commands/HealthCommand.d.ts.map +1 -1
  11. package/dist/commands/HealthCommand.js +14 -1
  12. package/dist/commands/HealthCommand.js.map +1 -1
  13. package/dist/commands/OutboxCommand.d.ts.map +1 -1
  14. package/dist/commands/OutboxCommand.js +49 -2
  15. package/dist/commands/OutboxCommand.js.map +1 -1
  16. package/dist/commands/RandomDownloadCommand.js +4 -4
  17. package/dist/commands/RandomDownloadCommand.js.map +1 -1
  18. package/dist/commands/RunsCommand.d.ts +21 -0
  19. package/dist/commands/RunsCommand.d.ts.map +1 -0
  20. package/dist/commands/RunsCommand.js +65 -0
  21. package/dist/commands/RunsCommand.js.map +1 -0
  22. package/dist/commands/TagsCommand.js +4 -4
  23. package/dist/commands/TagsCommand.js.map +1 -1
  24. package/dist/commands/TopicCommand.d.ts.map +1 -1
  25. package/dist/commands/TopicCommand.js +4 -4
  26. package/dist/commands/TopicCommand.js.map +1 -1
  27. package/dist/commands/VersionCommand.d.ts +2 -0
  28. package/dist/commands/VersionCommand.d.ts.map +1 -1
  29. package/dist/commands/VersionCommand.js +10 -46
  30. package/dist/commands/VersionCommand.js.map +1 -1
  31. package/dist/commands/index.d.ts +2 -1
  32. package/dist/commands/index.d.ts.map +1 -1
  33. package/dist/commands/index.js +4 -1
  34. package/dist/commands/index.js.map +1 -1
  35. package/dist/commands/scheduler-runtime.d.ts +2 -2
  36. package/dist/commands/scheduler-runtime.d.ts.map +1 -1
  37. package/dist/commands/scheduler-runtime.js +6 -4
  38. package/dist/commands/scheduler-runtime.js.map +1 -1
  39. package/dist/config/types.d.ts +7 -0
  40. package/dist/config/types.d.ts.map +1 -1
  41. package/dist/delivery/DeliveryDispatcher.d.ts +3 -0
  42. package/dist/delivery/DeliveryDispatcher.d.ts.map +1 -1
  43. package/dist/delivery/DeliveryDispatcher.js +6 -2
  44. package/dist/delivery/DeliveryDispatcher.js.map +1 -1
  45. package/dist/delivery/HttpMultipartDelivery.d.ts +13 -0
  46. package/dist/delivery/HttpMultipartDelivery.d.ts.map +1 -1
  47. package/dist/delivery/HttpMultipartDelivery.js +34 -19
  48. package/dist/delivery/HttpMultipartDelivery.js.map +1 -1
  49. package/dist/delivery/OutboxWorker.d.ts +14 -0
  50. package/dist/delivery/OutboxWorker.d.ts.map +1 -1
  51. package/dist/delivery/OutboxWorker.js +120 -5
  52. package/dist/delivery/OutboxWorker.js.map +1 -1
  53. package/dist/delivery/errorClass.d.ts +12 -0
  54. package/dist/delivery/errorClass.d.ts.map +1 -0
  55. package/dist/delivery/errorClass.js +34 -0
  56. package/dist/delivery/errorClass.js.map +1 -0
  57. package/dist/download/IllustrationDownloader.d.ts +1 -1
  58. package/dist/download/IllustrationDownloader.d.ts.map +1 -1
  59. package/dist/download/NovelDownloader.d.ts +1 -1
  60. package/dist/download/NovelDownloader.d.ts.map +1 -1
  61. package/dist/download/RankingService.d.ts +1 -1
  62. package/dist/download/RankingService.d.ts.map +1 -1
  63. package/dist/download/handlers/IllustrationTargetHandler.d.ts.map +1 -1
  64. package/dist/download/handlers/IllustrationTargetHandler.js +12 -5
  65. package/dist/download/handlers/IllustrationTargetHandler.js.map +1 -1
  66. package/dist/download/handlers/NovelTargetHandler.d.ts.map +1 -1
  67. package/dist/download/handlers/NovelTargetHandler.js +12 -5
  68. package/dist/download/handlers/NovelTargetHandler.js.map +1 -1
  69. package/dist/download/pipeline/DownloadPipeline.d.ts +1 -1
  70. package/dist/download/pipeline/DownloadPipeline.d.ts.map +1 -1
  71. package/dist/download/plan/DownloadPlanner.d.ts +1 -1
  72. package/dist/download/plan/DownloadPlanner.d.ts.map +1 -1
  73. package/dist/download/recovery/ErrorRecovery.d.ts.map +1 -1
  74. package/dist/download/recovery/ErrorRecovery.js +8 -2
  75. package/dist/download/recovery/ErrorRecovery.js.map +1 -1
  76. package/dist/index.js +1 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/interfaces/IPixivClient.d.ts +1 -5
  79. package/dist/interfaces/IPixivClient.d.ts.map +1 -1
  80. package/dist/package.json +1 -1
  81. package/dist/pixiv/AuthClient.d.ts +6 -12
  82. package/dist/pixiv/AuthClient.d.ts.map +1 -1
  83. package/dist/pixiv/AuthClient.js +7 -188
  84. package/dist/pixiv/AuthClient.js.map +1 -1
  85. package/dist/pixiv/PixivClient.d.ts +14 -156
  86. package/dist/pixiv/PixivClient.d.ts.map +1 -1
  87. package/dist/pixiv/PixivClient.js +15 -292
  88. package/dist/pixiv/PixivClient.js.map +1 -1
  89. package/dist/pixiv-client/PixivAuthTokenProvider.d.ts +16 -0
  90. package/dist/pixiv-client/PixivAuthTokenProvider.d.ts.map +1 -0
  91. package/dist/pixiv-client/PixivAuthTokenProvider.js +27 -0
  92. package/dist/pixiv-client/PixivAuthTokenProvider.js.map +1 -0
  93. package/dist/pixiv-client/PixivFlowPixivClient.d.ts +77 -0
  94. package/dist/pixiv-client/PixivFlowPixivClient.d.ts.map +1 -0
  95. package/dist/pixiv-client/PixivFlowPixivClient.js +146 -0
  96. package/dist/pixiv-client/PixivFlowPixivClient.js.map +1 -0
  97. package/dist/pixiv-client/TargetSearchRunner.d.ts +29 -0
  98. package/dist/pixiv-client/TargetSearchRunner.d.ts.map +1 -0
  99. package/dist/pixiv-client/TargetSearchRunner.js +182 -0
  100. package/dist/pixiv-client/TargetSearchRunner.js.map +1 -0
  101. package/dist/pixiv-client/createPixivFlowClient.d.ts +11 -0
  102. package/dist/pixiv-client/createPixivFlowClient.d.ts.map +1 -0
  103. package/dist/pixiv-client/createPixivFlowClient.js +29 -0
  104. package/dist/pixiv-client/createPixivFlowClient.js.map +1 -0
  105. package/dist/pixiv-client/query-mapper.d.ts +14 -0
  106. package/dist/pixiv-client/query-mapper.d.ts.map +1 -0
  107. package/dist/pixiv-client/query-mapper.js +63 -0
  108. package/dist/pixiv-client/query-mapper.js.map +1 -0
  109. package/dist/random-download.js +4 -4
  110. package/dist/random-download.js.map +1 -1
  111. package/dist/scheduler/SlotCoordinator.d.ts +7 -0
  112. package/dist/scheduler/SlotCoordinator.d.ts.map +1 -1
  113. package/dist/scheduler/SlotCoordinator.js +26 -0
  114. package/dist/scheduler/SlotCoordinator.js.map +1 -1
  115. package/dist/storage/Database.d.ts +4 -0
  116. package/dist/storage/Database.d.ts.map +1 -1
  117. package/dist/storage/Database.js +7 -0
  118. package/dist/storage/Database.js.map +1 -1
  119. package/dist/storage/DatabaseMigration.d.ts.map +1 -1
  120. package/dist/storage/DatabaseMigration.js +30 -0
  121. package/dist/storage/DatabaseMigration.js.map +1 -1
  122. package/dist/storage/repositories/OutboxRepository.d.ts +56 -0
  123. package/dist/storage/repositories/OutboxRepository.d.ts.map +1 -1
  124. package/dist/storage/repositories/OutboxRepository.js +189 -0
  125. package/dist/storage/repositories/OutboxRepository.js.map +1 -1
  126. package/dist/storage/repositories/RateLimitStateRepository.d.ts +17 -0
  127. package/dist/storage/repositories/RateLimitStateRepository.d.ts.map +1 -0
  128. package/dist/storage/repositories/RateLimitStateRepository.js +46 -0
  129. package/dist/storage/repositories/RateLimitStateRepository.js.map +1 -0
  130. package/dist/tags/types.d.ts +1 -1
  131. package/dist/tags/types.d.ts.map +1 -1
  132. package/dist/utils/concurrency.d.ts.map +1 -1
  133. package/dist/utils/concurrency.js +2 -1
  134. package/dist/utils/concurrency.js.map +1 -1
  135. package/dist/utils/errors.d.ts +20 -0
  136. package/dist/utils/errors.d.ts.map +1 -1
  137. package/dist/utils/errors.js +56 -1
  138. package/dist/utils/errors.js.map +1 -1
  139. package/dist/utils/pixiv-sort.d.ts +1 -1
  140. package/dist/utils/pixiv-sort.d.ts.map +1 -1
  141. package/dist/utils/pixiv-utils.d.ts +1 -1
  142. package/dist/utils/pixiv-utils.d.ts.map +1 -1
  143. package/dist/utils/redact.d.ts +14 -0
  144. package/dist/utils/redact.d.ts.map +1 -0
  145. package/dist/utils/redact.js +47 -0
  146. package/dist/utils/redact.js.map +1 -0
  147. package/dist/utils/token-maintenance.d.ts +1 -1
  148. package/dist/utils/token-maintenance.d.ts.map +1 -1
  149. package/dist/version.d.ts +5 -0
  150. package/dist/version.d.ts.map +1 -0
  151. package/dist/version.js +6 -0
  152. package/dist/version.js.map +1 -0
  153. package/dist/webui/package.json +1 -1
  154. package/dist/webui/services/DownloadTaskManager.js +4 -4
  155. package/dist/webui/services/DownloadTaskManager.js.map +1 -1
  156. package/package.json +11 -4
  157. package/dist/pixiv/IPixivRequestHandler.d.ts +0 -26
  158. package/dist/pixiv/IPixivRequestHandler.d.ts.map +0 -1
  159. package/dist/pixiv/IPixivRequestHandler.js +0 -3
  160. package/dist/pixiv/IPixivRequestHandler.js.map +0 -1
  161. package/dist/pixiv/RateLimitCoordinator.d.ts +0 -30
  162. package/dist/pixiv/RateLimitCoordinator.d.ts.map +0 -1
  163. package/dist/pixiv/RateLimitCoordinator.js +0 -66
  164. package/dist/pixiv/RateLimitCoordinator.js.map +0 -1
  165. package/dist/pixiv/client/IllustService.d.ts +0 -24
  166. package/dist/pixiv/client/IllustService.d.ts.map +0 -1
  167. package/dist/pixiv/client/IllustService.js +0 -70
  168. package/dist/pixiv/client/IllustService.js.map +0 -1
  169. package/dist/pixiv/client/MediaDownloadService.d.ts +0 -11
  170. package/dist/pixiv/client/MediaDownloadService.d.ts.map +0 -1
  171. package/dist/pixiv/client/MediaDownloadService.js +0 -22
  172. package/dist/pixiv/client/MediaDownloadService.js.map +0 -1
  173. package/dist/pixiv/client/NovelService.d.ts +0 -30
  174. package/dist/pixiv/client/NovelService.d.ts.map +0 -1
  175. package/dist/pixiv/client/NovelService.js +0 -203
  176. package/dist/pixiv/client/NovelService.js.map +0 -1
  177. package/dist/pixiv/client/PixivApiCore.d.ts +0 -52
  178. package/dist/pixiv/client/PixivApiCore.d.ts.map +0 -1
  179. package/dist/pixiv/client/PixivApiCore.js +0 -412
  180. package/dist/pixiv/client/PixivApiCore.js.map +0 -1
  181. package/dist/pixiv/client/SearchService.d.ts +0 -21
  182. package/dist/pixiv/client/SearchService.d.ts.map +0 -1
  183. package/dist/pixiv/client/SearchService.js +0 -207
  184. package/dist/pixiv/client/SearchService.js.map +0 -1
  185. package/dist/pixiv/client/search/SearchFilters.d.ts +0 -31
  186. package/dist/pixiv/client/search/SearchFilters.d.ts.map +0 -1
  187. package/dist/pixiv/client/search/SearchFilters.js +0 -102
  188. package/dist/pixiv/client/search/SearchFilters.js.map +0 -1
  189. package/dist/pixiv/types.d.ts +0 -72
  190. package/dist/pixiv/types.d.ts.map +0 -1
  191. package/dist/pixiv/types.js +0 -6
  192. package/dist/pixiv/types.js.map +0 -1
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TargetSearchRunner = void 0;
4
+ const promises_1 = require("node:timers/promises");
5
+ const logger_1 = require("../logger");
6
+ const date_utils_1 = require("../utils/date-utils");
7
+ const date_utils_2 = require("../utils/date-utils");
8
+ const pixiv_sort_1 = require("../utils/pixiv-sort");
9
+ const query_mapper_1 = require("./query-mapper");
10
+ /**
11
+ * Host-side replacement for the old in-kit SearchService: drives the kit's
12
+ * per-page API with PixivFlow-specific date-aware pagination, early stop,
13
+ * tag-OR merging, over-fetch and final sorting. Nothing here belongs in the
14
+ * reusable kit (all of it is TargetConfig/product behavior).
15
+ */
16
+ class TargetSearchRunner {
17
+ kit;
18
+ constructor(kit) {
19
+ this.kit = kit;
20
+ }
21
+ async searchIllustrations(target, requestDelayMs) {
22
+ if (target.tagRelation === 'or') {
23
+ return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleIllust(t, tag, d));
24
+ }
25
+ return this.searchSingleIllust(target, target.tag, requestDelayMs);
26
+ }
27
+ async searchNovels(target, requestDelayMs) {
28
+ if (target.tagRelation === 'or') {
29
+ return this.mergeTagUnion(target, requestDelayMs, (t, tag, d) => this.searchSingleNovel(t, tag, d));
30
+ }
31
+ return this.searchSingleNovel(target, target.tag, requestDelayMs);
32
+ }
33
+ async mergeTagUnion(target, requestDelayMs, runOne) {
34
+ const tags = target.tag.split(/\s+/).map((t) => t.trim()).filter(Boolean);
35
+ if (tags.length <= 1)
36
+ return runOne(target, target.tag, requestDelayMs);
37
+ const seen = new Set();
38
+ const merged = [];
39
+ for (let i = 0; i < tags.length; i++) {
40
+ const part = await runOne(target, tags[i], requestDelayMs);
41
+ for (const item of part) {
42
+ const key = String(item.id);
43
+ if (!seen.has(key)) {
44
+ seen.add(key);
45
+ merged.push(item);
46
+ }
47
+ }
48
+ if (target.limit && merged.length >= target.limit)
49
+ break;
50
+ if (i < tags.length - 1 && requestDelayMs > 0)
51
+ await (0, promises_1.setTimeout)(requestDelayMs);
52
+ }
53
+ const sorted = (0, pixiv_sort_1.sortPixivItems)(merged, target.sort);
54
+ return target.limit ? sorted.slice(0, target.limit) : sorted;
55
+ }
56
+ async searchSingleIllust(target, tag, requestDelayMs) {
57
+ return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.illustrations.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToIllustQuery)({ ...t, tag: g }));
58
+ }
59
+ async searchSingleNovel(target, tag, requestDelayMs) {
60
+ return this.searchWithPagination(target, tag, requestDelayMs, (options) => this.kit.novels.searchPage(options), (t, g) => (0, query_mapper_1.mapTargetToNovelQuery)({ ...t, tag: g }));
61
+ }
62
+ /**
63
+ * Date-aware pagination. Mirrors the legacy SearchService semantics:
64
+ * - parse/validate the configured date range;
65
+ * - over-fetch when a limit + date filter would otherwise truncate too early;
66
+ * - stop paging once date_desc/date_asc walks past the range boundary;
67
+ * - post-filter popular_desc results by the date range;
68
+ * - final stable sort + target.limit slice.
69
+ */
70
+ async searchWithPagination(target, tag, requestDelayMs, fetchPage, buildBase) {
71
+ const fetchOne = fetchPage;
72
+ logger_1.logger.debug('Searching Pixiv', {
73
+ tag,
74
+ sort: target.sort,
75
+ searchTarget: target.searchTarget,
76
+ startDate: target.startDate,
77
+ endDate: target.endDate,
78
+ });
79
+ const parsed = (0, date_utils_1.parseDateRange)(target.startDate, target.endDate);
80
+ if (parsed === null && (target.startDate || target.endDate)) {
81
+ logger_1.logger.warn('Invalid date range specified, returning empty results', {
82
+ startDate: target.startDate,
83
+ endDate: target.endDate,
84
+ });
85
+ return [];
86
+ }
87
+ const startDate = parsed?.startDate ?? null;
88
+ const endDate = parsed?.endDate ?? null;
89
+ const sortMode = target.sort || 'date_desc';
90
+ const hasDateFilter = !!(startDate || endDate);
91
+ const fetchLimit = this.calculateFetchLimit(target.limit, sortMode, hasDateFilter);
92
+ const base = buildBase({ ...target, tag }, tag);
93
+ const results = [];
94
+ let cursor = null;
95
+ let pageCount = 0;
96
+ let shouldStop = false;
97
+ while ((!fetchLimit || results.length < fetchLimit) && !shouldStop) {
98
+ pageCount++;
99
+ // Dates are intentionally filtered CLIENT-side below (legacy behavior;
100
+ // PixivFlow needs the early-stop walk on create_date).
101
+ const page = await fetchOne({
102
+ word: base.word,
103
+ sort: base.sort,
104
+ searchTarget: base.searchTarget,
105
+ includeR18: base.includeR18,
106
+ cursor,
107
+ });
108
+ cursor = page.next;
109
+ for (const item of page.items) {
110
+ const decision = this.filterItemByDate(item, target, startDate, endDate, sortMode);
111
+ if (decision.shouldStop) {
112
+ shouldStop = true;
113
+ break;
114
+ }
115
+ if (decision.shouldInclude) {
116
+ results.push(item);
117
+ if (fetchLimit && results.length >= fetchLimit)
118
+ break;
119
+ }
120
+ }
121
+ if (cursor && requestDelayMs > 0 && !shouldStop) {
122
+ logger_1.logger.debug(`Tag "${tag}" page ${pageCount}: total collected ${results.length}, waiting ${requestDelayMs}ms...`);
123
+ await (0, promises_1.setTimeout)(requestDelayMs);
124
+ }
125
+ if (!cursor)
126
+ break;
127
+ }
128
+ let finalResults = results;
129
+ if (sortMode === 'popular_desc' && hasDateFilter && results.length > 0) {
130
+ const valid = results.filter((item) => {
131
+ if (!item.create_date)
132
+ return false;
133
+ const d = new Date(item.create_date);
134
+ return !isNaN(d.getTime()) && (0, date_utils_2.isDateInRange)(d, startDate, endDate);
135
+ });
136
+ finalResults = valid;
137
+ }
138
+ const sorted = (0, pixiv_sort_1.sortPixivItems)(finalResults, target.sort);
139
+ return target.limit ? sorted.slice(0, target.limit) : sorted;
140
+ }
141
+ filterItemByDate(item, target, startDate, endDate, sortMode) {
142
+ const itemDate = item.create_date ? new Date(item.create_date) : null;
143
+ if (!itemDate || isNaN(itemDate.getTime())) {
144
+ if (!startDate && !endDate)
145
+ return { shouldInclude: true, shouldStop: false };
146
+ logger_1.logger.debug(`Skipping item ${item.id} with invalid date ${item.create_date}`);
147
+ return { shouldInclude: false, shouldStop: false };
148
+ }
149
+ const inRange = (0, date_utils_2.isDateInRange)(itemDate, startDate, endDate);
150
+ if (sortMode === 'date_desc' && !inRange) {
151
+ if (endDate && itemDate > endDate) {
152
+ return { shouldInclude: false, shouldStop: false };
153
+ }
154
+ if (startDate && itemDate < startDate) {
155
+ logger_1.logger.debug(`Stopping search: item ${item.id} before startDate ${target.startDate}`);
156
+ return { shouldInclude: false, shouldStop: true };
157
+ }
158
+ }
159
+ if (sortMode === 'date_asc' && !inRange) {
160
+ if (startDate && itemDate < startDate)
161
+ return { shouldInclude: false, shouldStop: false };
162
+ if (endDate && itemDate > endDate) {
163
+ logger_1.logger.debug(`Stopping search: item ${item.id} after endDate ${target.endDate}`);
164
+ return { shouldInclude: false, shouldStop: true };
165
+ }
166
+ }
167
+ if (sortMode === 'popular_desc' && !inRange) {
168
+ return { shouldInclude: false, shouldStop: false };
169
+ }
170
+ return { shouldInclude: inRange || (!startDate && !endDate), shouldStop: false };
171
+ }
172
+ calculateFetchLimit(limit, sortMode, hasDateFilter) {
173
+ if (!limit)
174
+ return undefined;
175
+ if (limit < 50) {
176
+ return Math.max(limit * (sortMode === 'popular_desc' && hasDateFilter ? 10 : 5), 100);
177
+ }
178
+ return Math.max(limit * (sortMode === 'popular_desc' && hasDateFilter ? 3 : 2), 200);
179
+ }
180
+ }
181
+ exports.TargetSearchRunner = TargetSearchRunner;
182
+ //# sourceMappingURL=TargetSearchRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TargetSearchRunner.js","sourceRoot":"","sources":["../../src/pixiv-client/TargetSearchRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { StandaloneConfig } from '../config';
2
+ import type { Database } from '../storage/Database';
3
+ import type { PixivAuth } from '../auth/PixivAuth';
4
+ import { PixivFlowPixivClient } from './PixivFlowPixivClient';
5
+ /**
6
+ * Single construction path for product code: PixivFlow auth/DB/config ->
7
+ * independent kit via the compatibility adapter, with SQLite-backed 429 gate
8
+ * state so restarts remember an active Pixiv cooldown.
9
+ */
10
+ export declare function createPixivFlowClient(auth: PixivAuth, config: StandaloneConfig, database: Database): PixivFlowPixivClient;
11
+ //# sourceMappingURL=createPixivFlowClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPixivFlowClient.d.ts","sourceRoot":"","sources":["../../src/pixiv-client/createPixivFlowClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAU9D;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,QAAQ,GACjB,oBAAoB,CAStB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createPixivFlowClient = createPixivFlowClient;
4
+ const logger_1 = require("../logger");
5
+ const PixivAuthTokenProvider_1 = require("./PixivAuthTokenProvider");
6
+ const PixivFlowPixivClient_1 = require("./PixivFlowPixivClient");
7
+ /** Map PixivFlow's pino-like logger onto the kit's minimal logger port. */
8
+ const kitLogger = {
9
+ debug: (message, meta) => logger_1.logger.debug(message, meta),
10
+ info: (message, meta) => logger_1.logger.info(message, meta),
11
+ warn: (message, meta) => logger_1.logger.warn(message, meta),
12
+ error: (message, meta) => logger_1.logger.error(message, meta),
13
+ };
14
+ /**
15
+ * Single construction path for product code: PixivFlow auth/DB/config ->
16
+ * independent kit via the compatibility adapter, with SQLite-backed 429 gate
17
+ * state so restarts remember an active Pixiv cooldown.
18
+ */
19
+ function createPixivFlowClient(auth, config, database) {
20
+ return new PixivFlowPixivClient_1.PixivFlowPixivClient({
21
+ auth: new PixivAuthTokenProvider_1.PixivAuthTokenProvider(auth),
22
+ config,
23
+ logger: kitLogger,
24
+ rateLimitStateStore: database.rateLimitState,
25
+ // One row per account (identified by the refresh token identity).
26
+ rateLimitScope: `pixiv:${config.pixiv.refreshToken.slice(0, 16)}`,
27
+ });
28
+ }
29
+ //# sourceMappingURL=createPixivFlowClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPixivFlowClient.js","sourceRoot":"","sources":["../../src/pixiv-client/createPixivFlowClient.ts"],"names":[],"mappings":";;AAsBA,sDAaC;AA9BD,sCAAmC;AACnC,qEAAkE;AAClE,iEAA8D;AAE9D,2EAA2E;AAC3E,MAAM,SAAS,GAAc;IAC3B,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,eAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACnD,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,eAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,IAAe,EACf,MAAwB,EACxB,QAAkB;IAElB,OAAO,IAAI,2CAAoB,CAAC;QAC9B,IAAI,EAAE,IAAI,+CAAsB,CAAC,IAAI,CAAC;QACtC,MAAM;QACN,MAAM,EAAE,SAAS;QACjB,mBAAmB,EAAE,QAAQ,CAAC,cAAc;QAC5C,kEAAkE;QAClE,cAAc,EAAE,SAAS,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;KAClE,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { IllustSearchOptions, IllustRankingMode, NovelRankingMode, NovelSearchOptions } from '@redtidev/pixiv-client';
2
+ import type { TargetConfig } from '../config';
3
+ /**
4
+ * PixivFlow product query -> Pixiv Client Kit query.
5
+ *
6
+ * This is the ONLY place allowed to know both TargetConfig (product concern)
7
+ * and the kit's Pixiv-protocol options. The kit itself never sees a
8
+ * TargetConfig.
9
+ */
10
+ export declare function mapTargetToIllustQuery(target: TargetConfig): IllustSearchOptions;
11
+ export declare function mapTargetToNovelQuery(target: TargetConfig): NovelSearchOptions;
12
+ export declare function asIllustRankingMode(mode: string): IllustRankingMode;
13
+ export declare function asNovelRankingMode(mode: string): NovelRankingMode;
14
+ //# sourceMappingURL=query-mapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-mapper.d.ts","sourceRoot":"","sources":["../../src/pixiv-client/query-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,mBAAmB,CAYhF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB,CAW9E;AAWD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAGnE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAOjE"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mapTargetToIllustQuery = mapTargetToIllustQuery;
4
+ exports.mapTargetToNovelQuery = mapTargetToNovelQuery;
5
+ exports.asIllustRankingMode = asIllustRankingMode;
6
+ exports.asNovelRankingMode = asNovelRankingMode;
7
+ /**
8
+ * PixivFlow product query -> Pixiv Client Kit query.
9
+ *
10
+ * This is the ONLY place allowed to know both TargetConfig (product concern)
11
+ * and the kit's Pixiv-protocol options. The kit itself never sees a
12
+ * TargetConfig.
13
+ */
14
+ function mapTargetToIllustQuery(target) {
15
+ if (!target.tag)
16
+ throw new Error('tag is required for illustration search');
17
+ return {
18
+ word: target.tag,
19
+ sort: target.sort ?? 'date_desc',
20
+ searchTarget: target.searchTarget ?? 'partial_match_for_tags',
21
+ includeR18: !!target.r18,
22
+ includeTranslatedTagResults: true,
23
+ startDate: target.startDate,
24
+ endDate: target.endDate,
25
+ limit: target.limit,
26
+ };
27
+ }
28
+ function mapTargetToNovelQuery(target) {
29
+ if (!target.tag)
30
+ throw new Error('tag is required for novel search');
31
+ return {
32
+ word: target.tag,
33
+ sort: target.sort ?? 'date_desc',
34
+ searchTarget: target.searchTarget ?? 'partial_match_for_tags',
35
+ includeR18: !!target.r18,
36
+ startDate: target.startDate,
37
+ endDate: target.endDate,
38
+ limit: target.limit,
39
+ };
40
+ }
41
+ const ILLUST_RANKING_MODES = new Set([
42
+ 'day', 'week', 'month', 'day_male', 'day_female', 'week_original', 'week_rookie',
43
+ 'day_r18', 'day_male_r18', 'day_female_r18', 'week_r18', 'week_r18g',
44
+ ]);
45
+ const NOVEL_RANKING_MODES = new Set([
46
+ 'day', 'week', 'month', 'day_male', 'day_female',
47
+ 'day_r18', 'day_male_r18', 'day_female_r18', 'week_r18', 'week_r18g',
48
+ ]);
49
+ function asIllustRankingMode(mode) {
50
+ if (!ILLUST_RANKING_MODES.has(mode))
51
+ throw new Error(`Unsupported illustration ranking mode: ${mode}`);
52
+ return mode;
53
+ }
54
+ function asNovelRankingMode(mode) {
55
+ if (!NOVEL_RANKING_MODES.has(mode)) {
56
+ // Illustration-only modes map to the closest valid novel mode.
57
+ if (mode === 'week_original' || mode === 'week_rookie')
58
+ return 'week';
59
+ throw new Error(`Unsupported novel ranking mode: ${mode}`);
60
+ }
61
+ return mode;
62
+ }
63
+ //# sourceMappingURL=query-mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-mapper.js","sourceRoot":"","sources":["../../src/pixiv-client/query-mapper.ts"],"names":[],"mappings":";;AAeA,wDAYC;AAED,sDAWC;AAWD,kDAGC;AAED,gDAOC;AAvDD;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,MAAoB;IACzD,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC5E,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,GAAG;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;QAChC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,wBAAwB;QAC7D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;QACxB,2BAA2B,EAAE,IAAI;QACjC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAoB;IACxD,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACrE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,GAAG;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW;QAChC,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,wBAAwB;QAC7D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG;QACxB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAC3C,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa;IAChF,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW;CACrE,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAS;IAC1C,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY;IAChD,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW;CACrE,CAAC,CAAC;AAEH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;IACvG,OAAO,IAAyB,CAAC;AACnC,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAY;IAC7C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,+DAA+D;QAC/D,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,aAAa;YAAE,OAAO,MAAM,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAwB,CAAC;AAClC,CAAC"}
@@ -4,8 +4,8 @@ const config_1 = require("./config");
4
4
  const DownloadManager_1 = require("./download/DownloadManager");
5
5
  const FileService_1 = require("./download/FileService");
6
6
  const logger_1 = require("./logger");
7
- const AuthClient_1 = require("./pixiv/AuthClient");
8
- const PixivClient_1 = require("./pixiv/PixivClient");
7
+ const PixivAuth_1 = require("./auth/PixivAuth");
8
+ const createPixivFlowClient_1 = require("./pixiv-client/createPixivFlowClient");
9
9
  const Database_1 = require("./storage/Database");
10
10
  // 热门标签列表,用于随机选择
11
11
  const POPULAR_TAGS = [
@@ -35,8 +35,8 @@ async function randomDownload() {
35
35
  };
36
36
  const database = new Database_1.Database(config.storage.databasePath);
37
37
  database.migrate();
38
- const auth = new AuthClient_1.PixivAuth(config.pixiv, config.network, database, configPath);
39
- const pixivClient = new PixivClient_1.PixivClient(auth, config);
38
+ const auth = new PixivAuth_1.PixivAuth(config.pixiv, config.network, database, configPath);
39
+ const pixivClient = (0, createPixivFlowClient_1.createPixivFlowClient)(auth, config, database);
40
40
  const fileService = new FileService_1.FileService(config.storage);
41
41
  const downloadManager = new DownloadManager_1.DownloadManager(tempConfig, pixivClient, database, fileService);
42
42
  await downloadManager.initialise();
@@ -1 +1 @@
1
- {"version":3,"file":"random-download.js","sourceRoot":"","sources":["../src/random-download.ts"],"names":[],"mappings":";;AAAA,qCAAqD;AACrD,gEAA6D;AAC7D,wDAAqD;AACrD,qCAAkC;AAClC,mDAA+C;AAC/C,qDAAkD;AAClD,iDAA8C;AAE9C,gBAAgB;AAChB,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IACxC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC/C,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;CACjD,CAAC;AAEF,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;QAEtC,WAAW;QACX,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,eAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;QAEpC,gBAAgB;QAChB,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,cAAuB;oBAC7B,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,CAAC;oBACR,YAAY,EAAE,wBAAiC;iBAChD;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,OAAQ,CAAC,YAAa,CAAC,CAAC;QAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAQ,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE5F,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QACnC,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;QACtC,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7E,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"random-download.js","sourceRoot":"","sources":["../src/random-download.ts"],"names":[],"mappings":";;AAAA,qCAAqD;AACrD,gEAA6D;AAC7D,wDAAqD;AACrD,qCAAkC;AAClC,gDAA6C;AAC7C,gFAA6E;AAC7E,iDAA8C;AAE9C,gBAAgB;AAChB,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IACnC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI;IACxC,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAC/C,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ;CACjD,CAAC;AAEF,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,sBAAa,GAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;QAEtC,WAAW;QACX,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAChF,eAAM,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;QAEpC,gBAAgB;QAChB,MAAM,UAAU,GAAG;YACjB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,cAAuB;oBAC7B,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,CAAC;oBACR,YAAY,EAAE,wBAAiC;iBAChD;aACF;SACF,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,OAAQ,CAAC,YAAa,CAAC,CAAC;QAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC;QAEnB,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChF,MAAM,WAAW,GAAG,IAAA,6CAAqB,EAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClE,MAAM,WAAW,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,OAAQ,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE5F,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QACnC,eAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzB,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;QACtC,eAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvB,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC7E,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,cAAc,EAAE,CAAC"}
@@ -98,6 +98,13 @@ export declare class SlotCoordinator {
98
98
  releaseRunLease(slotId: string, owner: string): void;
99
99
  /** Roll cell results up into the slot status (one place computes the aggregate). */
100
100
  finish(slot: SlotContext, schedule: ScheduleConfig, targets: TargetConfig[]): SlotRunSummary;
101
+ /**
102
+ * Persist a one-row incident/execution summary into delivery_events
103
+ * (event='execution.summary') at the terminal rollup only. Event-row storage
104
+ * reuses the audit table + `runs show` read path instead of inventing a
105
+ * summary table or overloading execution_log's illustration/novel typing.
106
+ */
107
+ private persistExecutionSummary;
101
108
  completedSummary(slotId: string, schedule: ScheduleConfig): SlotRunSummary;
102
109
  }
103
110
  /** Resolve the timezone a schedule runs in (never the server's local tz). */
@@ -1 +1 @@
1
- {"version":3,"file":"SlotCoordinator.d.ts","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SlotCoordinator.d.ts","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
@@ -214,6 +214,7 @@ class SlotCoordinator {
214
214
  }
215
215
  const status = this.database.slots.deriveSlotStatus(slot.slotId);
216
216
  this.database.slots.markSlotStatus(slot.slotId, status);
217
+ this.persistExecutionSummary(slot.slotId, status);
217
218
  const cells = this.database.slots.getCells(slot.slotId).map((c) => ({
218
219
  targetId: c.targetId,
219
220
  status: c.status,
@@ -225,6 +226,31 @@ class SlotCoordinator {
225
226
  cells.map((c) => ` ${c.targetId.padEnd(28)} ${icon(c.status)} ${c.workId ? '#' + c.workId : ''} ${c.error ? '(' + c.error + ')' : ''}`).join('\n'), { slot: slot.slotId, status });
226
227
  return { scheduleId: schedule.id, slotId: slot.slotId, status, alreadyCompleted: false, cells };
227
228
  }
229
+ /**
230
+ * Persist a one-row incident/execution summary into delivery_events
231
+ * (event='execution.summary') at the terminal rollup only. Event-row storage
232
+ * reuses the audit table + `runs show` read path instead of inventing a
233
+ * summary table or overloading execution_log's illustration/novel typing.
234
+ */
235
+ persistExecutionSummary(slotId, status) {
236
+ if (status !== 'success' && status !== 'partial' && status !== 'failed')
237
+ return;
238
+ try {
239
+ if (this.database.outbox.hasExecutionSummary(slotId))
240
+ return;
241
+ const summary = this.database.outbox.executionSummary(slotId);
242
+ this.database.outbox.recordEvent({
243
+ executionId: slotId,
244
+ slotId,
245
+ event: 'execution.summary',
246
+ countsAsAttempt: 0,
247
+ detail: { summary },
248
+ });
249
+ }
250
+ catch (error) {
251
+ logger_1.logger.debug('Failed to persist execution summary', { slot: slotId, error: error.message });
252
+ }
253
+ }
228
254
  completedSummary(slotId, schedule) {
229
255
  const cells = this.database.slots.getCells(slotId).map((c) => ({
230
256
  targetId: c.targetId,
@@ -1 +1 @@
1
- {"version":3,"file":"SlotCoordinator.js","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":";;;AA8TA,kDAEC;AAxTD,sCAAmC;AACnC,6DAM8B;AA6C9B;;;;;;;;;GASG;AACH,MAAa,eAAe;IACG;IAA7B,YAA6B,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAAG,CAAC;IAEnD;;;;;OAKG;IACH,iBAAiB,CACf,QAAwB,EACxB,MAAwB,EACxB,aAA4B,EAC5B,KAAW,IAAI,IAAI,EAAE,EACrB,iBAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC;QACtE,IAAI,UAA8B,CAAC;QACnC,IAAI,CAAC;YACH,UAAU,GAAG,IAAA,sCAAiB,EAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACxF,CAAC;QAED,0EAA0E;QAC1E,6EAA6E;QAC7E,qBAAqB;QACrB,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAA,0CAAqB,EAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACzD,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE;gBAC/C,cAAc,EAAE,UAAU,CAAC,cAAc;gBACzC,eAAe,EAAE,UAAU,CAAC,eAAe;gBAC3C,QAAQ,EAAE,UAAU,CAAC,QAAQ;gBAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;gBACvC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,eAAe;gBACjE,QAAQ,EAAE,UAAU,CAAC,cAAc;aACpC;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAiB,EAAE,QAAwB,EAAE,OAAuB;QACxE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE;YAClF,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS;YACT,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,2EAA2E;YAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAY,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,CAAC;YACxG,eAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5G,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC3D,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,MAAc,EAAE,OAAuB;QACpD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,GAAqD,EAAE,CAAC;QACjE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,SAAS;YACzB,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,SAAS,CAAC,6CAA6C;YAC9G,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;gBAAE,SAAS;YAC5E,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iFAAiF;IACjF,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB;QACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED,yEAAyE;IACzE,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAkB,EAAE,KAAc;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,CAAC,mCAAmC;QACtG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,MAAc,EAAE,QAAgB,EAAE,OAAsB;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACnD,OAAO;YACT,KAAK,QAAQ;gBACX,uEAAuE;gBACvE,wEAAwE;gBACxE,gDAAgD;gBAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;gBACnD,OAAO;YACT,KAAK,kBAAkB;gBACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;gBAC1D,OAAO;YACT,KAAK,cAAc;gBACjB,qEAAqE;gBACrE,mEAAmE;gBACnE,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACxF,OAAO;YACT,KAAK,WAAW;gBACd,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC;gBAC/F,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnE,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,oEAAoE;oBACpE,oEAAoE;oBACpE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC/D,OAAO;QACX,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,QAAgB;QAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;IAEO,cAAc,CACpB,MAAc,EACd,QAAgB,EAChB,IAAiE,EACjE,KAAc;QAEd,IAAI,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,aAAa,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC1D,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,cAAc,CAAC,MAAc,EAAE,KAAa,EAAE,OAAe;QAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,eAAe,CAAC,MAAc,EAAE,KAAa;QAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,oFAAoF;IACpF,MAAM,CAAC,IAAiB,EAAE,QAAwB,EAAE,OAAuB;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QACtG,KAAK,MAAM,QAAQ,IAAI,GAAG,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,0EAA0E;YAC1E,sEAAsE;YACtE,IAAI,IAAI,CAAC,MAAM,KAAK,kBAAkB,IAAI,IAAI,CAAC,MAAM,KAAK,gBAAgB;gBAAE,SAAS;YACrF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5D,yEAAyE;gBACzE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,SAAS;SACnB,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,CAAC,CAAa,EAAE,EAAE,CAC7B,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;QAClF,eAAM,CAAC,IAAI,CACT,QAAQ,IAAI,CAAC,MAAM,IAAI,MAAM,IAAI;YAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACrJ,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAC9B,CAAC;QAEF,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAClG,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,QAAwB;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,SAAS;SACnB,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO;YACL,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,MAAM;YACN,MAAM,EAAG,OAAO,EAAE,MAAqB,IAAI,SAAS;YACpD,gBAAgB,EAAE,IAAI;YACtB,KAAK;SACN,CAAC;IACJ,CAAC;CACF;AArPD,0CAqPC;AAED,6EAA6E;AAC7E,SAAgB,mBAAmB,CAAC,QAAoC,EAAE,MAAwB;IAChG,OAAO,IAAA,qCAAgB,EAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC"}
1
+ {"version":3,"file":"SlotCoordinator.js","sourceRoot":"","sources":["../../src/scheduler/SlotCoordinator.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { SlotRepository } from './repositories/SlotRepository';
3
3
  import { DeliveryRepository } from './repositories/DeliveryRepository';
4
4
  import { OutboxRepository } from './repositories/OutboxRepository';
5
5
  import { MetadataRepository } from './repositories/MetadataRepository';
6
+ import { SQLiteRateLimitStateStore } from './repositories/RateLimitStateRepository';
6
7
  export interface AccessTokenStore {
7
8
  accessToken: string;
8
9
  expiresAt: number;
@@ -44,6 +45,7 @@ export declare class Database implements IDatabase {
44
45
  private deliveryRepo;
45
46
  private outboxRepo;
46
47
  private metadataRepo;
48
+ private rateLimitStateStore;
47
49
  constructor(databasePath: string);
48
50
  migrate(): void;
49
51
  /** Absolute path of the SQLite file (used to locate sibling cache dirs). */
@@ -56,6 +58,8 @@ export declare class Database implements IDatabase {
56
58
  get outbox(): OutboxRepository;
57
59
  /** Lightweight Pixiv metadata cache (novel language / rating). */
58
60
  get metadata(): MetadataRepository;
61
+ /** Persistent 429 gate state adapter for @redtidev/pixiv-client. */
62
+ get rateLimitState(): SQLiteRateLimitStateStore;
59
63
  /** Raw transactional boundary for atomic multi-table intents. */
60
64
  transaction<T>(fn: () => T): T;
61
65
  /** Expose a prepared-statement helper if needed by services (pragmas etc). */
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../src/storage/Database.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,QAAS,YAAW,SAAS;IAe5B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAdzC,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,mBAAmB,CAA6B;gBAE3B,YAAY,EAAE,MAAM;IAmC1C,OAAO,IAAI,IAAI;IAItB,4EAA4E;IACrE,eAAe,IAAI,MAAM;IAOhC,+EAA+E;IAC/E,IAAW,KAAK,IAAI,cAAc,CAEjC;IAED,sFAAsF;IACtF,IAAW,UAAU,IAAI,kBAAkB,CAE1C;IAED,2EAA2E;IAC3E,IAAW,MAAM,IAAI,gBAAgB,CAEpC;IAED,kEAAkE;IAClE,IAAW,QAAQ,IAAI,kBAAkB,CAExC;IAED,oEAAoE;IACpE,IAAW,cAAc,IAAI,yBAAyB,CAErD;IAED,iEAAiE;IAC1D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAIrC,8EAA8E;IACvE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IAI9C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIpD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAKrD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,OAAO;IAIvE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIxF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC;IAIjF,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIjD,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI;IAIjD,cAAc,CACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,cAAc,GAAG,OAAO,EAC9B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACd,MAAM;IAIF,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,GAAG,MAAM;IAIhF,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG;QACtE,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC;IAKM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAI1G,kBAAkB,CACvB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,cAAc,GAAG,OAAO,EAC9B,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI;IAIA,kBAAkB,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QACnD,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,MAAM,EAAE,eAAe,CAAC;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAIK,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIxE,wBAAwB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAKxF,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAInD,qBAAqB,CAC1B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,GAAE,MAAU,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI;IAaA,wBAAwB,CAC7B,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,EACpD,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,IAAI,GAAG,IAAI,EACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GACtB,IAAI;IAYP,qFAAqF;IAC9E,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAI3D,iFAAiF;IAC1E,cAAc,IAAI,MAAM;IAKxB,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG;QAC7C,eAAe,EAAE,MAAM,CAAC;QACxB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,oBAAoB,EAAE,MAAM,CAAC;KAC9B;IAIM,4BAA4B,CAAC,KAAK,GAAE,MAAW,GAAG,wBAAwB,EAAE;IAI5E,sBAAsB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAIlE,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnD,kBAAkB,CAAC,OAAO,EAAE;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzD,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC5B,GAAG;QACF,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YACtB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB;IAgFM,wBAAwB,CAC7B,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,cAAc,GAAG,OAAO,GAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAIf,kBAAkB,CACvB,KAAK,GAAE,MAAW,EAClB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAC9B,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIK,uBAAuB,CAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,GAC9B,KAAK,CAAC;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAIK,gBAAgB,IAAI;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,MAAM,CAAC;KACzB;IAIM,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;QAC/C,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAIK,WAAW,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAIvE,cAAc,CAAC,KAAK,GAAE,MAAW,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAK1E,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM;IAI1E,gBAAgB,IAAI,KAAK,CAAC;QAC/B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAIK,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG;QACvC,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAID,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxC,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAIzF,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI3C,sBAAsB,IAAI;QAC/B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAID,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKvC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAC3C,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;QACvD,SAAS,EAAE,IAAI,CAAC;QAChB,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI;IAID,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,sCAAsC,EAAE,iBAAiB,GAAG,IAAI;IAIvG,iBAAiB,CAAC,KAAK,GAAE,MAAY,GAAG,OAAO,sCAAsC,EAAE,iBAAiB,EAAE;IAI1G,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIzE,oBAAoB,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAIpF,KAAK;CAGb;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAUnE"}
@@ -20,6 +20,7 @@ const SlotRepository_1 = require("./repositories/SlotRepository");
20
20
  const DeliveryRepository_1 = require("./repositories/DeliveryRepository");
21
21
  const OutboxRepository_1 = require("./repositories/OutboxRepository");
22
22
  const MetadataRepository_1 = require("./repositories/MetadataRepository");
23
+ const RateLimitStateRepository_1 = require("./repositories/RateLimitStateRepository");
23
24
  class Database {
24
25
  databasePath;
25
26
  db;
@@ -34,6 +35,7 @@ class Database {
34
35
  deliveryRepo;
35
36
  outboxRepo;
36
37
  metadataRepo;
38
+ rateLimitStateStore;
37
39
  constructor(databasePath) {
38
40
  this.databasePath = databasePath;
39
41
  try {
@@ -60,6 +62,7 @@ class Database {
60
62
  this.deliveryRepo = new DeliveryRepository_1.DeliveryRepository(this.db);
61
63
  this.outboxRepo = new OutboxRepository_1.OutboxRepository(this.db);
62
64
  this.metadataRepo = new MetadataRepository_1.MetadataRepository(this.db);
65
+ this.rateLimitStateStore = new RateLimitStateRepository_1.SQLiteRateLimitStateStore(this.db);
63
66
  }
64
67
  catch (error) {
65
68
  throw new errors_1.DatabaseError(`Failed to initialize database at ${this.databasePath}`, error instanceof Error ? error : undefined);
@@ -91,6 +94,10 @@ class Database {
91
94
  get metadata() {
92
95
  return this.metadataRepo;
93
96
  }
97
+ /** Persistent 429 gate state adapter for @redtidev/pixiv-client. */
98
+ get rateLimitState() {
99
+ return this.rateLimitStateStore;
100
+ }
94
101
  /** Raw transactional boundary for atomic multi-table intents. */
95
102
  transaction(fn) {
96
103
  return this.db.transaction(fn)();