@anyul/koishi-plugin-rss 5.3.2 → 5.3.4

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 (38) hide show
  1. package/lib/commands/index.js +0 -2
  2. package/lib/commands/subscription-management.js +0 -2
  3. package/lib/commands/utils.d.ts +0 -5
  4. package/lib/commands/utils.js +0 -16
  5. package/lib/config.js +0 -8
  6. package/lib/core/feeder-arg.js +3 -38
  7. package/lib/core/feeder-runtime.js +0 -5
  8. package/lib/core/feeder.js +0 -10
  9. package/lib/core/item-processor-runtime.d.ts +4 -2
  10. package/lib/core/item-processor-runtime.js +4 -12
  11. package/lib/core/notification-queue-sender.js +0 -5
  12. package/lib/core/notification-queue.js +0 -7
  13. package/lib/core/telegram-video-restore.js +3 -8
  14. package/lib/index.js +3 -11
  15. package/lib/tsconfig.tsbuildinfo +1 -1
  16. package/lib/types.d.ts +0 -9
  17. package/lib/utils/common.d.ts +6 -0
  18. package/lib/utils/common.js +15 -25
  19. package/lib/utils/error-handler.d.ts +49 -0
  20. package/lib/utils/error-handler.js +111 -1
  21. package/lib/utils/fetcher.js +11 -37
  22. package/lib/utils/logger.d.ts +6 -0
  23. package/lib/utils/logger.js +82 -14
  24. package/lib/utils/proxy.d.ts +37 -0
  25. package/lib/utils/proxy.js +60 -0
  26. package/package.json +1 -1
  27. package/lib/commands/error-handler.d.ts +0 -53
  28. package/lib/commands/error-handler.js +0 -120
  29. package/lib/commands/rss-subscribe.d.ts +0 -11
  30. package/lib/commands/rss-subscribe.js +0 -323
  31. package/lib/core/feeder-old.d.ts +0 -15
  32. package/lib/core/feeder-old.js +0 -403
  33. package/lib/utils/error-tracker.d.ts +0 -127
  34. package/lib/utils/error-tracker.js +0 -352
  35. package/lib/utils/metrics.d.ts +0 -184
  36. package/lib/utils/metrics.js +0 -401
  37. package/lib/utils/structured-logger.d.ts +0 -135
  38. package/lib/utils/structured-logger.js +0 -248
@@ -1,248 +0,0 @@
1
- "use strict";
2
- /**
3
- * 观测辅助日志包装层。
4
- *
5
- * 注意:当前插件主流程日志入口是 `src/utils/logger.ts` 中的
6
- * `debug / debugInfo / debugError / createDebugWithContext`。
7
- * 这里保留为可选的观测与兼容包装,不应作为新业务代码的首选入口。
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.StructuredLogger = exports.PerformanceTimer = exports.LogLevel = void 0;
11
- exports.initStructuredLogger = initStructuredLogger;
12
- exports.getStructuredLogger = getStructuredLogger;
13
- exports.logInfo = logInfo;
14
- exports.logDetails = logDetails;
15
- exports.logError = logError;
16
- exports.createTimer = createTimer;
17
- exports.logPerformance = logPerformance;
18
- const logger_1 = require("./logger");
19
- /**
20
- * 日志级别枚举
21
- */
22
- var LogLevel;
23
- (function (LogLevel) {
24
- LogLevel["DISABLE"] = "disable";
25
- LogLevel["ERROR"] = "error";
26
- LogLevel["INFO"] = "info";
27
- LogLevel["DETAILS"] = "details";
28
- })(LogLevel || (exports.LogLevel = LogLevel = {}));
29
- /**
30
- * 性能计时器
31
- */
32
- class PerformanceTimer {
33
- startTime;
34
- startMemory;
35
- constructor() {
36
- this.startTime = Date.now();
37
- this.startMemory = process.memoryUsage().heapUsed / 1024 / 1024;
38
- }
39
- /**
40
- * 获取耗时(毫秒)
41
- */
42
- getDuration() {
43
- return Date.now() - this.startTime;
44
- }
45
- /**
46
- * 获取内存使用(MB)
47
- */
48
- getMemoryUsage() {
49
- const currentMemory = process.memoryUsage().heapUsed / 1024 / 1024;
50
- return currentMemory - this.startMemory;
51
- }
52
- /**
53
- * 获取性能数据
54
- */
55
- getMetrics() {
56
- return {
57
- duration: this.getDuration(),
58
- memory: this.getMemoryUsage()
59
- };
60
- }
61
- }
62
- exports.PerformanceTimer = PerformanceTimer;
63
- /**
64
- * 结构化日志记录器类。
65
- * 内部仍然回落到主日志入口,避免形成第二条日志主线。
66
- */
67
- class StructuredLogger {
68
- config;
69
- enableJsonOutput;
70
- constructor(config, enableJsonOutput = false) {
71
- this.config = config;
72
- this.enableJsonOutput = enableJsonOutput;
73
- }
74
- /**
75
- * 判断是否应该记录日志
76
- */
77
- shouldLog(level) {
78
- return (0, logger_1.shouldLog)(this.config, level);
79
- }
80
- /**
81
- * 格式化日志条目
82
- */
83
- formatEntry(entry) {
84
- if (this.enableJsonOutput) {
85
- return JSON.stringify(entry);
86
- }
87
- const header = [
88
- `[${entry.timestamp}]`,
89
- `[${entry.level.toUpperCase()}]`,
90
- entry.module ? `[${entry.module}]` : '',
91
- entry.message
92
- ].filter(Boolean).join(' ');
93
- const lines = [header];
94
- if (entry.context && Object.keys(entry.context).length > 0) {
95
- const contextStr = Object.entries(entry.context)
96
- .map(([key, value]) => `${key}=${value}`)
97
- .join(', ');
98
- lines.push(`↳ context: ${contextStr}`);
99
- }
100
- if (entry.data && Object.keys(entry.data).length > 0) {
101
- const dataStr = Object.entries(entry.data)
102
- .map(([key, value]) => `${key}=${typeof value === 'object' ? JSON.stringify(value) : value}`)
103
- .join(', ');
104
- lines.push(`↳ data: ${dataStr}`);
105
- }
106
- if (entry.performance) {
107
- const perfParts = [];
108
- if (entry.performance.duration) {
109
- perfParts.push(`duration=${entry.performance.duration}ms`);
110
- }
111
- if (entry.performance.memory) {
112
- perfParts.push(`memory=${entry.performance.memory.toFixed(2)}MB`);
113
- }
114
- if (perfParts.length > 0) {
115
- lines.push(`↳ performance: ${perfParts.join(', ')}`);
116
- }
117
- }
118
- if (entry.error) {
119
- lines.push(`↳ error: ${entry.error.name}: ${entry.error.message}`);
120
- }
121
- return lines.join('\n');
122
- }
123
- /**
124
- * 记录日志
125
- */
126
- log(entry) {
127
- if (!this.shouldLog(entry.level)) {
128
- return;
129
- }
130
- const formattedMessage = this.formatEntry(entry);
131
- (0, logger_1.debug)(this.config, formattedMessage, '', entry.level);
132
- }
133
- /**
134
- * 记录普通信息
135
- */
136
- info(message, module, data, context) {
137
- this.log({
138
- timestamp: new Date().toISOString(),
139
- level: LogLevel.INFO,
140
- module,
141
- message,
142
- data,
143
- context
144
- });
145
- }
146
- /**
147
- * 记录详细信息
148
- */
149
- details(message, module, data, context) {
150
- this.log({
151
- timestamp: new Date().toISOString(),
152
- level: LogLevel.DETAILS,
153
- module,
154
- message,
155
- data,
156
- context
157
- });
158
- }
159
- /**
160
- * 记录错误
161
- */
162
- error(message, module, error, context) {
163
- this.log({
164
- timestamp: new Date().toISOString(),
165
- level: LogLevel.ERROR,
166
- module,
167
- message,
168
- error: error ? {
169
- name: error.name,
170
- message: error.message,
171
- stack: error.stack
172
- } : undefined,
173
- context
174
- });
175
- }
176
- /**
177
- * 记录性能数据
178
- */
179
- performance(message, module, timer, context) {
180
- this.log({
181
- timestamp: new Date().toISOString(),
182
- level: LogLevel.INFO,
183
- module,
184
- message,
185
- performance: timer.getMetrics(),
186
- context
187
- });
188
- }
189
- /**
190
- * 创建性能计时器
191
- */
192
- createTimer() {
193
- return new PerformanceTimer();
194
- }
195
- }
196
- exports.StructuredLogger = StructuredLogger;
197
- // 全局结构化日志实例
198
- let globalStructuredLogger = null;
199
- /**
200
- * 初始化全局结构化日志
201
- */
202
- function initStructuredLogger(config, enableJsonOutput = false) {
203
- globalStructuredLogger = new StructuredLogger(config, enableJsonOutput);
204
- }
205
- /**
206
- * 获取全局结构化日志实例
207
- */
208
- function getStructuredLogger() {
209
- return globalStructuredLogger;
210
- }
211
- /**
212
- * 便捷方法:记录信息
213
- */
214
- function logInfo(message, module, data, context) {
215
- if (globalStructuredLogger) {
216
- globalStructuredLogger.info(message, module, data, context);
217
- }
218
- }
219
- /**
220
- * 便捷方法:记录详细信息
221
- */
222
- function logDetails(message, module, data, context) {
223
- if (globalStructuredLogger) {
224
- globalStructuredLogger.details(message, module, data, context);
225
- }
226
- }
227
- /**
228
- * 便捷方法:记录错误
229
- */
230
- function logError(message, module, error, context) {
231
- if (globalStructuredLogger) {
232
- globalStructuredLogger.error(message, module, error, context);
233
- }
234
- }
235
- /**
236
- * 便捷方法:创建计时器
237
- */
238
- function createTimer() {
239
- return new PerformanceTimer();
240
- }
241
- /**
242
- * 便捷方法:记录性能
243
- */
244
- function logPerformance(message, module, timer, context) {
245
- if (globalStructuredLogger) {
246
- globalStructuredLogger.performance(message, module, timer, context);
247
- }
248
- }