@zhin.js/core 1.0.2 → 1.0.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 (57) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/app.d.ts +16 -1
  3. package/lib/app.d.ts.map +1 -1
  4. package/lib/app.js +38 -1
  5. package/lib/app.js.map +1 -1
  6. package/lib/bot.d.ts +4 -2
  7. package/lib/bot.d.ts.map +1 -1
  8. package/lib/command.d.ts +6 -7
  9. package/lib/command.d.ts.map +1 -1
  10. package/lib/command.js +17 -9
  11. package/lib/command.js.map +1 -1
  12. package/lib/jsx-dev-runtime.d.ts +3 -0
  13. package/lib/jsx-dev-runtime.d.ts.map +1 -0
  14. package/lib/jsx-dev-runtime.js +3 -0
  15. package/lib/jsx-dev-runtime.js.map +1 -0
  16. package/lib/log-transport.d.ts +37 -0
  17. package/lib/log-transport.d.ts.map +1 -0
  18. package/lib/log-transport.js +136 -0
  19. package/lib/log-transport.js.map +1 -0
  20. package/lib/message.d.ts +1 -1
  21. package/lib/message.d.ts.map +1 -1
  22. package/lib/models/system-log.d.ts +11 -0
  23. package/lib/models/system-log.d.ts.map +1 -0
  24. package/lib/models/system-log.js +9 -0
  25. package/lib/models/system-log.js.map +1 -0
  26. package/lib/models/user.d.ts +10 -0
  27. package/lib/models/user.d.ts.map +1 -0
  28. package/lib/models/user.js +8 -0
  29. package/lib/models/user.js.map +1 -0
  30. package/lib/permissions.d.ts +20 -0
  31. package/lib/permissions.d.ts.map +1 -0
  32. package/lib/permissions.js +66 -0
  33. package/lib/permissions.js.map +1 -0
  34. package/lib/plugin.d.ts +6 -1
  35. package/lib/plugin.d.ts.map +1 -1
  36. package/lib/plugin.js +22 -5
  37. package/lib/plugin.js.map +1 -1
  38. package/lib/prompt.d.ts.map +1 -1
  39. package/lib/prompt.js +3 -2
  40. package/lib/prompt.js.map +1 -1
  41. package/lib/types.d.ts +11 -14
  42. package/lib/types.d.ts.map +1 -1
  43. package/package.json +7 -3
  44. package/src/app.ts +56 -12
  45. package/src/bot.ts +5 -3
  46. package/src/command.ts +19 -10
  47. package/src/jsx-dev-runtime.ts +2 -0
  48. package/src/log-transport.ts +163 -0
  49. package/src/message.ts +1 -1
  50. package/src/models/system-log.ts +20 -0
  51. package/src/models/user.ts +15 -0
  52. package/src/permissions.ts +62 -0
  53. package/src/plugin.ts +28 -6
  54. package/src/prompt.ts +3 -2
  55. package/src/types.ts +12 -13
  56. package/tests/command.test.ts +136 -40
  57. package/tests/plugin.test.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @zhin.js/core
2
2
 
3
+ ## 1.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 15be776: fix: 修改 cli 错误,增加 permit
8
+
9
+ ## 1.0.3
10
+
11
+ ### Patch Changes
12
+
13
+ - 89bc676: fix: 类型反射优化
14
+ - Updated dependencies [727963c]
15
+ - @zhin.js/database@1.0.1
16
+ - @zhin.js/hmr@1.0.1
17
+
3
18
  ## 1.0.2
4
19
 
5
20
  ### Patch Changes
package/lib/app.d.ts CHANGED
@@ -2,11 +2,20 @@ import { SideEffect, GlobalContext, Models } from "@zhin.js/types";
2
2
  import { HMR, Context, Logger } from "@zhin.js/hmr";
3
3
  import { AdapterMessage, AppConfig, BeforeSendHandler, RegisteredAdapter, SendOptions } from "./types.js";
4
4
  import { Message } from "./message.js";
5
+ import { PermissionChecker, Permissions } from "./permissions.js";
5
6
  import { MessageMiddleware, Plugin } from "./plugin.js";
6
7
  import { Adapter } from "./adapter";
7
8
  import { MessageCommand } from "./command";
8
9
  import { Component } from "./component";
9
10
  import { RelatedDatabase, DocumentDatabase, KeyValueDatabase, Schema } from "@zhin.js/database";
11
+ import { SystemLog } from "./models/system-log.js";
12
+ import { User } from './models/user.js';
13
+ declare module "@zhin.js/types" {
14
+ interface Models {
15
+ SystemLog: SystemLog;
16
+ User: User;
17
+ }
18
+ }
10
19
  /**
11
20
  * App类:Zhin.js 应用主入口,负责插件热重载、配置管理、消息分发等。
12
21
  * 继承自 HMR,支持插件生命周期、适配器管理、数据库集成等。
@@ -14,8 +23,11 @@ import { RelatedDatabase, DocumentDatabase, KeyValueDatabase, Schema } from "@zh
14
23
  export declare class App extends HMR<Plugin> {
15
24
  static currentPlugin: Plugin;
16
25
  private config;
26
+ middlewares: MessageMiddleware[];
17
27
  adapters: string[];
18
28
  database?: RelatedDatabase<any, Models> | DocumentDatabase<any, Models> | KeyValueDatabase<any, Models>;
29
+ permissions: Permissions;
30
+ private logTransport?;
19
31
  /**
20
32
  * 构造函数:初始化应用,加载配置,注册全局异常处理
21
33
  * @param config 可选的应用配置,若为空则自动查找配置文件
@@ -30,12 +42,14 @@ export declare class App extends HMR<Plugin> {
30
42
  * - debug: 是否调试模式
31
43
  */
32
44
  static defaultConfig: AppConfig;
45
+ middleware(middleware: MessageMiddleware): void;
33
46
  /**
34
47
  * 发送消息到指定适配器和机器人
35
48
  * @param options 消息发送参数(包含 context、bot、内容等)
36
49
  * @throws 找不到适配器或机器人时抛出异常
37
50
  */
38
- sendMessage(options: SendOptions): Promise<void>;
51
+ sendMessage(options: SendOptions): Promise<string>;
52
+ recallMessage(adapter_name: string, bot_name: string, id: string): Promise<void>;
39
53
  /** 同步加载配置文件 */
40
54
  /**
41
55
  * 同步加载配置文件(暂不支持,建议使用异步创建)
@@ -73,6 +87,7 @@ export declare class App extends HMR<Plugin> {
73
87
  /** 获取App实例 */
74
88
  export declare function useApp(): App;
75
89
  export declare function defineModel<T extends Record<string, any>>(name: string, schema: Schema<T>): Plugin;
90
+ export declare function addPermit<T extends RegisteredAdapter>(name: string | RegExp, checker: PermissionChecker<T>): Plugin;
76
91
  /** 获取当前插件实例 */
77
92
  export declare function usePlugin(): Plugin;
78
93
  export declare function beforeSend(handler: BeforeSendHandler): void;
package/lib/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/lib/app.js CHANGED
@@ -4,10 +4,15 @@ import { fileURLToPath } from "url";
4
4
  import { generateEnvTypes } from "./types-generator.js";
5
5
  import logger, { setName } from "@zhin.js/logger";
6
6
  import { sleep } from "./utils.js";
7
+ import { Permissions } from "./permissions.js";
7
8
  // 创建静态logger用于配置加载等静态操作
8
9
  setName("Zhin");
9
10
  import { Plugin } from "./plugin.js";
10
11
  import { Registry } from "@zhin.js/database";
12
+ import { DatabaseLogTransport } from "./log-transport.js";
13
+ import { SystemLogSchema } from "./models/system-log.js";
14
+ import { UserSchema } from './models/user.js';
15
+ import { addTransport, removeTransport } from "@zhin.js/logger";
11
16
  // ============================================================================
12
17
  // App 类(Zhin.js 应用主入口,负责插件热重载、配置管理、消息分发等)
13
18
  // ============================================================================
@@ -18,8 +23,11 @@ import { Registry } from "@zhin.js/database";
18
23
  export class App extends HMR {
19
24
  static currentPlugin;
20
25
  config;
26
+ middlewares = [];
21
27
  adapters = [];
22
28
  database;
29
+ permissions = new Permissions(this);
30
+ logTransport;
23
31
  /**
24
32
  * 构造函数:初始化应用,加载配置,注册全局异常处理
25
33
  * @param config 可选的应用配置,若为空则自动查找配置文件
@@ -75,6 +83,9 @@ export class App extends HMR {
75
83
  bots: [],
76
84
  debug: false,
77
85
  };
86
+ middleware(middleware) {
87
+ this.middlewares.push(middleware);
88
+ }
78
89
  /**
79
90
  * 发送消息到指定适配器和机器人
80
91
  * @param options 消息发送参数(包含 context、bot、内容等)
@@ -89,6 +100,15 @@ export class App extends HMR {
89
100
  throw new Error(`can't find bot ${options.bot} for adapter ${options.context}`);
90
101
  return bot.$sendMessage(options);
91
102
  }
103
+ async recallMessage(adapter_name, bot_name, id) {
104
+ const adapter = this.getContext(adapter_name);
105
+ if (!adapter)
106
+ throw new Error(`can't find adapter for name ${adapter_name}`);
107
+ const bot = adapter.bots.get(bot_name);
108
+ if (!bot)
109
+ throw new Error(`can't find bot ${bot_name} for adapter ${adapter_name}`);
110
+ return bot.$recallMessage(id);
111
+ }
92
112
  /** 同步加载配置文件 */
93
113
  /**
94
114
  * 同步加载配置文件(暂不支持,建议使用异步创建)
@@ -148,7 +168,10 @@ export class App extends HMR {
148
168
  result.set(name, schema);
149
169
  });
150
170
  return result;
151
- }, new Map());
171
+ }, new Map([
172
+ ['SystemLog', SystemLogSchema],
173
+ ['User', UserSchema]
174
+ ]));
152
175
  }
153
176
  /** 使用插件 */
154
177
  use(filePath) {
@@ -170,6 +193,10 @@ export class App extends HMR {
170
193
  this.database = Registry.create(this.config.database.dialect, this.config.database, schemas);
171
194
  await this.database?.start();
172
195
  this.logger.info(`database init success`);
196
+ // 初始化日志传输器
197
+ this.logTransport = new DatabaseLogTransport(this);
198
+ addTransport(this.logTransport);
199
+ this.logger.info(`database log transport registered`);
173
200
  }
174
201
  else {
175
202
  this.logger.info(`database not configured, skipping database init`);
@@ -183,6 +210,12 @@ export class App extends HMR {
183
210
  /** 停止App */
184
211
  async stop() {
185
212
  this.logger.info("Stopping app...");
213
+ // 停止日志清理任务并移除日志传输器
214
+ if (this.logTransport) {
215
+ this.logTransport.stopCleanup();
216
+ removeTransport(this.logTransport);
217
+ this.logger.info("database log transport removed");
218
+ }
186
219
  // 销毁所有插件
187
220
  this.dispose();
188
221
  this.logger.info("App stopped");
@@ -241,6 +274,10 @@ export function defineModel(name, schema) {
241
274
  const plugin = usePlugin();
242
275
  return plugin.defineModel(name, schema);
243
276
  }
277
+ export function addPermit(name, checker) {
278
+ const plugin = usePlugin();
279
+ return plugin.addPermit(name, checker);
280
+ }
244
281
  /** 获取当前插件实例 */
245
282
  export function usePlugin() {
246
283
  const hmr = HMR.currentHMR;
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
@@ -17,8 +17,10 @@ export interface Bot<M extends object = {}, T extends BotConfig = BotConfig> {
17
17
  $connect(): Promise<void>;
18
18
  /** 断开机器人 */
19
19
  $disconnect(): Promise<void>;
20
- /** 发送消息 */
21
- $sendMessage(options: SendOptions): Promise<void>;
20
+ /** 撤回消息 */
21
+ $recallMessage(id: string): Promise<void>;
22
+ /** 发送消息返回消息id */
23
+ $sendMessage(options: SendOptions): Promise<string>;
22
24
  }
23
25
  /**
24
26
  * Bot配置类型,所有平台机器人通用
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,EAAqB,WAAW,EAAe,MAAM,YAAY,CAAC;AAC9E,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,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD;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,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"}
package/lib/command.d.ts CHANGED
@@ -1,29 +1,28 @@
1
1
  import { MatchResult, SegmentMatcher } from "segment-matcher";
2
- import { AdapterMessage, RegisteredAdapters, SendContent } from "./types.js";
2
+ import { AdapterMessage, SendContent } from "./types.js";
3
+ import { RegisteredAdapters } from "@zhin.js/types";
3
4
  import type { Message } from "./message.js";
4
5
  import { MaybePromise } from "@zhin.js/types";
6
+ import { Plugin } from "./plugin.js";
5
7
  /**
6
8
  * MessageCommand类:命令系统核心,基于segment-matcher实现。
7
9
  * 支持多平台命令注册、作用域限制、参数解析、异步处理等。
8
10
  */
9
11
  export declare class MessageCommand<T extends keyof RegisteredAdapters = keyof RegisteredAdapters> extends SegmentMatcher {
10
12
  #private;
11
- /**
12
- * 限定命令作用域(适配器名)
13
- * @param scopes 适配器名列表
14
- */
15
- scope<R extends T>(...scopes: R[]): MessageCommand<R>;
16
13
  /**
17
14
  * 注册命令回调
18
15
  * @param callback 命令处理函数
19
16
  */
20
17
  action(callback: MessageCommand.Callback<T>): MessageCommand<T>;
18
+ permit(...permissions: string[]): MessageCommand<T>;
21
19
  /**
22
20
  * 处理消息,自动匹配命令并执行回调
23
21
  * @param message 消息对象
22
+ * @param plugin 插件实例
24
23
  * @returns 命令返回内容或undefined
25
24
  */
26
- handle(message: Message<AdapterMessage<T>>): Promise<SendContent | undefined>;
25
+ handle(message: Message<AdapterMessage<T>>, plugin: Plugin): Promise<SendContent | undefined>;
27
26
  }
28
27
  export declare namespace MessageCommand {
29
28
  type Callback<T extends keyof RegisteredAdapters> = (message: Message<AdapterMessage<T>>, result: MatchResult) => MaybePromise<SendContent | void>;
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,kBAAkB,GAAC,MAAM,kBAAkB,CAAE,SAAQ,cAAc;;IAG3G;;;OAGG;IACH,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,EAAC,CAAC,EAAE,GAAE,cAAc,CAAC,CAAC,CAAC;IAInD;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,GAEvB,cAAc,CAAC,CAAC,CAAC;IAEpC;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAE,OAAO,CAAC,WAAW,GAAC,SAAS,CAAC;CAYlF;AACD,yBAAiB,cAAc,CAAA;IAC3B,KAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,WAAW,KAAG,YAAY,CAAC,WAAW,GAAC,IAAI,CAAC,CAAC;IACjJ,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,OAAO,CAAC,CAAA;CACtH"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AACvD,OAAO,EAAC,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,kBAAkB,GAAC,MAAM,kBAAkB,CAAE,SAAQ,cAAc;;IAI3G;;;OAGG;IACH,MAAM,CAAC,QAAQ,EAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,GAEvB,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,CAAC,GAAG,WAAW,EAAC,MAAM,EAAE,GAEX,cAAc,CAAC,CAAC,CAAC;IAEpC;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,MAAM,GAAE,OAAO,CAAC,WAAW,GAAC,SAAS,CAAC;CAoBhG;AACD,yBAAiB,cAAc,CAAA;IAC3B,KAAY,QAAQ,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAC,MAAM,EAAC,WAAW,KAAG,YAAY,CAAC,WAAW,GAAC,IAAI,CAAC,CAAC;IACjJ,KAAY,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAE,CAAC,OAAO,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAG,YAAY,CAAC,OAAO,CAAC,CAAA;CACtH"}
package/lib/command.js CHANGED
@@ -1,19 +1,13 @@
1
1
  import { SegmentMatcher } from "segment-matcher";
2
+ import { PluginError } from "./errors.js";
2
3
  /**
3
4
  * MessageCommand类:命令系统核心,基于segment-matcher实现。
4
5
  * 支持多平台命令注册、作用域限制、参数解析、异步处理等。
5
6
  */
6
7
  export class MessageCommand extends SegmentMatcher {
7
8
  #callbacks = [];
9
+ #permissions = [];
8
10
  #checkers = [];
9
- /**
10
- * 限定命令作用域(适配器名)
11
- * @param scopes 适配器名列表
12
- */
13
- scope(...scopes) {
14
- this.#checkers.push((m) => scopes.includes(m.$adapter));
15
- return this;
16
- }
17
11
  /**
18
12
  * 注册命令回调
19
13
  * @param callback 命令处理函数
@@ -22,12 +16,26 @@ export class MessageCommand extends SegmentMatcher {
22
16
  this.#callbacks.push(callback);
23
17
  return this;
24
18
  }
19
+ permit(...permissions) {
20
+ this.#permissions.push(...permissions);
21
+ return this;
22
+ }
25
23
  /**
26
24
  * 处理消息,自动匹配命令并执行回调
27
25
  * @param message 消息对象
26
+ * @param plugin 插件实例
28
27
  * @returns 命令返回内容或undefined
29
28
  */
30
- async handle(message) {
29
+ async handle(message, plugin) {
30
+ for (const permission of this.#permissions) {
31
+ const permit = plugin.getPermit(permission);
32
+ if (!permit) {
33
+ throw new PluginError(`权限 ${permission} 不存在`, plugin.name);
34
+ }
35
+ const result = await permit.check(permission, message);
36
+ if (!result)
37
+ return;
38
+ }
31
39
  for (const check of this.#checkers) {
32
40
  const result = await check(message);
33
41
  if (!result)
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAK5D;;;GAGG;AACH,MAAM,OAAO,cAA4E,SAAQ,cAAc;IAC3G,UAAU,GAA8B,EAAE,CAAC;IAC3C,SAAS,GAA6B,EAAE,CAAA;IACxC;;;OAGG;IACH,KAAK,CAAc,GAAG,MAAU;QAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,EAAE,CAAC,MAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnE,OAAO,IAAyB,CAAA;IACpC,CAAC;IACD;;;OAGG;IACH,MAAM,CAAC,QAAmC;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,OAAO,IAAyB,CAAC;IACrC,CAAC;IACD;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,OAAkC;QAC3C,KAAI,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAC,CAAC;YAC/B,MAAM,MAAM,GAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,IAAG,CAAC,MAAM;gBAAE,OAAO;QACvB,CAAC;QACD,MAAM,OAAO,GAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAG,CAAC,OAAO;YAAE,OAAM;QACnB,KAAI,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,EAAC,CAAC;YAClC,MAAM,MAAM,GAAC,MAAM,OAAO,CAAC,OAAO,EAAC,OAAO,CAAC,CAAA;YAC3C,IAAG,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC5B,CAAC;IACL,CAAC;CACJ"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAM5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;GAGG;AACH,MAAM,OAAO,cAA4E,SAAQ,cAAc;IAC3G,UAAU,GAA8B,EAAE,CAAC;IAC3C,YAAY,GAAU,EAAE,CAAC;IACzB,SAAS,GAA6B,EAAE,CAAA;IACxC;;;OAGG;IACH,MAAM,CAAC,QAAmC;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9B,OAAO,IAAyB,CAAC;IACrC,CAAC;IACD,MAAM,CAAC,GAAG,WAAoB;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;QACtC,OAAO,IAAyB,CAAC;IACrC,CAAC;IACD;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,OAAkC,EAAC,MAAa;QACzD,KAAI,MAAM,UAAU,IAAI,IAAI,CAAC,YAAY,EAAC,CAAC;YACvC,MAAM,MAAM,GAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;YACzC,IAAG,CAAC,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,WAAW,CAAC,MAAM,UAAU,MAAM,EAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7D,CAAC;YACD,MAAM,MAAM,GAAC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,EAAC,OAAO,CAAC,CAAA;YACnD,IAAG,CAAC,MAAM;gBAAE,OAAO;QACvB,CAAC;QACD,KAAI,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAC,CAAC;YAC/B,MAAM,MAAM,GAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,IAAG,CAAC,MAAM;gBAAE,OAAO;QACvB,CAAC;QACD,MAAM,OAAO,GAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAG,CAAC,OAAO;YAAE,OAAM;QACnB,KAAI,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,EAAC,CAAC;YAClC,MAAM,MAAM,GAAC,MAAM,OAAO,CAAC,OAAO,EAAC,OAAO,CAAC,CAAA;YAC3C,IAAG,MAAM;gBAAE,OAAO,MAAM,CAAA;QAC5B,CAAC;IACL,CAAC;CACJ"}
@@ -0,0 +1,3 @@
1
+ export * from './jsx-runtime.js';
2
+ export { jsx as jsxDEV } from './jsx.js';
3
+ //# sourceMappingURL=jsx-dev-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAC,GAAG,IAAI,MAAM,EAAC,MAAM,UAAU,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './jsx-runtime.js';
2
+ export { jsx as jsxDEV } from './jsx.js';
3
+ //# sourceMappingURL=jsx-dev-runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAC,GAAG,IAAI,MAAM,EAAC,MAAM,UAAU,CAAA"}
@@ -0,0 +1,37 @@
1
+ import { LogTransport } from '@zhin.js/logger';
2
+ import { App } from './app.js';
3
+ /**
4
+ * 数据库日志传输器
5
+ * 将日志存储到数据库,并自动清理旧日志
6
+ */
7
+ export declare class DatabaseLogTransport implements LogTransport {
8
+ private app;
9
+ private stripAnsiRegex;
10
+ private cleanupTimer?;
11
+ private maxDays;
12
+ private maxRecords;
13
+ private cleanupInterval;
14
+ constructor(app: App);
15
+ /**
16
+ * 启动定时清理任务
17
+ */
18
+ private startCleanup;
19
+ /**
20
+ * 清理旧日志
21
+ */
22
+ private cleanupOldLogs;
23
+ /**
24
+ * 停止清理任务
25
+ */
26
+ stopCleanup(): void;
27
+ /**
28
+ * 移除 ANSI 颜色代码
29
+ */
30
+ private stripAnsi;
31
+ write(message: string): void;
32
+ /**
33
+ * 保存日志到数据库
34
+ */
35
+ private saveToDatabase;
36
+ }
37
+ //# sourceMappingURL=log-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-transport.d.ts","sourceRoot":"","sources":["../src/log-transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAE9B;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,YAAY;IACvD,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,eAAe,CAAQ;gBAEnB,GAAG,EAAE,GAAG;IAapB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;YACW,cAAc;IAkD5B;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqB5B;;OAEG;YACW,cAAc;CAsB7B"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * 数据库日志传输器
3
+ * 将日志存储到数据库,并自动清理旧日志
4
+ */
5
+ export class DatabaseLogTransport {
6
+ app;
7
+ stripAnsiRegex = /\x1b\[[0-9;]*m/g;
8
+ cleanupTimer;
9
+ maxDays;
10
+ maxRecords;
11
+ cleanupInterval;
12
+ constructor(app) {
13
+ this.app = app;
14
+ // 从配置读取日志清理策略
15
+ const logConfig = app['config']?.log || {};
16
+ this.maxDays = logConfig.maxDays || 7; // 默认保留 7 天
17
+ this.maxRecords = logConfig.maxRecords || 10000; // 默认最多 10000 条
18
+ this.cleanupInterval = logConfig.cleanupInterval || 24; // 默认 24 小时清理一次
19
+ // 启动定时清理
20
+ this.startCleanup();
21
+ }
22
+ /**
23
+ * 启动定时清理任务
24
+ */
25
+ startCleanup() {
26
+ // 立即执行一次清理
27
+ this.cleanupOldLogs().catch(err => {
28
+ this.app.logger.error('[DatabaseLogTransport] Initial cleanup failed:', err.message);
29
+ });
30
+ // 设置定时任务
31
+ this.cleanupTimer = setInterval(() => {
32
+ this.cleanupOldLogs().catch(err => {
33
+ this.app.logger.error('[DatabaseLogTransport] Scheduled cleanup failed:', err.message);
34
+ });
35
+ }, this.cleanupInterval * 60 * 60 * 1000); // 转换为毫秒
36
+ }
37
+ /**
38
+ * 清理旧日志
39
+ */
40
+ async cleanupOldLogs() {
41
+ if (!this.app.database) {
42
+ return;
43
+ }
44
+ try {
45
+ const LogModel = this.app.database.model('SystemLog');
46
+ if (!LogModel) {
47
+ return;
48
+ }
49
+ // 1. 按时间清理:删除超过 maxDays 天的日志
50
+ const cutoffDate = new Date();
51
+ cutoffDate.setDate(cutoffDate.getDate() - this.maxDays);
52
+ const deletedByDate = await LogModel
53
+ .delete({ timestamp: { $lt: cutoffDate } });
54
+ // 2. 按数量清理:如果日志总数超过 maxRecords,删除最旧的
55
+ const total = await LogModel.select();
56
+ const totalCount = total.length;
57
+ if (totalCount > this.maxRecords) {
58
+ const excessCount = totalCount - this.maxRecords;
59
+ // 查找最旧的 excessCount 条日志的 ID
60
+ const oldestLogs = await LogModel
61
+ .select('id', 'timestamp')
62
+ .orderBy('timestamp', 'ASC')
63
+ .limit(excessCount);
64
+ const idsToDelete = oldestLogs.map((log) => log.id);
65
+ if (idsToDelete.length > 0) {
66
+ await LogModel
67
+ .delete({ id: { $in: idsToDelete } });
68
+ }
69
+ }
70
+ this.app.logger.info(`[DatabaseLogTransport] Log cleanup completed. ` +
71
+ `Deleted ${deletedByDate || 0} logs older than ${this.maxDays} days. ` +
72
+ `Current total: ${Math.max(0, totalCount - (deletedByDate || 0))} logs.`);
73
+ }
74
+ catch (error) {
75
+ // 静默处理错误
76
+ this.app.logger.error('[DatabaseLogTransport] Cleanup error:', error.message);
77
+ }
78
+ }
79
+ /**
80
+ * 停止清理任务
81
+ */
82
+ stopCleanup() {
83
+ if (this.cleanupTimer) {
84
+ clearInterval(this.cleanupTimer);
85
+ this.cleanupTimer = undefined;
86
+ }
87
+ }
88
+ /**
89
+ * 移除 ANSI 颜色代码
90
+ */
91
+ stripAnsi(str) {
92
+ return str.replace(this.stripAnsiRegex, '');
93
+ }
94
+ write(message) {
95
+ // 移除 ANSI 颜色代码
96
+ const cleanMessage = this.stripAnsi(message);
97
+ // 解析日志消息
98
+ // 格式: [09-08 04:07:55.852] [INFO] [MyApp]: message
99
+ const logRegex = /\[[\d-]+ [\d:.]+\] \[(\w+)\] \[([^\]]+)\]: ([\s\S]+)/;
100
+ const match = cleanMessage.match(logRegex);
101
+ if (match) {
102
+ const [, level, name, msg] = match;
103
+ const source = name.split(':')[0]; // 取第一部分作为 source
104
+ // 异步存储到数据库,不阻塞日志输出
105
+ this.saveToDatabase(level.toLowerCase(), name, msg.trim(), source).catch(err => {
106
+ // 避免日志存储失败导致应用崩溃
107
+ console.error('[DatabaseLogTransport] Failed to save log:', err.message);
108
+ });
109
+ }
110
+ }
111
+ /**
112
+ * 保存日志到数据库
113
+ */
114
+ async saveToDatabase(level, name, message, source) {
115
+ if (!this.app.database) {
116
+ return; // 没有数据库则跳过
117
+ }
118
+ try {
119
+ const LogModel = this.app.database.model('SystemLog');
120
+ if (!LogModel) {
121
+ return; // 模型不存在则跳过
122
+ }
123
+ await LogModel.create({
124
+ level,
125
+ name,
126
+ message,
127
+ source,
128
+ timestamp: new Date()
129
+ });
130
+ }
131
+ catch (error) {
132
+ // 静默处理错误,避免干扰主流程
133
+ }
134
+ }
135
+ }
136
+ //# sourceMappingURL=log-transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-transport.js","sourceRoot":"","sources":["../src/log-transport.ts"],"names":[],"mappings":"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"}
package/lib/message.d.ts CHANGED
@@ -29,7 +29,7 @@ export interface MessageBase {
29
29
  $bot: string;
30
30
  $content: MessageElement[];
31
31
  $sender: MessageSender;
32
- $reply(content: SendContent, quote?: boolean | string): Promise<void>;
32
+ $reply(content: SendContent, quote?: boolean | string): Promise<string>;
33
33
  $channel: MessageChannel;
34
34
  $timestamp: number;
35
35
  $raw: string;
@@ -1 +1 @@
1
- {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,CAAA;KAAC,CAAC,CAAA;IACzC,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,CAAA;IACf,IAAI,EAAC,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,EAAC,OAAO,GAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,IAAE,WAAW,GAAC,CAAC,CAAC;AACvD,yBAAiB,OAAO,CAAA;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,CAAC,CAAC,CAE5E;CACJ"}
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAE;IAC3C,IAAI,EAAC,SAAS,CAAC,CAAC,GAAC;QAAC,QAAQ,CAAC,EAAC,WAAW,CAAA;KAAC,CAAC,CAAA;IACzC,IAAI,EAAC,CAAC,CAAA;CACT,CAAA;AACD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;CACrB;AACD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAA;AACzD;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAC,MAAM,CAAA;IACf,IAAI,EAAC,MAAM,CAAA;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,OAAO,EAAC,WAAW,EAAC,KAAK,CAAC,EAAC,OAAO,GAAC,MAAM,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACjE,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CAChB;AACD;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,GAAC,EAAE,IAAE,WAAW,GAAC,CAAC,CAAC;AACvD,yBAAiB,OAAO,CAAA;IACpB;;OAEG;IACH,SAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,MAAM,EAAC,WAAW,GAAE,OAAO,CAAC,CAAC,CAAC,CAE5E;CACJ"}
@@ -0,0 +1,11 @@
1
+ import { Schema } from '@zhin.js/database';
2
+ export interface SystemLog {
3
+ id?: number;
4
+ level: string;
5
+ name: string;
6
+ message: string;
7
+ source: string;
8
+ timestamp: Date;
9
+ }
10
+ export declare const SystemLogSchema: Schema<SystemLog>;
11
+ //# sourceMappingURL=system-log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-log.d.ts","sourceRoot":"","sources":["../../src/models/system-log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,IAAI,CAAA;CAChB;AAED,eAAO,MAAM,eAAe,EAAC,MAAM,CAAC,SAAS,CAO5C,CAAA"}
@@ -0,0 +1,9 @@
1
+ export const SystemLogSchema = {
2
+ id: { type: 'integer', autoIncrement: true, primary: true },
3
+ level: { type: 'text', nullable: false },
4
+ name: { type: 'text', nullable: false },
5
+ message: { type: 'text', nullable: false },
6
+ source: { type: 'text', nullable: false },
7
+ timestamp: { type: 'date', nullable: false }
8
+ };
9
+ //# sourceMappingURL=system-log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-log.js","sourceRoot":"","sources":["../../src/models/system-log.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;IAC3D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACvC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;IACzC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;CAC7C,CAAA"}