@yumerijs/core 1.1.0-alpha.2 → 1.1.0-alpha.3

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/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,19 @@ 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
62
  //# 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
  **/
@@ -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,54 @@
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;
54
+ //# sourceMappingURL=context.js.map
@@ -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
  }
@@ -137,7 +191,7 @@ class Core {
137
191
  loadedPluginNames.push(pluginName);
138
192
  loadedInThisPass = true; // 标记本轮有插件加载成功
139
193
  if (loadedInThisPass && pluginInstance && pluginInstance.apply) {
140
- await pluginInstance.apply(this, await this.getPluginConfig(pluginName));
194
+ await pluginInstance.apply(new context_1.Context(this, pluginName), await this.getPluginConfig(pluginName));
141
195
  // 使用 pluginName
142
196
  this.pluginLoader.logger.info(`apply plugin ${pluginName}`);
143
197
  }
@@ -211,9 +265,8 @@ class Core {
211
265
  const parts = changePath.split(path.sep);
212
266
  if (parts.length < 2)
213
267
  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}`);
268
+ const pluginName = parts[1];
269
+ this.logger.info(`Plugin file changed: ${changePath}`);
217
270
  this.reloadPlugin(pluginName, core);
218
271
  });
219
272
  watcher.on('add', async (changePath) => {
@@ -222,9 +275,8 @@ class Core {
222
275
  const parts = changePath.split(path.sep);
223
276
  if (parts.length < 2)
224
277
  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}`);
278
+ const pluginName = parts[1];
279
+ this.logger.info(`New plugin file added: ${changePath}`);
228
280
  this.reloadPlugin(pluginName, core);
229
281
  });
230
282
  watcher.on('unlink', async (changePath) => {
@@ -233,9 +285,8 @@ class Core {
233
285
  const parts = changePath.split(path.sep);
234
286
  if (parts.length < 2)
235
287
  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}`);
288
+ const pluginName = parts[1];
289
+ this.logger.info(`Plugin file removed: ${changePath}`);
239
290
  await this.unloadPluginAndEmit(pluginName, core);
240
291
  });
241
292
  logger.info(`Watching for plugin changes in ${pluginsDir}`);
@@ -247,23 +298,42 @@ class Core {
247
298
  */
248
299
  async reloadPlugin(pluginName, core) {
249
300
  try {
301
+ // 强制重新读取配置文件,确保获取最新配置
302
+ if (this.configPath && process.env.NODE_ENV === 'development') {
303
+ try {
304
+ const doc = yaml.load(fs.readFileSync(this.configPath, 'utf8'));
305
+ if (doc && doc.plugins) {
306
+ this.config.plugins = doc.plugins;
307
+ }
308
+ }
309
+ catch (error) {
310
+ this.logger.warn('Failed to refresh config for plugin reload:', error);
311
+ }
312
+ }
313
+ // 获取最新的插件配置
250
314
  const config = await core.getPluginConfig(pluginName);
315
+ // 加载插件实例
251
316
  const plugin = await core.pluginLoader.load(pluginName);
317
+ // 如果插件存在,先禁用旧实例
252
318
  if (plugin && plugin.disable) {
253
- await plugin.disable(core);
319
+ await plugin.disable(new context_1.Context(this, pluginName));
254
320
  }
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);
321
+ // 清理插件提供的组件
322
+ // if (plugin.provide) {
323
+ // for (let providedmodules of plugin.provide) {
324
+ // if (this.components[`${providedmodules}`]) {
325
+ // this.unregisterComponent(providedmodules);
326
+ // }
327
+ // }
328
+ // }
329
+ // 卸载插件
330
+ await core.unloadPluginAndEmit(pluginName, core);
331
+ // 应用新的插件实例
263
332
  if (plugin && plugin.apply) {
264
- await plugin.apply(core, config);
333
+ await plugin.apply(new context_1.Context(this, pluginName), config);
265
334
  }
266
335
  this.pluginLoader.logger.info(`apply plugin ${pluginName}`);
336
+ // 触发插件重载事件
267
337
  core.emit('plugin-reloaded', pluginName);
268
338
  }
269
339
  catch (error) {
@@ -279,18 +349,19 @@ class Core {
279
349
  try {
280
350
  const plugin = core.plugins[`${pluginName}`];
281
351
  if (plugin && plugin.disable) {
282
- await plugin.disable(core);
352
+ await plugin.disable(new context_1.Context(this, pluginName));
283
353
  }
284
354
  await core.pluginLoader.unloadPlugin(pluginName);
285
355
  delete core.plugins[`${pluginName}`];
286
356
  delete this.pluginModules[`${pluginName}`];
287
357
  // 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
- }
358
+ // for (const componentName in this.providedComponents) {
359
+ // if (this.providedComponents[`${componentName}`] === pluginName) {
360
+ // delete this.components[`${componentName}`];
361
+ // delete this.providedComponents[`${componentName}`];
362
+ // }
363
+ // }
364
+ this.unregall(pluginName);
294
365
  core.emit('plugin-unloaded', pluginName);
295
366
  }
296
367
  catch (error) {
@@ -314,6 +385,7 @@ class Core {
314
385
  unregisterComponent(name) {
315
386
  delete this.components[`${name}`];
316
387
  delete this.providedComponents[`${name}`];
388
+ delete this.comtoplu[`${name}`];
317
389
  }
318
390
  // 事件系统:监听事件
319
391
  on(event, listener) {
@@ -326,7 +398,7 @@ class Core {
326
398
  // 事件系统:触发事件
327
399
  async emit(event, ...args) {
328
400
  if (this.eventListeners[`${event}`]) {
329
- this.logger.info(`Emitting event "${event}" with args:`, args);
401
+ // this.logger.info(`Emitting event "${event}" with args:`, args);
330
402
  for (const listener of this.eventListeners[`${event}`]) {
331
403
  try {
332
404
  await listener(...args);
@@ -340,6 +412,11 @@ class Core {
340
412
  //this.logger.info(`No listeners for event "${event}".`);
341
413
  }
342
414
  }
415
+ // 注册全局中间件
416
+ use(name, middleware) {
417
+ this.globalMiddlewares[name] = middleware;
418
+ return this;
419
+ }
343
420
  // 定义指令
344
421
  command(name) {
345
422
  const command = new command_1.Command(this, name); // 传递 Core 实例
@@ -350,7 +427,27 @@ class Core {
350
427
  async executeCommand(name, session, ...args) {
351
428
  const command = this.commands[`${name}`];
352
429
  if (command) {
353
- return await command.execute(session, ...args);
430
+ // 将 globalMiddlewares 从对象转为数组
431
+ const globalMiddlewareList = Object.values(this.globalMiddlewares || {});
432
+ const commandMiddlewareList = command.middlewares || [];
433
+ // 如果有中间件,执行中间件链
434
+ if (globalMiddlewareList.length > 0 || commandMiddlewareList.length > 0) {
435
+ const middlewares = [...globalMiddlewareList, ...commandMiddlewareList];
436
+ let index = 0;
437
+ const runner = async () => {
438
+ if (index >= middlewares.length) {
439
+ await command.executeHandler(session, ...args);
440
+ return;
441
+ }
442
+ const middleware = middlewares[index++];
443
+ await middleware(session, runner);
444
+ };
445
+ await runner();
446
+ return session;
447
+ }
448
+ else {
449
+ return await command.execute(session, ...args);
450
+ }
354
451
  }
355
452
  return null;
356
453
  }
@@ -358,6 +455,53 @@ class Core {
358
455
  this.platforms.push(platform);
359
456
  return platform.startPlatform(this);
360
457
  }
458
+ unregall(pluginname) {
459
+ let cmdtodel = [];
460
+ for (const cmd in this.cmdtoplu) {
461
+ if (this.cmdtoplu[cmd] === pluginname) {
462
+ cmdtodel.push(cmd);
463
+ }
464
+ }
465
+ for (const cmd of cmdtodel) {
466
+ delete this.cmdtoplu[cmd];
467
+ delete this.commands[cmd];
468
+ }
469
+ let comptodel = [];
470
+ for (const comp in this.comtoplu) {
471
+ if (this.comtoplu[comp] === pluginname) {
472
+ comptodel.push(comp);
473
+ }
474
+ }
475
+ for (const comp of comptodel) {
476
+ delete this.comtoplu[comp];
477
+ delete this.components[comp];
478
+ delete this.providedComponents[comp];
479
+ }
480
+ let evttodel = [];
481
+ for (const evt in this.evttoplu) {
482
+ if (this.evttoplu[evt][pluginname]) {
483
+ // 清除插件在 evttoplu 中的记录
484
+ delete this.evttoplu[evt][pluginname];
485
+ // 如果该事件的插件已经全部清除了,也可以选择删掉整个事件
486
+ if (Object.keys(this.evttoplu[evt]).length === 0) {
487
+ evttodel.push(evt);
488
+ }
489
+ // 同时在 this.eventListeners 中删掉对应 listener
490
+ const pluginListeners = this.evttoplu[evt][pluginname] || [];
491
+ this.eventListeners[evt] = this.eventListeners[evt]?.filter(l => !pluginListeners.includes(l)) || [];
492
+ }
493
+ }
494
+ let mdwtodel = [];
495
+ for (const mdw in this.mdwtoplu) {
496
+ if (this.mdwtoplu[mdw] === pluginname) {
497
+ mdwtodel.push(mdw);
498
+ }
499
+ }
500
+ for (const mdw of mdwtodel) {
501
+ delete this.mdwtoplu[mdw];
502
+ delete this.globalMiddlewares[mdw];
503
+ }
504
+ }
361
505
  }
362
506
  exports.Core = Core;
363
507
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;IAII;AACJ,8CAAgC;AAChC,uCAAyB;AACzB,2CAA6B;AAC7B,qCAAkC;AAClC,qCAAkC;AAClC,uCAAoC;AAGpC,wDAAgC;AAEhC,uCAAoC;AAqBpC,MAAa,IAAI;IAmBf,YAAY,YAA0B;QAlB/B,YAAO,GAA2E,EAAE,CAAC;QACrF,WAAM,GAAQ,IAAI,CAAC;QACnB,cAAS,GAAe,EAAE,CAAC;QAC1B,mBAAc,GAA+D,EAAE,CAAC;QACjF,eAAU,GAA4B,EAAE,CAAC;QACzC,aAAQ,GAA4B,EAAE,CAAC;QAEvC,WAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,uBAAkB,GAA+B,EAAE,CAAC;QACnD,kBAAa,GAA4B,EAAE,CAAC;QAC5C,eAAU,GAAW,EAAE,CAAC,CAAC,WAAW;QACpC,sBAAiB,GAA+B,EAAE,CAAC,CAAC,UAAU;QAC/D,aAAQ,GAA2B,EAAE,CAAC,CAAC,gBAAgB;QACvD,aAAQ,GAA2B,EAAE,CAAC,CAAC,gBAAgB;QACvD,aAAQ,GAA0E,EAAE,CAAC,CAAC,gBAAgB;QACtG,aAAQ,GAA2B,EAAE,CAAC,CAAC,iBAAiB;QACxD,aAAQ,GAA2B,EAAE,CAAC,CAAC,gBAAgB;QAG5D,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,SAAS;IACT,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,WAAW;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEnC,gBAAgB;YAChB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC3C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;YAC/C,MAAM,CAAC,CAAC,CAAC,aAAa;QACxB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,UAAkB;QACpC,MAAM,OAAO,GAAG,kBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,GAAG;gBACvB,YAAY,EAAE,GAAG;aAClB;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,wDAAwD;YACxD,IAAI,CAAC;gBACH,WAAW;gBACX,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;gBAClB,qDAAqD;gBAErD,WAAW;gBACX,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,wDAAwD;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,uBAAuB;QACvB,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE3F,gCAAgC;QAChC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAQ,CAAC;gBACvE,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;gBACpC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,OAAO,IAAI,eAAM,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;IACP,KAAK,CAAC,WAAW;QACf,0BAA0B;QAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC/F,OAAO;QACT,CAAC;QAED,iCAAiC;QACjC,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjG,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;YACxH,OAAO;QACT,CAAC;QAED,WAAW;QACX,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,kBAAkB;QAClB,IAAI,aAAa,GAAgC,EAAE,CAAC;QACpD,qBAAqB;QACrB,IAAI,oBAAoB,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC;QAElD,8BAA8B;QAC9B,OAAO,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAC7B,kBAAkB;YAClB,MAAM,wBAAwB,GAAa,EAAE,CAAC;YAE9C,gBAAgB;YAChB,KAAK,MAAM,UAAU,IAAI,oBAAoB,EAAE,CAAC;gBAC9C,qBAAqB;gBACrB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,aAAa,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,CAAC;oBAC7E,SAAS;gBACX,CAAC;gBACD,aAAa;gBACb,aAAa,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;gBAEtC,IAAI,CAAC;oBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;oBAC7D,iBAAiB;oBACjB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAChE,iEAAiE;oBAEjE,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,MAAM,GAAyB,cAAc,CAAC,MAAM,CAAC;wBAC3D,MAAM,OAAO,GAAyB,cAAc,CAAC,OAAO,CAAC;wBAE7D,uEAAuE;wBACvE,MAAM,iBAAiB,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBAE5F,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACnC,oBAAoB;4BACpB,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;4BACnF,qDAAqD;4BACrD,mDAAmD;4BACnD,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACnC,gBAAgB,GAAG,IAAI,CAAC,CAAC,cAAc;4BACvC,IAAI,gBAAgB,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gCAC/D,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;gCAClG,gBAAgB;gCAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;4BAC9D,CAAC;4BACD,eAAe;4BACf,IAAI,OAAO,EAAE,CAAC;gCACZ,KAAK,MAAM,aAAa,IAAI,OAAO,EAAE,CAAC;oCACpC,IAAI,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;wCAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2CAA2C,aAAa,mBAAmB,IAAI,CAAC,kBAAkB,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,UAAU,0CAA0C,CACrL,CAAC;oCACJ,CAAC;yCAAM,CAAC;wCACN,IAAI,CAAC,kBAAkB,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,UAAU,CAAC;oCAC3D,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,6BAA6B;4BAC7B,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BAC1C;;gCAEI;wBACN,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,sGAAsG;oBACxG,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,UAAU,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvF,qCAAqC;gBACvC,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC,gBAAgB,IAAI,wBAAwB,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5H,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2EAA2E,EAC3E,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS;iBACrD,CAAC;gBACF,MAAM,CAAC,SAAS;YAClB,CAAC;YAED,qBAAqB;YACrB,oBAAoB,GAAG,wBAAwB,CAAC;QAClD,CAAC;QAGD,aAAa;QACb,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kFAAkF,EAClF,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS;aACjD,CAAC;QACJ,CAAC;QAED,cAAc;QACd,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,IAAU,EAAE,aAAqB,SAAS;QACrD,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,kBAAQ,CAAC,KAAK,CAAC,UAAU,EAAE;YACzC,OAAO,EAAE,cAAc,EAAE,QAAQ;YACjC,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE;gBAChB,kBAAkB,EAAE,GAAG;gBACvB,YAAY,EAAE,GAAG;aAClB;SACF,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YACvE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YACvE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YACvE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,IAAU;QACtD,IAAI,CAAC;YACH,sBAAsB;YACtB,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAQ,CAAC;oBACvE,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBACvB,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,YAAY;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAEtD,SAAS;YACT,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAExD,gBAAgB;YAChB,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACtD,CAAC;YAED,YAAY;YACZ,wBAAwB;YACxB,kDAAkD;YAClD,mDAAmD;YACnD,mDAAmD;YACnD,QAAQ;YACR,MAAM;YACN,IAAI;YAEJ,OAAO;YACP,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAEjD,WAAW;YACX,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;YAE5D,WAAW;YACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,IAAU;QAC7D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;YAC3C,8CAA8C;YAC9C,yDAAyD;YACzD,sEAAsE;YACtE,kDAAkD;YAClD,0DAA0D;YAC1D,MAAM;YACN,IAAI;YACJ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,OAAO;IACP,iBAAiB,CAAC,IAAY,EAAE,SAAc;QAC5C,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,mCAAmC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;YAC9G,OAAO;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,OAAO;IACP,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,SAAS;IACT,mBAAmB,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACjC,CAAC;IAED,YAAY;IACZ,EAAE,CAAC,KAAa,EAAE,QAA2C;QAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,2DAA2D;IAC7D,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,GAAG,IAAW;QACtC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;YACpC,kEAAkE;YAClE,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,yDAAyD;QAC3D,CAAC;IACH,CAAC;IAED,UAAU;IACV,GAAG,CAAC,IAAY,EAAE,UAAsB;QACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;IACP,OAAO,CAAC,IAAY;QAClB,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;QACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;IACP,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,OAAY,EAAE,GAAG,IAAW;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,8BAA8B;YAC9B,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAExD,gBAAgB;YAChB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxE,MAAM,WAAW,GAAG,CAAC,GAAG,oBAAoB,EAAE,GAAG,qBAAqB,CAAC,CAAC;gBAExE,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;oBACvC,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;wBAC/C,OAAO;oBACT,CAAC;oBAED,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;oBACxC,MAAM,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpC,CAAC,CAAC;gBAEF,MAAM,MAAM,EAAE,CAAC;gBACf,OAAO,OAAO,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,gBAAgB,CAAC,QAAkB;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,QAAQ,CAAC,UAAkB;QACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,QAAQ,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,sBAAsB;gBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;gBAEtC,8BAA8B;gBAC9B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjD,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBAED,yCAAyC;gBACzC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC7D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvG,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AAlfD,oBAkfC"}
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';
package/dist/index.js CHANGED
@@ -25,4 +25,5 @@ __exportStar(require("./command"), exports);
25
25
  __exportStar(require("./config"), exports);
26
26
  __exportStar(require("./logger"), exports);
27
27
  __exportStar(require("./platform"), exports);
28
+ __exportStar(require("./context"), exports);
28
29
  //# 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":";AAAA;;;;IAII;;;;;;;;;;;;;;;;AAEJ,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;IAII;;;;;;;;;;;;;;;;AAEJ,yCAAuB;AACvB,4CAA0B;AAC1B,4CAA0B;AAC1B,2CAAyB;AACzB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B"}