@zhin.js/core 1.0.7 → 1.0.8

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 (65) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/adapter.d.ts +8 -6
  3. package/lib/adapter.d.ts.map +1 -1
  4. package/lib/adapter.js +13 -7
  5. package/lib/adapter.js.map +1 -1
  6. package/lib/app.d.ts +72 -14
  7. package/lib/app.d.ts.map +1 -1
  8. package/lib/app.js +240 -79
  9. package/lib/app.js.map +1 -1
  10. package/lib/bot.d.ts +10 -8
  11. package/lib/bot.d.ts.map +1 -1
  12. package/lib/config.d.ts +44 -14
  13. package/lib/config.d.ts.map +1 -1
  14. package/lib/config.js +275 -208
  15. package/lib/config.js.map +1 -1
  16. package/lib/index.d.ts +1 -1
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +1 -1
  19. package/lib/index.js.map +1 -1
  20. package/lib/log-transport.js +1 -1
  21. package/lib/log-transport.js.map +1 -1
  22. package/lib/models/system-log.d.ts +2 -2
  23. package/lib/models/system-log.d.ts.map +1 -1
  24. package/lib/models/system-log.js +1 -1
  25. package/lib/models/system-log.js.map +1 -1
  26. package/lib/models/user.d.ts +2 -2
  27. package/lib/models/user.d.ts.map +1 -1
  28. package/lib/models/user.js +1 -1
  29. package/lib/models/user.js.map +1 -1
  30. package/lib/plugin.d.ts +7 -3
  31. package/lib/plugin.d.ts.map +1 -1
  32. package/lib/plugin.js +16 -5
  33. package/lib/plugin.js.map +1 -1
  34. package/lib/prompt.d.ts +1 -1
  35. package/lib/prompt.d.ts.map +1 -1
  36. package/lib/prompt.js +9 -7
  37. package/lib/prompt.js.map +1 -1
  38. package/lib/types.d.ts +6 -5
  39. package/lib/types.d.ts.map +1 -1
  40. package/package.json +4 -4
  41. package/src/adapter.ts +18 -11
  42. package/src/app.ts +358 -102
  43. package/src/bot.ts +27 -25
  44. package/src/config.ts +352 -230
  45. package/src/index.ts +1 -1
  46. package/src/log-transport.ts +1 -1
  47. package/src/models/system-log.ts +2 -2
  48. package/src/models/user.ts +2 -2
  49. package/src/plugin.ts +19 -6
  50. package/src/prompt.ts +10 -9
  51. package/src/types.ts +8 -5
  52. package/tests/adapter.test.ts +5 -200
  53. package/tests/app.test.ts +208 -181
  54. package/tests/command.test.ts +2 -2
  55. package/tests/config.test.ts +5 -326
  56. package/tests/cron.test.ts +277 -0
  57. package/tests/jsx.test.ts +300 -0
  58. package/tests/permissions.test.ts +358 -0
  59. package/tests/prompt.test.ts +223 -0
  60. package/tests/schema.test.ts +248 -0
  61. package/lib/schema.d.ts +0 -83
  62. package/lib/schema.d.ts.map +0 -1
  63. package/lib/schema.js +0 -245
  64. package/lib/schema.js.map +0 -1
  65. package/src/schema.ts +0 -273
package/lib/app.js CHANGED
@@ -1,5 +1,8 @@
1
+ var _a;
1
2
  import path from "path";
2
- import { HMR, getCallerFile, getCallerFiles, } from "@zhin.js/hmr";
3
+ import { Schema } from '@zhin.js/hmr';
4
+ import { HMR, getCallerFile, getCallerFiles, mergeConfig, } from "@zhin.js/hmr";
5
+ import { Config } from "./config.js";
3
6
  import { fileURLToPath } from "url";
4
7
  import { generateEnvTypes } from "./types-generator.js";
5
8
  import logger, { setName, setLevel, LogLevel } from "@zhin.js/logger";
@@ -8,10 +11,10 @@ import { Permissions } from "./permissions.js";
8
11
  // 创建静态logger用于配置加载等静态操作
9
12
  setName("Zhin");
10
13
  import { Plugin } from "./plugin.js";
11
- import { Registry } from "@zhin.js/database";
14
+ import { Registry, } from "@zhin.js/database";
12
15
  import { DatabaseLogTransport } from "./log-transport.js";
13
- import { SystemLogSchema } from "./models/system-log.js";
14
- import { UserSchema } from './models/user.js';
16
+ import { SystemLogDefinition } from "./models/system-log.js";
17
+ import { UserDefinition } from "./models/user.js";
15
18
  import { addTransport, removeTransport } from "@zhin.js/logger";
16
19
  // ============================================================================
17
20
  // App 类(Zhin.js 应用主入口,负责插件热重载、配置管理、消息分发等)
@@ -22,46 +25,28 @@ import { addTransport, removeTransport } from "@zhin.js/logger";
22
25
  */
23
26
  export class App extends HMR {
24
27
  static currentPlugin;
25
- config;
26
28
  middlewares = [];
27
29
  adapters = [];
30
+ #config;
28
31
  database;
29
32
  permissions = new Permissions(this);
30
33
  logTransport;
31
- /**
32
- * 构造函数:初始化应用,加载配置,注册全局异常处理
33
- * @param config 可选的应用配置,若为空则自动查找配置文件
34
- */
35
- constructor(config) {
36
- // 如果没有传入配置或配置为空对象,尝试自动加载配置文件
37
- let finalConfig;
38
- if (!config || Object.keys(config).length === 0) {
39
- try {
40
- // 异步加载配置,这里需要改为同步初始化
41
- logger.info("🔍 正在查找配置文件...");
42
- finalConfig = App.loadConfigSync();
43
- logger.info("✅ 配置文件加载成功");
44
- }
45
- catch (error) {
46
- logger.warn("⚠️ 配置文件加载失败,使用默认配置", {
47
- error: error instanceof Error ? error.message : String(error),
48
- });
49
- finalConfig = Object.assign({}, App.defaultConfig);
50
- }
51
- }
52
- else {
53
- // 合并默认配置和传入的配置
54
- finalConfig = Object.assign({}, App.defaultConfig, config);
55
- }
34
+ /** 配置变更处理锁 */
35
+ configChangeLock = null;
36
+ constructor(config_param = "zhin.config.yml") {
37
+ const config_file = typeof config_param === "string" ? config_param : "zhin.config.yml";
38
+ const config_obj = typeof config_param === "object" ? config_param : _a.defaultConfig;
39
+ const config = new Config(config_file, _a.schema, mergeConfig(_a.defaultConfig, config_obj));
56
40
  // 调用父类构造函数
57
- super("Zhin", {
41
+ super({
58
42
  logger,
59
- dirs: finalConfig.plugin_dirs || [],
43
+ dirs: config.get("plugin_dirs") || [],
60
44
  extensions: new Set([".js", ".ts", ".jsx", ".tsx"]),
61
- debug: finalConfig.debug,
45
+ debug: config.get("debug"),
62
46
  });
47
+ this.watching(config.filepath, () => config.reload());
63
48
  this.on("message.send", this.sendMessage.bind(this));
64
- this.on('message.receive', this.receiveMessage.bind(this));
49
+ this.on("message.receive", this.receiveMessage.bind(this));
65
50
  process.on("uncaughtException", (e) => {
66
51
  const args = e instanceof Error ? [e.message, { stack: e.stack }] : [e];
67
52
  this.logger.error(...args);
@@ -70,10 +55,123 @@ export class App extends HMR {
70
55
  const args = e instanceof Error ? [e.message, { stack: e.stack }] : [e];
71
56
  this.logger.error(...args);
72
57
  });
73
- this.config = finalConfig;
74
- setLevel(finalConfig.log_level);
58
+ this.#config = config;
59
+ // 监听配置变更
60
+ config.on("change", (before, after) => {
61
+ this.handleConfigChange(before, after);
62
+ this.broadcast("config.change", before, after);
63
+ });
64
+ this.defineSchema(_a.schema);
65
+ setLevel(config.get("log_level") || LogLevel.INFO);
75
66
  this.middleware(this.messageMiddleware.bind(this));
76
67
  }
68
+ /**
69
+ * 处理配置变更
70
+ * 如果上一次变更未完成,等待其完成后再处理新的变更
71
+ */
72
+ async handleConfigChange(before, after) {
73
+ this.logger.info("configuration changed");
74
+ // 等待上一次配置变更处理完成
75
+ if (this.configChangeLock) {
76
+ this.logger.info("Waiting for previous config change to complete...");
77
+ await this.configChangeLock;
78
+ }
79
+ // 创建新的锁
80
+ this.configChangeLock = this.applyConfigChanges(before, after);
81
+ try {
82
+ await this.configChangeLock;
83
+ }
84
+ finally {
85
+ this.configChangeLock = null;
86
+ }
87
+ }
88
+ /**
89
+ * 应用配置变更
90
+ */
91
+ async applyConfigChanges(before, after) {
92
+ try {
93
+ // 1. 更新日志级别
94
+ if (after.log_level !== before.log_level) {
95
+ setLevel(after.log_level || LogLevel.INFO);
96
+ }
97
+ // 2. 更新监听目录
98
+ await this.updateWatchDirs(before.plugin_dirs || [], after.plugin_dirs || []);
99
+ // 3. 更新插件加载
100
+ await this.updatePlugins(before.plugins || [], after.plugins || []);
101
+ }
102
+ catch (error) {
103
+ this.logger.error("Failed to apply configuration changes:", error);
104
+ throw error;
105
+ }
106
+ // 4. 更新数据库连接
107
+ if (JSON.stringify(before.database) !== JSON.stringify(after.database)) {
108
+ this.database?.stop();
109
+ if (after.database) {
110
+ this.database = Registry.create(this.config.database.dialect, this.config.database, Object.fromEntries(this.definitions));
111
+ await this.database.start();
112
+ }
113
+ }
114
+ }
115
+ /**
116
+ * 更新监听目录
117
+ */
118
+ async updateWatchDirs(oldDirs, newDirs) {
119
+ const oldResolved = oldDirs.map((dir) => path.resolve(process.cwd(), dir));
120
+ const newResolved = newDirs.map((dir) => path.resolve(process.cwd(), dir));
121
+ // 找出需要移除的目录
122
+ const dirsToRemove = oldResolved.filter((dir) => !newResolved.includes(dir));
123
+ // 找出需要添加的目录
124
+ const dirsToAdd = newResolved.filter((dir) => !oldResolved.includes(dir));
125
+ // 移除过时的监听目录
126
+ for (const dir of dirsToRemove) {
127
+ this.removeWatchDir(dir);
128
+ }
129
+ // 添加新的监听目录
130
+ for (const dir of dirsToAdd) {
131
+ this.addWatchDir(dir);
132
+ }
133
+ }
134
+ /**
135
+ * 更新插件加载
136
+ */
137
+ async updatePlugins(oldPlugins, newPlugins) {
138
+ // 找出需要卸载的插件
139
+ const pluginsToUnload = oldPlugins.filter((plugin) => !newPlugins.includes(plugin));
140
+ // 找出需要加载的插件
141
+ const pluginsToLoad = newPlugins.filter((plugin) => !oldPlugins.includes(plugin));
142
+ // 卸载不再需要的插件
143
+ for (const pluginName of pluginsToUnload) {
144
+ await this.unloadPlugin(pluginName);
145
+ }
146
+ // 加载新插件
147
+ for (const pluginName of pluginsToLoad) {
148
+ this.use(pluginName);
149
+ }
150
+ // 等待新插件加载完成
151
+ if (pluginsToLoad.length > 0) {
152
+ await sleep(200);
153
+ await this.waitForReady();
154
+ }
155
+ }
156
+ /**
157
+ * 卸载插件
158
+ */
159
+ async unloadPlugin(pluginName) {
160
+ // 尝试找到插件 (使用 HMR 提供的方法)
161
+ const plugin = this.findPluginByName(pluginName);
162
+ if (plugin) {
163
+ // 找到插件的文件路径
164
+ const filePath = plugin.filename;
165
+ // 销毁插件
166
+ plugin.dispose();
167
+ // 从依赖映射中移除
168
+ this.dependencies.delete(filePath);
169
+ this.logger.info(`Plugin ${pluginName} unloaded successfully`);
170
+ }
171
+ else {
172
+ this.logger.warn(`Plugin ${pluginName} not found, skipping unload`);
173
+ }
174
+ }
77
175
  async receiveMessage(message) {
78
176
  const middlewares = this.dependencyList.reduce((result, plugin) => {
79
177
  result.push(...plugin.middlewares);
@@ -106,7 +204,7 @@ export class App extends HMR {
106
204
  */
107
205
  static defaultConfig = {
108
206
  log_level: LogLevel.INFO,
109
- plugin_dirs: ["./plugins"],
207
+ plugin_dirs: [],
110
208
  plugins: [],
111
209
  bots: [],
112
210
  debug: false,
@@ -156,25 +254,36 @@ export class App extends HMR {
156
254
  createDependency(name, filePath) {
157
255
  return new Plugin(this, name, filePath);
158
256
  }
159
- /** 获取App配置 */
160
- /**
161
- * 获取App配置(只读)
162
- */
163
- getConfig() {
164
- return { ...this.config };
257
+ getConfig(key) {
258
+ if (key === undefined) {
259
+ return this.#config.config;
260
+ }
261
+ return this.#config.get(key);
165
262
  }
166
- /** 更新App配置 */
167
- /**
168
- * 更新App配置
169
- * @param config 部分配置项,将与现有配置合并
170
- */
171
- updateConfig(config) {
172
- this.config = { ...this.config, ...config };
173
- // 更新HMR配置
174
- if (config.plugin_dirs) {
263
+ setConfig(key, value) {
264
+ if (typeof key === "object") {
265
+ this.#config.config = key;
266
+ }
267
+ else if (value !== undefined) {
268
+ this.#config.set(key, value);
269
+ }
270
+ }
271
+ changeSchema(key, value) {
272
+ if (!_a.schema.options.object) {
273
+ _a.schema.options.object = {};
274
+ }
275
+ _a.schema.options.object[key] = value;
276
+ this.#config.reload();
277
+ }
278
+ get config() {
279
+ return this.#config.config;
280
+ }
281
+ set config(newConfig) {
282
+ this.#config.config = newConfig;
283
+ if (newConfig.plugin_dirs) {
175
284
  // 动态更新监听目录
176
285
  const currentDirs = this.getWatchDirs();
177
- const newDirs = config.plugin_dirs;
286
+ const newDirs = newConfig.plugin_dirs;
178
287
  // 移除不再需要的目录
179
288
  for (const dir of currentDirs) {
180
289
  if (!newDirs.includes(dir)) {
@@ -190,48 +299,52 @@ export class App extends HMR {
190
299
  }
191
300
  this.logger.info("App configuration updated", this.config);
192
301
  }
193
- get schemas() {
302
+ get definitions() {
194
303
  return this.dependencyList.reduce((result, plugin) => {
195
- plugin.schemas.forEach((schema, name) => {
196
- result.set(name, schema);
304
+ plugin.definitions.forEach((definition, name) => {
305
+ result.set(name, definition);
197
306
  });
198
307
  return result;
199
308
  }, new Map([
200
- ['SystemLog', SystemLogSchema],
201
- ['User', UserSchema]
309
+ ["SystemLog", SystemLogDefinition],
310
+ ["User", UserDefinition],
202
311
  ]));
203
312
  }
204
313
  /** 使用插件 */
205
314
  use(filePath) {
206
315
  this.emit("internal.add", filePath);
207
316
  }
208
- /** 启动App */
209
- async start(mode = "prod") {
210
- await generateEnvTypes(process.cwd());
211
- // 加载插件
212
- for (const pluginName of this.config.plugins || []) {
213
- this.use(pluginName);
214
- }
215
- await sleep(200);
216
- const schemas = {};
217
- for (const [name, schema] of this.schemas) {
218
- schemas[name] = schema;
317
+ async #init() {
318
+ // 首次初始化时,执行配置应用逻辑
319
+ await this.handleConfigChange(_a.defaultConfig, this.config);
320
+ // 初始化数据库
321
+ const definitions = {};
322
+ for (const [name, schema] of this.definitions) {
323
+ definitions[name] = schema;
219
324
  }
220
325
  if (this.config.database) {
221
- this.database = Registry.create(this.config.database.dialect, this.config.database, schemas);
326
+ this.database = Registry.create(this.config.database.dialect, this.config.database, definitions);
327
+ this.logger.info(`database init...`);
222
328
  await this.database?.start();
223
329
  this.logger.info(`database init success`);
224
- // 初始化日志传输器
225
- this.logTransport = new DatabaseLogTransport(this);
226
- addTransport(this.logTransport);
227
- this.logger.info(`database log transport registered`);
330
+ this.dispatch("database.ready", this.database);
228
331
  }
229
332
  else {
230
333
  this.logger.info(`database not configured, skipping database init`);
231
334
  }
232
- this.dispatch("database.ready", this.database);
233
335
  // 等待所有插件就绪
234
336
  await this.waitForReady();
337
+ }
338
+ /** 启动App */
339
+ async start(mode = "prod") {
340
+ await generateEnvTypes(process.cwd());
341
+ await this.#init();
342
+ if (this.database) {
343
+ // 初始化日志传输器
344
+ this.logTransport = new DatabaseLogTransport(this);
345
+ addTransport(this.logTransport);
346
+ this.logger.info(`database log transport registered`);
347
+ }
235
348
  this.logger.info("started successfully");
236
349
  this.dispatch("app.ready");
237
350
  }
@@ -274,6 +387,50 @@ export class App extends HMR {
274
387
  return options;
275
388
  }
276
389
  }
390
+ _a = App;
391
+ (function (App) {
392
+ App.schema = Schema.object({
393
+ database: Schema.any().description("数据库配置"),
394
+ bots: Schema.list(Schema.any()).default([]).description("机器人配置列表"),
395
+ log_level: Schema.number()
396
+ .default(LogLevel.INFO)
397
+ .description("日志级别 (0=DEBUG, 1=INFO, 2=WARN, 3=ERROR, 4=SILENT)")
398
+ .min(0)
399
+ .max(4),
400
+ log: Schema.object({
401
+ maxDays: Schema.number().default(7).description("日志最大保存天数"),
402
+ maxRecords: Schema.number().default(10000).description("日志最大记录数"),
403
+ cleanupInterval: Schema.number()
404
+ .default(24)
405
+ .description("日志清理间隔(小时)"),
406
+ })
407
+ .description("日志配置")
408
+ .default({
409
+ maxDays: 7,
410
+ maxRecords: 10000,
411
+ cleanupInterval: 24,
412
+ }),
413
+ plugin_dirs: Schema.list(Schema.string())
414
+ .default(["node_modules"])
415
+ .description("插件目录列表"),
416
+ plugins: Schema.list(Schema.string())
417
+ .default([])
418
+ .description("需要加载的插件列表"),
419
+ debug: Schema.boolean()
420
+ .default(false)
421
+ .description("是否启用调试模式"),
422
+ }).default({
423
+ log_level: LogLevel.INFO,
424
+ log: {
425
+ maxDays: 7,
426
+ maxRecords: 10000,
427
+ cleanupInterval: 24,
428
+ },
429
+ plugin_dirs: ["node_modules"],
430
+ plugins: [],
431
+ debug: false,
432
+ });
433
+ })(App || (App = {}));
277
434
  // ============================================================================
278
435
  // Hooks API
279
436
  // ============================================================================
@@ -340,11 +497,11 @@ export function registerAdapter(adapter) {
340
497
  name: adapter.name,
341
498
  description: `adapter for ${adapter.name}`,
342
499
  async mounted(plugin) {
343
- await adapter.start(plugin);
500
+ await adapter.mounted(plugin);
344
501
  return adapter;
345
502
  },
346
503
  dispose() {
347
- return adapter.stop(plugin);
504
+ return adapter.dispose(plugin);
348
505
  },
349
506
  });
350
507
  }
@@ -425,6 +582,10 @@ export async function sendMessage(options) {
425
582
  const app = useApp();
426
583
  await app.sendMessage(options);
427
584
  }
585
+ export function defineSchema(rules) {
586
+ const plugin = usePlugin();
587
+ return plugin.defineSchema(rules);
588
+ }
428
589
  /** 获取App实例(用于高级操作) */
429
590
  export function getAppInstance() {
430
591
  return useApp();
@@ -435,8 +596,8 @@ export function useLogger() {
435
596
  return plugin.logger;
436
597
  }
437
598
  /** 创建App实例的工厂函数 */
438
- export async function createApp(config) {
439
- const app = new App(config);
599
+ export async function createApp(config_file) {
600
+ const app = new App(config_file);
440
601
  await app.start();
441
602
  return app;
442
603
  }
package/lib/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/lib/bot.d.ts CHANGED
@@ -6,7 +6,7 @@ import { Message } from "./message.js";
6
6
  * @template M 消息类型
7
7
  * @template T 配置类型
8
8
  */
9
- export interface Bot<M extends object = {}, T extends BotConfig = BotConfig> {
9
+ export interface Bot<M extends object = {}, T extends Bot.Config = Bot.Config> {
10
10
  /** 机器人配置 */
11
11
  $config: T;
12
12
  /** 是否已连接 */
@@ -22,12 +22,14 @@ export interface Bot<M extends object = {}, T extends BotConfig = BotConfig> {
22
22
  /** 发送消息返回消息id */
23
23
  $sendMessage(options: SendOptions): Promise<string>;
24
24
  }
25
- /**
26
- * Bot配置类型,所有平台机器人通用
27
- */
28
- export interface BotConfig {
29
- context: string;
30
- name: string;
31
- [key: string]: any;
25
+ export declare namespace Bot {
26
+ /**
27
+ * Bot配置类型,所有平台机器人通用
28
+ */
29
+ interface Config {
30
+ context: string;
31
+ name: string;
32
+ [key: string]: any;
33
+ }
32
34
  }
33
35
  //# sourceMappingURL=bot.d.ts.map
package/lib/bot.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,EAAC,CAAC,SAAS,SAAS,GAAC,SAAS;IAClE,YAAY;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,YAAY;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,cAAc,CAAC,OAAO,EAAC,CAAC,GAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACpC,YAAY;IACZ,QAAQ,IAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,YAAY;IACZ,WAAW,IAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3B,WAAW;IACX,cAAc,CAAC,EAAE,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,iBAAiB;IACjB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACtD;AACD;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,OAAO,EAAC,MAAM,CAAA;IACd,IAAI,EAAC,MAAM,CAAA;IACX,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAA;CACnB"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,SAAS,MAAM,GAAG,EAAE,EAAE,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM;IAC3E,YAAY;IACZ,OAAO,EAAE,CAAC,CAAC;IACX,YAAY;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B;IAC1B,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvC,YAAY;IACZ,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,YAAY;IACZ,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,WAAW;IACX,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,iBAAiB;IACjB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrD;AACD,yBAAiB,GAAG,CAAC;IACnB;;OAEG;IACH,UAAiB,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB;CACF"}
package/lib/config.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- import type { AppConfig, DefineConfig } from './types.js';
1
+ import { Schema } from '@zhin.js/hmr';
2
+ import type { AppConfig, DefineConfig } from "./types.js";
3
+ import { EventEmitter } from "node:events";
2
4
  export interface ConfigOptions {
3
5
  configPath?: string;
4
6
  envPath?: string;
@@ -7,18 +9,46 @@ export interface ConfigOptions {
7
9
  /**
8
10
  * 支持的配置文件格式
9
11
  */
10
- export type ConfigFormat = 'json' | 'yaml' | 'yml' | 'toml' | 'js' | 'ts';
12
+ export type ConfigFormat = "json" | "yaml" | "yml" | "toml" | "js" | "ts";
13
+ export declare class Config<T extends object = object> extends EventEmitter {
14
+ #private;
15
+ constructor(filename: string, schema: Schema<Partial<T>>, initialConfig: T);
16
+ get filepath(): string;
17
+ get config(): T;
18
+ set config(newConfig: T);
19
+ reload(): void;
20
+ get<K extends Config.Paths<T>>(key: K): Config.Value<T, K>;
21
+ set<K extends Config.Paths<T>>(key: K, value: Config.Value<T, K>): void;
22
+ }
23
+ export declare namespace Config {
24
+ export const supportedExtensions: string[];
25
+ export function proxyResult<T>(result: T, onSet: (value: T) => void): T;
26
+ /**
27
+ * 配置文件元数据,用于记录原始格式信息
28
+ */
29
+ interface ConfigMetadata {
30
+ usesFunction: boolean;
31
+ originalContent?: string;
32
+ }
33
+ /**
34
+ * 智能保存配置文件,保留原有格式
35
+ */
36
+ export function save<T extends object>(filePath: string, config: T): void;
37
+ /**
38
+ * 记录配置文件的元数据
39
+ */
40
+ export function setMetadata(filePath: string, metadata: ConfigMetadata): void;
41
+ /**
42
+ * 获取配置文件的元数据
43
+ */
44
+ export function getMetadata(filePath: string): ConfigMetadata | undefined;
45
+ export function load<T extends object>(filePath: string, schema: Schema<T>): Promise<T>;
46
+ export type Value<T, K extends Paths<T>> = K extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? Rest extends Paths<T[Key]> ? Value<T[Key], Rest> : never : never : K extends keyof T ? T[K] : never;
47
+ export type Paths<T, Prefix extends string = "", Depth extends any[] = []> = Depth["length"] extends 10 ? never : {
48
+ [K in keyof T]: T[K] extends object ? `${Prefix}${K & string}` | Paths<T[K], `${Prefix}${K & string}.`, [...Depth, 1]> : `${Prefix}${K & string}`;
49
+ }[keyof T];
50
+ export function getNestedObject<T>(obj: T, path: string): any;
51
+ export {};
52
+ }
11
53
  export declare function defineConfig<T extends DefineConfig<AppConfig>>(config: T): T;
12
- /**
13
- * 加载配置文件
14
- */
15
- export declare function loadConfig(options?: ConfigOptions): Promise<[string, AppConfig]>;
16
- /**
17
- * 保存配置文件
18
- */
19
- export declare function saveConfig(config: AppConfig, filePath: string): void;
20
- /**
21
- * 创建默认配置
22
- */
23
- export declare function createDefaultConfig(format?: ConfigFormat): AppConfig;
24
54
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;AAwI1E,wBAAgB,YAAY,CAAC,CAAC,SAAS,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAE5E;AACD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,CAAC,MAAM,EAAC,SAAS,CAAC,CAAC,CAiDzF;AA0BD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,GAAE,YAAqB,GAAG,SAAS,CAW5E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}