@jsbot-tellus/core 2.0.3 → 2.1.0
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/README.md +13 -17
- package/dist/app.js +12 -40
- package/dist/app.js.map +1 -1
- package/dist/core/config/schema.d.ts +0 -2
- package/dist/core/config/schema.d.ts.map +1 -1
- package/dist/core/config/schema.js +0 -1
- package/dist/core/config/schema.js.map +1 -1
- package/dist/core/dispatch/command.d.ts +24 -2
- package/dist/core/dispatch/command.d.ts.map +1 -1
- package/dist/core/dispatch/command.js +297 -60
- package/dist/core/dispatch/command.js.map +1 -1
- package/dist/core/dispatch/router.d.ts +17 -3
- package/dist/core/dispatch/router.d.ts.map +1 -1
- package/dist/core/dispatch/router.js +38 -2
- package/dist/core/dispatch/router.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/plugin/command-params.d.ts +15 -0
- package/dist/core/plugin/command-params.d.ts.map +1 -0
- package/dist/core/plugin/command-params.js +427 -0
- package/dist/core/plugin/command-params.js.map +1 -0
- package/dist/core/plugin/context.d.ts.map +1 -1
- package/dist/core/plugin/context.js +27 -0
- package/dist/core/plugin/context.js.map +1 -1
- package/dist/core/plugin/install-dir.d.ts +6 -9
- package/dist/core/plugin/install-dir.d.ts.map +1 -1
- package/dist/core/plugin/install-dir.js +99 -79
- package/dist/core/plugin/install-dir.js.map +1 -1
- package/dist/core/plugin/install-validate.d.ts +2 -1
- package/dist/core/plugin/install-validate.d.ts.map +1 -1
- package/dist/core/plugin/install-validate.js +25 -17
- package/dist/core/plugin/install-validate.js.map +1 -1
- package/dist/core/plugin/installer.d.ts +3 -3
- package/dist/core/plugin/installer.d.ts.map +1 -1
- package/dist/core/plugin/installer.js +143 -140
- package/dist/core/plugin/installer.js.map +1 -1
- package/dist/core/plugin/loader.d.ts +1 -0
- package/dist/core/plugin/loader.d.ts.map +1 -1
- package/dist/core/plugin/loader.js +24 -2
- package/dist/core/plugin/loader.js.map +1 -1
- package/dist/core/plugin/types.d.ts +11 -3
- package/dist/core/plugin/types.d.ts.map +1 -1
- package/dist/core/plugin/types.js.map +1 -1
- package/dist/plugins/admin/index.d.ts.map +1 -1
- package/dist/plugins/admin/index.js +119 -86
- package/dist/plugins/admin/index.js.map +1 -1
- package/dist/plugins/core/index.d.ts.map +1 -1
- package/dist/plugins/core/index.js +4 -1
- package/dist/plugins/core/index.js.map +1 -1
- package/docs/architecture.md +22 -24
- package/docs/configuration.md +19 -23
- package/docs/feature-parity.md +4 -4
- package/docs/migration.md +13 -13
- package/docs/plugin-api.md +156 -26
- package/docs/plugin-development.md +390 -0
- package/docs/release.md +2 -2
- package/examples/plugins/hello/README.md +10 -5
- package/examples/plugins/hello/index.js +3 -6
- package/package.json +2 -1
- package/src/app.ts +16 -55
- package/src/core/config/schema.ts +0 -1
- package/src/core/dispatch/command.ts +474 -70
- package/src/core/dispatch/router.ts +77 -3
- package/src/core/index.ts +2 -0
- package/src/core/plugin/command-params.ts +595 -0
- package/src/core/plugin/context.ts +47 -2
- package/src/core/plugin/install-dir.ts +117 -111
- package/src/core/plugin/install-validate.ts +36 -34
- package/src/core/plugin/installer.ts +228 -184
- package/src/core/plugin/loader.ts +36 -2
- package/src/core/plugin/types.ts +23 -3
- package/src/plugins/admin/index.ts +302 -233
- package/src/plugins/core/index.ts +5 -1
- package/dist/core/plugin/installed.d.ts +0 -9
- package/dist/core/plugin/installed.d.ts.map +0 -1
- package/dist/core/plugin/installed.js +0 -113
- package/dist/core/plugin/installed.js.map +0 -1
- package/src/core/plugin/installed.ts +0 -165
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
- 插件只通过 `PluginContext` 使用内核能力,不直接接触 SDK client、Router 或数据库。
|
|
9
9
|
- SDK 只注册一个 middleware:`client.use(router.dispatch)`。
|
|
10
10
|
- 内置插件 `core`、`admin` 是普通源码,位于 `src/plugins/`,随内核一起编译。
|
|
11
|
-
- `poke`、`llm` 等本地插件放在不跟踪的 `plugins
|
|
11
|
+
- `poke`、`llm` 等本地插件放在不跟踪的 `plugins/`,各自是独立包,构建后从 `plugins/<id>/dist` 自动加载。
|
|
12
12
|
|
|
13
13
|
## 环境要求
|
|
14
14
|
|
|
@@ -57,13 +57,13 @@ npm run dev
|
|
|
57
57
|
| `/status`、`/s` | User | 运行时长和插件状态 |
|
|
58
58
|
| `/role` | User | 显示当前用户角色 |
|
|
59
59
|
| `/utter <文本>` | Admin | 向当前会话发送文本 |
|
|
60
|
-
| `/utter
|
|
60
|
+
| `/utter raw <CQ>` | SuperAdmin | 发送原始 CQ 消息 |
|
|
61
61
|
| `/plugin list` | SuperAdmin | 列出已安装插件包 |
|
|
62
62
|
| `/plugin install` | SuperAdmin | 安装 npm 插件包 |
|
|
63
63
|
| `/plugin remove` | SuperAdmin | 卸载插件包 |
|
|
64
64
|
| `/plugin update` | SuperAdmin | 更新插件包 |
|
|
65
65
|
|
|
66
|
-
`/plugin` 的所有子命令(包括 `help` 和 `list`)都要求 SuperAdmin
|
|
66
|
+
`/plugin` 的所有子命令(包括 `help` 和 `list`)都要求 SuperAdmin。`/utter.raw` 已迁移为 `/utter raw` 子命令。
|
|
67
67
|
|
|
68
68
|
## 内置与本地插件
|
|
69
69
|
|
|
@@ -72,7 +72,7 @@ npm run dev
|
|
|
72
72
|
```text
|
|
73
73
|
src/plugins/
|
|
74
74
|
core/index.ts /help、/status、/role
|
|
75
|
-
admin/index.ts /utter、/utter
|
|
75
|
+
admin/index.ts /utter、/utter raw
|
|
76
76
|
index.ts 内置插件清单
|
|
77
77
|
```
|
|
78
78
|
|
|
@@ -85,18 +85,10 @@ npm install --prefix plugins/poke
|
|
|
85
85
|
npm install --prefix plugins/llm
|
|
86
86
|
npm run build:local
|
|
87
87
|
|
|
88
|
-
node dist/app.js
|
|
89
|
-
--plugin-dir plugins/poke/dist \
|
|
90
|
-
--plugin-dir plugins/llm/dist
|
|
88
|
+
node dist/app.js
|
|
91
89
|
```
|
|
92
90
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
BOT_PLUGIN_DIR=plugins/poke/dist,plugins/llm/dist npm start
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
外部目录中与内置插件同 ID 的插件会被跳过。外部插件是普通 ESM 模块,默认导出、`plugin` 命名导出或 `plugins` 数组导出均可被加载。开发和发布方式见 [docs/plugin-api.md](docs/plugin-api.md),示例位于 [`examples/plugins/hello`](examples/plugins/hello)。
|
|
91
|
+
应用启动时会固定扫描 `plugins/<id>/dist`,不需要路径参数。`plugins/` 中没有 `dist` 的目录会被跳过并记录警告;`plugins/` 中与内置插件同 ID 的插件也会被跳过。本地插件是普通 ESM 模块,默认导出、`plugin` 命名导出或 `plugins` 数组导出均可被加载。开发和发布方式见 [插件开发指南](docs/plugin-development.md),示例位于 [`examples/plugins/hello`](examples/plugins/hello)。
|
|
100
92
|
|
|
101
93
|
## 在线安装插件包
|
|
102
94
|
|
|
@@ -110,8 +102,9 @@ BOT_PLUGIN_DIR=plugins/poke/dist,plugins/llm/dist npm start
|
|
|
110
102
|
```
|
|
111
103
|
|
|
112
104
|
- 只接受 npm registry 包,`name`、`name@版本`、`name@tag`、`@scope/name[@版本|tag]`;拒绝 git、file、URL、workspace、link 等来源。
|
|
113
|
-
-
|
|
114
|
-
-
|
|
105
|
+
- 包会直接安装到 `plugins/<插件id>/`,和本地插件一样从 `plugins/<插件id>/dist` 加载;不会放进共享的 `node_modules`。每个包带自己的依赖,不影响内核依赖。
|
|
106
|
+
- 首次安装时,一个包导出多个插件会使用包名作为目录(例如 `@scope/bundle` 对应 `plugins/@scope__bundle/`)。
|
|
107
|
+
- 安装、更新、卸载成功后会自动重启运行时并加载新插件,无需手动重启;进程本身不会退出。`/plugin list` 会标记“已加载”或“重启后生效”。安装状态保存在 `plugins/.jsbot-installed.json`。
|
|
115
108
|
- 默认使用 `--ignore-scripts`;只有显式设置 `installer.allowScripts=true` 才会执行 npm 生命周期脚本。
|
|
116
109
|
- 卸载不会修改 `plugins` 配置。如果配置里仍有对应插件 ID,命令会给出警告并跳过自动重启,需要在处理配置后手动重启;其它已安装包依赖被卸载插件 ID 时默认拒绝卸载,可使用 `/plugin remove <目标> --force` 强制卸载。
|
|
117
110
|
|
|
@@ -125,8 +118,9 @@ jsbot [options]
|
|
|
125
118
|
--config <path> 配置文件,优先级 CLI > BOT_CONFIG > ./bot.config.json
|
|
126
119
|
--data-dir <path> 数据目录,优先级 CLI > BOT_DATA_DIR > ./data
|
|
127
120
|
--log-level <level> debug、info、warn、error,优先级 CLI > BOT_LOG_LEVEL
|
|
128
|
-
--plugin-dir <path> 外部插件目录,可重复;BOT_PLUGIN_DIR 使用逗号分隔
|
|
129
121
|
--help 显示帮助
|
|
122
|
+
|
|
123
|
+
本地插件固定从 ./plugins/<id>/dist 自动加载。
|
|
130
124
|
```
|
|
131
125
|
|
|
132
126
|
## 开发与校验
|
|
@@ -140,6 +134,7 @@ npm run smoke # node dist/app.js --help
|
|
|
140
134
|
|
|
141
135
|
npm run check:local # 检查 plugins(需要先安装本地依赖)
|
|
142
136
|
npm run build:local # 构建 plugins
|
|
137
|
+
npm run plugin:gen -- my-plugin # 生成并安装 plugins/my-plugin 模板依赖
|
|
143
138
|
```
|
|
144
139
|
|
|
145
140
|
## 发布
|
|
@@ -149,6 +144,7 @@ npm run build:local # 构建 plugins
|
|
|
149
144
|
## 文档
|
|
150
145
|
|
|
151
146
|
- [架构](docs/architecture.md)
|
|
147
|
+
- [插件开发](docs/plugin-development.md)
|
|
152
148
|
- [插件 API](docs/plugin-api.md)
|
|
153
149
|
- [配置](docs/configuration.md)
|
|
154
150
|
- [迁移与回滚](docs/migration.md)
|
package/dist/app.js
CHANGED
|
@@ -1,46 +1,32 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { resolve } from 'node:path';
|
|
2
3
|
import { parseArgs } from 'node:util';
|
|
3
4
|
import { createBotClient } from './core/client.js';
|
|
4
5
|
import { ConfigError, loadConfig, resolveConfigPath, resolveDataDir, } from './core/config/loader.js';
|
|
5
6
|
import { Kernel } from './core/kernel.js';
|
|
6
7
|
import { createLogger, parseLogLevel, } from './core/logging/logger.js';
|
|
7
|
-
import { resolveInstallDir } from './core/plugin/install-dir.js';
|
|
8
8
|
import { NpmPluginInstaller } from './core/plugin/installer.js';
|
|
9
|
-
import {
|
|
10
|
-
import { loadPluginsFromDirectory } from './core/plugin/loader.js';
|
|
9
|
+
import { loadLocalPlugins } from './core/plugin/loader.js';
|
|
11
10
|
import { openDatabase } from './core/storage/database.js';
|
|
12
11
|
import { builtinPlugins } from './plugins/index.js';
|
|
12
|
+
const LOCAL_PLUGIN_DIR = 'plugins';
|
|
13
13
|
const USAGE = `Usage: jsbot [options]
|
|
14
14
|
|
|
15
15
|
Options:
|
|
16
16
|
--config <path> Config file path (env: BOT_CONFIG)
|
|
17
17
|
--data-dir <path> Data directory (env: BOT_DATA_DIR)
|
|
18
18
|
--log-level <level> debug, info, warn or error (env: BOT_LOG_LEVEL)
|
|
19
|
-
--plugin-dir <path> External plugin directory, repeatable (env: BOT_PLUGIN_DIR)
|
|
20
19
|
--help Show this help
|
|
21
20
|
|
|
22
21
|
Config precedence: CLI > environment > ./bot.config.json.
|
|
23
22
|
Data precedence: CLI > environment > ./data.
|
|
23
|
+
Local plugins: ./${LOCAL_PLUGIN_DIR}/<id>/dist.
|
|
24
24
|
`;
|
|
25
25
|
function pick(value) {
|
|
26
26
|
return typeof value === 'string' && value.trim().length > 0
|
|
27
27
|
? value
|
|
28
28
|
: undefined;
|
|
29
29
|
}
|
|
30
|
-
function pickDirs(value) {
|
|
31
|
-
if (Array.isArray(value)) {
|
|
32
|
-
return value
|
|
33
|
-
.filter((item) => typeof item === 'string')
|
|
34
|
-
.map((item) => item.trim())
|
|
35
|
-
.filter((item) => item.length > 0);
|
|
36
|
-
}
|
|
37
|
-
if (typeof value !== 'string')
|
|
38
|
-
return [];
|
|
39
|
-
return value
|
|
40
|
-
.split(',')
|
|
41
|
-
.map((item) => item.trim())
|
|
42
|
-
.filter((item) => item.length > 0);
|
|
43
|
-
}
|
|
44
30
|
function mergePlugins(sources, logger) {
|
|
45
31
|
const seen = new Set();
|
|
46
32
|
const plugins = [];
|
|
@@ -57,40 +43,31 @@ function mergePlugins(sources, logger) {
|
|
|
57
43
|
}
|
|
58
44
|
return plugins;
|
|
59
45
|
}
|
|
60
|
-
async function loadExternalPlugins(directories, logger) {
|
|
61
|
-
const plugins = [];
|
|
62
|
-
for (const directory of directories) {
|
|
63
|
-
logger.info('loading external plugins', directory);
|
|
64
|
-
plugins.push(...(await loadPluginsFromDirectory(directory, logger)));
|
|
65
|
-
}
|
|
66
|
-
return plugins;
|
|
67
|
-
}
|
|
68
46
|
async function loadRuntimeSpec(settings) {
|
|
69
47
|
const { logger } = settings;
|
|
70
48
|
logger.info('loading config', settings.configPath);
|
|
71
49
|
const config = await loadConfig(settings.configPath);
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
logger.info(`loaded ${
|
|
50
|
+
const pluginDir = resolve(LOCAL_PLUGIN_DIR);
|
|
51
|
+
logger.info('loading plugins from', pluginDir);
|
|
52
|
+
const localPlugins = await loadLocalPlugins(pluginDir, logger);
|
|
53
|
+
if (localPlugins.length > 0) {
|
|
54
|
+
logger.info(`loaded ${localPlugins.length} plugin(s) from ${pluginDir}`);
|
|
77
55
|
}
|
|
78
56
|
const plugins = mergePlugins([
|
|
79
57
|
{ label: 'built-in', plugins: builtinPlugins },
|
|
80
|
-
{ label: '
|
|
81
|
-
{ label: 'installed', plugins: installed.plugins },
|
|
58
|
+
{ label: 'plugins', plugins: localPlugins },
|
|
82
59
|
], logger);
|
|
83
60
|
return {
|
|
84
61
|
config,
|
|
85
62
|
dataDir: settings.dataDir,
|
|
86
|
-
|
|
63
|
+
pluginDir,
|
|
87
64
|
plugins,
|
|
88
65
|
};
|
|
89
66
|
}
|
|
90
67
|
function createRuntime(spec, settings, onRestart) {
|
|
91
68
|
const { logger } = settings;
|
|
92
69
|
const installer = new NpmPluginInstaller({
|
|
93
|
-
dir: spec.
|
|
70
|
+
dir: spec.pluginDir,
|
|
94
71
|
config: spec.config.installer,
|
|
95
72
|
logger: logger.child('installer'),
|
|
96
73
|
reservedIds: () => new Set(spec.plugins.map((plugin) => plugin.manifest.id)),
|
|
@@ -120,7 +97,6 @@ async function main() {
|
|
|
120
97
|
config: { type: 'string' },
|
|
121
98
|
'data-dir': { type: 'string' },
|
|
122
99
|
'log-level': { type: 'string' },
|
|
123
|
-
'plugin-dir': { type: 'string', multiple: true },
|
|
124
100
|
help: { type: 'boolean', short: 'h' },
|
|
125
101
|
},
|
|
126
102
|
allowPositionals: false,
|
|
@@ -141,14 +117,10 @@ async function main() {
|
|
|
141
117
|
dataDir: pick(values['data-dir']),
|
|
142
118
|
env: process.env,
|
|
143
119
|
});
|
|
144
|
-
const cliPluginDirs = pickDirs(values['plugin-dir']);
|
|
145
|
-
const envPluginDirs = pickDirs(process.env.BOT_PLUGIN_DIR);
|
|
146
|
-
const pluginDirs = cliPluginDirs.length > 0 ? cliPluginDirs : envPluginDirs;
|
|
147
120
|
const settings = {
|
|
148
121
|
logger,
|
|
149
122
|
configPath,
|
|
150
123
|
dataDir,
|
|
151
|
-
pluginDirs,
|
|
152
124
|
};
|
|
153
125
|
let runtime = null;
|
|
154
126
|
let shuttingDown = false;
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,EACH,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,GACjB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EACH,YAAY,EACZ,aAAa,GAEhB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,6 @@ export declare const rolesConfigSchema: z.ZodDefault<z.ZodObject<{
|
|
|
21
21
|
}, z.core.$strict>>;
|
|
22
22
|
export declare const installerConfigSchema: z.ZodObject<{
|
|
23
23
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
24
|
-
dir: z.ZodOptional<z.ZodString>;
|
|
25
24
|
registry: z.ZodDefault<z.ZodURL>;
|
|
26
25
|
allowedPackages: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
27
26
|
allowScripts: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -48,7 +47,6 @@ export declare const appConfigSchema: z.ZodObject<{
|
|
|
48
47
|
}, z.core.$loose>>>;
|
|
49
48
|
installer: z.ZodDefault<z.ZodObject<{
|
|
50
49
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
-
dir: z.ZodOptional<z.ZodString>;
|
|
52
50
|
registry: z.ZodDefault<z.ZodURL>;
|
|
53
51
|
allowedPackages: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
54
52
|
allowScripts: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;kBAKlB,CAAA;AAEb,eAAO,MAAM,oBAAoB;;;;;;;iBAoB3B,CAAA;AAEN,eAAO,MAAM,mBAAmB;;;mBAMqB,CAAA;AAErD,eAAO,MAAM,iBAAiB;;;mBAMa,CAAA;AAE3C,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;kBAKlB,CAAA;AAEb,eAAO,MAAM,oBAAoB;;;;;;;iBAoB3B,CAAA;AAEN,eAAO,MAAM,mBAAmB;;;mBAMqB,CAAA;AAErD,eAAO,MAAM,iBAAiB;;;mBAMa,CAAA;AAE3C,eAAO,MAAM,qBAAqB;;;;;;kBAQrB,CAAA;AAEb,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;kBAef,CAAA;AAEb,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAC7D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAC/D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AACnE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAS7E"}
|
|
@@ -40,7 +40,6 @@ export const rolesConfigSchema = z
|
|
|
40
40
|
export const installerConfigSchema = z
|
|
41
41
|
.object({
|
|
42
42
|
enabled: z.boolean().default(false),
|
|
43
|
-
dir: z.string().min(1).optional(),
|
|
44
43
|
registry: z.url().default('https://registry.npmjs.org/'),
|
|
45
44
|
allowedPackages: z.array(z.string().min(1)).default([]),
|
|
46
45
|
allowScripts: z.boolean().default(false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzD,CAAC;KACD,MAAM,EAAE,CAAA;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAChC,MAAM,CAAC;IACJ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACxC,CAAC;KACD,KAAK,EAAE;KACP,WAAW,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IAC5B,IACI,KAAK,CAAC,MAAM;QACZ,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC9B,CAAC;QACC,OAAO,CAAC,QAAQ,CAAC;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EACH,uDAAuD;YAC3D,IAAI,EAAE,CAAC,QAAQ,CAAC;SACnB,CAAC,CAAA;IACN,CAAC;AACL,CAAC,CAAC,CAAA;AAEN,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACJ,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;IACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACxD,CAAC;KACD,MAAM,EAAE;KACR,OAAO,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAA;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC7B,MAAM,CAAC;IACJ,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1D,CAAC;KACD,MAAM,EAAE;KACR,OAAO,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAA;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACjC,MAAM,CAAC;IACJ,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/core/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { OneBotMessageEvent } from '@snowluma/sdk';
|
|
2
|
+
import { type CompiledCommandParams } from '../plugin/command-params.js';
|
|
3
|
+
import type { CommandGroupRegistrar, CommandHandler, CommandInfo, CommandMatch } from '../plugin/types.js';
|
|
2
4
|
import type { Permission } from '../security/permission.js';
|
|
5
|
+
type AnyCommandHandler = CommandHandler<OneBotMessageEvent, any[]>;
|
|
3
6
|
export interface CommandRegistration {
|
|
4
7
|
pluginId: string;
|
|
5
8
|
name: string;
|
|
@@ -7,7 +10,20 @@ export interface CommandRegistration {
|
|
|
7
10
|
prefixes: string[];
|
|
8
11
|
permission: Permission;
|
|
9
12
|
description?: string | undefined;
|
|
10
|
-
|
|
13
|
+
params?: string | undefined;
|
|
14
|
+
paramsParser?: CompiledCommandParams | undefined;
|
|
15
|
+
usage?: string | undefined;
|
|
16
|
+
handler: AnyCommandHandler;
|
|
17
|
+
}
|
|
18
|
+
export interface CommandGroupRegistration {
|
|
19
|
+
pluginId: string;
|
|
20
|
+
name: string;
|
|
21
|
+
aliases: string[];
|
|
22
|
+
prefixes: string[];
|
|
23
|
+
permission: Permission;
|
|
24
|
+
description?: string | undefined;
|
|
25
|
+
params?: string | undefined;
|
|
26
|
+
handler?: AnyCommandHandler | undefined;
|
|
11
27
|
}
|
|
12
28
|
export interface RegisteredCommand {
|
|
13
29
|
registration: CommandRegistration;
|
|
@@ -18,8 +34,14 @@ export declare class CommandRegistry {
|
|
|
18
34
|
private readonly registrations;
|
|
19
35
|
private readonly byPlugin;
|
|
20
36
|
register(registration: CommandRegistration): () => void;
|
|
37
|
+
group(registration: CommandGroupRegistration, setup: (group: CommandGroupRegistrar) => void): () => void;
|
|
21
38
|
removePlugin(pluginId: string): void;
|
|
22
39
|
list(): ReadonlyArray<CommandInfo>;
|
|
23
40
|
match(rawMessage: string): RegisteredCommand | null;
|
|
41
|
+
private withParams;
|
|
42
|
+
private insert;
|
|
43
|
+
private createGroupScope;
|
|
44
|
+
private registerGroupRoot;
|
|
24
45
|
}
|
|
46
|
+
export {};
|
|
25
47
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/core/dispatch/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/core/dispatch/command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAEH,KAAK,qBAAqB,EAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAER,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,YAAY,EAEf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAE3D,KAAK,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAA;AAElE,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAA;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,OAAO,EAAE,iBAAiB,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,EAAE,UAAU,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAC9B,YAAY,EAAE,mBAAmB,CAAA;IACjC,KAAK,EAAE,YAAY,CAAA;CACtB;AA0GD,qBAAa,eAAe;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsD;IAC5E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiC;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8C;IAEvE,QAAQ,CAAC,YAAY,EAAE,mBAAmB,GAAG,MAAM,IAAI,CActD;IAED,KAAK,CACD,YAAY,EAAE,wBAAwB,EACtC,KAAK,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,GAC9C,MAAM,IAAI,CAiCZ;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CA8BnC;IAED,IAAI,IAAI,aAAa,CAAC,WAAW,CAAC,CAejC;IAED,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAsDlD;IAED,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,MAAM;IAoEd,OAAO,CAAC,gBAAgB;IAgKxB,OAAO,CAAC,iBAAiB;CA6B5B"}
|