@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.
- package/CHANGELOG.md +15 -0
- package/lib/app.d.ts +16 -1
- package/lib/app.d.ts.map +1 -1
- package/lib/app.js +38 -1
- package/lib/app.js.map +1 -1
- package/lib/bot.d.ts +4 -2
- package/lib/bot.d.ts.map +1 -1
- package/lib/command.d.ts +6 -7
- package/lib/command.d.ts.map +1 -1
- package/lib/command.js +17 -9
- package/lib/command.js.map +1 -1
- package/lib/jsx-dev-runtime.d.ts +3 -0
- package/lib/jsx-dev-runtime.d.ts.map +1 -0
- package/lib/jsx-dev-runtime.js +3 -0
- package/lib/jsx-dev-runtime.js.map +1 -0
- package/lib/log-transport.d.ts +37 -0
- package/lib/log-transport.d.ts.map +1 -0
- package/lib/log-transport.js +136 -0
- package/lib/log-transport.js.map +1 -0
- package/lib/message.d.ts +1 -1
- package/lib/message.d.ts.map +1 -1
- package/lib/models/system-log.d.ts +11 -0
- package/lib/models/system-log.d.ts.map +1 -0
- package/lib/models/system-log.js +9 -0
- package/lib/models/system-log.js.map +1 -0
- package/lib/models/user.d.ts +10 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +8 -0
- package/lib/models/user.js.map +1 -0
- package/lib/permissions.d.ts +20 -0
- package/lib/permissions.d.ts.map +1 -0
- package/lib/permissions.js +66 -0
- package/lib/permissions.js.map +1 -0
- package/lib/plugin.d.ts +6 -1
- package/lib/plugin.d.ts.map +1 -1
- package/lib/plugin.js +22 -5
- package/lib/plugin.js.map +1 -1
- package/lib/prompt.d.ts.map +1 -1
- package/lib/prompt.js +3 -2
- package/lib/prompt.js.map +1 -1
- package/lib/types.d.ts +11 -14
- package/lib/types.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/app.ts +56 -12
- package/src/bot.ts +5 -3
- package/src/command.ts +19 -10
- package/src/jsx-dev-runtime.ts +2 -0
- package/src/log-transport.ts +163 -0
- package/src/message.ts +1 -1
- package/src/models/system-log.ts +20 -0
- package/src/models/user.ts +15 -0
- package/src/permissions.ts +62 -0
- package/src/plugin.ts +28 -6
- package/src/prompt.ts +3 -2
- package/src/types.ts +12 -13
- package/tests/command.test.ts +136 -40
- package/tests/plugin.test.ts +2 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Schema } from '@zhin.js/database';
|
|
2
|
+
export interface User {
|
|
3
|
+
id: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
third_part: string[];
|
|
7
|
+
permissions?: string[];
|
|
8
|
+
}
|
|
9
|
+
export declare const UserSchema: Schema<User>;
|
|
10
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,MAAM,WAAW,IAAI;IACjB,EAAE,EAAC,MAAM,CAAA;IACT,IAAI,CAAC,EAAC,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAC,MAAM,CAAA;IAChB,UAAU,EAAC,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAC,MAAM,EAAE,CAAA;CACxB;AACD,eAAO,MAAM,UAAU,EAAC,MAAM,CAAC,IAAI,CAMlC,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const UserSchema = {
|
|
2
|
+
id: { type: "text", nullable: false },
|
|
3
|
+
name: { type: 'text', nullable: true },
|
|
4
|
+
password: { type: 'text', nullable: true },
|
|
5
|
+
third_part: { type: 'json', default: [] },
|
|
6
|
+
permissions: { type: 'json', default: [] }
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/models/user.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,UAAU,GAAc;IACjC,EAAE,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,KAAK,EAAC;IAC/B,IAAI,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAC;IAChC,QAAQ,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,IAAI,EAAC;IACpC,UAAU,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,EAAE,EAAC;IACnC,WAAW,EAAC,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,EAAE,EAAC;CACvC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { MaybePromise } from "@zhin.js/types";
|
|
2
|
+
import { RegisteredAdapter } from "./types.js";
|
|
3
|
+
import { Message } from "./message.js";
|
|
4
|
+
import { AdapterMessage } from "./types.js";
|
|
5
|
+
import { App } from "./app.js";
|
|
6
|
+
export type PermissionItem<T extends RegisteredAdapter = RegisteredAdapter> = {
|
|
7
|
+
name: string | RegExp;
|
|
8
|
+
check: PermissionChecker<T>;
|
|
9
|
+
};
|
|
10
|
+
export type PermissionChecker<T extends RegisteredAdapter = RegisteredAdapter> = (name: string, message: Message<AdapterMessage<T>>) => MaybePromise<boolean>;
|
|
11
|
+
export declare class Permissions extends Array<PermissionItem> {
|
|
12
|
+
private readonly app;
|
|
13
|
+
constructor(app: App);
|
|
14
|
+
add(permission: PermissionItem): void;
|
|
15
|
+
get(name: string): PermissionItem | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare namespace Permissions {
|
|
18
|
+
function define<T extends RegisteredAdapter = RegisteredAdapter>(name: string | RegExp, check: PermissionChecker<T>): PermissionItem<T>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC1E,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;CAC9B,CAAA;AACD,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,CAAA;AAC7J,qBAAa,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,GAAG;IAoCrC,GAAG,CAAC,UAAU,EAAE,cAAc;IAG9B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;CAMhD;AACD,yBAAiB,WAAW,CAAA;IACxB,SAAgB,MAAM,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAE7I;CACJ"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
export class Permissions extends Array {
|
|
2
|
+
app;
|
|
3
|
+
constructor(app) {
|
|
4
|
+
super();
|
|
5
|
+
this.app = app;
|
|
6
|
+
this.add(Permissions.define(/^adapter\([^)]+\)$/, (name, message) => {
|
|
7
|
+
return message.$adapter === name.replace(/^adapter\(([^)]+)\)$/, '$1');
|
|
8
|
+
}));
|
|
9
|
+
this.add(Permissions.define(/^group\([^)]+\)$/, (name, message) => {
|
|
10
|
+
const match = name.match(/^group\(([^)]+)\)$/);
|
|
11
|
+
if (!match)
|
|
12
|
+
return false;
|
|
13
|
+
const id = match[1];
|
|
14
|
+
if (message.$channel.type !== 'group')
|
|
15
|
+
return false;
|
|
16
|
+
if (id === '' || id === '*')
|
|
17
|
+
return true;
|
|
18
|
+
return message.$channel.id === id;
|
|
19
|
+
}));
|
|
20
|
+
this.add(Permissions.define(/^private\([^)]+\)$/, (name, message) => {
|
|
21
|
+
const match = name.match(/^private\(([^)]+)\)$/);
|
|
22
|
+
if (!match)
|
|
23
|
+
return false;
|
|
24
|
+
const id = match[1];
|
|
25
|
+
if (message.$channel.type !== 'private')
|
|
26
|
+
return false;
|
|
27
|
+
if (id === '' || id === '*')
|
|
28
|
+
return true;
|
|
29
|
+
return message.$channel.id === id;
|
|
30
|
+
}));
|
|
31
|
+
this.add(Permissions.define(/^channel\([^)]+\)$/, (name, message) => {
|
|
32
|
+
const match = name.match(/^channel\(([^)]+)\)$/);
|
|
33
|
+
if (!match)
|
|
34
|
+
return false;
|
|
35
|
+
const id = match[1];
|
|
36
|
+
if (message.$channel.type !== 'channel')
|
|
37
|
+
return false;
|
|
38
|
+
if (id === '' || id === '*')
|
|
39
|
+
return true;
|
|
40
|
+
return message.$channel.id === id;
|
|
41
|
+
}));
|
|
42
|
+
this.add(Permissions.define(/^user\([^)]+\)$/, (name, message) => {
|
|
43
|
+
const match = name.match(/^channel\(([^)]+)\)$/);
|
|
44
|
+
if (!match)
|
|
45
|
+
return false;
|
|
46
|
+
const id = match[1];
|
|
47
|
+
return message.$sender.id === id;
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
add(permission) {
|
|
51
|
+
this.push(permission);
|
|
52
|
+
}
|
|
53
|
+
get(name) {
|
|
54
|
+
return this.app.dependencyList.reduce((result, dep) => {
|
|
55
|
+
result.push(...dep.permissions);
|
|
56
|
+
return result;
|
|
57
|
+
}, [...this]).find(p => new RegExp(p.name).test(name));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
(function (Permissions) {
|
|
61
|
+
function define(name, check) {
|
|
62
|
+
return { name, check };
|
|
63
|
+
}
|
|
64
|
+
Permissions.define = define;
|
|
65
|
+
})(Permissions || (Permissions = {}));
|
|
66
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
package/lib/plugin.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { MaybePromise } from '@zhin.js/types';
|
|
2
2
|
import { AdapterMessage, BeforeSendHandler, RegisteredAdapter, SendOptions } from "./types.js";
|
|
3
|
+
import { PermissionItem, PermissionChecker } from './permissions.js';
|
|
3
4
|
import { Message } from './message.js';
|
|
4
5
|
import { Dependency, Logger } from "@zhin.js/hmr";
|
|
5
6
|
import { App } from "./app";
|
|
@@ -16,8 +17,9 @@ export type MessageMiddleware<P extends RegisteredAdapter = RegisteredAdapter> =
|
|
|
16
17
|
*/
|
|
17
18
|
export declare class Plugin extends Dependency<Plugin> {
|
|
18
19
|
#private;
|
|
19
|
-
middlewares: MessageMiddleware<
|
|
20
|
+
middlewares: MessageMiddleware<RegisteredAdapter>[];
|
|
20
21
|
components: Map<string, Component<any>>;
|
|
22
|
+
permissions: PermissionItem<RegisteredAdapter>[];
|
|
21
23
|
schemas: Map<string, Schema<any>>;
|
|
22
24
|
commands: MessageCommand[];
|
|
23
25
|
crons: Cron[];
|
|
@@ -28,6 +30,8 @@ export declare class Plugin extends Dependency<Plugin> {
|
|
|
28
30
|
* @param filePath 插件文件路径
|
|
29
31
|
*/
|
|
30
32
|
constructor(parent: Dependency<Plugin>, name: string, filePath: string);
|
|
33
|
+
addPermit<T extends RegisteredAdapter>(name: string | RegExp, check: PermissionChecker<T>): this;
|
|
34
|
+
getPermit<T extends RegisteredAdapter>(name: string): PermissionItem<T> | undefined;
|
|
31
35
|
cron(cronExpression: string, callback: () => void): this;
|
|
32
36
|
defineModel<S extends Record<string, any>>(name: string, schema: Schema<S>): this;
|
|
33
37
|
beforeSend(handler: BeforeSendHandler): void;
|
|
@@ -44,6 +48,7 @@ export declare class Plugin extends Dependency<Plugin> {
|
|
|
44
48
|
prompt<P extends RegisteredAdapter>(message: Message<AdapterMessage<P>>): Prompt<P>;
|
|
45
49
|
/** 发送消息 */
|
|
46
50
|
sendMessage(options: SendOptions): Promise<void>;
|
|
51
|
+
recallMessage(adapter: string, bot: string, id: string): void;
|
|
47
52
|
/** 销毁插件 */
|
|
48
53
|
dispose(): void;
|
|
49
54
|
}
|
package/lib/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAC,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,UAAU,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAmB,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAEhC,cAAc;AACd,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAC,iBAAiB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAOtK;;;GAGG;AACH,qBAAa,MAAO,SAAQ,UAAU,CAAC,MAAM,CAAC;;IAC1C,WAAW,EAAE,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/lib/plugin.js
CHANGED
|
@@ -17,6 +17,7 @@ import { Cron } from './cron.js';
|
|
|
17
17
|
export class Plugin extends Dependency {
|
|
18
18
|
middlewares = [];
|
|
19
19
|
components = new Map();
|
|
20
|
+
permissions = [];
|
|
20
21
|
schemas = new Map();
|
|
21
22
|
commands = [];
|
|
22
23
|
crons = [];
|
|
@@ -34,7 +35,7 @@ export class Plugin extends Dependency {
|
|
|
34
35
|
// 注册命令处理为默认中间件
|
|
35
36
|
this.addMiddleware(async (message, next) => {
|
|
36
37
|
for (const command of this.commands) {
|
|
37
|
-
const result = await command.handle(message);
|
|
38
|
+
const result = await command.handle(message, this);
|
|
38
39
|
if (result)
|
|
39
40
|
message.$reply(result);
|
|
40
41
|
}
|
|
@@ -72,20 +73,26 @@ export class Plugin extends Dependency {
|
|
|
72
73
|
await message.$reply('抱歉,处理您的消息时出现了错误。');
|
|
73
74
|
}
|
|
74
75
|
catch (replyError) {
|
|
75
|
-
// 静默处理回复错误,避免错误循环
|
|
76
|
-
// console.error 已替换为注释
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
}
|
|
79
|
+
addPermit(name, check) {
|
|
80
|
+
this.permissions.push({ name, check });
|
|
81
|
+
return this;
|
|
82
|
+
}
|
|
83
|
+
getPermit(name) {
|
|
84
|
+
return this.app.permissions.get(name);
|
|
85
|
+
}
|
|
80
86
|
cron(cronExpression, callback) {
|
|
81
87
|
const cronJob = new Cron(cronExpression, callback);
|
|
82
88
|
this.crons.push(cronJob);
|
|
83
89
|
return this;
|
|
84
90
|
}
|
|
85
91
|
async #runMiddlewares(message, index) {
|
|
86
|
-
|
|
92
|
+
const middlewareList = [...this.app.middlewares, ...this.middlewares];
|
|
93
|
+
if (index >= middlewareList.length)
|
|
87
94
|
return;
|
|
88
|
-
const middleware =
|
|
95
|
+
const middleware = middlewareList[index];
|
|
89
96
|
try {
|
|
90
97
|
await middleware(message, () => this.#runMiddlewares(message, index + 1));
|
|
91
98
|
}
|
|
@@ -149,6 +156,16 @@ export class Plugin extends Dependency {
|
|
|
149
156
|
throw messageError;
|
|
150
157
|
}
|
|
151
158
|
}
|
|
159
|
+
recallMessage(adapter, bot, id) {
|
|
160
|
+
try {
|
|
161
|
+
this.app.recallMessage(adapter, bot, id);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
const messageError = new MessageError(`撤回消息失败: ${error.message}`, id, undefined, { originalError: error });
|
|
165
|
+
errorManager.handle(messageError);
|
|
166
|
+
throw messageError;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
152
169
|
/** 销毁插件 */
|
|
153
170
|
dispose() {
|
|
154
171
|
try {
|
package/lib/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/lib/prompt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAQ,iBAAiB,EAAC,MAAM,YAAY,CAAC;AACnE,OAAO,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;;;;GAKG;AACH,qBAAa,MAAM,CAAC,CAAC,SAAS,iBAAiB;IAM/B,OAAO,CAAC,MAAM;IAAQ,OAAO,CAAC,KAAK;IAL/C;;;;OAIG;gBACiB,MAAM,EAAC,MAAM,EAAS,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC3E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAGzB;;;OAGG;IACH,OAAO,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
package/lib/prompt.js
CHANGED
|
@@ -27,8 +27,8 @@ export class Prompt {
|
|
|
27
27
|
* @param config 提问配置
|
|
28
28
|
*/
|
|
29
29
|
prompt(config) {
|
|
30
|
-
return new Promise((resolve, reject) => {
|
|
31
|
-
this.event.$reply(config.tips);
|
|
30
|
+
return new Promise(async (resolve, reject) => {
|
|
31
|
+
const id = await this.event.$reply(config.tips);
|
|
32
32
|
this.middleware(input => {
|
|
33
33
|
if (input instanceof Error) {
|
|
34
34
|
this.event.$reply(input.message);
|
|
@@ -38,6 +38,7 @@ export class Prompt {
|
|
|
38
38
|
reject(input);
|
|
39
39
|
return;
|
|
40
40
|
}
|
|
41
|
+
this.plugin.recallMessage(this.event.$adapter, this.event.$bot, id);
|
|
41
42
|
resolve(config.format(input));
|
|
42
43
|
}, config.timeout, config.timeoutText);
|
|
43
44
|
});
|
package/lib/prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAO,MAAM;IAMK;IAAsB;IAL1C;;;;OAIG;IACH,YAAoB,MAAa,EAAS,KAAiC;QAAvD,WAAM,GAAN,MAAM,CAAO;QAAS,UAAK,GAAL,KAAK,CAA4B;IAAG,CAAC;IAC/E;;OAEG;IACK,iBAAiB,CAA+B,KAAkC;QACtF,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;IAC7G,CAAC;IACD;;;OAGG;IACK,MAAM,CAAU,MAAwB;QAC5C,OAAO,IAAI,OAAO,CAAI,
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import { MaybePromise } from '@zhin.js/types';
|
|
1
|
+
import { MaybePromise, RegisteredAdapters } from '@zhin.js/types';
|
|
2
2
|
import { MessageChannel } from "./message.js";
|
|
3
3
|
import { Adapter } from "./adapter.js";
|
|
4
4
|
import { Bot, BotConfig } from "./bot.js";
|
|
5
5
|
import { Databases, Registry } from "@zhin.js/database";
|
|
6
6
|
import { MessageComponent } from "./message.js";
|
|
7
|
-
/**
|
|
8
|
-
* 类型定义文件:包含适配器、消息、数据库、配置等核心类型声明。
|
|
9
|
-
* 协作者可通过本文件了解各主要数据结构的用途与关系。
|
|
10
|
-
*/
|
|
11
|
-
declare module '@zhin.js/types' {
|
|
12
|
-
interface GlobalContext extends RegisteredAdapters {
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* 所有已注册适配器的类型映射(key为适配器名,value为Adapter实例)
|
|
17
|
-
*/
|
|
18
|
-
export interface RegisteredAdapters extends Record<string, Adapter> {
|
|
19
|
-
}
|
|
20
7
|
/**
|
|
21
8
|
* 数据库配置类型,支持多种数据库驱动
|
|
22
9
|
*/
|
|
@@ -69,6 +56,7 @@ export type SendContent = MaybeArray<string | MessageElement>;
|
|
|
69
56
|
export interface MessageSender {
|
|
70
57
|
id: string;
|
|
71
58
|
name?: string;
|
|
59
|
+
permissions?: string[];
|
|
72
60
|
}
|
|
73
61
|
/**
|
|
74
62
|
* 通用字典类型
|
|
@@ -107,6 +95,15 @@ export interface AppConfig {
|
|
|
107
95
|
disable_dependencies?: string[];
|
|
108
96
|
/** 是否启用调试模式 */
|
|
109
97
|
debug?: boolean;
|
|
98
|
+
/** 日志配置 */
|
|
99
|
+
log?: {
|
|
100
|
+
/** 最大日志保留天数,默认 7 天 */
|
|
101
|
+
maxDays?: number;
|
|
102
|
+
/** 最大日志条数,默认 10000 条 */
|
|
103
|
+
maxRecords?: number;
|
|
104
|
+
/** 自动清理间隔(小时),默认 24 小时 */
|
|
105
|
+
cleanupInterval?: number;
|
|
106
|
+
};
|
|
110
107
|
}
|
|
111
108
|
/**
|
|
112
109
|
* defineConfig辅助类型,支持函数式/对象式配置
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAK,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Zhin机器人核心框架",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
"./jsx-runtime": {
|
|
18
18
|
"types": "./lib/jsx-runtime.d.ts",
|
|
19
19
|
"import": "./lib/jsx-runtime.js"
|
|
20
|
+
},
|
|
21
|
+
"./jsx-dev-runtime": {
|
|
22
|
+
"types": "./lib/jsx-dev-runtime.d.ts",
|
|
23
|
+
"import": "./lib/jsx-dev-runtime.js"
|
|
20
24
|
}
|
|
21
25
|
},
|
|
22
26
|
"dependencies": {
|
|
@@ -26,7 +30,7 @@
|
|
|
26
30
|
"dotenv": "^16.3.1",
|
|
27
31
|
"cron-parser": "latest",
|
|
28
32
|
"@zhin.js/hmr": "1.0.1",
|
|
29
|
-
"@zhin.js/database": "1.0.
|
|
33
|
+
"@zhin.js/database": "1.0.1"
|
|
30
34
|
},
|
|
31
35
|
"peerDependencies": {
|
|
32
36
|
"@zhin.js/logger": "0.1.0"
|
|
@@ -34,7 +38,7 @@
|
|
|
34
38
|
"devDependencies": {
|
|
35
39
|
"@types/node": "^24.3.0",
|
|
36
40
|
"typescript": "^5.3.0",
|
|
37
|
-
"@zhin.js/types": "1.0.
|
|
41
|
+
"@zhin.js/types": "1.0.2"
|
|
38
42
|
},
|
|
39
43
|
"scripts": {
|
|
40
44
|
"build": "tsc",
|
package/src/app.ts
CHANGED
|
@@ -19,14 +19,24 @@ import { fileURLToPath } from "url";
|
|
|
19
19
|
import { generateEnvTypes } from "./types-generator.js";
|
|
20
20
|
import logger, { setName } from "@zhin.js/logger";
|
|
21
21
|
import { sleep } from "./utils.js";
|
|
22
|
-
|
|
22
|
+
import { PermissionChecker, Permissions } from "./permissions.js";
|
|
23
23
|
// 创建静态logger用于配置加载等静态操作
|
|
24
24
|
setName("Zhin");
|
|
25
25
|
import { MessageMiddleware, Plugin } from "./plugin.js";
|
|
26
26
|
import { Adapter } from "./adapter";
|
|
27
27
|
import { MessageCommand } from "./command";
|
|
28
28
|
import { Component } from "./component";
|
|
29
|
-
import { RelatedDatabase,DocumentDatabase,KeyValueDatabase,Schema,Registry} from "@zhin.js/database";
|
|
29
|
+
import { RelatedDatabase, DocumentDatabase, KeyValueDatabase, Schema, Registry } from "@zhin.js/database";
|
|
30
|
+
import { DatabaseLogTransport } from "./log-transport.js";
|
|
31
|
+
import { SystemLog, SystemLogSchema } from "./models/system-log.js";
|
|
32
|
+
import { User, UserSchema } from './models/user.js'
|
|
33
|
+
import { addTransport, removeTransport } from "@zhin.js/logger";
|
|
34
|
+
declare module "@zhin.js/types" {
|
|
35
|
+
interface Models {
|
|
36
|
+
SystemLog: SystemLog;
|
|
37
|
+
User: User
|
|
38
|
+
}
|
|
39
|
+
}
|
|
30
40
|
|
|
31
41
|
// ============================================================================
|
|
32
42
|
// App 类(Zhin.js 应用主入口,负责插件热重载、配置管理、消息分发等)
|
|
@@ -38,8 +48,11 @@ import { RelatedDatabase,DocumentDatabase,KeyValueDatabase,Schema,Registry} from
|
|
|
38
48
|
export class App extends HMR<Plugin> {
|
|
39
49
|
static currentPlugin: Plugin;
|
|
40
50
|
private config: AppConfig;
|
|
51
|
+
middlewares: MessageMiddleware[] = [];
|
|
41
52
|
adapters: string[] = [];
|
|
42
|
-
database?: RelatedDatabase<any,Models
|
|
53
|
+
database?: RelatedDatabase<any, Models> | DocumentDatabase<any, Models> | KeyValueDatabase<any, Models>;
|
|
54
|
+
permissions: Permissions = new Permissions(this);
|
|
55
|
+
private logTransport?: DatabaseLogTransport;
|
|
43
56
|
/**
|
|
44
57
|
* 构造函数:初始化应用,加载配置,注册全局异常处理
|
|
45
58
|
* @param config 可选的应用配置,若为空则自动查找配置文件
|
|
@@ -68,7 +81,7 @@ export class App extends HMR<Plugin> {
|
|
|
68
81
|
super("Zhin", {
|
|
69
82
|
logger,
|
|
70
83
|
dirs: finalConfig.plugin_dirs || [],
|
|
71
|
-
extensions: new Set([".js", ".ts",".jsx",".tsx"]),
|
|
84
|
+
extensions: new Set([".js", ".ts", ".jsx", ".tsx"]),
|
|
72
85
|
debug: finalConfig.debug,
|
|
73
86
|
});
|
|
74
87
|
this.on("message.send", this.sendMessage.bind(this));
|
|
@@ -94,6 +107,9 @@ export class App extends HMR<Plugin> {
|
|
|
94
107
|
bots: [],
|
|
95
108
|
debug: false,
|
|
96
109
|
};
|
|
110
|
+
middleware(middleware: MessageMiddleware) {
|
|
111
|
+
this.middlewares.push(middleware)
|
|
112
|
+
}
|
|
97
113
|
/**
|
|
98
114
|
* 发送消息到指定适配器和机器人
|
|
99
115
|
* @param options 消息发送参数(包含 context、bot、内容等)
|
|
@@ -110,6 +126,15 @@ export class App extends HMR<Plugin> {
|
|
|
110
126
|
);
|
|
111
127
|
return bot.$sendMessage(options);
|
|
112
128
|
}
|
|
129
|
+
async recallMessage(adapter_name: string, bot_name: string, id: string) {
|
|
130
|
+
const adapter = this.getContext<Adapter>(adapter_name);
|
|
131
|
+
if (!adapter)
|
|
132
|
+
throw new Error(`can't find adapter for name ${adapter_name}`);
|
|
133
|
+
const bot = adapter.bots.get(bot_name);
|
|
134
|
+
if (!bot)
|
|
135
|
+
throw new Error(`can't find bot ${bot_name} for adapter ${adapter_name}`);
|
|
136
|
+
return bot.$recallMessage(id);
|
|
137
|
+
}
|
|
113
138
|
/** 同步加载配置文件 */
|
|
114
139
|
/**
|
|
115
140
|
* 同步加载配置文件(暂不支持,建议使用异步创建)
|
|
@@ -170,13 +195,16 @@ export class App extends HMR<Plugin> {
|
|
|
170
195
|
|
|
171
196
|
this.logger.info("App configuration updated", this.config);
|
|
172
197
|
}
|
|
173
|
-
get schemas(){
|
|
198
|
+
get schemas() {
|
|
174
199
|
return this.dependencyList.reduce((result, plugin) => {
|
|
175
200
|
plugin.schemas.forEach((schema, name) => {
|
|
176
201
|
result.set(name, schema);
|
|
177
202
|
});
|
|
178
203
|
return result;
|
|
179
|
-
}, new Map<string,Schema<any>>(
|
|
204
|
+
}, new Map<string, Schema<any>>([
|
|
205
|
+
['SystemLog', SystemLogSchema],
|
|
206
|
+
['User', UserSchema]
|
|
207
|
+
]));
|
|
180
208
|
}
|
|
181
209
|
/** 使用插件 */
|
|
182
210
|
use(filePath: string): void {
|
|
@@ -191,18 +219,23 @@ export class App extends HMR<Plugin> {
|
|
|
191
219
|
this.use(pluginName);
|
|
192
220
|
}
|
|
193
221
|
await sleep(200);
|
|
194
|
-
const schemas:Record<string,Schema
|
|
222
|
+
const schemas: Record<string, Schema> = {};
|
|
195
223
|
for (const [name, schema] of this.schemas) {
|
|
196
|
-
schemas[name]=schema;
|
|
224
|
+
schemas[name] = schema;
|
|
197
225
|
}
|
|
198
226
|
if (this.config.database) {
|
|
199
|
-
this.database=Registry.create((this.config.database as any).dialect,this.config.database,schemas);
|
|
227
|
+
this.database = Registry.create((this.config.database as any).dialect, this.config.database, schemas);
|
|
200
228
|
await this.database?.start();
|
|
201
229
|
this.logger.info(`database init success`);
|
|
230
|
+
|
|
231
|
+
// 初始化日志传输器
|
|
232
|
+
this.logTransport = new DatabaseLogTransport(this);
|
|
233
|
+
addTransport(this.logTransport);
|
|
234
|
+
this.logger.info(`database log transport registered`);
|
|
202
235
|
} else {
|
|
203
236
|
this.logger.info(`database not configured, skipping database init`);
|
|
204
237
|
}
|
|
205
|
-
this.dispatch("database.ready",this.database);
|
|
238
|
+
this.dispatch("database.ready", this.database);
|
|
206
239
|
// 等待所有插件就绪
|
|
207
240
|
await this.waitForReady();
|
|
208
241
|
this.logger.info("started successfully");
|
|
@@ -212,6 +245,14 @@ export class App extends HMR<Plugin> {
|
|
|
212
245
|
/** 停止App */
|
|
213
246
|
async stop(): Promise<void> {
|
|
214
247
|
this.logger.info("Stopping app...");
|
|
248
|
+
|
|
249
|
+
// 停止日志清理任务并移除日志传输器
|
|
250
|
+
if (this.logTransport) {
|
|
251
|
+
this.logTransport.stopCleanup();
|
|
252
|
+
removeTransport(this.logTransport);
|
|
253
|
+
this.logger.info("database log transport removed");
|
|
254
|
+
}
|
|
255
|
+
|
|
215
256
|
// 销毁所有插件
|
|
216
257
|
this.dispose();
|
|
217
258
|
|
|
@@ -282,7 +323,10 @@ export function defineModel<T extends Record<string, any>>(
|
|
|
282
323
|
const plugin = usePlugin();
|
|
283
324
|
return plugin.defineModel(name, schema);
|
|
284
325
|
}
|
|
285
|
-
|
|
326
|
+
export function addPermit<T extends RegisteredAdapter>(name: string | RegExp, checker: PermissionChecker<T>) {
|
|
327
|
+
const plugin = usePlugin()
|
|
328
|
+
return plugin.addPermit(name, checker)
|
|
329
|
+
}
|
|
286
330
|
/** 获取当前插件实例 */
|
|
287
331
|
export function usePlugin(): Plugin {
|
|
288
332
|
const hmr = HMR.currentHMR;
|
|
@@ -338,7 +382,7 @@ export function addMiddleware(middleware: MessageMiddleware): void {
|
|
|
338
382
|
const plugin = usePlugin();
|
|
339
383
|
plugin.addMiddleware(middleware);
|
|
340
384
|
}
|
|
341
|
-
export function onDatabaseReady(callback: (database: RelatedDatabase<any,Models
|
|
385
|
+
export function onDatabaseReady(callback: (database: RelatedDatabase<any, Models> | DocumentDatabase<any, Models> | KeyValueDatabase<any, Models>) => PromiseLike<void>) {
|
|
342
386
|
const plugin = usePlugin();
|
|
343
387
|
if (plugin.app.database?.isStarted) callback(plugin.app.database);
|
|
344
388
|
plugin.on("database.ready", callback);
|
package/src/bot.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SendOptions} from "./types.js";
|
|
2
2
|
import {Message} from "./message.js";
|
|
3
3
|
/**
|
|
4
4
|
* Bot接口:所有平台机器人需实现的统一接口。
|
|
@@ -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
|
-
$
|
|
20
|
+
/** 撤回消息 */
|
|
21
|
+
$recallMessage(id:string):Promise<void>
|
|
22
|
+
/** 发送消息返回消息id */
|
|
23
|
+
$sendMessage(options: SendOptions): Promise<string>
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Bot配置类型,所有平台机器人通用
|