@napuketto/adapter 0.4.2 → 0.6.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.
@@ -25,25 +25,6 @@ function createWsServerSchema(defaultPort) {
25
25
  return createServerSchema(defaultPort);
26
26
  }
27
27
  //#endregion
28
- //#region src/core/gray-tip.ts
29
- /** 非空 uid 才加入集合。 */
30
- function collectUids(uids, ...candidates) {
31
- for (const uid of candidates) if (uid !== void 0 && uid !== "") uids.add(uid);
32
- }
33
- /** 收集 grayTip 涉及的 uid(批量 uidToUin 用)。 */
34
- function collectGrayTipUids(msg) {
35
- const uids = /* @__PURE__ */ new Set();
36
- for (const el of msg.elements) {
37
- const g = el.grayTipElement;
38
- if (g === void 0) continue;
39
- collectUids(uids, g.revokeElement?.operatorUid, g.aioOpGrayTipElement?.peerUid);
40
- const grp = g.groupElement;
41
- if (grp === void 0) continue;
42
- collectUids(uids, grp.memberUid, grp.adminUid, grp.shutUp?.admin?.uid, grp.shutUp?.member?.uid);
43
- }
44
- return [...uids];
45
- }
46
- //#endregion
47
- export { createHttpServerSchema as n, createWsServerSchema as r, collectGrayTipUids as t };
28
+ export { createWsServerSchema as n, createHttpServerSchema as t };
48
29
 
49
- //# sourceMappingURL=gray-tip-B80z9KR4.mjs.map
30
+ //# sourceMappingURL=transport-schema-CpPxyRK0.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-schema-CpPxyRK0.mjs","names":[],"sources":["../src/core/transport-schema.ts"],"sourcesContent":["/**\n * 协议传输实例 schema(OB11 / Satori 共用,2026-08-08 克隆合并)\n *\n * HTTP 反向服务器 / WS 事件服务器的实例级 schema 结构两协议一致,\n * 仅默认端口与扩展字段不同——提取工厂函数,各协议按需调用。\n */\nimport { z } from \"zod\";\n\n/** 传输实例基础 schema(enabled/host/port/token 骨架,HTTP 与 WS 共用)。 */\nfunction createServerSchema(defaultPort: number) {\n return z.object({\n enabled: z.boolean().default(false),\n host: z.string().default(\"127.0.0.1\"),\n port: z.number().int().default(defaultPort),\n /** 实例级 token,覆盖全局 token(缺省继承全局)。 */\n token: z.string().optional(),\n });\n}\n\n/** HTTP 反向服务器实例 schema(第三方指令入口 / HTTP RPC,OB11 / Satori 共用)。 */\nexport function createHttpServerSchema(defaultPort: number) {\n return createServerSchema(defaultPort);\n}\n\n/** WS 事件服务器实例 schema(反向 WS server,OB11 / Satori 共用)。 */\nexport function createWsServerSchema(defaultPort: number) {\n return createServerSchema(defaultPort);\n}\n"],"mappings":";;;;;;;;;AASA,SAAS,mBAAmB,aAAqB;CAC7C,OAAO,EAAE,OAAO;EACZ,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK;EAClC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,WAAW;EACpC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,WAAW;;EAE1C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,CAAC;AACL;;AAGA,SAAgB,uBAAuB,aAAqB;CACxD,OAAO,mBAAmB,WAAW;AACzC;;AAGA,SAAgB,qBAAqB,aAAqB;CACtD,OAAO,mBAAmB,WAAW;AACzC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@napuketto/adapter",
3
- "version": "0.4.2",
4
- "description": "Protocol adapters (OneBot11 / Satori) for NapukettoQQ",
3
+ "version": "0.6.0",
4
+ "description": "Protocol adapters (OneBot11 / Satori / KuroBot / Milky) for NapukettoQQ",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist"
@@ -30,6 +30,10 @@
30
30
  "./kurobot": {
31
31
  "types": "./dist/kurobot/index.d.mts",
32
32
  "import": "./dist/kurobot/index.mjs"
33
+ },
34
+ "./milky": {
35
+ "types": "./dist/milky/index.d.mts",
36
+ "import": "./dist/milky/index.mjs"
33
37
  }
34
38
  },
35
39
  "tsdown": {
@@ -38,7 +42,8 @@
38
42
  "src/core/index.ts",
39
43
  "src/onebot11/index.ts",
40
44
  "src/satori/index.ts",
41
- "src/kurobot/index.ts"
45
+ "src/kurobot/index.ts",
46
+ "src/milky/index.ts"
42
47
  ]
43
48
  },
44
49
  "scripts": {
@@ -58,7 +63,7 @@
58
63
  "dependencies": {
59
64
  "@napuketto/kernel": "^0.5.0",
60
65
  "@napuketto/media": "^0.0.7",
61
- "@napuketto/network": "^0.0.3",
66
+ "@napuketto/network": "^0.1.0",
62
67
  "ws": "^8.21.1",
63
68
  "zod": "^4.4.3"
64
69
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"gray-tip-B80z9KR4.mjs","names":[],"sources":["../src/core/transport-schema.ts","../src/core/gray-tip.ts"],"sourcesContent":["/**\n * 协议传输实例 schema(OB11 / Satori 共用,2026-08-08 克隆合并)\n *\n * HTTP 反向服务器 / WS 事件服务器的实例级 schema 结构两协议一致,\n * 仅默认端口与扩展字段不同——提取工厂函数,各协议按需调用。\n */\nimport { z } from \"zod\";\n\n/** 传输实例基础 schema(enabled/host/port/token 骨架,HTTP 与 WS 共用)。 */\nfunction createServerSchema(defaultPort: number) {\n return z.object({\n enabled: z.boolean().default(false),\n host: z.string().default(\"127.0.0.1\"),\n port: z.number().int().default(defaultPort),\n /** 实例级 token,覆盖全局 token(缺省继承全局)。 */\n token: z.string().optional(),\n });\n}\n\n/** HTTP 反向服务器实例 schema(第三方指令入口 / HTTP RPC,OB11 / Satori 共用)。 */\nexport function createHttpServerSchema(defaultPort: number) {\n return createServerSchema(defaultPort);\n}\n\n/** WS 事件服务器实例 schema(反向 WS server,OB11 / Satori 共用)。 */\nexport function createWsServerSchema(defaultPort: number) {\n return createServerSchema(defaultPort);\n}\n","/**\n * grayTip 元素工具(OB11 / Satori 共用,2026-08-08 克隆合并)\n *\n * grayTip(系统提示消息)涉及的操作者/成员 uid 需要批量 uid→uin 转换,\n * 两协议翻译层共用同一套收集逻辑。\n */\nimport type { RawMessage } from \"@napuketto/kernel\";\n\n/** 非空 uid 才加入集合。 */\nfunction collectUids(uids: Set<string>, ...candidates: Array<string | undefined>): void {\n for (const uid of candidates) {\n if (uid !== undefined && uid !== \"\") {\n uids.add(uid);\n }\n }\n}\n\n/** 收集 grayTip 涉及的 uid(批量 uidToUin 用)。 */\nexport function collectGrayTipUids(msg: RawMessage): string[] {\n const uids = new Set<string>();\n for (const el of msg.elements) {\n const g = el.grayTipElement;\n if (g === undefined) {\n continue;\n }\n collectUids(uids, g.revokeElement?.operatorUid, g.aioOpGrayTipElement?.peerUid);\n const grp = g.groupElement;\n if (grp === undefined) {\n continue;\n }\n collectUids(\n uids,\n grp.memberUid,\n grp.adminUid,\n grp.shutUp?.admin?.uid,\n grp.shutUp?.member?.uid,\n );\n }\n return [...uids];\n}\n"],"mappings":";;;;;;;;;AASA,SAAS,mBAAmB,aAAqB;CAC7C,OAAO,EAAE,OAAO;EACZ,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK;EAClC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,WAAW;EACpC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,WAAW;;EAE1C,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS;CAC/B,CAAC;AACL;;AAGA,SAAgB,uBAAuB,aAAqB;CACxD,OAAO,mBAAmB,WAAW;AACzC;;AAGA,SAAgB,qBAAqB,aAAqB;CACtD,OAAO,mBAAmB,WAAW;AACzC;;;;AClBA,SAAS,YAAY,MAAmB,GAAG,YAA6C;CACpF,KAAK,MAAM,OAAO,YACd,IAAI,QAAQ,KAAA,KAAa,QAAQ,IAC7B,KAAK,IAAI,GAAG;AAGxB;;AAGA,SAAgB,mBAAmB,KAA2B;CAC1D,MAAM,uBAAO,IAAI,IAAY;CAC7B,KAAK,MAAM,MAAM,IAAI,UAAU;EAC3B,MAAM,IAAI,GAAG;EACb,IAAI,MAAM,KAAA,GACN;EAEJ,YAAY,MAAM,EAAE,eAAe,aAAa,EAAE,qBAAqB,OAAO;EAC9E,MAAM,MAAM,EAAE;EACd,IAAI,QAAQ,KAAA,GACR;EAEJ,YACI,MACA,IAAI,WACJ,IAAI,UACJ,IAAI,QAAQ,OAAO,KACnB,IAAI,QAAQ,QAAQ,GACxB;CACJ;CACA,OAAO,CAAC,GAAG,IAAI;AACnB"}
@@ -1,13 +0,0 @@
1
- //#region src/core/raw-message.ts
2
- /** 逐条处理消息(自动规范化数组 + 过滤非对象项)。 */
3
- function forEachRawMessage(msgs, handler) {
4
- const list = Array.isArray(msgs) ? msgs : [msgs];
5
- for (const msg of list) {
6
- if (!msg || typeof msg !== "object") continue;
7
- handler(msg);
8
- }
9
- }
10
- //#endregion
11
- export { forEachRawMessage as t };
12
-
13
- //# sourceMappingURL=raw-message-6KdlG8kR.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw-message-6KdlG8kR.mjs","names":[],"sources":["../src/core/raw-message.ts"],"sourcesContent":["/**\n * RawMessage 数组规范化(OB11 / Satori 共用,2026-08-08 克隆合并)\n *\n * onRecvMsg 回调参数运行时实证为消息数组(2026-08-07),但兼容单条对象\n * 传入——统一规范化为数组并过滤无效项后逐条回调。\n */\nimport type { RawMessage } from \"@napuketto/kernel\";\n\n/** 逐条处理消息(自动规范化数组 + 过滤非对象项)。 */\nexport function forEachRawMessage(msgs: unknown, handler: (msg: RawMessage) => void): void {\n const list = Array.isArray(msgs) ? msgs : [msgs];\n for (const msg of list) {\n if (!msg || typeof msg !== \"object\") {\n continue;\n }\n handler(msg as RawMessage);\n }\n}\n"],"mappings":";;AASA,SAAgB,kBAAkB,MAAe,SAA0C;CACvF,MAAM,OAAO,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,IAAI;CAC/C,KAAK,MAAM,OAAO,MAAM;EACpB,IAAI,CAAC,OAAO,OAAO,QAAQ,UACvB;EAEJ,QAAQ,GAAiB;CAC7B;AACJ"}