@yumerijs/core 1.1.0-alpha.2 → 1.1.0-alpha.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 (44) hide show
  1. package/dist/command.d.ts +26 -0
  2. package/dist/command.js +36 -3
  3. package/dist/command.js.map +1 -1
  4. package/dist/config.d.ts +1 -1
  5. package/dist/config.js +1 -2
  6. package/dist/context.d.ts +17 -0
  7. package/dist/context.js +53 -0
  8. package/dist/context.js.map +1 -0
  9. package/dist/core.d.ts +25 -5
  10. package/dist/core.js +175 -30
  11. package/dist/core.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.js +1 -1
  14. package/dist/index.js.map +1 -1
  15. package/dist/logger.d.ts +4 -0
  16. package/dist/logger.js +112 -1
  17. package/dist/logger.js.map +1 -1
  18. package/dist/middleware.d.ts +2 -0
  19. package/dist/middleware.js +2 -0
  20. package/dist/middleware.js.map +1 -0
  21. package/dist/platform.js +0 -1
  22. package/dist/session.js +0 -1
  23. package/package.json +2 -2
  24. package/dist/src/command.d.ts +0 -19
  25. package/dist/src/command.js +0 -28
  26. package/dist/src/command.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -133
  28. package/dist/src/config.js +0 -205
  29. package/dist/src/config.js.map +0 -1
  30. package/dist/src/core.d.ts +0 -66
  31. package/dist/src/core.js +0 -363
  32. package/dist/src/core.js.map +0 -1
  33. package/dist/src/index.d.ts +0 -11
  34. package/dist/src/index.js +0 -28
  35. package/dist/src/index.js.map +0 -1
  36. package/dist/src/logger.d.ts +0 -15
  37. package/dist/src/logger.js +0 -39
  38. package/dist/src/logger.js.map +0 -1
  39. package/dist/src/platform.d.ts +0 -159
  40. package/dist/src/platform.js +0 -195
  41. package/dist/src/platform.js.map +0 -1
  42. package/dist/src/session.d.ts +0 -29
  43. package/dist/src/session.js +0 -106
  44. package/dist/src/session.js.map +0 -1
package/dist/command.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  **/
6
6
  import { Core } from './core';
7
7
  import { Session } from './session';
8
+ import { Middleware } from './middleware';
8
9
  interface ActionFn {
9
10
  (session: any, ...args: any[]): Promise<any>;
10
11
  }
@@ -12,8 +13,33 @@ export declare class Command {
12
13
  name: string;
13
14
  actionFn: ActionFn | null;
14
15
  core: Core;
16
+ middlewares: Middleware[];
15
17
  constructor(core: Core, name: string);
18
+ /**
19
+ * 注册命令处理函数
20
+ * @param fn 处理函数
21
+ * @returns this 支持链式调用
22
+ */
16
23
  action(fn: ActionFn): this;
24
+ /**
25
+ * 注册命令特定的中间件
26
+ * @param middleware 中间件函数
27
+ * @returns this 支持链式调用
28
+ */
29
+ use(middleware: Middleware): this;
30
+ /**
31
+ * 执行命令,包括中间件链和处理函数
32
+ * @param session 会话对象
33
+ * @param args 其他参数
34
+ * @returns 处理后的会话对象
35
+ */
17
36
  execute(session: any, ...args: any[]): Promise<Session | null>;
37
+ /**
38
+ * 执行命令处理函数(不包含中间件)
39
+ * @param session 会话对象
40
+ * @param args 其他参数
41
+ * @returns 处理后的会话对象
42
+ */
43
+ executeHandler(session: any, ...args: any[]): Promise<Session | null>;
18
44
  }
19
45
  export {};
package/dist/command.js CHANGED
@@ -8,14 +8,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Command = void 0;
9
9
  class Command {
10
10
  constructor(core, name) {
11
- this.actionFn = null; // Corrected type: ActionFn | null
12
- this.core = core; // 接收 Core 实例
11
+ this.actionFn = null;
12
+ this.middlewares = []; // 存储命令特定的中间件
13
+ this.core = core;
13
14
  this.name = name;
14
15
  }
16
+ /**
17
+ * 注册命令处理函数
18
+ * @param fn 处理函数
19
+ * @returns this 支持链式调用
20
+ */
15
21
  action(fn) {
16
22
  this.actionFn = fn;
17
23
  return this;
18
24
  }
25
+ /**
26
+ * 注册命令特定的中间件
27
+ * @param middleware 中间件函数
28
+ * @returns this 支持链式调用
29
+ */
30
+ use(middleware) {
31
+ this.middlewares.push(middleware);
32
+ return this;
33
+ }
34
+ /**
35
+ * 执行命令,包括中间件链和处理函数
36
+ * @param session 会话对象
37
+ * @param args 其他参数
38
+ * @returns 处理后的会话对象
39
+ */
19
40
  async execute(session, ...args) {
20
41
  if (this.actionFn) {
21
42
  await this.actionFn(session, ...args);
@@ -23,6 +44,18 @@ class Command {
23
44
  }
24
45
  return null;
25
46
  }
47
+ /**
48
+ * 执行命令处理函数(不包含中间件)
49
+ * @param session 会话对象
50
+ * @param args 其他参数
51
+ * @returns 处理后的会话对象
52
+ */
53
+ async executeHandler(session, ...args) {
54
+ if (this.actionFn) {
55
+ await this.actionFn(session, ...args);
56
+ return session;
57
+ }
58
+ return null;
59
+ }
26
60
  }
27
61
  exports.Command = Command;
28
- //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";AAAA;;;;IAII;;;AASJ,MAAa,OAAO;IAKlB,YAAY,IAAU,EAAE,IAAY;QAHpC,aAAQ,GAAoB,IAAI,CAAC,CAAC,kCAAkC;QAIlE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,EAAY;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAtBD,0BAsBC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";AAAA;;;;IAII;;;AAUJ,MAAa,OAAO;IAMlB,YAAY,IAAU,EAAE,IAAY;QAJpC,aAAQ,GAAoB,IAAI,CAAC;QAEjC,gBAAW,GAAiB,EAAE,CAAC,CAAC,aAAa;QAG3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,EAAY;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,UAAsB;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,OAAY,EAAE,GAAG,IAAW;QACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAAC,OAAY,EAAE,GAAG,IAAW;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACtC,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1DD,0BA0DC"}
package/dist/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @time: 2025/03/24 12:26
2
+ * @time: 2025/05/24 12:18
3
3
  * @author: FireGuo
4
4
  * WindyPear-Team All right reserved
5
5
  **/
package/dist/config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
- * @time: 2025/03/24 12:26
3
+ * @time: 2025/05/24 12:18
4
4
  * @author: FireGuo
5
5
  * WindyPear-Team All right reserved
6
6
  **/
@@ -117,4 +117,3 @@ class Config {
117
117
  }
118
118
  }
119
119
  exports.Config = Config;
120
- //# sourceMappingURL=config.js.map
@@ -0,0 +1,17 @@
1
+ import { Core } from './core';
2
+ import { Command } from './command';
3
+ export declare class Context {
4
+ private core;
5
+ pluginname: string;
6
+ constructor(core: Core, pluginname: string);
7
+ command(name: string): Command;
8
+ on(name: string, listener: (...args: any[]) => Promise<void>): void;
9
+ use(name: string, callback: Function): void;
10
+ /**
11
+ * Unless nessesary, do not use core directly
12
+ */
13
+ getCore(): Core;
14
+ emit(event: string, ...args: any[]): Promise<void>;
15
+ getComponent(name: string): any;
16
+ registerComponent(name: string, component: any): void;
17
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Context = void 0;
4
+ const command_1 = require("./command");
5
+ class Context {
6
+ constructor(core, pluginname) {
7
+ this.core = core;
8
+ this.pluginname = pluginname;
9
+ }
10
+ command(name) {
11
+ if (this.core.commands[name]) {
12
+ this.core.logger.warn(`Plugin "${this.pluginname}" attempt to register command "${name}", but it has been registered by plugin "${this.core.cmdtoplu[name]}."`);
13
+ return new command_1.Command(this.core, name);
14
+ }
15
+ else {
16
+ this.core.cmdtoplu[name] = this.pluginname;
17
+ return this.core.command(name);
18
+ }
19
+ }
20
+ on(name, listener) {
21
+ // 存储该插件监听的事件,需要注意的是一个事件可由多个插件监听
22
+ this.core.evttoplu[name][this.pluginname].push(listener);
23
+ this.core.on(name, listener);
24
+ }
25
+ use(name, callback) {
26
+ this.core.mdwtoplu[name] = this.pluginname;
27
+ this.core.use(name, async (...args) => {
28
+ return callback(...args);
29
+ });
30
+ }
31
+ /**
32
+ * Unless nessesary, do not use core directly
33
+ */
34
+ getCore() {
35
+ return this.core;
36
+ }
37
+ async emit(event, ...args) {
38
+ return await this.core.emit(event, ...args);
39
+ }
40
+ getComponent(name) {
41
+ return this.core.getComponent(name);
42
+ }
43
+ registerComponent(name, component) {
44
+ if (this.core.components[name]) {
45
+ this.core.logger.warn(`Plugin "${this.pluginname}" attempt to register component "${name}", but it has been registered by plugin "${this.core.comtoplu[name]}."`);
46
+ return;
47
+ }
48
+ this.core.comtoplu[name] = this.pluginname;
49
+ this.core.components[name] = component;
50
+ return;
51
+ }
52
+ }
53
+ exports.Context = Context;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AAEpC,MAAa,OAAO;IAGhB,YAAY,IAAU,EAAE,UAAkB;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAY;QAChB,IAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,kCAAkC,IAAI,4CAA4C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/J,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;YAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACL,CAAC;IACD,EAAE,CAAC,IAAY,EAAE,QAA2C;QACxD,gCAAgC;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,GAAG,CAAC,IAAY,EAAE,QAAkB;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;YACzC,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;MAEE;IACF,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACpC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;IACD,YAAY,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,iBAAiB,CAAC,IAAY,EAAE,SAAc;QAC1C,IAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,oCAAoC,IAAI,4CAA4C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACjK,OAAM;QACV,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QACvC,OAAO;IACX,CAAC;CACJ;AAjDD,0BAiDC"}
package/dist/core.d.ts CHANGED
@@ -3,9 +3,11 @@ import { Logger } from './logger';
3
3
  import { Command } from './command';
4
4
  import { Session } from './session';
5
5
  import { Platform } from './platform';
6
+ import { Middleware } from './middleware';
7
+ import { Context } from './context';
6
8
  interface Plugin {
7
- apply: (core: Core, config: Config) => Promise<void>;
8
- disable: (core: Core) => Promise<void>;
9
+ apply: (ctx: Context, config: Config) => Promise<void>;
10
+ disable: (ctx: Context) => Promise<void>;
9
11
  depend: Array<string>;
10
12
  provide: Array<string>;
11
13
  }
@@ -26,14 +28,30 @@ export declare class Core {
26
28
  config: any;
27
29
  platforms: Platform[];
28
30
  private eventListeners;
29
- private components;
31
+ components: {
32
+ [name: string]: any;
33
+ };
30
34
  commands: Record<string, Command>;
31
35
  pluginLoader: PluginLoader;
32
- private logger;
33
- private providedComponents;
36
+ logger: Logger;
37
+ providedComponents: {
38
+ [name: string]: string;
39
+ };
34
40
  private pluginModules;
41
+ private configPath;
42
+ private globalMiddlewares;
43
+ cmdtoplu: Record<string, string>;
44
+ comtoplu: Record<string, string>;
45
+ evttoplu: Record<string, Record<string, ((...args: any[]) => Promise<void>)[]>>;
46
+ mdwtoplu: Record<string, string>;
47
+ plftoplu: Record<string, string>;
35
48
  constructor(pluginLoader: PluginLoader);
36
49
  loadConfig(configPath: string): Promise<void>;
50
+ /**
51
+ * 监听配置文件变化
52
+ * @param configPath 配置文件路径
53
+ */
54
+ private watchConfig;
37
55
  getPluginConfig(pluginName: string): Promise<Config>;
38
56
  loadPlugins(): Promise<void>;
39
57
  /**
@@ -59,8 +77,10 @@ export declare class Core {
59
77
  unregisterComponent(name: string): void;
60
78
  on(event: string, listener: (...args: any[]) => Promise<void>): void;
61
79
  emit(event: string, ...args: any[]): Promise<void>;
80
+ use(name: string, middleware: Middleware): Core;
62
81
  command(name: string): Command;
63
82
  executeCommand(name: string, session: any, ...args: any[]): Promise<Session | null>;
64
83
  registerPlatform(platform: Platform): any;
84
+ unregall(pluginname: string): void;
65
85
  }
66
86
  export {};
package/dist/core.js CHANGED
@@ -49,6 +49,7 @@ const config_1 = require("./config");
49
49
  const logger_1 = require("./logger");
50
50
  const command_1 = require("./command");
51
51
  const chokidar_1 = __importDefault(require("chokidar"));
52
+ const context_1 = require("./context");
52
53
  class Core {
53
54
  constructor(pluginLoader) {
54
55
  this.plugins = {};
@@ -60,23 +61,76 @@ class Core {
60
61
  this.logger = new logger_1.Logger('core');
61
62
  this.providedComponents = {};
62
63
  this.pluginModules = {};
64
+ this.configPath = ''; // 存储配置文件路径
65
+ this.globalMiddlewares = {}; // 全局中间件数组
66
+ this.cmdtoplu = {}; // 存储命令与插件名的映射关系
67
+ this.comtoplu = {}; // 存储组件与插件名的映射关系
68
+ this.evttoplu = {}; // 存储事件与插件名的映射关系
69
+ this.mdwtoplu = {}; // 存储中间件与插件名的映射关系
70
+ this.plftoplu = {}; // 存储平台与插件名的映射关系
63
71
  this.pluginLoader = pluginLoader;
64
72
  }
65
73
  // 加载配置文件
66
74
  async loadConfig(configPath) {
67
75
  try {
76
+ this.configPath = configPath; // 保存配置文件路径
68
77
  const doc = yaml.load(fs.readFileSync(configPath, 'utf8'));
69
78
  this.config = doc;
70
79
  this.logger.info('Config loaded.');
80
+ // 开发环境下监听配置文件变化
81
+ if (process.env.NODE_ENV === 'development') {
82
+ this.watchConfig(configPath);
83
+ }
71
84
  }
72
85
  catch (e) {
73
86
  this.logger.error('Failed to load config:', e);
74
87
  throw e; // 抛出异常,让上层处理
75
88
  }
76
89
  }
90
+ /**
91
+ * 监听配置文件变化
92
+ * @param configPath 配置文件路径
93
+ */
94
+ watchConfig(configPath) {
95
+ const watcher = chokidar_1.default.watch(configPath, {
96
+ persistent: true,
97
+ ignoreInitial: true,
98
+ awaitWriteFinish: {
99
+ stabilityThreshold: 300,
100
+ pollInterval: 100,
101
+ },
102
+ });
103
+ watcher.on('change', async () => {
104
+ //this.logger.info('Config file changed, reloading...');
105
+ try {
106
+ // 重新加载配置文件
107
+ const doc = yaml.load(fs.readFileSync(configPath, 'utf8'));
108
+ this.config = doc;
109
+ // this.logger.info('Config reloaded successfully.');
110
+ // 触发配置变更事件
111
+ await this.emit('config-changed', this.config);
112
+ }
113
+ catch (error) {
114
+ // this.logger.error('Failed to reload config:', error);
115
+ }
116
+ });
117
+ this.logger.info(`Watching for config changes at ${configPath}`);
118
+ }
77
119
  async getPluginConfig(pluginName) {
78
120
  // 如果插件名以~开头,则去掉~前缀获取配置
79
121
  const actualPluginName = pluginName.startsWith('~') ? pluginName.substring(1) : pluginName;
122
+ // 如果配置文件路径存在且处于开发模式,每次都重新读取配置文件
123
+ if (this.configPath && process.env.NODE_ENV === 'development') {
124
+ try {
125
+ const doc = yaml.load(fs.readFileSync(this.configPath, 'utf8'));
126
+ if (doc && doc.plugins) {
127
+ this.config.plugins = doc.plugins;
128
+ }
129
+ }
130
+ catch (error) {
131
+ this.logger.warn('Failed to refresh config for hot reload:', error);
132
+ }
133
+ }
80
134
  if (!this.config.plugins[actualPluginName]) {
81
135
  return new config_1.Config(actualPluginName);
82
136
  }
@@ -106,6 +160,8 @@ class Core {
106
160
  let loadAttempted = {};
107
161
  // 使用插件名数组来管理剩余待加载的插件
108
162
  let remainingPluginNames = [...pluginNamesToLoad];
163
+ // 不加载名称以~开头的插件
164
+ remainingPluginNames = remainingPluginNames.filter(name => !name.startsWith('~'));
109
165
  // 多次尝试加载插件,直到所有插件加载完毕或检测到循环依赖
110
166
  while (remainingPluginNames.length > 0) {
111
167
  let loadedInThisPass = false;
@@ -137,7 +193,7 @@ class Core {
137
193
  loadedPluginNames.push(pluginName);
138
194
  loadedInThisPass = true; // 标记本轮有插件加载成功
139
195
  if (loadedInThisPass && pluginInstance && pluginInstance.apply) {
140
- await pluginInstance.apply(this, await this.getPluginConfig(pluginName));
196
+ await pluginInstance.apply(new context_1.Context(this, pluginName), await this.getPluginConfig(pluginName));
141
197
  // 使用 pluginName
142
198
  this.pluginLoader.logger.info(`apply plugin ${pluginName}`);
143
199
  }
@@ -211,9 +267,8 @@ class Core {
211
267
  const parts = changePath.split(path.sep);
212
268
  if (parts.length < 2)
213
269
  return;
214
- const pluginName = parts.slice(0, 2).join(path.sep);
215
- const simplePluginName = parts.length >= 2 ? parts.slice(0, 2).join('/') : path.basename(changePath, path.extname(changePath));
216
- this.logger.info(`Plugin file changed: ${simplePluginName}`);
270
+ const pluginName = parts[1];
271
+ this.logger.info(`Plugin file changed: ${changePath}`);
217
272
  this.reloadPlugin(pluginName, core);
218
273
  });
219
274
  watcher.on('add', async (changePath) => {
@@ -222,9 +277,8 @@ class Core {
222
277
  const parts = changePath.split(path.sep);
223
278
  if (parts.length < 2)
224
279
  return;
225
- const pluginName = parts.slice(0, 2).join(path.sep);
226
- const simplePluginName = parts.length >= 2 ? parts.slice(0, 2).join('/') : path.basename(changePath, path.extname(changePath));
227
- this.logger.info(`New plugin file added: ${simplePluginName}`);
280
+ const pluginName = parts[1];
281
+ this.logger.info(`New plugin file added: ${changePath}`);
228
282
  this.reloadPlugin(pluginName, core);
229
283
  });
230
284
  watcher.on('unlink', async (changePath) => {
@@ -233,9 +287,8 @@ class Core {
233
287
  const parts = changePath.split(path.sep);
234
288
  if (parts.length < 2)
235
289
  return;
236
- const pluginName = parts.slice(0, 2).join(path.sep);
237
- const simplePluginName = parts.length >= 2 ? parts.slice(0, 2).join('/') : path.basename(changePath, path.extname(changePath));
238
- this.logger.info(`Plugin file removed: ${simplePluginName}`);
290
+ const pluginName = parts[1];
291
+ this.logger.info(`Plugin file removed: ${changePath}`);
239
292
  await this.unloadPluginAndEmit(pluginName, core);
240
293
  });
241
294
  logger.info(`Watching for plugin changes in ${pluginsDir}`);
@@ -247,23 +300,42 @@ class Core {
247
300
  */
248
301
  async reloadPlugin(pluginName, core) {
249
302
  try {
303
+ // 强制重新读取配置文件,确保获取最新配置
304
+ if (this.configPath && process.env.NODE_ENV === 'development') {
305
+ try {
306
+ const doc = yaml.load(fs.readFileSync(this.configPath, 'utf8'));
307
+ if (doc && doc.plugins) {
308
+ this.config.plugins = doc.plugins;
309
+ }
310
+ }
311
+ catch (error) {
312
+ this.logger.warn('Failed to refresh config for plugin reload:', error);
313
+ }
314
+ }
315
+ // 获取最新的插件配置
250
316
  const config = await core.getPluginConfig(pluginName);
317
+ // 加载插件实例
251
318
  const plugin = await core.pluginLoader.load(pluginName);
319
+ // 如果插件存在,先禁用旧实例
252
320
  if (plugin && plugin.disable) {
253
- await plugin.disable(core);
321
+ await plugin.disable(new context_1.Context(this, pluginName));
254
322
  }
255
- if (plugin.provide) {
256
- for (let providedmodules of plugin.provide) {
257
- if (this.components[`${providedmodules}`]) {
258
- this.unregisterComponent(providedmodules);
259
- }
260
- }
261
- }
262
- await core.pluginLoader.unloadPlugin(pluginName);
323
+ // 清理插件提供的组件
324
+ // if (plugin.provide) {
325
+ // for (let providedmodules of plugin.provide) {
326
+ // if (this.components[`${providedmodules}`]) {
327
+ // this.unregisterComponent(providedmodules);
328
+ // }
329
+ // }
330
+ // }
331
+ // 卸载插件
332
+ await core.unloadPluginAndEmit(pluginName, core);
333
+ // 应用新的插件实例
263
334
  if (plugin && plugin.apply) {
264
- await plugin.apply(core, config);
335
+ await plugin.apply(new context_1.Context(this, pluginName), config);
265
336
  }
266
337
  this.pluginLoader.logger.info(`apply plugin ${pluginName}`);
338
+ // 触发插件重载事件
267
339
  core.emit('plugin-reloaded', pluginName);
268
340
  }
269
341
  catch (error) {
@@ -279,18 +351,19 @@ class Core {
279
351
  try {
280
352
  const plugin = core.plugins[`${pluginName}`];
281
353
  if (plugin && plugin.disable) {
282
- await plugin.disable(core);
354
+ await plugin.disable(new context_1.Context(this, pluginName));
283
355
  }
284
356
  await core.pluginLoader.unloadPlugin(pluginName);
285
357
  delete core.plugins[`${pluginName}`];
286
358
  delete this.pluginModules[`${pluginName}`];
287
359
  // Remove provided components from this plugin
288
- for (const componentName in this.providedComponents) {
289
- if (this.providedComponents[`${componentName}`] === pluginName) {
290
- delete this.components[`${componentName}`];
291
- delete this.providedComponents[`${componentName}`];
292
- }
293
- }
360
+ // for (const componentName in this.providedComponents) {
361
+ // if (this.providedComponents[`${componentName}`] === pluginName) {
362
+ // delete this.components[`${componentName}`];
363
+ // delete this.providedComponents[`${componentName}`];
364
+ // }
365
+ // }
366
+ this.unregall(pluginName);
294
367
  core.emit('plugin-unloaded', pluginName);
295
368
  }
296
369
  catch (error) {
@@ -314,6 +387,7 @@ class Core {
314
387
  unregisterComponent(name) {
315
388
  delete this.components[`${name}`];
316
389
  delete this.providedComponents[`${name}`];
390
+ delete this.comtoplu[`${name}`];
317
391
  }
318
392
  // 事件系统:监听事件
319
393
  on(event, listener) {
@@ -326,7 +400,7 @@ class Core {
326
400
  // 事件系统:触发事件
327
401
  async emit(event, ...args) {
328
402
  if (this.eventListeners[`${event}`]) {
329
- this.logger.info(`Emitting event "${event}" with args:`, args);
403
+ // this.logger.info(`Emitting event "${event}" with args:`, args);
330
404
  for (const listener of this.eventListeners[`${event}`]) {
331
405
  try {
332
406
  await listener(...args);
@@ -340,6 +414,11 @@ class Core {
340
414
  //this.logger.info(`No listeners for event "${event}".`);
341
415
  }
342
416
  }
417
+ // 注册全局中间件
418
+ use(name, middleware) {
419
+ this.globalMiddlewares[name] = middleware;
420
+ return this;
421
+ }
343
422
  // 定义指令
344
423
  command(name) {
345
424
  const command = new command_1.Command(this, name); // 传递 Core 实例
@@ -350,7 +429,27 @@ class Core {
350
429
  async executeCommand(name, session, ...args) {
351
430
  const command = this.commands[`${name}`];
352
431
  if (command) {
353
- return await command.execute(session, ...args);
432
+ // 将 globalMiddlewares 从对象转为数组
433
+ const globalMiddlewareList = Object.values(this.globalMiddlewares || {});
434
+ const commandMiddlewareList = command.middlewares || [];
435
+ // 如果有中间件,执行中间件链
436
+ if (globalMiddlewareList.length > 0 || commandMiddlewareList.length > 0) {
437
+ const middlewares = [...globalMiddlewareList, ...commandMiddlewareList];
438
+ let index = 0;
439
+ const runner = async () => {
440
+ if (index >= middlewares.length) {
441
+ await command.executeHandler(session, ...args);
442
+ return;
443
+ }
444
+ const middleware = middlewares[index++];
445
+ await middleware(session, runner);
446
+ };
447
+ await runner();
448
+ return session;
449
+ }
450
+ else {
451
+ return await command.execute(session, ...args);
452
+ }
354
453
  }
355
454
  return null;
356
455
  }
@@ -358,6 +457,52 @@ class Core {
358
457
  this.platforms.push(platform);
359
458
  return platform.startPlatform(this);
360
459
  }
460
+ unregall(pluginname) {
461
+ let cmdtodel = [];
462
+ for (const cmd in this.cmdtoplu) {
463
+ if (this.cmdtoplu[cmd] === pluginname) {
464
+ cmdtodel.push(cmd);
465
+ }
466
+ }
467
+ for (const cmd of cmdtodel) {
468
+ delete this.cmdtoplu[cmd];
469
+ delete this.commands[cmd];
470
+ }
471
+ let comptodel = [];
472
+ for (const comp in this.comtoplu) {
473
+ if (this.comtoplu[comp] === pluginname) {
474
+ comptodel.push(comp);
475
+ }
476
+ }
477
+ for (const comp of comptodel) {
478
+ delete this.comtoplu[comp];
479
+ delete this.components[comp];
480
+ delete this.providedComponents[comp];
481
+ }
482
+ let evttodel = [];
483
+ for (const evt in this.evttoplu) {
484
+ if (this.evttoplu[evt][pluginname]) {
485
+ // 清除插件在 evttoplu 中的记录
486
+ delete this.evttoplu[evt][pluginname];
487
+ // 如果该事件的插件已经全部清除了,也可以选择删掉整个事件
488
+ if (Object.keys(this.evttoplu[evt]).length === 0) {
489
+ evttodel.push(evt);
490
+ }
491
+ // 同时在 this.eventListeners 中删掉对应 listener
492
+ const pluginListeners = this.evttoplu[evt][pluginname] || [];
493
+ this.eventListeners[evt] = this.eventListeners[evt]?.filter(l => !pluginListeners.includes(l)) || [];
494
+ }
495
+ }
496
+ let mdwtodel = [];
497
+ for (const mdw in this.mdwtoplu) {
498
+ if (this.mdwtoplu[mdw] === pluginname) {
499
+ mdwtodel.push(mdw);
500
+ }
501
+ }
502
+ for (const mdw of mdwtodel) {
503
+ delete this.mdwtoplu[mdw];
504
+ delete this.globalMiddlewares[mdw];
505
+ }
506
+ }
361
507
  }
362
508
  exports.Core = Core;
363
- //# sourceMappingURL=core.js.map
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export * from './command';
9
9
  export * from './config';
10
10
  export * from './logger';
11
11
  export * from './platform';
12
+ export * from './context';