pixivflow 2.7.0 → 2.9.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 (55) hide show
  1. package/README.md +12 -2
  2. package/README_EN.md +4 -0
  3. package/config/fly-two-bots.example.json +2 -0
  4. package/dist/commands/TagsCommand.d.ts +25 -0
  5. package/dist/commands/TagsCommand.d.ts.map +1 -0
  6. package/dist/commands/TagsCommand.js +176 -0
  7. package/dist/commands/TagsCommand.js.map +1 -0
  8. package/dist/commands/index.d.ts +2 -1
  9. package/dist/commands/index.d.ts.map +1 -1
  10. package/dist/commands/index.js +4 -1
  11. package/dist/commands/index.js.map +1 -1
  12. package/dist/config/types.d.ts +4 -0
  13. package/dist/config/types.d.ts.map +1 -1
  14. package/dist/config/validation.d.ts.map +1 -1
  15. package/dist/config/validation.js +13 -0
  16. package/dist/config/validation.js.map +1 -1
  17. package/dist/delivery/DeliveryOutbox.d.ts +11 -1
  18. package/dist/delivery/DeliveryOutbox.d.ts.map +1 -1
  19. package/dist/delivery/DeliveryOutbox.js +38 -8
  20. package/dist/delivery/DeliveryOutbox.js.map +1 -1
  21. package/dist/download/DownloadManager.d.ts.map +1 -1
  22. package/dist/download/DownloadManager.js +7 -1
  23. package/dist/download/DownloadManager.js.map +1 -1
  24. package/dist/package.json +1 -1
  25. package/dist/pixiv/PixivClient.d.ts +4 -1
  26. package/dist/pixiv/PixivClient.d.ts.map +1 -1
  27. package/dist/pixiv/PixivClient.js +21 -0
  28. package/dist/pixiv/PixivClient.js.map +1 -1
  29. package/dist/pixiv/client/SearchService.d.ts +2 -1
  30. package/dist/pixiv/client/SearchService.d.ts.map +1 -1
  31. package/dist/pixiv/client/SearchService.js +10 -0
  32. package/dist/pixiv/client/SearchService.js.map +1 -1
  33. package/dist/pixiv/types.d.ts +8 -0
  34. package/dist/pixiv/types.d.ts.map +1 -1
  35. package/dist/tags/TagDiscoveryService.d.ts +22 -0
  36. package/dist/tags/TagDiscoveryService.d.ts.map +1 -0
  37. package/dist/tags/TagDiscoveryService.js +137 -0
  38. package/dist/tags/TagDiscoveryService.js.map +1 -0
  39. package/dist/tags/TagDiscoveryStore.d.ts +21 -0
  40. package/dist/tags/TagDiscoveryStore.d.ts.map +1 -0
  41. package/dist/tags/TagDiscoveryStore.js +67 -0
  42. package/dist/tags/TagDiscoveryStore.js.map +1 -0
  43. package/dist/tags/TagPlanApplier.d.ts +22 -0
  44. package/dist/tags/TagPlanApplier.d.ts.map +1 -0
  45. package/dist/tags/TagPlanApplier.js +86 -0
  46. package/dist/tags/TagPlanApplier.js.map +1 -0
  47. package/dist/tags/types.d.ts +36 -0
  48. package/dist/tags/types.d.ts.map +1 -0
  49. package/dist/tags/types.js +3 -0
  50. package/dist/tags/types.js.map +1 -0
  51. package/dist/utils/config-validator-unified.d.ts.map +1 -1
  52. package/dist/utils/config-validator-unified.js +23 -0
  53. package/dist/utils/config-validator-unified.js.map +1 -1
  54. package/dist/webui/package.json +1 -1
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -21,6 +21,9 @@ pixivflow --help
21
21
  ```
22
22
 
23
23
  服务器部署推荐 Docker Compose,见 [DOCKER.md](docs/DOCKER.md);
24
+ PixivFlow + TelePost 联合部署套件(含可选代理):
25
+ [redtidev1918/pixivflow-telepost-deploy](https://github.com/redtidev1918/pixivflow-telepost-deploy)
26
+ —— 一套配置,支持国内/海外、有/无公网 IP、VPS/Fly.io 任意场景。
24
27
  从源码构建:
25
28
 
26
29
  ```bash
@@ -105,10 +108,12 @@ pixivflow scheduler # 按 cron 配置长期挂机自动收集
105
108
  ```json
106
109
  {
107
110
  "delivery": {
111
+ "outboxRetryBaseMs": 300000,
112
+ "outboxRetryMaxMs": 21600000,
108
113
  "targets": {
109
114
  "tg-example": {
110
115
  "type": "httpMultipart",
111
- "url": "https://telesubmit-multi-bot.fly.dev/api/bot1/v1/submissions",
116
+ "url": "https://your-domain.example/api/bot1/v1/submissions",
112
117
  "headers": { "Authorization": "Bearer ${TG_SUBMIT_TOKEN}" },
113
118
  "fileField": "files",
114
119
  "fields": { "title": "{{title}}" },
@@ -137,7 +142,8 @@ pixivflow scheduler # 按 cron 配置长期挂机自动收集
137
142
 
138
143
  headers 和 URL 支持任意 `${ENV_NAME}` 环境变量插值。交付失败时文件和
139
144
  outbox 清单保留在 SQLite 数据库同级的 `delivery-outbox/`;下一次运行会先
140
- 自动重试,成功后再清理。
145
+ 检查待投递项。失败项默认从 5 分钟开始指数退避、最长 6 小时,避免服务不可用时
146
+ 每个计划都重复上传并浪费带宽;成功后再清理。
141
147
  对上面的 TG 示例,可把 `/gen_token` 得到的 `tp_...` 放入
142
148
  `TG_SUBMIT_TOKEN` 环境变量;这只是示例服务自己的认证流程。
143
149
 
@@ -154,6 +160,10 @@ outbox 清单保留在 SQLite 数据库同级的 `delivery-outbox/`;下一次
154
160
  | `pixivflow config` | 配置管理(查看 / 编辑 / 备份 / 恢复) |
155
161
  | `pixivflow status` | 下载统计与最近记录 |
156
162
  | `pixivflow health` | 健康检查:配置、目录可写性、连通性 |
163
+ | `pixivflow tags discover <词>` | 发现相关 Tag(Pixiv 联想 + 作品标签共现),只列候选不改配置 |
164
+ | `pixivflow tags apply <清单> --target <id> --select <tag1,tag2>` | 人工确认后把所选 Tag 原子写入配置并触发热重载 |
165
+
166
+ `tags discover` 会调用 Pixiv 标签联想接口,并抽样最近插画 / 小说统计共同出现的标签,结果缓存 7 天;它**不会**改动任何下载计划。确认候选后用 `tags apply` 显式选择,应用前会整份校验配置、自动备份并原子替换,运行中的 scheduler 经配置热重载生效。
157
167
 
158
168
  其他用法见 [CLI_MIGRATION_SUMMARY.md](docs/CLI_MIGRATION_SUMMARY.md)。
159
169
 
package/README_EN.md CHANGED
@@ -141,6 +141,10 @@ Interactive configuration wizard: `pixivflow setup`.
141
141
  | `pixivflow config` | Manage config (view / edit / backup / restore) |
142
142
  | `pixivflow status` | Download stats and recent records |
143
143
  | `pixivflow health` | Health check: config, directories, connectivity |
144
+ | `pixivflow tags discover <seed>` | Discover related tags (Pixiv autocomplete + tag co-occurrence); lists candidates only |
145
+ | `pixivflow tags apply <manifest> --target <id> --select <tag1,tag2>` | Atomically write chosen tags into config after manual confirmation, then hot-reload |
146
+
147
+ `tags discover` calls the Pixiv autocomplete endpoint and samples recent illustrations/novels to count co-occurring tags, caching results for 7 days; it **never** changes active plans. After reviewing candidates, run `tags apply` to explicitly select tags: it validates the whole config, writes a backup and atomically replaces the file so a running scheduler hot-reloads it.
144
148
 
145
149
  More commands in [CLI_MIGRATION_SUMMARY.md](docs/CLI_MIGRATION_SUMMARY.md).
146
150
 
@@ -72,6 +72,8 @@
72
72
  "timeout": 90000
73
73
  },
74
74
  "delivery": {
75
+ "outboxRetryBaseMs": 300000,
76
+ "outboxRetryMaxMs": 21600000,
75
77
  "targets": {
76
78
  "telepost-bot1": {
77
79
  "type": "httpMultipart",
@@ -0,0 +1,25 @@
1
+ import { BaseCommand } from './Command';
2
+ import { CommandCategory } from './metadata';
3
+ import type { CommandArgs, CommandContext, CommandResult } from './types';
4
+ export declare class TagsCommand extends BaseCommand {
5
+ readonly name = "tags";
6
+ readonly description = "Discover related Pixiv tags, then explicitly apply selected tags";
7
+ readonly aliases: string[];
8
+ readonly metadata: {
9
+ category: CommandCategory;
10
+ requiresAuth: boolean;
11
+ longRunning: boolean;
12
+ };
13
+ execute(context: CommandContext, args: CommandArgs): Promise<CommandResult>;
14
+ private discover;
15
+ private apply;
16
+ private createStore;
17
+ private parseContentTypes;
18
+ private printManifest;
19
+ private integerOption;
20
+ private numberOption;
21
+ private stringOption;
22
+ private booleanOption;
23
+ getUsage(): string;
24
+ }
25
+ //# sourceMappingURL=TagsCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsCommand.d.ts","sourceRoot":"","sources":["../../src/commands/TagsCommand.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAS1E,qBAAa,WAAY,SAAQ,WAAW;IAC1C,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,sEAAsE;IAC1F,QAAQ,CAAC,OAAO,WAAW;IAC3B,QAAQ,CAAC,QAAQ;;;;MAIf;IAEI,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;YAenE,QAAQ;YAgDR,KAAK;IAkCnB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,aAAa;IAIrB,QAAQ,IAAI,MAAM;CAgBnB"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TagsCommand = void 0;
4
+ const node_path_1 = require("node:path");
5
+ const Command_1 = require("./Command");
6
+ const metadata_1 = require("./metadata");
7
+ const Database_1 = require("../storage/Database");
8
+ const AuthClient_1 = require("../pixiv/AuthClient");
9
+ const PixivClient_1 = require("../pixiv/PixivClient");
10
+ const TagDiscoveryService_1 = require("../tags/TagDiscoveryService");
11
+ const TagDiscoveryStore_1 = require("../tags/TagDiscoveryStore");
12
+ const TagPlanApplier_1 = require("../tags/TagPlanApplier");
13
+ class TagsCommand extends Command_1.BaseCommand {
14
+ name = 'tags';
15
+ description = 'Discover related Pixiv tags, then explicitly apply selected tags';
16
+ aliases = ['tag'];
17
+ metadata = {
18
+ category: metadata_1.CommandCategory.CONFIGURATION,
19
+ requiresAuth: true,
20
+ longRunning: false,
21
+ };
22
+ async execute(context, args) {
23
+ const subcommand = args.positional[0];
24
+ try {
25
+ if (subcommand === 'discover')
26
+ return await this.discover(context, args);
27
+ if (subcommand === 'apply')
28
+ return await this.apply(context, args);
29
+ console.error(`\nUnknown tags subcommand: ${subcommand ? `'${subcommand}'` : '(none)'}`);
30
+ console.error(`\nUsage:\n${this.getUsage()}\n`);
31
+ return this.failure(this.getUsage());
32
+ }
33
+ catch (error) {
34
+ const message = error instanceof Error ? error.message : String(error);
35
+ console.error(`\n✗ ${message}\n`);
36
+ return this.failure(message);
37
+ }
38
+ }
39
+ async discover(context, args) {
40
+ const seed = args.positional.slice(1).join(' ').trim();
41
+ if (!seed) {
42
+ console.error('\nUsage: pixivflow tags discover <seed> [options]\n');
43
+ return this.failure('Missing seed tag for discovery');
44
+ }
45
+ const contentTypes = this.parseContentTypes(args.options.type);
46
+ const sampleSize = this.integerOption(args.options.sample, 60, 'sample');
47
+ const limit = this.integerOption(args.options.limit, 20, 'limit');
48
+ const cacheDays = this.numberOption(args.options['cache-days'], 7, 'cache-days');
49
+ const ttlMs = Math.round(cacheDays * 24 * 60 * 60_000);
50
+ const cacheKey = { seed, contentTypes, sampleSize, limit };
51
+ const store = this.createStore(context);
52
+ if (!this.booleanOption(args.options.refresh)) {
53
+ const cached = await store.loadFresh(cacheKey);
54
+ if (cached) {
55
+ this.printManifest(cached.manifest, cached.path, true, this.booleanOption(args.options.json));
56
+ return this.success('Fresh tag discovery cache reused', cached);
57
+ }
58
+ }
59
+ const database = new Database_1.Database(context.config.storage.databasePath);
60
+ try {
61
+ database.migrate();
62
+ const auth = new AuthClient_1.PixivAuth(context.config.pixiv, context.config.network, database, context.configPath);
63
+ const client = new PixivClient_1.PixivClient(auth, context.config);
64
+ const service = new TagDiscoveryService_1.TagDiscoveryService(client);
65
+ const manifest = await service.discover(seed, {
66
+ contentTypes,
67
+ sampleSize,
68
+ limit,
69
+ ttlMs,
70
+ });
71
+ const path = await store.save(cacheKey, manifest);
72
+ this.printManifest(manifest, path, false, this.booleanOption(args.options.json));
73
+ return this.success('Tag discovery completed', { manifest, path, cached: false });
74
+ }
75
+ finally {
76
+ database.close();
77
+ }
78
+ }
79
+ async apply(context, args) {
80
+ const manifestPath = args.positional[1];
81
+ const targetId = this.stringOption(args.options.target);
82
+ const selected = this.stringOption(args.options.select)
83
+ ?.split(',')
84
+ .map((value) => value.trim())
85
+ .filter(Boolean) ?? [];
86
+ const mode = this.stringOption(args.options.mode) ?? 'append';
87
+ if (!manifestPath || !targetId || selected.length === 0) {
88
+ console.error('\nUsage: pixivflow tags apply <manifest.json> --target <id> --select <tag1,tag2> [--mode append|replace]\n');
89
+ return this.failure('apply requires a manifest path, --target and --select');
90
+ }
91
+ if (mode !== 'append' && mode !== 'replace') {
92
+ console.error('\n--mode must be append or replace\n');
93
+ return this.failure('--mode must be append or replace');
94
+ }
95
+ const store = this.createStore(context);
96
+ const manifest = await store.read((0, node_path_1.resolve)(manifestPath));
97
+ const result = await new TagPlanApplier_1.TagPlanApplier().apply(context.configPath, manifest, {
98
+ targetId,
99
+ selectedTags: selected,
100
+ mode,
101
+ });
102
+ console.log(`\n✓ Target ${result.targetId} updated atomically`);
103
+ console.log(` Previous: ${result.previousTag ?? '(empty)'}`);
104
+ console.log(` Current: ${result.tag}`);
105
+ console.log(` Backup: ${result.backupPath}`);
106
+ console.log(' Scheduler: the config watcher will hot-reload this validated snapshot\n');
107
+ return this.success('Selected tags applied and ready for hot reload', result);
108
+ }
109
+ createStore(context) {
110
+ const databasePath = (0, node_path_1.resolve)(context.config.storage.databasePath);
111
+ return new TagDiscoveryStore_1.TagDiscoveryStore((0, node_path_1.resolve)((0, node_path_1.dirname)(databasePath), 'tag-discovery'));
112
+ }
113
+ parseContentTypes(value) {
114
+ const type = this.stringOption(value) ?? 'all';
115
+ if (type === 'all')
116
+ return ['illustration', 'novel'];
117
+ if (type === 'illustration' || type === 'novel')
118
+ return [type];
119
+ throw new Error('--type must be all, illustration or novel');
120
+ }
121
+ printManifest(manifest, path, cached, json) {
122
+ if (json) {
123
+ console.log(JSON.stringify({ cached, path, ...manifest }, null, 2));
124
+ return;
125
+ }
126
+ console.log(`\nTag suggestions for: ${manifest.seed}${cached ? ' (cache)' : ''}`);
127
+ console.log(`Sampled: ${manifest.sampledWorks.illustration} illustrations, ${manifest.sampledWorks.novel} novels`);
128
+ console.log('');
129
+ manifest.candidates.forEach((candidate, index) => {
130
+ const translation = candidate.translatedName ? ` / ${candidate.translatedName}` : '';
131
+ const occurrences = candidate.occurrences.illustration + candidate.occurrences.novel;
132
+ console.log(`${String(index + 1).padStart(2)}. ${candidate.name}${translation} score=${candidate.score.toFixed(4)} works=${occurrences} source=${candidate.sources.join('+')}`);
133
+ });
134
+ console.log(`\nManifest: ${path}`);
135
+ console.log(`Apply selected candidates only:`);
136
+ console.log(` pixivflow tags apply "${path}" --target <target-id> --select "tag1,tag2"\n`);
137
+ }
138
+ integerOption(value, fallback, name) {
139
+ const number = this.numberOption(value, fallback, name);
140
+ if (!Number.isInteger(number))
141
+ throw new Error(`--${name} must be an integer`);
142
+ return number;
143
+ }
144
+ numberOption(value, fallback, name) {
145
+ if (value === undefined)
146
+ return fallback;
147
+ const number = Number(value);
148
+ if (!Number.isFinite(number))
149
+ throw new Error(`--${name} must be a number`);
150
+ return number;
151
+ }
152
+ stringOption(value) {
153
+ return typeof value === 'string' ? value.trim() : undefined;
154
+ }
155
+ booleanOption(value) {
156
+ return value === true || (typeof value === 'string' && ['true', '1', 'yes'].includes(value.toLowerCase()));
157
+ }
158
+ getUsage() {
159
+ return `tags discover <seed> [options]
160
+ --type all|illustration|novel Content to sample (default: all)
161
+ --sample <1-200> Maximum works sampled per type (default: 60)
162
+ --limit <1-100> Candidate count (default: 20)
163
+ --cache-days <days> Cache lifetime (default: 7)
164
+ --refresh Ignore a fresh cache
165
+ --json Machine-readable output
166
+
167
+ tags apply <manifest.json> --target <id> --select <tag1,tag2> [options]
168
+ --mode append|replace Keep the current seed or replace it (default: append)
169
+
170
+ Discovery never changes active plans. Apply accepts only names from the saved
171
+ manifest, validates the complete config, writes a backup, then atomically
172
+ replaces the config so a running scheduler can hot-reload it.`;
173
+ }
174
+ }
175
+ exports.TagsCommand = TagsCommand;
176
+ //# sourceMappingURL=TagsCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagsCommand.js","sourceRoot":"","sources":["../../src/commands/TagsCommand.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ import { MonitorCommand } from './MonitorCommand';
22
22
  import { SetupCommand } from './SetupCommand';
23
23
  import { DirsCommand } from './DirsCommand';
24
24
  import { VersionCommand } from './VersionCommand';
25
+ import { TagsCommand } from './TagsCommand';
25
26
  /**
26
27
  * Create and register all commands
27
28
  */
@@ -29,5 +30,5 @@ export declare function registerAllCommands(registry: CommandRegistry): void;
29
30
  /**
30
31
  * Export all command classes
31
32
  */
32
- export { HelpCommand, LoginCommand, LoginHeadlessCommand, RefreshCommand, DownloadCommand, RandomDownloadCommand, SchedulerCommand, MigrateConfigCommand, NormalizeCommand, WebUICommand, HealthCommand, StatusCommand, LogsCommand, ConfigCommand, BackupCommand, MaintainCommand, MonitorCommand, SetupCommand, DirsCommand, VersionCommand, };
33
+ export { HelpCommand, LoginCommand, LoginHeadlessCommand, RefreshCommand, DownloadCommand, RandomDownloadCommand, SchedulerCommand, MigrateConfigCommand, NormalizeCommand, WebUICommand, HealthCommand, StatusCommand, LogsCommand, ConfigCommand, BackupCommand, MaintainCommand, MonitorCommand, SetupCommand, DirsCommand, VersionCommand, TagsCommand, };
33
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAqBnE;AAED;;GAEG;AACH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,GACf,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAsBnE;AAED;;GAEG;AACH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,WAAW,GACZ,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Command exports and registration
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.VersionCommand = exports.DirsCommand = exports.SetupCommand = exports.MonitorCommand = exports.MaintainCommand = exports.BackupCommand = exports.ConfigCommand = exports.LogsCommand = exports.StatusCommand = exports.HealthCommand = exports.WebUICommand = exports.NormalizeCommand = exports.MigrateConfigCommand = exports.SchedulerCommand = exports.RandomDownloadCommand = exports.DownloadCommand = exports.RefreshCommand = exports.LoginHeadlessCommand = exports.LoginCommand = exports.HelpCommand = void 0;
6
+ exports.TagsCommand = exports.VersionCommand = exports.DirsCommand = exports.SetupCommand = exports.MonitorCommand = exports.MaintainCommand = exports.BackupCommand = exports.ConfigCommand = exports.LogsCommand = exports.StatusCommand = exports.HealthCommand = exports.WebUICommand = exports.NormalizeCommand = exports.MigrateConfigCommand = exports.SchedulerCommand = exports.RandomDownloadCommand = exports.DownloadCommand = exports.RefreshCommand = exports.LoginHeadlessCommand = exports.LoginCommand = exports.HelpCommand = void 0;
7
7
  exports.registerAllCommands = registerAllCommands;
8
8
  const HelpCommand_1 = require("./HelpCommand");
9
9
  Object.defineProperty(exports, "HelpCommand", { enumerable: true, get: function () { return HelpCommand_1.HelpCommand; } });
@@ -45,6 +45,8 @@ const DirsCommand_1 = require("./DirsCommand");
45
45
  Object.defineProperty(exports, "DirsCommand", { enumerable: true, get: function () { return DirsCommand_1.DirsCommand; } });
46
46
  const VersionCommand_1 = require("./VersionCommand");
47
47
  Object.defineProperty(exports, "VersionCommand", { enumerable: true, get: function () { return VersionCommand_1.VersionCommand; } });
48
+ const TagsCommand_1 = require("./TagsCommand");
49
+ Object.defineProperty(exports, "TagsCommand", { enumerable: true, get: function () { return TagsCommand_1.TagsCommand; } });
48
50
  /**
49
51
  * Create and register all commands
50
52
  */
@@ -69,5 +71,6 @@ function registerAllCommands(registry) {
69
71
  registry.register(new SetupCommand_1.SetupCommand());
70
72
  registry.register(new DirsCommand_1.DirsCommand());
71
73
  registry.register(new VersionCommand_1.VersionCommand());
74
+ registry.register(new TagsCommand_1.TagsCommand());
72
75
  }
73
76
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA2BH,kDAqBC;AA7CD,+CAA4C;AAmD1C,4FAnDO,yBAAW,OAmDP;AAlDb,iDAA8C;AAmD5C,6FAnDO,2BAAY,OAmDP;AAlDd,iEAA8D;AAmD5D,qGAnDO,2CAAoB,OAmDP;AAlDtB,qDAAkD;AAmDhD,+FAnDO,+BAAc,OAmDP;AAlDhB,uDAAoD;AAmDlD,gGAnDO,iCAAe,OAmDP;AAlDjB,mEAAgE;AAmD9D,sGAnDO,6CAAqB,OAmDP;AAlDvB,yDAAsD;AAmDpD,iGAnDO,mCAAgB,OAmDP;AAlDlB,iEAA8D;AAmD5D,qGAnDO,2CAAoB,OAmDP;AAlDtB,yDAAsD;AAmDpD,iGAnDO,mCAAgB,OAmDP;AAlDlB,iDAA8C;AAmD5C,6FAnDO,2BAAY,OAmDP;AAlDd,mDAAgD;AAmD9C,8FAnDO,6BAAa,OAmDP;AAlDf,mDAAgD;AAmD9C,8FAnDO,6BAAa,OAmDP;AAlDf,+CAA4C;AAmD1C,4FAnDO,yBAAW,OAmDP;AAlDb,mDAAgD;AAmD9C,8FAnDO,6BAAa,OAmDP;AAlDf,mDAAgD;AAmD9C,8FAnDO,6BAAa,OAmDP;AAlDf,uDAAoD;AAmDlD,gGAnDO,iCAAe,OAmDP;AAlDjB,qDAAkD;AAmDhD,+FAnDO,+BAAc,OAmDP;AAlDhB,iDAA8C;AAmD5C,6FAnDO,2BAAY,OAmDP;AAlDd,+CAA4C;AAmD1C,4FAnDO,yBAAW,OAmDP;AAlDb,qDAAkD;AAmDhD,+FAnDO,+BAAc,OAmDP;AAjDhB;;GAEG;AACH,SAAgB,mBAAmB,CAAC,QAAyB;IAC3D,QAAQ,CAAC,QAAQ,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,IAAI,2CAAoB,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,IAAI,+BAAc,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,6CAAqB,EAAE,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,IAAI,mCAAgB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,2CAAoB,EAAE,CAAC,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,IAAI,mCAAgB,EAAE,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,6BAAa,EAAE,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,IAAI,iCAAe,EAAE,CAAC,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,+BAAc,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,IAAI,2BAAY,EAAE,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,+BAAc,EAAE,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"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"}
@@ -301,6 +301,10 @@ export interface DeliveryConfig {
301
301
  targets: Record<string, DeliveryTargetConfig>;
302
302
  /** 交付成功后删除缓存文件;默认 true,失败一律保留 */
303
303
  deleteAfterDelivery?: boolean;
304
+ /** 持久 outbox 跨运行重试的基础退避;默认 5 分钟 */
305
+ outboxRetryBaseMs?: number;
306
+ /** 持久 outbox 跨运行重试的最大退避;默认 6 小时 */
307
+ outboxRetryMaxMs?: number;
304
308
  }
305
309
  export interface StandaloneConfig {
306
310
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA0P/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aAG5B,MAAM,EAAE,MAAM,EAAE;aAChB,QAAQ,EAAE,MAAM,EAAE;gBAFlC,OAAO,EAAE,MAAM,EACC,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,GAAE,MAAM,EAAO;CAK1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA6Q/G;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB/G"}
@@ -160,6 +160,19 @@ function validateConfig(config, location, databasePath) {
160
160
  errors.push(`${prefix}.retryDelayMs: Must be greater than or equal to 0`);
161
161
  }
162
162
  }
163
+ if (config.delivery?.outboxRetryBaseMs !== undefined &&
164
+ (!Number.isInteger(config.delivery.outboxRetryBaseMs) || config.delivery.outboxRetryBaseMs < 0)) {
165
+ errors.push('delivery.outboxRetryBaseMs: Must be an integer greater than or equal to 0');
166
+ }
167
+ if (config.delivery?.outboxRetryMaxMs !== undefined &&
168
+ (!Number.isInteger(config.delivery.outboxRetryMaxMs) || config.delivery.outboxRetryMaxMs < 0)) {
169
+ errors.push('delivery.outboxRetryMaxMs: Must be an integer greater than or equal to 0');
170
+ }
171
+ if (config.delivery?.outboxRetryBaseMs !== undefined &&
172
+ config.delivery?.outboxRetryMaxMs !== undefined &&
173
+ config.delivery.outboxRetryMaxMs < config.delivery.outboxRetryBaseMs) {
174
+ errors.push('delivery.outboxRetryMaxMs: Must be greater than or equal to outboxRetryBaseMs');
175
+ }
163
176
  // Validate network config
164
177
  if (config.network) {
165
178
  if (config.network.timeoutMs !== undefined && (config.network.timeoutMs < 1000 || config.network.timeoutMs > 300000)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/config/validation.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,29 @@ import { DownloadedArtifact } from './types';
4
4
  export interface PendingRetryResult {
5
5
  succeeded: number;
6
6
  failed: number;
7
+ deferred: number;
8
+ }
9
+ export interface DeliveryOutboxOptions {
10
+ retryBaseDelayMs?: number;
11
+ retryMaxDelayMs?: number;
12
+ now?: () => number;
7
13
  }
8
14
  /** Durable, provider-independent delivery outbox for cache-mode downloads. */
9
15
  export declare class DeliveryOutbox {
10
16
  private readonly directory;
11
17
  private readonly dispatcher;
12
18
  private readonly deleteAfterDelivery;
13
- constructor(directory: string, dispatcher: DeliveryDispatcher, deleteAfterDelivery?: boolean);
19
+ private readonly options;
20
+ constructor(directory: string, dispatcher: DeliveryDispatcher, deleteAfterDelivery?: boolean, options?: DeliveryOutboxOptions);
14
21
  deliver(artifact: DownloadedArtifact, target: TargetConfig): Promise<void>;
15
22
  retryPending(): Promise<PendingRetryResult>;
16
23
  private processManifest;
17
24
  private assertFilesExist;
18
25
  private deleteFiles;
19
26
  private readManifest;
27
+ private now;
28
+ private shouldDefer;
29
+ private retryDelayMs;
20
30
  private writeNewManifest;
21
31
  private writeManifest;
22
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryOutbox.d.ts","sourceRoot":"","sources":["../../src/delivery/DeliveryOutbox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAmC,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgB9E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,kBAAkB,EAC9B,mBAAmB,UAAO;IAGvC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD1E,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;YA4BnC,eAAe;YAqCf,gBAAgB;YAUhB,WAAW;YAQX,YAAY;YAcZ,gBAAgB;YAMhB,aAAa;CAG5B"}
1
+ {"version":3,"file":"DeliveryOutbox.d.ts","sourceRoot":"","sources":["../../src/delivery/DeliveryOutbox.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAmC,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAiB9E,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,8EAA8E;AAC9E,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAHP,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,kBAAkB,EAC9B,mBAAmB,UAAO,EAC1B,OAAO,GAAE,qBAA0B;IAGhD,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAwD1E,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC;YAmCnC,eAAe;YAyCf,gBAAgB;YAUhB,WAAW;YAQX,YAAY;IAc1B,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,YAAY;YAMN,gBAAgB;YAIhB,aAAa;CAU5B"}
@@ -11,10 +11,12 @@ class DeliveryOutbox {
11
11
  directory;
12
12
  dispatcher;
13
13
  deleteAfterDelivery;
14
- constructor(directory, dispatcher, deleteAfterDelivery = true) {
14
+ options;
15
+ constructor(directory, dispatcher, deleteAfterDelivery = true, options = {}) {
15
16
  this.directory = directory;
16
17
  this.dispatcher = dispatcher;
17
18
  this.deleteAfterDelivery = deleteAfterDelivery;
19
+ this.options = options;
18
20
  }
19
21
  async deliver(artifact, target) {
20
22
  if (target.storageMode !== 'cache')
@@ -70,16 +72,22 @@ class DeliveryOutbox {
70
72
  names = (await node_fs_1.promises.readdir(this.directory)).filter((name) => name.endsWith('.json')).sort();
71
73
  }
72
74
  catch (error) {
73
- if (error.code === 'ENOENT')
74
- return { succeeded: 0, failed: 0 };
75
+ if (error.code === 'ENOENT') {
76
+ return { succeeded: 0, failed: 0, deferred: 0 };
77
+ }
75
78
  throw error;
76
79
  }
77
80
  let succeeded = 0;
78
81
  let failed = 0;
82
+ let deferred = 0;
79
83
  for (const name of names) {
80
84
  const manifestPath = (0, node_path_1.join)(this.directory, name);
81
85
  try {
82
86
  const entry = await this.readManifest(manifestPath);
87
+ if (this.shouldDefer(entry)) {
88
+ deferred++;
89
+ continue;
90
+ }
83
91
  await this.processManifest(manifestPath, entry);
84
92
  succeeded++;
85
93
  }
@@ -91,7 +99,7 @@ class DeliveryOutbox {
91
99
  });
92
100
  }
93
101
  }
94
- return { succeeded, failed };
102
+ return { succeeded, failed, deferred };
95
103
  }
96
104
  async processManifest(manifestPath, entry) {
97
105
  if (entry.status === 'pending') {
@@ -106,12 +114,14 @@ class DeliveryOutbox {
106
114
  entry.attempts++;
107
115
  entry.updatedAt = new Date().toISOString();
108
116
  delete entry.lastError;
117
+ delete entry.nextAttemptAt;
109
118
  await this.writeManifest(manifestPath, entry);
110
119
  }
111
120
  catch (error) {
112
121
  entry.attempts++;
113
122
  entry.updatedAt = new Date().toISOString();
114
123
  entry.lastError = error instanceof Error ? error.message : String(error);
124
+ entry.nextAttemptAt = new Date(this.now() + this.retryDelayMs(entry.attempts)).toISOString();
115
125
  await this.writeManifest(manifestPath, entry);
116
126
  throw error;
117
127
  }
@@ -159,13 +169,33 @@ class DeliveryOutbox {
159
169
  }
160
170
  return parsed;
161
171
  }
172
+ now() {
173
+ return this.options.now?.() ?? Date.now();
174
+ }
175
+ shouldDefer(entry) {
176
+ if (entry.status !== 'pending' || !entry.nextAttemptAt)
177
+ return false;
178
+ const timestamp = Date.parse(entry.nextAttemptAt);
179
+ return Number.isFinite(timestamp) && timestamp > this.now();
180
+ }
181
+ retryDelayMs(attempts) {
182
+ const base = Math.max(0, this.options.retryBaseDelayMs ?? 5 * 60_000);
183
+ const maximum = Math.max(base, this.options.retryMaxDelayMs ?? 6 * 60 * 60_000);
184
+ return Math.min(maximum, base * 2 ** Math.min(Math.max(0, attempts - 1), 20));
185
+ }
162
186
  async writeNewManifest(manifestPath, entry) {
163
- const temporaryPath = `${manifestPath}.${process.pid}.${(0, node_crypto_1.randomUUID)()}.tmp`;
164
- await node_fs_1.promises.writeFile(temporaryPath, JSON.stringify(entry, null, 2), 'utf8');
165
- await node_fs_1.promises.rename(temporaryPath, manifestPath);
187
+ await this.writeManifest(manifestPath, entry);
166
188
  }
167
189
  async writeManifest(manifestPath, entry) {
168
- await node_fs_1.promises.writeFile(manifestPath, JSON.stringify(entry, null, 2), 'utf8');
190
+ const temporaryPath = `${manifestPath}.${process.pid}.${(0, node_crypto_1.randomUUID)()}.tmp`;
191
+ try {
192
+ await node_fs_1.promises.writeFile(temporaryPath, JSON.stringify(entry, null, 2), 'utf8');
193
+ await node_fs_1.promises.rename(temporaryPath, manifestPath);
194
+ }
195
+ catch (error) {
196
+ await node_fs_1.promises.unlink(temporaryPath).catch(() => undefined);
197
+ throw error;
198
+ }
169
199
  }
170
200
  }
171
201
  exports.DeliveryOutbox = DeliveryOutbox;