pixivflow 2.0.39 → 2.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/ArgumentParser.d.ts +2 -20
- package/dist/cli/ArgumentParser.d.ts.map +1 -1
- package/dist/cli/ArgumentParser.js +16 -29
- package/dist/cli/ArgumentParser.js.map +1 -1
- package/dist/commands/BackupCommand.d.ts +6 -0
- package/dist/commands/BackupCommand.d.ts.map +1 -1
- package/dist/commands/BackupCommand.js +6 -0
- package/dist/commands/BackupCommand.js.map +1 -1
- package/dist/commands/Command.d.ts +16 -0
- package/dist/commands/Command.d.ts.map +1 -1
- package/dist/commands/Command.js +9 -0
- package/dist/commands/Command.js.map +1 -1
- package/dist/commands/CommandRegistry.d.ts +24 -0
- package/dist/commands/CommandRegistry.d.ts.map +1 -1
- package/dist/commands/CommandRegistry.js +48 -0
- package/dist/commands/CommandRegistry.js.map +1 -1
- package/dist/commands/ConfigCommand.d.ts +6 -0
- package/dist/commands/ConfigCommand.d.ts.map +1 -1
- package/dist/commands/ConfigCommand.js +6 -0
- package/dist/commands/ConfigCommand.js.map +1 -1
- package/dist/commands/DirsCommand.d.ts +6 -0
- package/dist/commands/DirsCommand.d.ts.map +1 -1
- package/dist/commands/DirsCommand.js +6 -0
- package/dist/commands/DirsCommand.js.map +1 -1
- package/dist/commands/DownloadCommand.d.ts +6 -0
- package/dist/commands/DownloadCommand.d.ts.map +1 -1
- package/dist/commands/DownloadCommand.js +7 -1
- package/dist/commands/DownloadCommand.js.map +1 -1
- package/dist/commands/HealthCommand.d.ts +7 -0
- package/dist/commands/HealthCommand.d.ts.map +1 -1
- package/dist/commands/HealthCommand.js +7 -0
- package/dist/commands/HealthCommand.js.map +1 -1
- package/dist/commands/HelpCommand.d.ts +7 -0
- package/dist/commands/HelpCommand.d.ts.map +1 -1
- package/dist/commands/HelpCommand.js +22 -29
- package/dist/commands/HelpCommand.js.map +1 -1
- package/dist/commands/LoginCommand.d.ts +7 -0
- package/dist/commands/LoginCommand.d.ts.map +1 -1
- package/dist/commands/LoginCommand.js +7 -0
- package/dist/commands/LoginCommand.js.map +1 -1
- package/dist/commands/LoginHeadlessCommand.d.ts +7 -0
- package/dist/commands/LoginHeadlessCommand.d.ts.map +1 -1
- package/dist/commands/LoginHeadlessCommand.js +7 -0
- package/dist/commands/LoginHeadlessCommand.js.map +1 -1
- package/dist/commands/LogsCommand.d.ts +6 -0
- package/dist/commands/LogsCommand.d.ts.map +1 -1
- package/dist/commands/LogsCommand.js +6 -0
- package/dist/commands/LogsCommand.js.map +1 -1
- package/dist/commands/MaintainCommand.d.ts +6 -0
- package/dist/commands/MaintainCommand.d.ts.map +1 -1
- package/dist/commands/MaintainCommand.js +6 -0
- package/dist/commands/MaintainCommand.js.map +1 -1
- package/dist/commands/MigrateConfigCommand.d.ts +6 -0
- package/dist/commands/MigrateConfigCommand.d.ts.map +1 -1
- package/dist/commands/MigrateConfigCommand.js +6 -0
- package/dist/commands/MigrateConfigCommand.js.map +1 -1
- package/dist/commands/MonitorCommand.d.ts +6 -0
- package/dist/commands/MonitorCommand.d.ts.map +1 -1
- package/dist/commands/MonitorCommand.js +6 -0
- package/dist/commands/MonitorCommand.js.map +1 -1
- package/dist/commands/NormalizeCommand.d.ts +6 -0
- package/dist/commands/NormalizeCommand.d.ts.map +1 -1
- package/dist/commands/NormalizeCommand.js +6 -0
- package/dist/commands/NormalizeCommand.js.map +1 -1
- package/dist/commands/RandomDownloadCommand.d.ts +7 -1
- package/dist/commands/RandomDownloadCommand.d.ts.map +1 -1
- package/dist/commands/RandomDownloadCommand.js +7 -1
- package/dist/commands/RandomDownloadCommand.js.map +1 -1
- package/dist/commands/RefreshCommand.d.ts +12 -0
- package/dist/commands/RefreshCommand.d.ts.map +1 -1
- package/dist/commands/RefreshCommand.js +82 -0
- package/dist/commands/RefreshCommand.js.map +1 -1
- package/dist/commands/SchedulerCommand.d.ts +6 -0
- package/dist/commands/SchedulerCommand.d.ts.map +1 -1
- package/dist/commands/SchedulerCommand.js +7 -1
- package/dist/commands/SchedulerCommand.js.map +1 -1
- package/dist/commands/SetupCommand.d.ts +6 -0
- package/dist/commands/SetupCommand.d.ts.map +1 -1
- package/dist/commands/SetupCommand.js +6 -0
- package/dist/commands/SetupCommand.js.map +1 -1
- package/dist/commands/StatusCommand.d.ts +6 -0
- package/dist/commands/StatusCommand.d.ts.map +1 -1
- package/dist/commands/StatusCommand.js +6 -0
- package/dist/commands/StatusCommand.js.map +1 -1
- package/dist/commands/VersionCommand.d.ts +21 -0
- package/dist/commands/VersionCommand.d.ts.map +1 -0
- package/dist/commands/VersionCommand.js +81 -0
- package/dist/commands/VersionCommand.js.map +1 -0
- package/dist/commands/WebUICommand.d.ts +6 -0
- package/dist/commands/WebUICommand.d.ts.map +1 -1
- package/dist/commands/WebUICommand.js +6 -0
- package/dist/commands/WebUICommand.js.map +1 -1
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/metadata.d.ts +38 -0
- package/dist/commands/metadata.d.ts.map +1 -0
- package/dist/commands/metadata.js +42 -0
- package/dist/commands/metadata.js.map +1 -0
- package/dist/commands/suggestions.d.ts +22 -0
- package/dist/commands/suggestions.d.ts.map +1 -0
- package/dist/commands/suggestions.js +85 -0
- package/dist/commands/suggestions.js.map +1 -0
- package/dist/index.js +126 -343
- package/dist/index.js.map +1 -1
- package/dist/utils/errors.d.ts +14 -0
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +24 -1
- package/dist/utils/errors.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,377 +1,160 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
4
|
const config_1 = require("./config");
|
|
38
|
-
const DownloadManager_1 = require("./download/DownloadManager");
|
|
39
|
-
const FileService_1 = require("./download/FileService");
|
|
40
5
|
const logger_1 = require("./logger");
|
|
41
|
-
const AuthClient_1 = require("./pixiv/AuthClient");
|
|
42
|
-
const PixivClient_1 = require("./pixiv/PixivClient");
|
|
43
|
-
const Scheduler_1 = require("./scheduler/Scheduler");
|
|
44
|
-
const Database_1 = require("./storage/Database");
|
|
45
|
-
const token_maintenance_1 = require("./utils/token-maintenance");
|
|
46
6
|
const CommandRegistry_1 = require("./commands/CommandRegistry");
|
|
47
7
|
const commands_1 = require("./commands");
|
|
48
8
|
const ArgumentParser_1 = require("./cli/ArgumentParser");
|
|
49
|
-
const config_2 = require("./config");
|
|
50
|
-
const login_helper_1 = require("./utils/login-helper");
|
|
51
|
-
const defaults_1 = require("./config/defaults");
|
|
52
9
|
const errors_1 = require("./utils/errors");
|
|
53
|
-
const fs = __importStar(require("fs/promises"));
|
|
54
|
-
const path = __importStar(require("path"));
|
|
55
|
-
// Use ArgumentParser from CLI module
|
|
56
|
-
const parseArgs = ArgumentParser_1.ArgumentParser.parse;
|
|
57
|
-
/**
|
|
58
|
-
* Main entry point for PixivFlow CLI
|
|
59
|
-
*
|
|
60
|
-
* This file has been refactored to use the new command system.
|
|
61
|
-
* All command handlers have been moved to individual command classes in src/commands/.
|
|
62
|
-
*/
|
|
63
10
|
/**
|
|
64
|
-
*
|
|
11
|
+
* Handles fatal errors, prints user-friendly messages, and exits the process.
|
|
65
12
|
*/
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
// Parse command line arguments
|
|
71
|
-
const parsedArgs = parseArgs(process.argv.slice(2));
|
|
72
|
-
const commandName = parsedArgs.command;
|
|
73
|
-
// Prepare command context
|
|
74
|
-
const configPath = (0, config_2.getConfigPath)(parsedArgs.options.config || undefined);
|
|
75
|
-
// Special handling for refresh command: update config file with token before loading
|
|
76
|
-
// This allows refresh command to work even when config file has placeholder token
|
|
77
|
-
if (commandName === 'refresh' || commandName === 'r') {
|
|
78
|
-
const refreshToken = parsedArgs.positional[0] || parsedArgs.options.token;
|
|
79
|
-
if (refreshToken) {
|
|
80
|
-
try {
|
|
81
|
-
// Check if config file exists
|
|
82
|
-
try {
|
|
83
|
-
await fs.access(configPath);
|
|
84
|
-
// Config file exists, update it with the token
|
|
85
|
-
await (0, login_helper_1.updateConfigWithToken)(configPath, refreshToken);
|
|
86
|
-
logger_1.logger.info('Updated config file with refresh token before validation');
|
|
87
|
-
}
|
|
88
|
-
catch {
|
|
89
|
-
// Config file doesn't exist, create it with default structure
|
|
90
|
-
const defaultConfig = (0, defaults_1.generateDefaultConfig)();
|
|
91
|
-
defaultConfig.pixiv.refreshToken = refreshToken;
|
|
92
|
-
// Ensure directory exists
|
|
93
|
-
const configDir = path.dirname(configPath);
|
|
94
|
-
await fs.mkdir(configDir, { recursive: true });
|
|
95
|
-
await fs.writeFile(configPath, JSON.stringify(defaultConfig, null, 2), 'utf-8');
|
|
96
|
-
logger_1.logger.info('Created config file with refresh token');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
catch (error) {
|
|
100
|
-
// If updating config fails, log warning but continue
|
|
101
|
-
// The refresh command will still work with the provided token
|
|
102
|
-
logger_1.logger.warn('Failed to update config file with refresh token, continuing anyway', {
|
|
103
|
-
error: error instanceof Error ? error.message : String(error),
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
}
|
|
13
|
+
function handleFatalError(error) {
|
|
14
|
+
if (error instanceof errors_1.ConfigError) {
|
|
15
|
+
console.error(`\n❌ Configuration Error: ${error.message}\n`);
|
|
16
|
+
logger_1.logger.error('Configuration error', { error: error.message });
|
|
107
17
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
!commandName;
|
|
121
|
-
// Commands that do not require Pixiv authentication/token
|
|
122
|
-
const tokenOptionalCommands = new Set([
|
|
123
|
-
'help', 'h', '--help',
|
|
124
|
-
'config', 'dirs', 'logs', 'setup', 'status', 'health', 'maintain', 'normalize', 'migrate-config', 'backup', 'monitor',
|
|
125
|
-
// webui can boot without token; UI can guide login
|
|
126
|
-
'webui', 'w'
|
|
127
|
-
]);
|
|
128
|
-
const isTokenOptional = commandName ? tokenOptionalCommands.has(commandName) : true;
|
|
129
|
-
let config;
|
|
130
|
-
try {
|
|
131
|
-
config = (0, config_1.loadConfig)(configPath, isLoginCommand || isHelpInvocation || isTokenOptional);
|
|
132
|
-
}
|
|
133
|
-
catch (error) {
|
|
134
|
-
// Handle config loading errors with friendly messages
|
|
135
|
-
if (error instanceof errors_1.ConfigError) {
|
|
136
|
-
console.error('\n' + error.message + '\n');
|
|
137
|
-
logger_1.logger.error('Configuration error', {
|
|
138
|
-
error: error.message,
|
|
139
|
-
});
|
|
140
|
-
process.exit(1);
|
|
141
|
-
}
|
|
142
|
-
if (error instanceof errors_1.AuthenticationError) {
|
|
143
|
-
console.error('\n❌ Authentication Error');
|
|
144
|
-
console.error('════════════════════════════════════════════════════════════════');
|
|
145
|
-
console.error(error.message);
|
|
146
|
-
console.error('');
|
|
147
|
-
console.error('💡 Your refresh token has expired or is invalid.');
|
|
148
|
-
console.error(' Please login again to get a new refresh token:');
|
|
149
|
-
console.error('');
|
|
150
|
-
console.error(' • Interactive login: pixivflow login');
|
|
151
|
-
console.error(' • Headless login: pixivflow login-headless');
|
|
152
|
-
console.error('');
|
|
153
|
-
console.error('════════════════════════════════════════════════════════════════\n');
|
|
154
|
-
logger_1.logger.error('Authentication failed', {
|
|
155
|
-
error: error.message,
|
|
156
|
-
});
|
|
157
|
-
process.exit(1);
|
|
158
|
-
}
|
|
159
|
-
// Re-throw other errors
|
|
160
|
-
throw error;
|
|
18
|
+
else if (error instanceof errors_1.AuthenticationError) {
|
|
19
|
+
console.error('\n❌ Authentication Error');
|
|
20
|
+
console.error('════════════════════════════════════════════════════════════════');
|
|
21
|
+
console.error(error.message);
|
|
22
|
+
console.error('');
|
|
23
|
+
console.error('💡 Your refresh token may have expired or is invalid.');
|
|
24
|
+
console.error(' Please login again to get a new refresh token:');
|
|
25
|
+
console.error('');
|
|
26
|
+
console.error(' • Interactive login: pixivflow login');
|
|
27
|
+
console.error(' • Headless login: pixivflow login-headless');
|
|
28
|
+
console.error('════════════════════════════════════════════════════════════════\n');
|
|
29
|
+
logger_1.logger.error('Authentication failed', { error: error.message });
|
|
161
30
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
};
|
|
167
|
-
// Convert parsed args to CommandArgs format
|
|
168
|
-
const commandArgs = {
|
|
169
|
-
options: parsedArgs.options,
|
|
170
|
-
positional: parsedArgs.positional,
|
|
171
|
-
};
|
|
172
|
-
// Handle help
|
|
173
|
-
// Case 1: help command explicitly called (pixivflow help or pixivflow help <command>)
|
|
174
|
-
if (commandName === 'help' || commandName === '-h' || commandName === '--help') {
|
|
175
|
-
const helpCommand = registry.find('help');
|
|
176
|
-
if (helpCommand) {
|
|
177
|
-
const result = await helpCommand.execute(context, commandArgs);
|
|
178
|
-
process.exit(result.success ? 0 : 1);
|
|
179
|
-
}
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
// Case 2: --help or -h option used with a command (pixivflow <command> --help)
|
|
183
|
-
if (parsedArgs.options.help || parsedArgs.options.h) {
|
|
184
|
-
if (commandName) {
|
|
185
|
-
// Show help for specific command
|
|
186
|
-
const helpCommand = registry.find('help');
|
|
187
|
-
if (helpCommand) {
|
|
188
|
-
// Pass the command name as positional argument
|
|
189
|
-
const helpArgs = {
|
|
190
|
-
options: {},
|
|
191
|
-
positional: [commandName],
|
|
192
|
-
};
|
|
193
|
-
const result = await helpCommand.execute(context, helpArgs);
|
|
194
|
-
process.exit(result.success ? 0 : 1);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
// No command specified, show general help
|
|
199
|
-
const helpCommand = registry.find('help');
|
|
200
|
-
if (helpCommand) {
|
|
201
|
-
const result = await helpCommand.execute(context, commandArgs);
|
|
202
|
-
process.exit(result.success ? 0 : 1);
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
return;
|
|
31
|
+
else {
|
|
32
|
+
logger_1.logger.error('Fatal error during application startup', {
|
|
33
|
+
error: error instanceof Error ? error.stack ?? error.message : String(error),
|
|
34
|
+
});
|
|
206
35
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Executes the given command.
|
|
40
|
+
*/
|
|
41
|
+
async function executeCommand(registry, commandName, context, args) {
|
|
42
|
+
const command = registry.find(commandName);
|
|
43
|
+
if (!command) {
|
|
44
|
+
console.error(`\n❌ Unknown command: ${commandName}`);
|
|
45
|
+
// Provide command suggestions
|
|
46
|
+
const suggestions = registry.getSuggestions(commandName);
|
|
47
|
+
if (suggestions) {
|
|
48
|
+
console.error(suggestions);
|
|
213
49
|
}
|
|
214
|
-
|
|
50
|
+
console.error('\n💡 Run "pixivflow help" to see all available commands');
|
|
51
|
+
console.error(' Or "pixivflow help <command>" for specific command help\n');
|
|
52
|
+
logger_1.logger.warn(`Command not found: ${commandName}`);
|
|
53
|
+
process.exit(1);
|
|
215
54
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
console.error('[!]: Invalid arguments:');
|
|
225
|
-
validation.errors.forEach((error) => {
|
|
226
|
-
console.error(` - ${error}`);
|
|
227
|
-
});
|
|
228
|
-
if (command.getUsage) {
|
|
229
|
-
console.error(`\nUsage:\n${command.getUsage()}`);
|
|
230
|
-
}
|
|
231
|
-
process.exit(1);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
const result = await command.execute(context, commandArgs);
|
|
235
|
-
// Handle command result
|
|
236
|
-
if (!result.success) {
|
|
237
|
-
const errorMessage = result.error?.message || 'Command failed';
|
|
238
|
-
if (result.error) {
|
|
239
|
-
logger_1.logger.error('Command execution failed', { error: result.error });
|
|
55
|
+
try {
|
|
56
|
+
if (command.validate) {
|
|
57
|
+
const validation = command.validate(args);
|
|
58
|
+
if (!validation.valid) {
|
|
59
|
+
console.error('[!]: Invalid arguments:');
|
|
60
|
+
validation.errors.forEach((error) => console.error(` - ${error}`));
|
|
61
|
+
if (command.getUsage) {
|
|
62
|
+
console.error(`\nUsage:\n${command.getUsage()}`);
|
|
240
63
|
}
|
|
241
64
|
process.exit(1);
|
|
242
65
|
}
|
|
243
|
-
else {
|
|
244
|
-
// For scheduler and webui commands, don't exit (they run indefinitely)
|
|
245
|
-
if (commandName !== 'scheduler' && commandName !== 'webui' && commandName !== 'w') {
|
|
246
|
-
process.exit(0);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
66
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
});
|
|
67
|
+
const result = await command.execute(context, args);
|
|
68
|
+
if (!result.success) {
|
|
69
|
+
logger_1.logger.error('Command execution failed', { command: commandName, error: result.error });
|
|
254
70
|
process.exit(1);
|
|
255
71
|
}
|
|
256
|
-
|
|
72
|
+
// Decide exit behavior based on command metadata (long running)
|
|
73
|
+
const isLongRunning = typeof command.getMetadata === 'function'
|
|
74
|
+
? command.getMetadata().longRunning === true
|
|
75
|
+
: false;
|
|
76
|
+
if (!isLongRunning) {
|
|
77
|
+
process.exit(0);
|
|
78
|
+
}
|
|
257
79
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
80
|
+
catch (error) {
|
|
81
|
+
logger_1.logger.error('Unexpected error during command execution', {
|
|
82
|
+
command: commandName,
|
|
83
|
+
error: error instanceof Error ? error.stack ?? error.message : String(error),
|
|
84
|
+
});
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Executes the default behavior (download or scheduler) when no command is specified.
|
|
90
|
+
*/
|
|
91
|
+
async function executeDefaultBehavior(context, args) {
|
|
92
|
+
const commandName = context.config.scheduler?.enabled ? 'scheduler' : 'download';
|
|
93
|
+
const command = new (commandName === 'scheduler' ? commands_1.SchedulerCommand : commands_1.DownloadCommand)();
|
|
94
|
+
logger_1.logger.info(`No command specified. Running default: ${commandName}`);
|
|
261
95
|
try {
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
database.migrate();
|
|
267
|
-
const auth = new AuthClient_1.PixivAuth(resolvedConfig.pixiv, resolvedConfig.network, database, resolvedConfigPath);
|
|
268
|
-
const pixivClient = new PixivClient_1.PixivClient(auth, resolvedConfig);
|
|
269
|
-
const fileService = new FileService_1.FileService(resolvedConfig.storage);
|
|
270
|
-
const downloadManager = new DownloadManager_1.DownloadManager(resolvedConfig, pixivClient, database, fileService);
|
|
271
|
-
await downloadManager.initialise();
|
|
272
|
-
// Start token maintenance service for automatic token refresh
|
|
273
|
-
const tokenMaintenance = (0, token_maintenance_1.createTokenMaintenanceService)(auth, resolvedConfig.pixiv, resolvedConfig.network, resolvedConfig);
|
|
274
|
-
if (tokenMaintenance) {
|
|
275
|
-
tokenMaintenance.start();
|
|
96
|
+
const result = await command.execute(context, args);
|
|
97
|
+
if (!result.success) {
|
|
98
|
+
logger_1.logger.error('Default command execution failed', { command: commandName, error: result.error });
|
|
99
|
+
process.exit(1);
|
|
276
100
|
}
|
|
277
|
-
|
|
278
|
-
try {
|
|
279
|
-
// Apply initial delay if configured
|
|
280
|
-
if (resolvedConfig.initialDelay && resolvedConfig.initialDelay > 0) {
|
|
281
|
-
logger_1.logger.info(`Waiting ${resolvedConfig.initialDelay}ms before starting download...`);
|
|
282
|
-
await new Promise(resolve => setTimeout(resolve, resolvedConfig.initialDelay));
|
|
283
|
-
}
|
|
284
|
-
logger_1.logger.info('='.repeat(60));
|
|
285
|
-
logger_1.logger.info('Starting Pixiv download job');
|
|
286
|
-
logger_1.logger.info('='.repeat(60));
|
|
287
|
-
const startTime = Date.now();
|
|
288
|
-
await downloadManager.runAllTargets();
|
|
289
|
-
const duration = Math.round((Date.now() - startTime) / 1000);
|
|
290
|
-
logger_1.logger.info('='.repeat(60));
|
|
291
|
-
logger_1.logger.info(`Pixiv download job finished (took ${duration}s)`);
|
|
292
|
-
logger_1.logger.info('='.repeat(60));
|
|
293
|
-
}
|
|
294
|
-
catch (error) {
|
|
295
|
-
// Handle authentication errors during download
|
|
296
|
-
if (error instanceof errors_1.AuthenticationError) {
|
|
297
|
-
console.error('\n❌ Authentication Error During Download');
|
|
298
|
-
console.error('════════════════════════════════════════════════════════════════');
|
|
299
|
-
console.error(error.message);
|
|
300
|
-
console.error('');
|
|
301
|
-
console.error('💡 Your refresh token has expired or is invalid.');
|
|
302
|
-
console.error(' Please login again to get a new refresh token:');
|
|
303
|
-
console.error('');
|
|
304
|
-
console.error(' • Interactive login: pixivflow login');
|
|
305
|
-
console.error(' • (If you have source code: npm run login)');
|
|
306
|
-
console.error('');
|
|
307
|
-
console.error('════════════════════════════════════════════════════════════════\n');
|
|
308
|
-
logger_1.logger.error('Authentication failed during download', {
|
|
309
|
-
error: error.message,
|
|
310
|
-
});
|
|
311
|
-
throw error; // Re-throw to be handled by outer catch
|
|
312
|
-
}
|
|
313
|
-
throw error; // Re-throw other errors
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
const runOnce = !!(parsedArgs.options.once || process.argv.includes('--once'));
|
|
317
|
-
if (runOnce || !resolvedConfig.scheduler.enabled) {
|
|
318
|
-
if (!resolvedConfig.scheduler.enabled && !runOnce) {
|
|
319
|
-
logger_1.logger.info('Scheduler disabled, running once and exiting');
|
|
320
|
-
}
|
|
321
|
-
await runJob();
|
|
322
|
-
if (tokenMaintenance) {
|
|
323
|
-
tokenMaintenance.stop();
|
|
324
|
-
}
|
|
325
|
-
database.close();
|
|
101
|
+
if (commandName === 'download') {
|
|
326
102
|
process.exit(0);
|
|
327
103
|
}
|
|
328
|
-
const scheduler = new Scheduler_1.Scheduler(resolvedConfig.scheduler);
|
|
329
|
-
scheduler.start(runJob);
|
|
330
|
-
const cleanup = () => {
|
|
331
|
-
logger_1.logger.info('Shutting down PixivFlow');
|
|
332
|
-
scheduler.stop();
|
|
333
|
-
if (tokenMaintenance) {
|
|
334
|
-
tokenMaintenance.stop();
|
|
335
|
-
}
|
|
336
|
-
database.close();
|
|
337
|
-
process.exit(0);
|
|
338
|
-
};
|
|
339
|
-
process.on('SIGINT', cleanup);
|
|
340
|
-
process.on('SIGTERM', cleanup);
|
|
341
104
|
}
|
|
342
105
|
catch (error) {
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
});
|
|
359
|
-
|
|
106
|
+
handleFatalError(error);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Main bootstrap function for the CLI.
|
|
111
|
+
*/
|
|
112
|
+
async function bootstrap() {
|
|
113
|
+
const registry = new CommandRegistry_1.CommandRegistry();
|
|
114
|
+
(0, commands_1.registerAllCommands)(registry);
|
|
115
|
+
let parsedArgs;
|
|
116
|
+
try {
|
|
117
|
+
parsedArgs = ArgumentParser_1.ArgumentParser.parse(process.argv.slice(2));
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
if (error instanceof errors_1.VersionRequest) {
|
|
121
|
+
await new commands_1.VersionCommand().execute({}, { options: {}, positional: [] });
|
|
122
|
+
return;
|
|
360
123
|
}
|
|
361
|
-
if (error instanceof errors_1.
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
logger_1.logger.error('Configuration error', {
|
|
366
|
-
error: error.message,
|
|
367
|
-
});
|
|
368
|
-
process.exit(1);
|
|
124
|
+
if (error instanceof errors_1.HelpRequest) {
|
|
125
|
+
const helpArgs = { options: {}, positional: [error.command].filter((c) => !!c) };
|
|
126
|
+
await new commands_1.HelpCommand().execute({}, helpArgs);
|
|
127
|
+
return;
|
|
369
128
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
const { command: commandName, options, positional } = parsedArgs;
|
|
132
|
+
const commandArgs = { options, positional };
|
|
133
|
+
// --- Pre-execution hooks ---
|
|
134
|
+
const configPath = (0, config_1.getConfigPath)(options.config);
|
|
135
|
+
const command = registry.find(commandName || '');
|
|
136
|
+
if (command && command.name === 'refresh') {
|
|
137
|
+
await commands_1.RefreshCommand.preExecute(commandArgs, configPath);
|
|
138
|
+
}
|
|
139
|
+
// --- Config loading and context creation ---
|
|
140
|
+
let config;
|
|
141
|
+
try {
|
|
142
|
+
const isLoginCommand = ['login', 'l', 'login-interactive', 'li', 'login-headless'].includes(commandName || '');
|
|
143
|
+
const tokenOptionalCommands = new Set(['config', 'dirs', 'logs', 'setup', 'status', 'health', 'maintain', 'normalize', 'migrate-config', 'backup', 'monitor', 'webui', 'w']);
|
|
144
|
+
const isTokenOptional = commandName ? tokenOptionalCommands.has(commandName) : true;
|
|
145
|
+
config = (0, config_1.loadConfig)(configPath, isLoginCommand || isTokenOptional || !commandName);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
return handleFatalError(error);
|
|
149
|
+
}
|
|
150
|
+
const context = { config, logger: logger_1.logger, configPath };
|
|
151
|
+
// --- Command execution ---
|
|
152
|
+
if (commandName) {
|
|
153
|
+
await executeCommand(registry, commandName, context, commandArgs);
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
await executeDefaultBehavior(context, commandArgs);
|
|
374
157
|
}
|
|
375
158
|
}
|
|
376
|
-
bootstrap();
|
|
159
|
+
bootstrap().catch(handleFatalError);
|
|
377
160
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,qCAA0E;AAE1E,qCAAkC;AAClC,gEAA6D;AAC7D,yCAAiI;AACjI,yDAAsD;AACtD,2CAA+F;AAG/F;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,KAAK,YAAY,oBAAW,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QAC7D,eAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACpF,eAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,eAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE;YACrD,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;IACL,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAAC,QAAyB,EAAE,WAAmB,EAAE,OAAuB,EAAE,IAAiB;IACtH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;QAErD,8BAA8B;QAC9B,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAE9E,eAAM,CAAC,IAAI,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACzC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,gEAAgE;QAChE,MAAM,aAAa,GAAG,OAAQ,OAAe,CAAC,WAAW,KAAK,UAAU;YACtE,CAAC,CAAE,OAAe,CAAC,WAAW,EAAE,CAAC,WAAW,KAAK,IAAI;YACrD,CAAC,CAAC,KAAK,CAAC;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;YACxD,OAAO,EAAE,WAAW;YACpB,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;;GAEG;AACH,KAAK,UAAU,sBAAsB,CAAC,OAAuB,EAAE,IAAiB;IAC9E,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IACjF,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,2BAAgB,CAAC,CAAC,CAAC,0BAAe,CAAC,EAAE,CAAC;IAEzF,eAAM,CAAC,IAAI,CAAC,0CAA0C,WAAW,EAAE,CAAC,CAAC;IAErE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,eAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS;IACtB,MAAM,QAAQ,GAAG,IAAI,iCAAe,EAAE,CAAC;IACvC,IAAA,8BAAmB,EAAC,QAAQ,CAAC,CAAC;IAE9B,IAAI,UAAU,CAAC;IACf,IAAI,CAAC;QACH,UAAU,GAAG,+BAAc,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,uBAAc,EAAE,CAAC;YACpC,MAAM,IAAI,yBAAc,EAAE,CAAC,OAAO,CAAC,EAAoB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1F,OAAO;QACT,CAAC;QACD,IAAI,KAAK,YAAY,oBAAW,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAgB,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,MAAM,IAAI,sBAAW,EAAE,CAAC,OAAO,CAAC,EAAoB,EAAE,QAAQ,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IACjE,MAAM,WAAW,GAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;IAEzD,8BAA8B;IAC9B,MAAM,UAAU,GAAG,IAAA,sBAAiB,EAAC,OAAO,CAAC,MAA4B,CAAC,CAAC;IAC3E,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,yBAAc,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,8CAA8C;IAC9C,IAAI,MAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC/G,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7K,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEpF,MAAM,GAAG,IAAA,mBAAU,EAAC,UAAU,EAAE,cAAc,IAAI,eAAe,IAAI,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAmB,EAAE,MAAM,EAAE,MAAM,EAAN,eAAM,EAAE,UAAU,EAAE,CAAC;IAE/D,4BAA4B;IAC5B,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,SAAS,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -31,6 +31,20 @@ export declare class DownloadError extends PixivFlowError {
|
|
|
31
31
|
export declare class DatabaseError extends PixivFlowError {
|
|
32
32
|
constructor(message: string, cause?: Error);
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* A special error-like class to signal a version request.
|
|
36
|
+
* This is used for early exit without a full error stack.
|
|
37
|
+
*/
|
|
38
|
+
export declare class VersionRequest extends Error {
|
|
39
|
+
constructor();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* A special error-like class to signal a help request.
|
|
43
|
+
*/
|
|
44
|
+
export declare class HelpRequest extends Error {
|
|
45
|
+
readonly command?: string | undefined;
|
|
46
|
+
constructor(command?: string | undefined);
|
|
47
|
+
}
|
|
34
48
|
/**
|
|
35
49
|
* Check if an error is a 404 (not found) error
|
|
36
50
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Provides consistent error types and handling patterns across the application
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.ErrorRecoveryStrategy = exports.DatabaseError = exports.DownloadError = exports.NetworkError = exports.AuthenticationError = exports.ConfigError = exports.PixivFlowError = void 0;
|
|
7
|
+
exports.ErrorRecoveryStrategy = exports.HelpRequest = exports.VersionRequest = exports.DatabaseError = exports.DownloadError = exports.NetworkError = exports.AuthenticationError = exports.ConfigError = exports.PixivFlowError = void 0;
|
|
8
8
|
exports.is404Error = is404Error;
|
|
9
9
|
exports.isSkipableError = isSkipableError;
|
|
10
10
|
exports.getErrorMessage = getErrorMessage;
|
|
@@ -75,6 +75,29 @@ class DatabaseError extends PixivFlowError {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
exports.DatabaseError = DatabaseError;
|
|
78
|
+
/**
|
|
79
|
+
* A special error-like class to signal a version request.
|
|
80
|
+
* This is used for early exit without a full error stack.
|
|
81
|
+
*/
|
|
82
|
+
class VersionRequest extends Error {
|
|
83
|
+
constructor() {
|
|
84
|
+
super('Version requested');
|
|
85
|
+
this.name = 'VersionRequest';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.VersionRequest = VersionRequest;
|
|
89
|
+
/**
|
|
90
|
+
* A special error-like class to signal a help request.
|
|
91
|
+
*/
|
|
92
|
+
class HelpRequest extends Error {
|
|
93
|
+
command;
|
|
94
|
+
constructor(command) {
|
|
95
|
+
super('Help requested');
|
|
96
|
+
this.command = command;
|
|
97
|
+
this.name = 'HelpRequest';
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.HelpRequest = HelpRequest;
|
|
78
101
|
/**
|
|
79
102
|
* Check if an error is a 404 (not found) error
|
|
80
103
|
*/
|