@zhin.js/adapter-lark 1.0.55 → 1.0.57
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 +16 -0
- package/README.md +1 -1
- package/lib/adapter.d.ts +21 -0
- package/lib/adapter.d.ts.map +1 -0
- package/lib/adapter.js +253 -0
- package/lib/adapter.js.map +1 -0
- package/lib/bot.d.ts +82 -0
- package/lib/bot.d.ts.map +1 -0
- package/lib/bot.js +629 -0
- package/lib/bot.js.map +1 -0
- package/lib/index.d.ts +4 -136
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -882
- package/lib/index.js.map +1 -1
- package/lib/types.d.ts +63 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/package.json +9 -5
- package/skills/lark/SKILL.md +18 -0
- package/src/adapter.ts +265 -0
- package/src/bot.ts +714 -0
- package/src/index.ts +38 -0
- package/src/types.ts +58 -0
package/src/index.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书/Lark 适配器入口:类型扩展、导出、注册
|
|
3
|
+
*/
|
|
4
|
+
import { usePlugin, type Plugin, type Context } from "zhin.js";
|
|
5
|
+
import { LarkAdapter } from "./adapter.js";
|
|
6
|
+
|
|
7
|
+
declare module "zhin.js" {
|
|
8
|
+
namespace Plugin {
|
|
9
|
+
interface Contexts {
|
|
10
|
+
router: import("@zhin.js/http").Router;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
interface Adapters {
|
|
14
|
+
lark: LarkAdapter;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export * from "./types.js";
|
|
19
|
+
export { LarkBot } from "./bot.js";
|
|
20
|
+
export { LarkAdapter } from "./adapter.js";
|
|
21
|
+
|
|
22
|
+
const plugin = usePlugin();
|
|
23
|
+
const { provide, useContext } = plugin;
|
|
24
|
+
|
|
25
|
+
(useContext as (key: string, fn: (router: any) => void) => void)("router", (router) => {
|
|
26
|
+
provide({
|
|
27
|
+
name: "lark",
|
|
28
|
+
description: "Lark/Feishu Bot Adapter",
|
|
29
|
+
mounted: async (p: Plugin) => {
|
|
30
|
+
const adapter = new LarkAdapter(p, router);
|
|
31
|
+
await adapter.start();
|
|
32
|
+
return adapter;
|
|
33
|
+
},
|
|
34
|
+
dispose: async (adapter: LarkAdapter) => {
|
|
35
|
+
await adapter.stop();
|
|
36
|
+
},
|
|
37
|
+
} as Context<"lark">);
|
|
38
|
+
});
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书/Lark 适配器类型定义
|
|
3
|
+
*/
|
|
4
|
+
export interface LarkBotConfig {
|
|
5
|
+
context: "lark";
|
|
6
|
+
name: string;
|
|
7
|
+
appId: string;
|
|
8
|
+
appSecret: string;
|
|
9
|
+
encryptKey?: string;
|
|
10
|
+
verificationToken?: string;
|
|
11
|
+
webhookPath: string;
|
|
12
|
+
apiBaseUrl?: string;
|
|
13
|
+
isFeishu?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface LarkMessage {
|
|
17
|
+
message_id?: string;
|
|
18
|
+
root_id?: string;
|
|
19
|
+
parent_id?: string;
|
|
20
|
+
create_time?: string;
|
|
21
|
+
update_time?: string;
|
|
22
|
+
chat_id?: string;
|
|
23
|
+
sender?: {
|
|
24
|
+
sender_id?: { user_id?: string; open_id?: string; union_id?: string };
|
|
25
|
+
sender_type?: string;
|
|
26
|
+
tenant_key?: string;
|
|
27
|
+
};
|
|
28
|
+
message_type?: string;
|
|
29
|
+
content?: string;
|
|
30
|
+
mentions?: Array<{
|
|
31
|
+
key?: string;
|
|
32
|
+
id?: { user_id?: string; open_id?: string; union_id?: string };
|
|
33
|
+
name?: string;
|
|
34
|
+
tenant_key?: string;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface LarkEvent {
|
|
39
|
+
uuid?: string;
|
|
40
|
+
token?: string;
|
|
41
|
+
ts?: string;
|
|
42
|
+
type?: string;
|
|
43
|
+
event?: {
|
|
44
|
+
sender?: any;
|
|
45
|
+
message?: LarkMessage;
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface AccessToken {
|
|
51
|
+
token: string;
|
|
52
|
+
expires_in: number;
|
|
53
|
+
timestamp: number;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export interface LarkBot {
|
|
57
|
+
$config: LarkBotConfig;
|
|
58
|
+
}
|