@napuketto/adapter 0.0.2 → 0.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/dist/onebot11/index.d.mts +103 -103
- package/dist/onebot11/index.d.mts.map +1 -1
- package/dist/onebot11/index.mjs +145 -120
- package/dist/onebot11/index.mjs.map +1 -1
- package/dist/satori/index.d.mts +94 -85
- package/dist/satori/index.d.mts.map +1 -1
- package/dist/satori/index.mjs +334 -325
- package/dist/satori/index.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import { l as ErrorCodeMap, o as ActionRegistry, r as ProtocolConfig, t as BaseProtocolAdapter } from "../index-CmhGncOe.mjs";
|
|
2
2
|
import "../gray-tip-CcpfI1Og.mjs";
|
|
3
|
-
import { CanonicalElement, FriendApi, GroupApi, GroupCache, GroupNotifyApi, MsgApi, MsgEventChannel, Peer, ProfileApi, ProfileLikeApi, RichMediaApi, TicketApi, WebApi } from "@napuketto/kernel";
|
|
3
|
+
import { CanonicalElement, ChatType, FriendApi, GroupApi, GroupCache, GroupNotifyApi, MsgApi, MsgEventChannel, Peer, ProfileApi, ProfileLikeApi, RichMediaApi, TicketApi, WebApi } from "@napuketto/kernel";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { EventBroadcaster, TransportAdapter } from "@napuketto/network";
|
|
6
|
-
//#region src/onebot11/action/error-map.d.ts
|
|
7
|
-
/** OB11 错误码映射表(send_msg 等所有 OB11 动作共用)。 */
|
|
8
|
-
declare const ob11ErrorCodeMap: ErrorCodeMap;
|
|
9
|
-
//#endregion
|
|
10
|
-
//#region src/onebot11/action/group/get-group-at-all-remain.d.ts
|
|
11
|
-
/** @全体剩余次数返回结构。 */
|
|
12
|
-
interface AtAllRemainInfo {
|
|
13
|
-
can_at_all: boolean;
|
|
14
|
-
remain_at_all_count_for_uin: number;
|
|
15
|
-
remain_at_all_count_for_group: number;
|
|
16
|
-
}
|
|
17
|
-
//#endregion
|
|
18
6
|
//#region src/onebot11/helper/message-unique.d.ts
|
|
19
7
|
declare class MessageUnique {
|
|
20
8
|
/** NT msgId → OB11 message_id。 */
|
|
@@ -130,85 +118,17 @@ declare class OneBotApi {
|
|
|
130
118
|
uidToUin(uids: string[]): Promise<Map<string, string>>;
|
|
131
119
|
}
|
|
132
120
|
//#endregion
|
|
133
|
-
//#region src/onebot11/action/
|
|
134
|
-
/**
|
|
135
|
-
|
|
136
|
-
/** OneBotApi 聚合(9 个 kernel apis + messageUnique + self/system)。 */
|
|
137
|
-
api: OneBotApi;
|
|
138
|
-
}
|
|
139
|
-
/** 构建 OB11 动作注册表(所有 OB11 动作在此注册,按组拆分控制行数)。 */
|
|
140
|
-
declare function createOb11ActionRegistry(deps: Ob11ActionDeps): ActionRegistry;
|
|
141
|
-
//#endregion
|
|
142
|
-
//#region src/onebot11/helper/config.d.ts
|
|
143
|
-
/** OB11 配置 schema。 */
|
|
144
|
-
declare const ob11ConfigSchema: z.ZodObject<{
|
|
145
|
-
token: z.ZodOptional<z.ZodString>;
|
|
146
|
-
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
147
|
-
reportSelfMessage: z.ZodDefault<z.ZodBoolean>;
|
|
148
|
-
messagePostFormat: z.ZodDefault<z.ZodEnum<{
|
|
149
|
-
array: "array";
|
|
150
|
-
string: "string";
|
|
151
|
-
}>>;
|
|
152
|
-
httpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
153
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
154
|
-
host: z.ZodDefault<z.ZodString>;
|
|
155
|
-
port: z.ZodDefault<z.ZodNumber>;
|
|
156
|
-
token: z.ZodOptional<z.ZodString>;
|
|
157
|
-
}, z.core.$strip>>>;
|
|
158
|
-
httpPostUrls: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
159
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
160
|
-
url: z.ZodOptional<z.ZodString>;
|
|
161
|
-
token: z.ZodOptional<z.ZodString>;
|
|
162
|
-
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
163
|
-
}, z.core.$strip>>>;
|
|
164
|
-
wsServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
165
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
166
|
-
host: z.ZodDefault<z.ZodString>;
|
|
167
|
-
port: z.ZodDefault<z.ZodNumber>;
|
|
168
|
-
token: z.ZodOptional<z.ZodString>;
|
|
169
|
-
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
170
|
-
}, z.core.$strip>>>;
|
|
171
|
-
wsReverseUrls: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
172
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
173
|
-
url: z.ZodOptional<z.ZodString>;
|
|
174
|
-
token: z.ZodOptional<z.ZodString>;
|
|
175
|
-
reconnectDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
176
|
-
maxReconnectAttempts: z.ZodOptional<z.ZodNumber>;
|
|
177
|
-
rejectUnauthorized: z.ZodDefault<z.ZodBoolean>;
|
|
178
|
-
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
179
|
-
}, z.core.$strip>>>;
|
|
180
|
-
}, z.core.$strip>;
|
|
181
|
-
/** OB11 配置类型(由 schema 推导)。 */
|
|
182
|
-
type OB11Config = z.infer<typeof ob11ConfigSchema>;
|
|
121
|
+
//#region src/onebot11/action/error-map.d.ts
|
|
122
|
+
/** OB11 错误码映射表(send_msg 等所有 OB11 动作共用)。 */
|
|
123
|
+
declare const ob11ErrorCodeMap: ErrorCodeMap;
|
|
183
124
|
//#endregion
|
|
184
|
-
//#region src/onebot11/
|
|
185
|
-
/**
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
*
|
|
191
|
-
* 转义规则(OneBot 11 规范):
|
|
192
|
-
* - 纯文本:& → &,[ → [,] → ]
|
|
193
|
-
* - 参数值:额外 , → ,
|
|
194
|
-
*/
|
|
195
|
-
/** CQ 码片段([CQ:type,key=value,...] 的结构化表示)。 */
|
|
196
|
-
interface CqCode {
|
|
197
|
-
type: string;
|
|
198
|
-
params: Record<string, string>;
|
|
125
|
+
//#region src/onebot11/action/group/get-group-at-all-remain.d.ts
|
|
126
|
+
/** @全体剩余次数返回结构。 */
|
|
127
|
+
interface AtAllRemainInfo {
|
|
128
|
+
can_at_all: boolean;
|
|
129
|
+
remain_at_all_count_for_uin: number;
|
|
130
|
+
remain_at_all_count_for_group: number;
|
|
199
131
|
}
|
|
200
|
-
/** 转义纯文本(& [ ];& 必须先转,避免二次转义)。 */
|
|
201
|
-
declare function escapeCqText(text: string): string;
|
|
202
|
-
/** 转义 CQ 码参数值(& [ ] ,)。 */
|
|
203
|
-
declare function escapeCqParam(value: string): string;
|
|
204
|
-
/** 反转义(, ] [ &;& 必须最后解,避免二次转义误伤)。 */
|
|
205
|
-
declare function unescapeCqText(text: string): string;
|
|
206
|
-
/** 编码单个 CQ 码(undefined 参数自动省略)。 */
|
|
207
|
-
declare function encodeCqCode(type: string, params: Record<string, string | number | undefined>): string;
|
|
208
|
-
/** 解析一条消息文本 → 文本片段与 CQ 码片段的混合数组(文本已反转义)。 */
|
|
209
|
-
declare function parseCqMessage(text: string): Array<string | CqCode>;
|
|
210
|
-
/** 将混合片段数组序列化回消息文本(parseCqMessage 的逆操作)。 */
|
|
211
|
-
declare function serializeCqParts(parts: Array<string | CqCode>): string;
|
|
212
132
|
//#endregion
|
|
213
133
|
//#region src/onebot11/types/index.d.ts
|
|
214
134
|
/**
|
|
@@ -405,18 +325,6 @@ interface VersionInfo {
|
|
|
405
325
|
walle_version?: string;
|
|
406
326
|
}
|
|
407
327
|
//#endregion
|
|
408
|
-
//#region src/onebot11/helper/data.d.ts
|
|
409
|
-
/** canonical 元素数组 → OB11 segment 数组(无法表达的元素静默跳过)。 */
|
|
410
|
-
declare function canonicalToSegments(elements: CanonicalElement[]): OB11MessageSegment[];
|
|
411
|
-
/** OB11 segment 数组 → canonical 元素数组。 */
|
|
412
|
-
declare function segmentsToCanonical(segments: OB11MessageSegment[]): CanonicalElement[];
|
|
413
|
-
/** CQ 码字符串 → OB11 segment 数组(未知 CQ 类型保留为 text 段原文)。 */
|
|
414
|
-
declare function cqMessageToSegments(text: string): OB11MessageSegment[];
|
|
415
|
-
/** canonical 元素数组 → CQ 码字符串。 */
|
|
416
|
-
declare function canonicalToCqMessage(elements: CanonicalElement[]): string;
|
|
417
|
-
/** CQ 码字符串 → canonical 元素数组。 */
|
|
418
|
-
declare function cqMessageToCanonical(text: string): CanonicalElement[];
|
|
419
|
-
//#endregion
|
|
420
328
|
//#region src/onebot11/event/base.d.ts
|
|
421
329
|
/**
|
|
422
330
|
* OneBot 11 事件基类(OB11 公开协议规范,自研描述)
|
|
@@ -686,10 +594,102 @@ type OB11RequestEvent = OB11FriendRequestEvent | OB11GroupRequestEvent;
|
|
|
686
594
|
/** OB11 事件联合(所有事件共用 time/self_id/post_type,按 post_type 收窄)。 */
|
|
687
595
|
type OB11Event = OB11MessageEvent | OB11NoticeEvent | OB11RequestEvent | OB11MetaEvent;
|
|
688
596
|
//#endregion
|
|
689
|
-
//#region src/onebot11/
|
|
597
|
+
//#region src/onebot11/action/index.d.ts
|
|
598
|
+
/** 动作注册表依赖(P2-16:动作只依赖一个聚合对象)。 */
|
|
599
|
+
interface Ob11ActionDeps {
|
|
600
|
+
/** OneBotApi 聚合(9 个 kernel apis + messageUnique + self/system)。 */
|
|
601
|
+
api: OneBotApi;
|
|
602
|
+
}
|
|
603
|
+
/** 构建 OB11 动作注册表(所有 OB11 动作在此注册,按组拆分控制行数)。 */
|
|
604
|
+
declare function createOb11ActionRegistry(deps: Ob11ActionDeps): ActionRegistry;
|
|
605
|
+
//#endregion
|
|
606
|
+
//#region src/onebot11/helper/codec/cqcode.d.ts
|
|
607
|
+
/**
|
|
608
|
+
* CQ 码编解码(OneBot 11 消息段序列化格式)
|
|
609
|
+
*
|
|
610
|
+
* 纯函数、无 OB11 类型依赖:本文件只处理「文本 ↔ CQ 码片段」的通用编解码,
|
|
611
|
+
* segment 级别的映射在 data.ts(OB11Constructor)。
|
|
612
|
+
*
|
|
613
|
+
* 转义规则(OneBot 11 规范):
|
|
614
|
+
* - 纯文本:& → &,[ → [,] → ]
|
|
615
|
+
* - 参数值:额外 , → ,
|
|
616
|
+
*/
|
|
617
|
+
/** CQ 码片段([CQ:type,key=value,...] 的结构化表示)。 */
|
|
618
|
+
interface CqCode {
|
|
619
|
+
type: string;
|
|
620
|
+
params: Record<string, string>;
|
|
621
|
+
}
|
|
622
|
+
/** 转义纯文本(& [ ];& 必须先转,避免二次转义)。 */
|
|
623
|
+
declare function escapeCqText(text: string): string;
|
|
624
|
+
/** 转义 CQ 码参数值(& [ ] ,)。 */
|
|
625
|
+
declare function escapeCqParam(value: string): string;
|
|
626
|
+
/** 反转义(, ] [ &;& 必须最后解,避免二次转义误伤)。 */
|
|
627
|
+
declare function unescapeCqText(text: string): string;
|
|
628
|
+
/** 编码单个 CQ 码(undefined 参数自动省略)。 */
|
|
629
|
+
declare function encodeCqCode(type: string, params: Record<string, string | number | undefined>): string;
|
|
630
|
+
/** 解析一条消息文本 → 文本片段与 CQ 码片段的混合数组(文本已反转义)。 */
|
|
631
|
+
declare function parseCqMessage(text: string): Array<string | CqCode>;
|
|
632
|
+
/** 将混合片段数组序列化回消息文本(parseCqMessage 的逆操作)。 */
|
|
633
|
+
declare function serializeCqParts(parts: Array<string | CqCode>): string;
|
|
634
|
+
//#endregion
|
|
635
|
+
//#region src/onebot11/helper/codec/segment.d.ts
|
|
690
636
|
/** OB11 segment 数组 → CQ 码字符串(text 段转义拼接,特殊段编码)。 */
|
|
691
637
|
declare function segmentsToCqMessage(segments: OB11MessageSegment[]): string;
|
|
692
638
|
//#endregion
|
|
639
|
+
//#region src/onebot11/helper/config.d.ts
|
|
640
|
+
/** OB11 配置 schema。 */
|
|
641
|
+
declare const ob11ConfigSchema: z.ZodObject<{
|
|
642
|
+
token: z.ZodOptional<z.ZodString>;
|
|
643
|
+
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
644
|
+
reportSelfMessage: z.ZodDefault<z.ZodBoolean>;
|
|
645
|
+
messagePostFormat: z.ZodDefault<z.ZodEnum<{
|
|
646
|
+
array: "array";
|
|
647
|
+
string: "string";
|
|
648
|
+
}>>;
|
|
649
|
+
httpServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
650
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
651
|
+
host: z.ZodDefault<z.ZodString>;
|
|
652
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
653
|
+
token: z.ZodOptional<z.ZodString>;
|
|
654
|
+
}, z.core.$strip>>>;
|
|
655
|
+
httpPostUrls: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
656
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
657
|
+
url: z.ZodOptional<z.ZodString>;
|
|
658
|
+
token: z.ZodOptional<z.ZodString>;
|
|
659
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
660
|
+
}, z.core.$strip>>>;
|
|
661
|
+
wsServers: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
662
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
663
|
+
host: z.ZodDefault<z.ZodString>;
|
|
664
|
+
port: z.ZodDefault<z.ZodNumber>;
|
|
665
|
+
token: z.ZodOptional<z.ZodString>;
|
|
666
|
+
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
667
|
+
}, z.core.$strip>>>;
|
|
668
|
+
wsReverseUrls: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
669
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
670
|
+
url: z.ZodOptional<z.ZodString>;
|
|
671
|
+
token: z.ZodOptional<z.ZodString>;
|
|
672
|
+
reconnectDelayMs: z.ZodDefault<z.ZodNumber>;
|
|
673
|
+
maxReconnectAttempts: z.ZodOptional<z.ZodNumber>;
|
|
674
|
+
rejectUnauthorized: z.ZodDefault<z.ZodBoolean>;
|
|
675
|
+
heartbeatInterval: z.ZodDefault<z.ZodNumber>;
|
|
676
|
+
}, z.core.$strip>>>;
|
|
677
|
+
}, z.core.$strip>;
|
|
678
|
+
/** OB11 配置类型(由 schema 推导)。 */
|
|
679
|
+
type OB11Config = z.infer<typeof ob11ConfigSchema>;
|
|
680
|
+
//#endregion
|
|
681
|
+
//#region src/onebot11/helper/data.d.ts
|
|
682
|
+
/** canonical 元素数组 → OB11 segment 数组(无法表达的元素静默跳过)。 */
|
|
683
|
+
declare function canonicalToSegments(elements: CanonicalElement[]): OB11MessageSegment[];
|
|
684
|
+
/** OB11 segment 数组 → canonical 元素数组。 */
|
|
685
|
+
declare function segmentsToCanonical(segments: OB11MessageSegment[]): CanonicalElement[];
|
|
686
|
+
/** CQ 码字符串 → OB11 segment 数组(未知 CQ 类型保留为 text 段原文)。 */
|
|
687
|
+
declare function cqMessageToSegments(text: string): OB11MessageSegment[];
|
|
688
|
+
/** canonical 元素数组 → CQ 码字符串。 */
|
|
689
|
+
declare function canonicalToCqMessage(elements: CanonicalElement[]): string;
|
|
690
|
+
/** CQ 码字符串 → canonical 元素数组。 */
|
|
691
|
+
declare function cqMessageToCanonical(text: string): CanonicalElement[];
|
|
692
|
+
//#endregion
|
|
693
693
|
//#region src/onebot11/adapter.d.ts
|
|
694
694
|
/** 适配器构造参数(api 相关字段继承 OneBotApiOptions,P2-16 聚合)。 */
|
|
695
695
|
interface OneBot11AdapterOptions extends OneBotApiOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/onebot11/
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/onebot11/helper/message-unique.ts","../../src/onebot11/api/one-bot-api.ts","../../src/onebot11/action/error-map.ts","../../src/onebot11/action/group/get-group-at-all-remain.ts","../../src/onebot11/types/index.ts","../../src/onebot11/event/base.ts","../../src/onebot11/event/message.ts","../../src/onebot11/event/meta.ts","../../src/onebot11/event/notice.ts","../../src/onebot11/event/request.ts","../../src/onebot11/event/index.ts","../../src/onebot11/action/index.ts","../../src/onebot11/helper/codec/cqcode.ts","../../src/onebot11/helper/codec/segment.ts","../../src/onebot11/helper/config.ts","../../src/onebot11/helper/data.ts","../../src/onebot11/adapter.ts","../../src/onebot11/transport.ts"],"mappings":";;;;;;cAkBa;;mBAEQ;;mBAEA;;mBAEA;;UAET;;mBAES;;;;;EAMjB,MAAM,eAAe,OAAO;;EAmB5B,SAAS;;EAKT,aAAa;;EAKb,QAAQ,gBAAgB;;EAKxB,QAAQ;;UAYA;;;;;UCvDK;;EAEb;;EAEA,mBAAmB;;EAEnB;;EAEA,aAAa;;EAEb,gBAAgB;;;UAIH;EACb,QAAQ;EACR,UAAU;EACV,gBAAgB;EAChB,WAAW;EACX,WAAW;EACX,cAAc;EACd,YAAY;EACZ,gBAAgB;EAChB,QAAQ;;EAER;IAAQ;IAAa;;;EAErB,QAAQ;;EAER,aAAa;;;;;;cAOJ;;WAEA,QAAQ;;WAER,UAAU;;WAEV,gBAAgB;;WAEhB,WAAW;;WAEX,WAAW;;WAEX,cAAc;;WAEd,YAAY;;WAEZ,gBAAgB;;WAEhB,QAAQ;;WAER,YAAY;;WAEZ,eAAe;;WAEf;IAAQ;IAAa;;;WAErB;;WAEA;;WAEA,mBAAmB;;WAEnB;;WAEA,aAAa;;WAEb,gBAAgB;EAEzB,YAAY,MAAM;;EAsBlB,SAAS,iBAAiB,QAAQ;;EAKlC,SAAS,iBAAiB,QAAQ;;;;;cCpHzB,kBAAkB;;;;UCMd;EACb;EACA;EACA;;;;;;;;;UCba,WAAW;EACxB;EACA;EACA,MAAM;EACN;EACA;;;KAIQ;EACJ;EAAc;IAAQ;;;EACtB;EAAY;IAAQ;IAAY;;;EAChC;EAAc;IAAQ;;;EACtB;EAAe;IAAQ;IAAc;;;EACrC;EAAgB;IAAQ;IAAc;;;EACtC;EAAe;IAAQ;IAAc;;;EACrC;EAAe;IAAQ;;;EACvB;EAAiB;IAAQ;;;EACzB;EAAc;IAAQ;;;EACtB;EAAa;IAAQ;;;EACrB;EAAgB;IAAQ;;;;KAGpB,uBAAuB;;UAGlB;EACb;EACA;EACA;EACA;;;UAIa;EACb;EACA;EACA;EACA;;;UAIa;EACb;EACA;;;UAIa;EACb;EACA;EACA;EACA;IACI;IACA;IACA;IACA;;EAEJ;EACA,SAAS;EACT;EACA;EACA;;;KAIQ;;UAGK;EACb;EACA;EACA;EACA;EACA,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;;;UAIa;EACb;EACA;EACA;;;UAIa;EACb;EACA;EACA,MAAM;EACN;;EAEA;EACA;EACA;EACA;;;UAIa;EACb;EACA;EACA;EACA;EACA;;;UAIa;EACb;EACA;EACA;;;UAIa;EACb;EACA,oBAAoB;EACpB,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,oBAAoB;EACpB,cAAc;;;UAID;EACb;EACA;EACA;;EAEA;EACA;EACA;EACA,eAAe;EACf,gBAAgB;EAChB;;;;;;;;;;;;KCrJQ;;UAGK;;EAEb;;EAEA;;EAEA,WAAW;;;;;UCPE;EACb;EACA;EACA;;;UAIa,oBAAoB;EACjC;EACA;;;UAIa,8BAA8B;EAC3C;EACA;;EAEA;EACA;EACA;EACA;EACA,SAAS;EACT;EACA;EACA,QAAQ;EACR,YAAY;;;UAIC,gCAAgC;EAC7C;EACA;;EAEA;EACA;EACA;EACA,SAAS;EACT;EACA;EACA,QAAQ;;EAER;;;KAIQ,mBAAmB,wBAAwB;;;;UC9CtC;EACb;EACA;GACC;;;UAIY,+BAA+B;EAC5C;EACA;EACA;;;UAIa,+BAA+B;EAC5C;EACA;;EAEA;EACA,QAAQ;;;KAIA,gBAAgB,yBAAyB;;;;UCvBpC;EACb;EACA;EACA;EACA;;;UAIa;EACb;EACA;EACA;;;UAIa;EACb;EACA;EACA;;;UAIa,mCAAmC;EAChD;EACA;EACA;EACA;EACA,MAAM;;;UAIO,kCAAkC;EAC/C;EACA;EACA;EACA;EACA;;;UAIa,qCAAqC;EAClD;EACA;EACA;EACA;EACA;EACA;;;UAIa,qCAAqC;EAClD;EACA;EACA;EACA;EACA;EACA;;;UAIa,gCAAgC;EAC7C;EACA;EACA;EACA;EACA;EACA;;EAEA;;;UAIa,iCAAiC;EAC9C;EACA;EACA;;;UAIa,mCAAmC;EAChD;EACA;EACA;EACA;EACA;EACA;;;UAIa,oCAAoC;EACjD;EACA;EACA;EACA;;;UAIa,iCAAiC;EAC9C;EACA;EACA;EACA;EACA;EACA;;;UAIa,oCAAoC;EACjD;EACA;EACA;EACA;EACA;EACA;EACA;;;UAIa,8BAA8B;EAC3C;EACA;EACA;EACA;EACA;EACA;;EAEA;;;UAIa,mCAAmC;EAChD;EACA;EACA;EACA,MAAM;;;UAIO,iCAAiC;EAC9C;EACA;EACA;EACA;;;UAIa,oCAAoC;EACjD;EACA;EACA;EACA;EACA;EACA,OAAO;;;UAIM,kCAAkC;EAC/C;EACA;EACA;EACA;EACA;;;KAIQ,kBACN,6BACA,4BACA,+BACA,+BACA,0BACA,2BACA,6BACA,8BACA,2BACA,8BACA,wBACA,6BACA,2BACA,8BACA;;;;UCpLW,+BAA+B;EAC5C;EACA;EACA;;EAEA;;EAEA;;;UAIa,8BAA8B;EAC3C;EACA;;EAEA;EACA;EACA;EACA;EACA;;;KAIQ,mBAAmB,yBAAyB;;;;KCiB5C,YAAY,mBAAoB,kBAAmB,mBAAoB;;;;UCyDlE;;EAEb,KAAK;;;iBAIO,yBAAyB,MAAM,iBAAiB;;;;;;;;;;;;;;UC9E/C;EACb;EACA,QAAQ;;;iBAII,aAAa;;iBAKb,cAAc;;iBAKd,eAAe;;iBASf,aACZ,cACA,QAAQ;;iBAeI,eAAe,eAAe,eAAe;;iBAkB7C,iBAAiB,OAAO,eAAe;;;;iBC4GvC,oBAAoB,UAAU;;;;cC9IjC,kBAAgB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiB3B,EAAA,KAAA;;KAGU,aAAa,EAAE,aAAa;;;;iBCzDxB,oBAAoB,UAAU,qBAAqB;;iBAYnD,oBAAoB,UAAU,uBAAuB;;iBAuHrD,oBAAoB,eAAe;;iBAkBnC,qBAAqB,UAAU;;iBAK/B,qBAAqB,eAAe;;;;UC5InC,+BAA+B;;EAE5C,QAAQ,eAAe;;EAEvB,aAAa;;EAEb,YAAY;;;cAIH,iCAAiC,oBAAoB;WACrD;WACA,4BAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAoB;mBAExB;mBACA;mBACA;mBACA;UACT;UACA;UACA;UACA;UACA;EAER,YAAY,MAAM;;UAoBJ;;UAsCN;;UAiBM;;UAaN;;;;;;UA4BM;;UA2BA;;UAaN;;;;;EASF,cAAc,cAAc,UAAU,wBAAwB;;;;;UCvKvD;;EAEb,SAAS;;EAET,YAAY;;EAEZ,aAAa;;;UAIA;;EAEb,QAAQ;;EAER,aAAa;;EAEb,gBAAgB,cAAc,UAAU;;EAExC;;;iBAiBY,uBAAuB,MAAM,gCAAgC"}
|
package/dist/onebot11/index.mjs
CHANGED
|
@@ -614,21 +614,28 @@ var GetGroupInfoAction = class extends BaseAction {
|
|
|
614
614
|
};
|
|
615
615
|
//#endregion
|
|
616
616
|
//#region src/onebot11/action/group/get-group-list.ts
|
|
617
|
+
/**
|
|
618
|
+
* get_group_list 动作:获取群列表(P2-4 接 kernel GroupApi + GroupCache)
|
|
619
|
+
*
|
|
620
|
+
* ⚠️ 实测校准(2026-08-08 端到端联调):原生 getGroupList 返回值无数据
|
|
621
|
+
* (仅 { result, errMsg }),列表经 onGroupListUpdate 事件推送 → GroupCache
|
|
622
|
+
* 维护——列表一律从缓存读,no_cache=true 仅触发原生刷新。
|
|
623
|
+
*/
|
|
617
624
|
const getGroupListSchema = z.object({
|
|
618
625
|
/** 是否忽略缓存(go-cqhttp 扩展)。 */
|
|
619
626
|
no_cache: z.boolean().optional() });
|
|
620
|
-
/** 获取群列表(P2-4 接 kernel apis/group
|
|
627
|
+
/** 获取群列表(P2-4 接 kernel apis/group;群列表数据经事件推送,从 GroupCache 读)。 */
|
|
621
628
|
var GetGroupListAction = class extends BaseAction {
|
|
622
629
|
name = "get_group_list";
|
|
623
630
|
schema = getGroupListSchema;
|
|
624
631
|
errorCodeMap = ob11ErrorCodeMap;
|
|
625
|
-
|
|
626
|
-
constructor(
|
|
632
|
+
deps;
|
|
633
|
+
constructor(deps) {
|
|
627
634
|
super();
|
|
628
|
-
this.
|
|
635
|
+
this.deps = deps;
|
|
629
636
|
}
|
|
630
637
|
async _handle(payload) {
|
|
631
|
-
return (await this.groupApi.getGroupList(payload.no_cache === true)).map(toOb11GroupInfo);
|
|
638
|
+
return (this.deps.groupCache === void 0 ? await this.deps.groupApi.getGroupList(true) : payload.no_cache === true ? await this.deps.groupCache.listGroupsRefreshed() : this.deps.groupCache.listGroups()).map(toOb11GroupInfo);
|
|
632
639
|
}
|
|
633
640
|
};
|
|
634
641
|
//#endregion
|
|
@@ -1396,78 +1403,7 @@ var ForwardFriendSingleMsgAction = class extends ForwardSingleMsgBase {
|
|
|
1396
1403
|
schema = forwardSingleMsgSchema;
|
|
1397
1404
|
};
|
|
1398
1405
|
//#endregion
|
|
1399
|
-
//#region src/onebot11/helper/
|
|
1400
|
-
/**
|
|
1401
|
-
* OneBot 11 协议配置(zod schema,归属本包,ADR-012)
|
|
1402
|
-
* 协议配置 schema 在各自协议包,kernel 只提供 ConfigBase 基类。
|
|
1403
|
-
*
|
|
1404
|
-
* 2026-08-07 多实例化(P2-18):对齐 NapCat——httpServers / httpPostUrls / wsServers /
|
|
1405
|
-
* wsReverseUrls 四个数组实例(每实例可覆盖全局 token);旧单对象字段 http/httpPost/ws/
|
|
1406
|
-
* wsReverse 废弃(zod strip 静默忽略,不兼容迁移)。
|
|
1407
|
-
*/
|
|
1408
|
-
/** HTTP 反向服务器默认端口。 */
|
|
1409
|
-
const DEFAULT_HTTP_PORT = 3e3;
|
|
1410
|
-
/** 反向 WS server 默认端口。 */
|
|
1411
|
-
const DEFAULT_WS_PORT = 3001;
|
|
1412
|
-
/** 心跳 meta 事件默认间隔(毫秒)。 */
|
|
1413
|
-
const DEFAULT_HEARTBEAT_INTERVAL_MS = 3e3;
|
|
1414
|
-
/** WS 传输 ping 默认间隔(毫秒)。 */
|
|
1415
|
-
const DEFAULT_WS_HEARTBEAT_MS = 3e4;
|
|
1416
|
-
/** WS 反向断线重连默认延迟(毫秒)。 */
|
|
1417
|
-
const DEFAULT_RECONNECT_DELAY_MS = 5e3;
|
|
1418
|
-
/** 消息内容格式(NapCat messagePostFormat)。 */
|
|
1419
|
-
const MESSAGE_FORMATS = ["array", "string"];
|
|
1420
|
-
/** HTTP 反向服务器实例(第三方 POST 指令入口)。 */
|
|
1421
|
-
const httpServerSchema = createHttpServerSchema(DEFAULT_HTTP_PORT);
|
|
1422
|
-
/** HTTP 正向上报实例(Webhook 事件推送)。 */
|
|
1423
|
-
const httpPostSchema = z.object({
|
|
1424
|
-
enabled: z.boolean().default(false),
|
|
1425
|
-
url: z.string().optional(),
|
|
1426
|
-
/** 实例级 token,覆盖全局 token(缺省继承全局)。 */
|
|
1427
|
-
token: z.string().optional(),
|
|
1428
|
-
/** 上报超时(毫秒),缺省不超时。 */
|
|
1429
|
-
timeoutMs: z.number().int().optional()
|
|
1430
|
-
});
|
|
1431
|
-
/** 反向 WS server 实例(第三方 WS 连入,带 WS ping 间隔扩展字段)。 */
|
|
1432
|
-
const wsServerSchema = createWsServerSchema(DEFAULT_WS_PORT).extend({
|
|
1433
|
-
/** WS ping 间隔(毫秒)。 */
|
|
1434
|
-
heartbeatInterval: z.number().int().default(DEFAULT_WS_HEARTBEAT_MS) });
|
|
1435
|
-
/** 正向 WS client 实例(主动连接第三方,双向)。 */
|
|
1436
|
-
const wsReverseSchema = z.object({
|
|
1437
|
-
enabled: z.boolean().default(false),
|
|
1438
|
-
url: z.string().optional(),
|
|
1439
|
-
/** 实例级 token,覆盖全局 token(缺省继承全局)。 */
|
|
1440
|
-
token: z.string().optional(),
|
|
1441
|
-
/** 断线重连延迟(毫秒)。 */
|
|
1442
|
-
reconnectDelayMs: z.number().int().default(DEFAULT_RECONNECT_DELAY_MS),
|
|
1443
|
-
/** 最大重连次数(缺省无限)。 */
|
|
1444
|
-
maxReconnectAttempts: z.number().int().optional(),
|
|
1445
|
-
/** wss:// 是否校验证书(自签证书场景设 false,对齐 NapCat enableSelfSigned)。 */
|
|
1446
|
-
rejectUnauthorized: z.boolean().default(true),
|
|
1447
|
-
/** WS ping 间隔(毫秒)。 */
|
|
1448
|
-
heartbeatInterval: z.number().int().default(DEFAULT_WS_HEARTBEAT_MS)
|
|
1449
|
-
});
|
|
1450
|
-
/** OB11 配置 schema。 */
|
|
1451
|
-
const ob11ConfigSchema = z.object({
|
|
1452
|
-
/** 鉴权 token(全局默认,实例未指定时继承)。 */
|
|
1453
|
-
token: z.string().optional(),
|
|
1454
|
-
/** 心跳 meta 事件间隔(毫秒),0 关闭心跳。 */
|
|
1455
|
-
heartbeatInterval: z.number().int().default(DEFAULT_HEARTBEAT_INTERVAL_MS),
|
|
1456
|
-
/** 是否上报机器人自己发的消息(缺省 false = OB11 规范行为)。 */
|
|
1457
|
-
reportSelfMessage: z.boolean().default(false),
|
|
1458
|
-
/** 消息内容格式:array = 消息段数组(标准),string = CQ 码字符串。 */
|
|
1459
|
-
messagePostFormat: z.enum(MESSAGE_FORMATS).default("array"),
|
|
1460
|
-
/** HTTP 反向服务器列表。 */
|
|
1461
|
-
httpServers: z.array(httpServerSchema).default([]),
|
|
1462
|
-
/** HTTP 正向上报列表。 */
|
|
1463
|
-
httpPostUrls: z.array(httpPostSchema).default([]),
|
|
1464
|
-
/** 反向 WS server 列表。 */
|
|
1465
|
-
wsServers: z.array(wsServerSchema).default([]),
|
|
1466
|
-
/** 正向 WS client 列表。 */
|
|
1467
|
-
wsReverseUrls: z.array(wsReverseSchema).default([])
|
|
1468
|
-
});
|
|
1469
|
-
//#endregion
|
|
1470
|
-
//#region src/onebot11/helper/cqcode.ts
|
|
1406
|
+
//#region src/onebot11/helper/codec/cqcode.ts
|
|
1471
1407
|
/**
|
|
1472
1408
|
* CQ 码编解码(OneBot 11 消息段序列化格式)
|
|
1473
1409
|
*
|
|
@@ -1536,7 +1472,7 @@ function serializeCqParts(parts) {
|
|
|
1536
1472
|
return out;
|
|
1537
1473
|
}
|
|
1538
1474
|
//#endregion
|
|
1539
|
-
//#region src/onebot11/helper/segment.ts
|
|
1475
|
+
//#region src/onebot11/helper/codec/segment.ts
|
|
1540
1476
|
/** OB11 媒体段 data(image/record/video 共用,url 可选)。 */
|
|
1541
1477
|
function mediaData(file, url) {
|
|
1542
1478
|
const data = { file };
|
|
@@ -1572,80 +1508,95 @@ function rawToString(raw) {
|
|
|
1572
1508
|
if (typeof raw === "string") return raw;
|
|
1573
1509
|
return JSON.stringify(raw);
|
|
1574
1510
|
}
|
|
1575
|
-
/** canonical 元素 → OB11 segment
|
|
1576
|
-
|
|
1577
|
-
|
|
1511
|
+
/** canonical 元素 → OB11 segment 转换器(键 = canonical type,判别字段收窄)。 */
|
|
1512
|
+
const CANONICAL_TO_SEGMENT = {
|
|
1513
|
+
text: (el) => ({
|
|
1578
1514
|
type: "text",
|
|
1579
1515
|
data: { text: el.text }
|
|
1580
|
-
}
|
|
1581
|
-
|
|
1516
|
+
}),
|
|
1517
|
+
at: (el) => ({
|
|
1582
1518
|
type: "at",
|
|
1583
1519
|
data: atData(el.target, el.display)
|
|
1584
|
-
}
|
|
1585
|
-
|
|
1520
|
+
}),
|
|
1521
|
+
image: (el) => ({
|
|
1586
1522
|
type: "image",
|
|
1587
1523
|
data: mediaData(el.path, el.url)
|
|
1588
|
-
}
|
|
1589
|
-
|
|
1524
|
+
}),
|
|
1525
|
+
face: (el) => ({
|
|
1590
1526
|
type: "face",
|
|
1591
1527
|
data: { id: el.id }
|
|
1592
|
-
}
|
|
1593
|
-
|
|
1528
|
+
}),
|
|
1529
|
+
voice: (el) => ({
|
|
1594
1530
|
type: "record",
|
|
1595
1531
|
data: mediaData(el.path, el.url)
|
|
1596
|
-
}
|
|
1597
|
-
|
|
1532
|
+
}),
|
|
1533
|
+
video: (el) => ({
|
|
1598
1534
|
type: "video",
|
|
1599
1535
|
data: mediaData(el.path, el.url)
|
|
1600
|
-
}
|
|
1601
|
-
|
|
1536
|
+
}),
|
|
1537
|
+
reply: (el) => ({
|
|
1602
1538
|
type: "reply",
|
|
1603
1539
|
data: { id: el.messageId }
|
|
1604
|
-
}
|
|
1605
|
-
|
|
1540
|
+
}),
|
|
1541
|
+
forward: (el) => ({
|
|
1606
1542
|
type: "forward",
|
|
1607
1543
|
data: { id: el.messageIds[0] ?? "" }
|
|
1608
|
-
}
|
|
1609
|
-
|
|
1544
|
+
}),
|
|
1545
|
+
json: (el) => ({
|
|
1610
1546
|
type: "json",
|
|
1611
1547
|
data: { data: rawToString(el.raw) }
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1548
|
+
}),
|
|
1549
|
+
xml: (el) => ({
|
|
1614
1550
|
type: "xml",
|
|
1615
1551
|
data: { data: rawToString(el.raw) }
|
|
1616
|
-
}
|
|
1617
|
-
|
|
1552
|
+
})
|
|
1553
|
+
};
|
|
1554
|
+
/** canonical 元素 → OB11 segment(null = OB11 无法表达,跳过)。 */
|
|
1555
|
+
function canonicalToSegment(el) {
|
|
1556
|
+
const builder = CANONICAL_TO_SEGMENT[el.type];
|
|
1557
|
+
return builder === void 0 ? null : builder(el);
|
|
1618
1558
|
}
|
|
1619
|
-
/** OB11 segment → canonical
|
|
1620
|
-
|
|
1621
|
-
|
|
1559
|
+
/** OB11 segment → canonical 元素转换器(键 = segment type)。 */
|
|
1560
|
+
const SEGMENT_TO_CANONICAL = {
|
|
1561
|
+
text: (seg) => ({
|
|
1622
1562
|
type: "text",
|
|
1623
1563
|
text: seg.data.text
|
|
1624
|
-
}
|
|
1625
|
-
|
|
1626
|
-
|
|
1564
|
+
}),
|
|
1565
|
+
string: (seg) => ({
|
|
1566
|
+
type: "text",
|
|
1567
|
+
text: seg.data.text
|
|
1568
|
+
}),
|
|
1569
|
+
at: (seg) => canonicalAt(seg.data.qq, seg.data.name),
|
|
1570
|
+
face: (seg) => ({
|
|
1627
1571
|
type: "face",
|
|
1628
1572
|
id: seg.data.id
|
|
1629
|
-
}
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1573
|
+
}),
|
|
1574
|
+
image: (seg) => canonicalMedia("image", seg.data.file, seg.data.url),
|
|
1575
|
+
record: (seg) => canonicalMedia("voice", seg.data.file, seg.data.url),
|
|
1576
|
+
video: (seg) => canonicalMedia("video", seg.data.file, seg.data.url),
|
|
1577
|
+
reply: (seg) => ({
|
|
1634
1578
|
type: "reply",
|
|
1635
1579
|
messageId: seg.data.id
|
|
1636
|
-
}
|
|
1637
|
-
|
|
1580
|
+
}),
|
|
1581
|
+
forward: (seg) => ({
|
|
1638
1582
|
type: "forward",
|
|
1639
1583
|
messageIds: [seg.data.id]
|
|
1640
|
-
}
|
|
1641
|
-
|
|
1584
|
+
}),
|
|
1585
|
+
json: (seg) => ({
|
|
1642
1586
|
type: "json",
|
|
1643
1587
|
raw: seg.data.data
|
|
1644
|
-
}
|
|
1645
|
-
|
|
1588
|
+
}),
|
|
1589
|
+
xml: (seg) => ({
|
|
1646
1590
|
type: "xml",
|
|
1647
1591
|
raw: seg.data.data
|
|
1648
|
-
}
|
|
1592
|
+
})
|
|
1593
|
+
};
|
|
1594
|
+
/** OB11 segment → canonical 元素(未知 type 兜底按 xml 处理,保持既有行为)。 */
|
|
1595
|
+
function segmentToCanonical(seg) {
|
|
1596
|
+
const builder = SEGMENT_TO_CANONICAL[seg.type];
|
|
1597
|
+
if (builder !== void 0) return builder(seg);
|
|
1598
|
+
const xmlBuilder = SEGMENT_TO_CANONICAL["xml"];
|
|
1599
|
+
return xmlBuilder === void 0 ? null : xmlBuilder(seg);
|
|
1649
1600
|
}
|
|
1650
1601
|
/** 已知 CQ 类型 → segment 构造器。 */
|
|
1651
1602
|
const CQ_SEGMENT_BUILDERS = {
|
|
@@ -1707,6 +1658,77 @@ function segmentsToCqMessage(segments) {
|
|
|
1707
1658
|
return out;
|
|
1708
1659
|
}
|
|
1709
1660
|
//#endregion
|
|
1661
|
+
//#region src/onebot11/helper/config.ts
|
|
1662
|
+
/**
|
|
1663
|
+
* OneBot 11 协议配置(zod schema,归属本包,ADR-012)
|
|
1664
|
+
* 协议配置 schema 在各自协议包,kernel 只提供 ConfigBase 基类。
|
|
1665
|
+
*
|
|
1666
|
+
* 2026-08-07 多实例化(P2-18):对齐 NapCat——httpServers / httpPostUrls / wsServers /
|
|
1667
|
+
* wsReverseUrls 四个数组实例(每实例可覆盖全局 token);旧单对象字段 http/httpPost/ws/
|
|
1668
|
+
* wsReverse 废弃(zod strip 静默忽略,不兼容迁移)。
|
|
1669
|
+
*/
|
|
1670
|
+
/** HTTP 反向服务器默认端口。 */
|
|
1671
|
+
const DEFAULT_HTTP_PORT = 3e3;
|
|
1672
|
+
/** 反向 WS server 默认端口。 */
|
|
1673
|
+
const DEFAULT_WS_PORT = 3001;
|
|
1674
|
+
/** 心跳 meta 事件默认间隔(毫秒)。 */
|
|
1675
|
+
const DEFAULT_HEARTBEAT_INTERVAL_MS = 3e3;
|
|
1676
|
+
/** WS 传输 ping 默认间隔(毫秒)。 */
|
|
1677
|
+
const DEFAULT_WS_HEARTBEAT_MS = 3e4;
|
|
1678
|
+
/** WS 反向断线重连默认延迟(毫秒)。 */
|
|
1679
|
+
const DEFAULT_RECONNECT_DELAY_MS = 5e3;
|
|
1680
|
+
/** 消息内容格式(NapCat messagePostFormat)。 */
|
|
1681
|
+
const MESSAGE_FORMATS = ["array", "string"];
|
|
1682
|
+
/** HTTP 反向服务器实例(第三方 POST 指令入口)。 */
|
|
1683
|
+
const httpServerSchema = createHttpServerSchema(DEFAULT_HTTP_PORT);
|
|
1684
|
+
/** HTTP 正向上报实例(Webhook 事件推送)。 */
|
|
1685
|
+
const httpPostSchema = z.object({
|
|
1686
|
+
enabled: z.boolean().default(false),
|
|
1687
|
+
url: z.string().optional(),
|
|
1688
|
+
/** 实例级 token,覆盖全局 token(缺省继承全局)。 */
|
|
1689
|
+
token: z.string().optional(),
|
|
1690
|
+
/** 上报超时(毫秒),缺省不超时。 */
|
|
1691
|
+
timeoutMs: z.number().int().optional()
|
|
1692
|
+
});
|
|
1693
|
+
/** 反向 WS server 实例(第三方 WS 连入,带 WS ping 间隔扩展字段)。 */
|
|
1694
|
+
const wsServerSchema = createWsServerSchema(DEFAULT_WS_PORT).extend({
|
|
1695
|
+
/** WS ping 间隔(毫秒)。 */
|
|
1696
|
+
heartbeatInterval: z.number().int().default(DEFAULT_WS_HEARTBEAT_MS) });
|
|
1697
|
+
/** 正向 WS client 实例(主动连接第三方,双向)。 */
|
|
1698
|
+
const wsReverseSchema = z.object({
|
|
1699
|
+
enabled: z.boolean().default(false),
|
|
1700
|
+
url: z.string().optional(),
|
|
1701
|
+
/** 实例级 token,覆盖全局 token(缺省继承全局)。 */
|
|
1702
|
+
token: z.string().optional(),
|
|
1703
|
+
/** 断线重连延迟(毫秒)。 */
|
|
1704
|
+
reconnectDelayMs: z.number().int().default(DEFAULT_RECONNECT_DELAY_MS),
|
|
1705
|
+
/** 最大重连次数(缺省无限)。 */
|
|
1706
|
+
maxReconnectAttempts: z.number().int().optional(),
|
|
1707
|
+
/** wss:// 是否校验证书(自签证书场景设 false,对齐 NapCat enableSelfSigned)。 */
|
|
1708
|
+
rejectUnauthorized: z.boolean().default(true),
|
|
1709
|
+
/** WS ping 间隔(毫秒)。 */
|
|
1710
|
+
heartbeatInterval: z.number().int().default(DEFAULT_WS_HEARTBEAT_MS)
|
|
1711
|
+
});
|
|
1712
|
+
/** OB11 配置 schema。 */
|
|
1713
|
+
const ob11ConfigSchema = z.object({
|
|
1714
|
+
/** 鉴权 token(全局默认,实例未指定时继承)。 */
|
|
1715
|
+
token: z.string().optional(),
|
|
1716
|
+
/** 心跳 meta 事件间隔(毫秒),0 关闭心跳。 */
|
|
1717
|
+
heartbeatInterval: z.number().int().default(DEFAULT_HEARTBEAT_INTERVAL_MS),
|
|
1718
|
+
/** 是否上报机器人自己发的消息(缺省 false = OB11 规范行为)。 */
|
|
1719
|
+
reportSelfMessage: z.boolean().default(false),
|
|
1720
|
+
/** 消息内容格式:array = 消息段数组(标准),string = CQ 码字符串。 */
|
|
1721
|
+
messagePostFormat: z.enum(MESSAGE_FORMATS).default("array"),
|
|
1722
|
+
/** HTTP 反向服务器列表。 */
|
|
1723
|
+
httpServers: z.array(httpServerSchema).default([]),
|
|
1724
|
+
/** HTTP 正向上报列表。 */
|
|
1725
|
+
httpPostUrls: z.array(httpPostSchema).default([]),
|
|
1726
|
+
/** 反向 WS server 列表。 */
|
|
1727
|
+
wsServers: z.array(wsServerSchema).default([]),
|
|
1728
|
+
/** 正向 WS client 列表。 */
|
|
1729
|
+
wsReverseUrls: z.array(wsReverseSchema).default([])
|
|
1730
|
+
});
|
|
1731
|
+
//#endregion
|
|
1710
1732
|
//#region src/onebot11/helper/data.ts
|
|
1711
1733
|
/** canonical 元素数组 → OB11 segment 数组(无法表达的元素静默跳过)。 */
|
|
1712
1734
|
function canonicalToSegments(elements) {
|
|
@@ -3080,6 +3102,9 @@ var TranslateEn2ZhAction = class extends BaseAction {
|
|
|
3080
3102
|
* OneBot 11 动作注册表(ADR-013 延伸)
|
|
3081
3103
|
* 各协议维护自己的 ActionRegistry,由协议 adapter 挂到请求分发。
|
|
3082
3104
|
* P2-16:deps 收敛为 { api: OneBotApi } 单聚合对象(基础设施第一项)。
|
|
3105
|
+
*
|
|
3106
|
+
* 同时是 action 域 barrel:re-export 全部动作类 + error-map + resolve-uid,
|
|
3107
|
+
* 协议外部只从本入口消费动作面。
|
|
3083
3108
|
*/
|
|
3084
3109
|
/** 构建 OB11 动作注册表(所有 OB11 动作在此注册,按组拆分控制行数)。 */
|
|
3085
3110
|
function createOb11ActionRegistry(deps) {
|
|
@@ -3170,7 +3195,7 @@ function registerMsgActions(registry, deps) {
|
|
|
3170
3195
|
function registerQueryActions(registry, deps) {
|
|
3171
3196
|
registry.register(new GetLoginInfoAction(deps.api.self));
|
|
3172
3197
|
registry.register(new GetGroupInfoAction(deps.api));
|
|
3173
|
-
registry.register(new GetGroupListAction(deps.api
|
|
3198
|
+
registry.register(new GetGroupListAction(deps.api));
|
|
3174
3199
|
registry.register(new GetGroupMemberInfoAction(deps.api));
|
|
3175
3200
|
registry.register(new GetGroupMemberListAction(deps.api));
|
|
3176
3201
|
registry.register(new GetFriendListAction(deps.api.friendApi));
|