shipmyagent 1.0.164 → 1.0.167
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/bin/core/types/ContextMessage.d.ts.map +1 -1
- package/bin/main/runtime/Paths.d.ts.map +1 -1
- package/bin/main/runtime/Paths.js +20 -0
- package/bin/main/runtime/Paths.js.map +1 -1
- package/bin/main/types/ShipConfig.d.ts.map +1 -1
- package/bin/services/chat/ServiceEntry.d.ts.map +1 -1
- package/bin/services/chat/ServiceEntry.js +6 -3
- package/bin/services/chat/ServiceEntry.js.map +1 -1
- package/bin/services/chat/adapters/BaseChatAdapter.d.ts.map +1 -1
- package/bin/services/chat/adapters/BaseChatAdapter.js +59 -1
- package/bin/services/chat/adapters/BaseChatAdapter.js.map +1 -1
- package/bin/services/chat/adapters/qq/QQ.d.ts.map +1 -1
- package/bin/services/chat/adapters/qq/QQ.js +241 -7
- package/bin/services/chat/adapters/qq/QQ.js.map +1 -1
- package/bin/services/chat/adapters/telegram/Bot.d.ts.map +1 -1
- package/bin/services/chat/adapters/telegram/Bot.js +76 -103
- package/bin/services/chat/adapters/telegram/Bot.js.map +1 -1
- package/bin/services/chat/runtime/ChatHistoryStore.d.ts.map +1 -0
- package/bin/services/chat/runtime/ChatHistoryStore.js +77 -0
- package/bin/services/chat/runtime/ChatHistoryStore.js.map +1 -0
- package/bin/services/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
- package/bin/services/chat/runtime/ChatQueueWorker.js +16 -3
- package/bin/services/chat/runtime/ChatQueueWorker.js.map +1 -1
- package/bin/services/chat/runtime/UIMessageTransformer.d.ts.map +1 -0
- package/bin/services/chat/runtime/{UiMessage.js → UIMessageTransformer.js} +1 -1
- package/bin/services/chat/runtime/UIMessageTransformer.js.map +1 -0
- package/bin/services/chat/runtime/UserVisibleText.js +1 -1
- package/bin/services/chat/runtime/UserVisibleText.js.map +1 -1
- package/bin/services/chat/types/ChatHistory.d.ts.map +1 -0
- package/bin/services/chat/types/ChatHistory.js +9 -0
- package/bin/services/chat/types/ChatHistory.js.map +1 -0
- package/package.json +1 -1
- package/bin/services/chat/runtime/UiMessage.d.ts.map +0 -1
- package/bin/services/chat/runtime/UiMessage.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMessage.d.ts","sourceRoot":"","sources":["../../../src/core/types/ContextMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;;;;;GAOG;AAEH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1D,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"ContextMessage.d.ts","sourceRoot":"","sources":["../../../src/core/types/ContextMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD;;;;;;;GAOG;AAEH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC1D,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxE,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB;IAChB,CAAC,EAAE,CAAC,CAAC;IACL,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,6BAA6B;IAC7B,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,mBAAmB;IACnB,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,GAAG;IAC5D,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../../src/main/runtime/Paths.ts"],"names":[],"mappings":"AAUA,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,GAChB,MAAM,CAER;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,MAAM,CAKR;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnF;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAK1E"}
|
|
1
|
+
{"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../../src/main/runtime/Paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,4 +108,24 @@ export function getShipChatMetaDirPath(cwd) {
|
|
|
108
108
|
export function getShipChatMetaPath(cwd, contextId) {
|
|
109
109
|
return path.join(getShipChatMetaDirPath(cwd), `${encodeURIComponent(String(contextId || "").trim())}.json`);
|
|
110
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Chat 会话目录(按 contextId 组织)。
|
|
113
|
+
*
|
|
114
|
+
* 关键点(中文)
|
|
115
|
+
* - 用于存放聊天事件流(history.jsonl)等审计向数据。
|
|
116
|
+
* - 与 `chat/meta` 分离,避免路由快照与事件流混在一起。
|
|
117
|
+
*/
|
|
118
|
+
export function getShipChatContextDirPath(cwd, contextId) {
|
|
119
|
+
return path.join(getShipChatDirPath(cwd), encodeURIComponent(String(contextId || "").trim()));
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Chat 事件流文件路径(JSONL)。
|
|
123
|
+
*
|
|
124
|
+
* 关键点(中文)
|
|
125
|
+
* - 每行一条 chat 事件(当前为 inbound)。
|
|
126
|
+
* - 设计为 append-only,便于审计与回放。
|
|
127
|
+
*/
|
|
128
|
+
export function getShipChatHistoryPath(cwd, contextId) {
|
|
129
|
+
return path.join(getShipChatContextDirPath(cwd, contextId), "history.jsonl");
|
|
130
|
+
}
|
|
111
131
|
//# sourceMappingURL=Paths.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Paths.js","sourceRoot":"","sources":["../../../src/main/runtime/Paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,SAAiB;IAClE,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,GAAW,EACX,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAW,EAAE,SAAiB;IACvE,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,GAAW,EAAE,SAAiB;IAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,GAAW,EACX,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAAW,EACX,SAAiB,EACjB,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CACd,oCAAoC,CAAC,GAAG,EAAE,SAAS,CAAC,EACpD,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAC7D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,GAAW,EAAE,SAAiB;IACxE,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,GAAW,EACX,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,GAAW,EACX,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAAW,EACX,SAAiB,EACjB,SAAiB;IAEjB,OAAO,IAAI,CAAC,IAAI,CACd,iCAAiC,CAAC,GAAG,EAAE,SAAS,CAAC,EACjD,WAAW,SAAS,KAAK,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW,EAAE,SAAiB;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW;IAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAW,EAAE,SAAiB;IAChE,OAAO,IAAI,CAAC,IAAI,CACd,sBAAsB,CAAC,GAAG,CAAC,EAC3B,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAC7D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"Paths.js","sourceRoot":"","sources":["../../../src/main/runtime/Paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShipConfig.d.ts","sourceRoot":"","sources":["../../../src/main/types/ShipConfig.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShipConfig.d.ts","sourceRoot":"","sources":["../../../src/main/types/ShipConfig.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACT;;;;;;WAMG;QACH,MAAM,CAAC,EAAE;YACP;;;eAGG;YACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB;;;eAGG;YACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;SAC9B,CAAC;QACF;;WAEG;QACH,IAAI,CAAC,EAAE;YACL;;eAEG;YACH,KAAK,CAAC,EAAE;gBACN;;;mBAGG;gBACH,cAAc,CAAC,EAAE,MAAM,CAAC;aACzB,CAAC;YACF;;eAEG;YACH,MAAM,CAAC,EAAE;gBACP;;mBAEG;gBACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;gBAChC;;mBAEG;gBACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;aAC/B,CAAC;YACF;;eAEG;YACH,QAAQ,CAAC,EAAE;gBACT,QAAQ,CAAC,EAAE;oBACT,OAAO,EAAE,OAAO,CAAC;oBACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;oBAClB,MAAM,CAAC,EAAE,MAAM,CAAC;oBAChB;;;;;uBAKG;oBACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;oBAC1B;;;;;uBAKG;oBACH,WAAW,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;iBAC/C,CAAC;gBACF,OAAO,CAAC,EAAE;oBACR,OAAO,EAAE,OAAO,CAAC;oBACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;iBACnB,CAAC;gBACF,MAAM,CAAC,EAAE;oBACP,OAAO,EAAE,OAAO,CAAC;oBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,SAAS,CAAC,EAAE,MAAM,CAAC;oBACnB,MAAM,CAAC,EAAE,MAAM,CAAC;iBACjB,CAAC;gBACF,EAAE,CAAC,EAAE;oBACH,OAAO,EAAE,OAAO,CAAC;oBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;oBACf,SAAS,CAAC,EAAE,MAAM,CAAC;oBACnB,OAAO,CAAC,EAAE,OAAO,CAAC;oBAClB;;;;uBAIG;oBACH,WAAW,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;iBAC/C,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;IAEF,GAAG,EAAE;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR;;WAEG;QACH,QAAQ,CAAC,EAAE;YACT;;;eAGG;YACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B;;;;;;;;eAQG;YACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B;;;eAGG;YACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;QACF;;;;;;;WAOG;QACH,MAAM,CAAC,EAAE;YACP;;;eAGG;YACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B;;;eAGG;YACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B;;;eAGG;YACH,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB;;;eAGG;YACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;YAC7B;;;eAGG;YACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;SAChC,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,SAAS,EAAE,OAAO,GAAG;YAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QAC1C,UAAU,CAAC,EACP,OAAO,GACP;YACE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,gBAAgB,EAAE,OAAO,CAAC;SAC3B,CAAC;QACN,YAAY,CAAC,EACT,OAAO,GACP;YACE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;YACjB,gBAAgB,EAAE,OAAO,CAAC;YAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;YAC/B;;;;;;;eAOG;YACH,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB;;;eAGG;YACH,cAAc,CAAC,EAAE,MAAM,CAAC;SACzB,CAAC;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceEntry.d.ts","sourceRoot":"","sources":["../../../src/services/chat/ServiceEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EACV,OAAO,EAER,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"ServiceEntry.d.ts","sourceRoot":"","sources":["../../../src/services/chat/ServiceEntry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,OAAO,KAAK,EACV,OAAO,EAER,MAAM,kCAAkC,CAAC;AAyP1C,eAAO,MAAM,WAAW,EAAE,OA8FzB,CAAC"}
|
|
@@ -68,13 +68,16 @@ async function startChatAdapters(context) {
|
|
|
68
68
|
}
|
|
69
69
|
if (adapters.qq?.enabled) {
|
|
70
70
|
context.logger.info("QQ adapter enabled");
|
|
71
|
+
const envQqGroupAccess = (process.env.QQ_GROUP_ACCESS || "")
|
|
72
|
+
.trim()
|
|
73
|
+
.toLowerCase();
|
|
71
74
|
const qqGroupAccess = adapters.qq?.groupAccess === "anyone"
|
|
72
75
|
? "anyone"
|
|
73
76
|
: adapters.qq?.groupAccess === "initiator_or_admin"
|
|
74
77
|
? "initiator_or_admin"
|
|
75
|
-
:
|
|
76
|
-
? "
|
|
77
|
-
:
|
|
78
|
+
: envQqGroupAccess === "initiator_or_admin"
|
|
79
|
+
? "initiator_or_admin"
|
|
80
|
+
: "anyone";
|
|
78
81
|
const qqConfig = {
|
|
79
82
|
enabled: true,
|
|
80
83
|
appId: (adapters.qq?.appId && !isPlaceholder(adapters.qq.appId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceEntry.js","sourceRoot":"","sources":["../../../src/services/chat/ServiceEntry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ServiceEntry.js","sourceRoot":"","sources":["../../../src/services/chat/ServiceEntry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseChatAdapter.d.ts","sourceRoot":"","sources":["../../../../src/services/chat/adapters/BaseChatAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseChatAdapter.d.ts","sourceRoot":"","sources":["../../../../src/services/chat/adapters/BaseChatAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAK7D,KAAK,sBAAsB,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC,CAAC;AAUF;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AACH,8BAAsB,eAAgB,SAAQ,eAAe;IAC3D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,aAAa,MAAM,EAAE;QAC5B,OAAO,EAAE,mBAAmB,CAAC;QAC7B,OAAO,EAAE,cAAc,CAAC;KACzB;IAUD;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYhC;;;;;;OAMG;YACW,cAAc;IAsB5B;;;;;;OAMG;YACW,oBAAoB;IAsClC;;;;;;OAMG;cACa,mBAAmB,CAAC,MAAM,EAAE;QAC1C,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,sBAAsB,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CjB;;;;;;OAMG;cACa,cAAc,CAC5B,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CA6ClD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PlatformAdapter } from "./PlatformAdapter.js";
|
|
2
2
|
import { enqueueChatQueue } from "../../chat/runtime/ChatQueue.js";
|
|
3
3
|
import { upsertChatMetaByContextId } from "../../chat/runtime/ChatMetaStore.js";
|
|
4
|
+
import { appendInboundChatHistory } from "../../chat/runtime/ChatHistoryStore.js";
|
|
4
5
|
function stripUndefinedMeta(meta) {
|
|
5
6
|
const out = {};
|
|
6
7
|
for (const [k, v] of Object.entries(meta)) {
|
|
@@ -65,11 +66,45 @@ export class BaseChatAdapter extends PlatformAdapter {
|
|
|
65
66
|
actorName: params.actorName,
|
|
66
67
|
});
|
|
67
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* 记录入站 chat 事件(审计流)。
|
|
71
|
+
*
|
|
72
|
+
* 关键点(中文)
|
|
73
|
+
* - 跟 context message history 分离,写入 `.ship/chat/<contextId>/history.jsonl`。
|
|
74
|
+
* - 写入失败不阻塞主链路,但会记录 warning。
|
|
75
|
+
*/
|
|
76
|
+
async appendInboundHistory(params) {
|
|
77
|
+
try {
|
|
78
|
+
await appendInboundChatHistory({
|
|
79
|
+
context: this.context,
|
|
80
|
+
contextId: params.contextId,
|
|
81
|
+
channel: this.channel,
|
|
82
|
+
chatId: params.chatId,
|
|
83
|
+
ingressKind: params.ingressKind,
|
|
84
|
+
text: params.text,
|
|
85
|
+
targetType: params.targetType,
|
|
86
|
+
threadId: params.threadId,
|
|
87
|
+
messageId: params.messageId,
|
|
88
|
+
actorId: params.actorId,
|
|
89
|
+
actorName: params.actorName,
|
|
90
|
+
extra: params.extra,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
this.logger.warn("Failed to append inbound chat history", {
|
|
95
|
+
error: String(error),
|
|
96
|
+
channel: this.channel,
|
|
97
|
+
contextId: params.contextId,
|
|
98
|
+
chatId: params.chatId,
|
|
99
|
+
ingressKind: params.ingressKind,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
68
103
|
/**
|
|
69
104
|
* 入站消息写入队列(审计用途,不触发执行)。
|
|
70
105
|
*
|
|
71
106
|
* 说明(中文)
|
|
72
|
-
* -
|
|
107
|
+
* - 先落 `chat history`(审计流),再入队
|
|
73
108
|
* - channel/targetId/contextId 三元组由适配层统一补齐
|
|
74
109
|
*/
|
|
75
110
|
async enqueueAuditMessage(params) {
|
|
@@ -80,6 +115,18 @@ export class BaseChatAdapter extends PlatformAdapter {
|
|
|
80
115
|
: undefined;
|
|
81
116
|
const chatType = typeof meta.chatType === "string" ? meta.chatType : undefined;
|
|
82
117
|
const extra = stripUndefinedMeta(meta);
|
|
118
|
+
await this.appendInboundHistory({
|
|
119
|
+
contextId: params.chatKey,
|
|
120
|
+
chatId: params.chatId,
|
|
121
|
+
ingressKind: "audit",
|
|
122
|
+
text: params.text,
|
|
123
|
+
targetType: chatType,
|
|
124
|
+
threadId: messageThreadId,
|
|
125
|
+
messageId: params.messageId,
|
|
126
|
+
actorId: params.userId,
|
|
127
|
+
actorName: username,
|
|
128
|
+
extra,
|
|
129
|
+
});
|
|
83
130
|
await this.updateChatMeta({
|
|
84
131
|
contextId: params.chatKey,
|
|
85
132
|
chatId: params.chatId,
|
|
@@ -117,6 +164,17 @@ export class BaseChatAdapter extends PlatformAdapter {
|
|
|
117
164
|
messageThreadId: msg.messageThreadId,
|
|
118
165
|
messageId: msg.messageId,
|
|
119
166
|
});
|
|
167
|
+
await this.appendInboundHistory({
|
|
168
|
+
contextId: chatKey,
|
|
169
|
+
chatId: msg.chatId,
|
|
170
|
+
ingressKind: "exec",
|
|
171
|
+
text: msg.text,
|
|
172
|
+
targetType: msg.chatType,
|
|
173
|
+
threadId: msg.messageThreadId,
|
|
174
|
+
messageId: msg.messageId,
|
|
175
|
+
actorId: msg.userId,
|
|
176
|
+
actorName: msg.username,
|
|
177
|
+
});
|
|
120
178
|
await this.updateChatMeta({
|
|
121
179
|
contextId: chatKey,
|
|
122
180
|
chatId: msg.chatId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseChatAdapter.js","sourceRoot":"","sources":["../../../../src/services/chat/adapters/BaseChatAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseChatAdapter.js","sourceRoot":"","sources":["../../../../src/services/chat/adapters/BaseChatAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAMtF,SAAS,kBAAkB,CAAC,IAA4B;IACtD,MAAM,GAAG,GAAe,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,SAAS;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAoBD;;;;;;GAMG;AACH,MAAM,OAAgB,eAAgB,SAAQ,eAAe;IACxC,QAAQ,CAAS;IACjB,MAAM,CAAS;IAElC,YAAsB,MAGrB;QACC,KAAK,CAAC;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,OAAe;QACvB,gBAAgB,CAAC;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAAC,MAQ5B;QACC,MAAM,yBAAyB,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,oBAAoB,CAAC,MAWlC;QACC,IAAI,CAAC;YACH,MAAM,wBAAwB,CAAC;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBACxD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;gBACpB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,mBAAmB,CAAC,MAOnC;QACC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAA2B,CAAC;QAC3D,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,eAAe,GACnB,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;YAC/E,CAAC,CAAC,IAAI,CAAC,eAAe;YACtB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/E,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9B,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS,EAAE,QAAQ;YACnB,KAAK;SACN,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QACH,gBAAgB,CAAC;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,SAAS,EAAE,MAAM,CAAC,OAAO;YACzB,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,eAAe;YACzB,UAAU,EAAE,QAAQ;YACpB,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,cAAc,CAC5B,GAAwB;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;YAC9B,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,eAAe,EAAE,GAAG,CAAC,eAAe;YACpC,SAAS,EAAE,GAAG,CAAC,SAAS;SACzB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAC9B,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,MAAM;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,QAAQ,EAAE,GAAG,CAAC,eAAe;YAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,MAAM;YACnB,SAAS,EAAE,GAAG,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,CAAC;YACxB,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,QAAQ,EAAE,GAAG,CAAC,eAAe;YAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,MAAM;YACnB,SAAS,EAAE,GAAG,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,MAAM,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC;YACxC,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,GAAG,CAAC,MAAM;YACpB,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,UAAU,EAAE,GAAG,CAAC,QAAQ;YACxB,QAAQ,EAAE,GAAG,CAAC,eAAe;YAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,MAAM;YACnB,SAAS,EAAE,GAAG,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QQ.d.ts","sourceRoot":"","sources":["../../../../../src/services/chat/adapters/qq/QQ.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGvE;;;;;;;;GAQG;AAEH,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,oBAAoB,GAAG,QAAQ,CAAC;CAC/C;
|
|
1
|
+
{"version":3,"file":"QQ.d.ts","sourceRoot":"","sources":["../../../../../src/services/chat/adapters/qq/QQ.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,8 @@ const EventType = {
|
|
|
21
21
|
RESUMED: "RESUMED",
|
|
22
22
|
// 群聊 @机器人 消息
|
|
23
23
|
GROUP_AT_MESSAGE_CREATE: "GROUP_AT_MESSAGE_CREATE",
|
|
24
|
+
// 群聊普通消息(若能力开通会下发)
|
|
25
|
+
GROUP_MESSAGE_CREATE: "GROUP_MESSAGE_CREATE",
|
|
24
26
|
// C2C 私聊消息
|
|
25
27
|
C2C_MESSAGE_CREATE: "C2C_MESSAGE_CREATE",
|
|
26
28
|
// 频道消息(可选支持)
|
|
@@ -57,6 +59,10 @@ export class QQBot extends BaseChatAdapter {
|
|
|
57
59
|
useSandbox = false;
|
|
58
60
|
groupAccess;
|
|
59
61
|
groupInitiatorByChatKey = new Map();
|
|
62
|
+
followupWindowMs = 10 * 60 * 1000;
|
|
63
|
+
followupExpiryByChatKey = new Map();
|
|
64
|
+
followupExpiryByActorAndChatKey = new Map();
|
|
65
|
+
botOutboundMessageIds = new Map();
|
|
60
66
|
msgSeqByMessageKey = new Map();
|
|
61
67
|
qqEventCapture;
|
|
62
68
|
inboundDedupeStore;
|
|
@@ -74,7 +80,7 @@ export class QQBot extends BaseChatAdapter {
|
|
|
74
80
|
this.appSecret = appSecret;
|
|
75
81
|
this.useSandbox = useSandbox;
|
|
76
82
|
this.groupAccess =
|
|
77
|
-
groupAccess === "
|
|
83
|
+
groupAccess === "initiator_or_admin" ? "initiator_or_admin" : "anyone";
|
|
78
84
|
this.qqEventCapture = getQqEventCaptureConfig(this.rootPath);
|
|
79
85
|
this.inboundDedupeStore = new QqInboundDedupeStore({
|
|
80
86
|
rootPath: this.rootPath,
|
|
@@ -550,7 +556,17 @@ export class QQBot extends BaseChatAdapter {
|
|
|
550
556
|
break;
|
|
551
557
|
case EventType.GROUP_AT_MESSAGE_CREATE:
|
|
552
558
|
// 群聊 @机器人 消息
|
|
553
|
-
await this.handleGroupMessage(
|
|
559
|
+
await this.handleGroupMessage({
|
|
560
|
+
eventType: EventType.GROUP_AT_MESSAGE_CREATE,
|
|
561
|
+
data: data,
|
|
562
|
+
});
|
|
563
|
+
break;
|
|
564
|
+
case EventType.GROUP_MESSAGE_CREATE:
|
|
565
|
+
// 群聊普通消息(非空内容默认可触发,权限门禁仍生效)
|
|
566
|
+
await this.handleGroupMessage({
|
|
567
|
+
eventType: EventType.GROUP_MESSAGE_CREATE,
|
|
568
|
+
data: data,
|
|
569
|
+
});
|
|
554
570
|
break;
|
|
555
571
|
case EventType.C2C_MESSAGE_CREATE:
|
|
556
572
|
// C2C 私聊消息
|
|
@@ -567,19 +583,53 @@ export class QQBot extends BaseChatAdapter {
|
|
|
567
583
|
/**
|
|
568
584
|
* 处理群聊消息
|
|
569
585
|
*/
|
|
570
|
-
async handleGroupMessage(
|
|
586
|
+
async handleGroupMessage(params) {
|
|
587
|
+
const eventType = String(params.eventType || "").trim();
|
|
588
|
+
const data = params.data;
|
|
571
589
|
const { id: messageId, group_openid: groupId, content, author } = data;
|
|
572
590
|
if (!groupId || !messageId)
|
|
573
591
|
return;
|
|
574
592
|
const chatType = "group";
|
|
575
593
|
const chatKey = this.getChatKey({ chatId: groupId, chatType });
|
|
576
|
-
if (await this.shouldSkipDuplicatedInboundMessage(EventType.
|
|
594
|
+
if (await this.shouldSkipDuplicatedInboundMessage(eventType || EventType.GROUP_MESSAGE_CREATE, messageId)) {
|
|
577
595
|
return;
|
|
578
596
|
}
|
|
579
597
|
// 提取纯文本内容(去除 @机器人 的部分)
|
|
580
|
-
const
|
|
598
|
+
const rawContent = String(content || "");
|
|
599
|
+
const userMessage = this.extractTextContent(rawContent);
|
|
581
600
|
const actor = this.extractAuthorIdentity(author);
|
|
601
|
+
const enqueueGroupAudit = async (params) => {
|
|
602
|
+
await this.enqueueAuditMessage({
|
|
603
|
+
chatId: groupId,
|
|
604
|
+
chatKey,
|
|
605
|
+
messageId,
|
|
606
|
+
userId: actor.userId,
|
|
607
|
+
text: this.buildGroupAuditText({
|
|
608
|
+
rawContent,
|
|
609
|
+
userMessage,
|
|
610
|
+
}),
|
|
611
|
+
meta: {
|
|
612
|
+
chatType,
|
|
613
|
+
username: actor.username,
|
|
614
|
+
eventType,
|
|
615
|
+
reason: params.reason,
|
|
616
|
+
...(params.kind ? { kind: params.kind } : {}),
|
|
617
|
+
...(typeof params.isMentioned === "boolean"
|
|
618
|
+
? { isMentioned: params.isMentioned }
|
|
619
|
+
: {}),
|
|
620
|
+
...(typeof params.isReplyToBot === "boolean"
|
|
621
|
+
? { isReplyToBot: params.isReplyToBot }
|
|
622
|
+
: {}),
|
|
623
|
+
...(typeof params.inWindow === "boolean"
|
|
624
|
+
? { inWindow: params.inWindow }
|
|
625
|
+
: {}),
|
|
626
|
+
},
|
|
627
|
+
});
|
|
628
|
+
};
|
|
582
629
|
if (actor.userId && this.botUserId && actor.userId === this.botUserId) {
|
|
630
|
+
await enqueueGroupAudit({
|
|
631
|
+
reason: "bot_originated",
|
|
632
|
+
});
|
|
583
633
|
this.logger.debug("忽略机器人自身消息(group)", {
|
|
584
634
|
messageId,
|
|
585
635
|
groupId,
|
|
@@ -588,11 +638,35 @@ export class QQBot extends BaseChatAdapter {
|
|
|
588
638
|
return;
|
|
589
639
|
}
|
|
590
640
|
this.logger.info(`收到群聊消息 [${groupId}]: ${userMessage}`);
|
|
641
|
+
const isMentioned = eventType === EventType.GROUP_AT_MESSAGE_CREATE ||
|
|
642
|
+
this.isBotMentionedInMessage(String(content || ""), data);
|
|
643
|
+
const isReplyToBot = this.isReplyToBot(data);
|
|
644
|
+
const inWindow = this.isWithinFollowupWindow(chatKey, actor.userId);
|
|
645
|
+
const isAddressed = isMentioned || isReplyToBot || inWindow;
|
|
591
646
|
// 关键点(中文):与 Telegram 对齐,纯 @ 空消息不触发执行。
|
|
592
|
-
if (!userMessage)
|
|
647
|
+
if (!userMessage) {
|
|
648
|
+
// 关键点(中文):显式 @bot / 回复bot 的空消息也可激活 follow-up 窗口,
|
|
649
|
+
// 便于用户先点名机器人,再发送下一条具体内容。
|
|
650
|
+
if (actor.userId && (isMentioned || isReplyToBot)) {
|
|
651
|
+
this.touchFollowupWindow(chatKey, actor.userId);
|
|
652
|
+
}
|
|
653
|
+
await enqueueGroupAudit({
|
|
654
|
+
reason: "empty_after_extract",
|
|
655
|
+
isMentioned,
|
|
656
|
+
isReplyToBot,
|
|
657
|
+
inWindow,
|
|
658
|
+
});
|
|
593
659
|
return;
|
|
660
|
+
}
|
|
594
661
|
// 检查是否是命令
|
|
595
662
|
if (userMessage.startsWith("/")) {
|
|
663
|
+
await enqueueGroupAudit({
|
|
664
|
+
reason: "command_received",
|
|
665
|
+
kind: "command",
|
|
666
|
+
isMentioned,
|
|
667
|
+
isReplyToBot,
|
|
668
|
+
inWindow,
|
|
669
|
+
});
|
|
596
670
|
const cmdName = (userMessage.trim().split(/\s+/)[0] || "")
|
|
597
671
|
.split("@")[0]
|
|
598
672
|
?.toLowerCase();
|
|
@@ -603,9 +677,17 @@ export class QQBot extends BaseChatAdapter {
|
|
|
603
677
|
actorId: actor.userId,
|
|
604
678
|
author,
|
|
605
679
|
})) {
|
|
680
|
+
await enqueueGroupAudit({
|
|
681
|
+
reason: "permission_denied",
|
|
682
|
+
isMentioned,
|
|
683
|
+
isReplyToBot,
|
|
684
|
+
inWindow,
|
|
685
|
+
});
|
|
606
686
|
await this.sendMessage(groupId, "group", messageId, "⛔️ 仅发起人或群管理员可以使用该命令。");
|
|
607
687
|
return;
|
|
608
688
|
}
|
|
689
|
+
if (actor.userId)
|
|
690
|
+
this.touchFollowupWindow(chatKey, actor.userId);
|
|
609
691
|
await this.handleCommand(groupId, "group", messageId, userMessage);
|
|
610
692
|
}
|
|
611
693
|
else {
|
|
@@ -614,9 +696,20 @@ export class QQBot extends BaseChatAdapter {
|
|
|
614
696
|
actorId: actor.userId,
|
|
615
697
|
author,
|
|
616
698
|
})) {
|
|
617
|
-
await
|
|
699
|
+
await enqueueGroupAudit({
|
|
700
|
+
reason: "permission_denied",
|
|
701
|
+
isMentioned,
|
|
702
|
+
isReplyToBot,
|
|
703
|
+
inWindow,
|
|
704
|
+
});
|
|
705
|
+
// 关键点(中文):未显式点名 bot 时静默拒绝,避免群里刷屏。
|
|
706
|
+
if (isAddressed) {
|
|
707
|
+
await this.sendMessage(groupId, "group", messageId, "⛔️ 仅发起人或群管理员可以与我对话。");
|
|
708
|
+
}
|
|
618
709
|
return;
|
|
619
710
|
}
|
|
711
|
+
if (actor.userId)
|
|
712
|
+
this.touchFollowupWindow(chatKey, actor.userId);
|
|
620
713
|
await this.executeAndReply(groupId, "group", messageId, userMessage, actor);
|
|
621
714
|
}
|
|
622
715
|
}
|
|
@@ -749,6 +842,131 @@ export class QQBot extends BaseChatAdapter {
|
|
|
749
842
|
.replace(/<@\d+>/g, "")
|
|
750
843
|
.trim();
|
|
751
844
|
}
|
|
845
|
+
/**
|
|
846
|
+
* 构造 QQ 群聊审计文本(保证非空,便于上下文回溯)。
|
|
847
|
+
*/
|
|
848
|
+
buildGroupAuditText(params) {
|
|
849
|
+
const raw = String(params.rawContent || "").trim();
|
|
850
|
+
if (raw)
|
|
851
|
+
return raw;
|
|
852
|
+
const extracted = String(params.userMessage || "").trim();
|
|
853
|
+
if (extracted)
|
|
854
|
+
return extracted;
|
|
855
|
+
return "[group_message] (no_text_content)";
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* 判断消息是否 @ 机器人(best-effort)。
|
|
859
|
+
*/
|
|
860
|
+
isBotMentionedInMessage(content, data) {
|
|
861
|
+
const botUserId = String(this.botUserId || "").trim();
|
|
862
|
+
const mentionCandidates = Array.isArray(data.mentions) ? data.mentions : [];
|
|
863
|
+
const mentionUserIds = mentionCandidates
|
|
864
|
+
.flatMap((m) => [
|
|
865
|
+
m?.id,
|
|
866
|
+
m?.user_id,
|
|
867
|
+
m?.member_openid,
|
|
868
|
+
m?.user_openid,
|
|
869
|
+
])
|
|
870
|
+
.map((v) => (typeof v === "string" ? v.trim() : ""))
|
|
871
|
+
.filter(Boolean);
|
|
872
|
+
if (botUserId && mentionUserIds.includes(botUserId))
|
|
873
|
+
return true;
|
|
874
|
+
// 兜底:从富文本标签中提取 @id,再与 botUserId 比较。
|
|
875
|
+
// 示例:<@123> / <@!123>
|
|
876
|
+
if (botUserId) {
|
|
877
|
+
const ids = Array.from(content.matchAll(/<@!?([^>\s]+)>/g), (m) => String(m[1] || "").trim()).filter(Boolean);
|
|
878
|
+
if (ids.includes(botUserId))
|
|
879
|
+
return true;
|
|
880
|
+
}
|
|
881
|
+
return false;
|
|
882
|
+
}
|
|
883
|
+
getFollowupKey(chatKey, actorId) {
|
|
884
|
+
return `${chatKey}|${actorId}`;
|
|
885
|
+
}
|
|
886
|
+
isWithinFollowupWindow(chatKey, actorId) {
|
|
887
|
+
const now = Date.now();
|
|
888
|
+
// 会话级窗口:同一群内更容易续聊,不要求同一 actor。
|
|
889
|
+
const chatExp = this.followupExpiryByChatKey.get(chatKey);
|
|
890
|
+
if (typeof chatExp === "number") {
|
|
891
|
+
if (now <= chatExp)
|
|
892
|
+
return true;
|
|
893
|
+
this.followupExpiryByChatKey.delete(chatKey);
|
|
894
|
+
}
|
|
895
|
+
const actor = String(actorId || "").trim();
|
|
896
|
+
if (!actor)
|
|
897
|
+
return false;
|
|
898
|
+
const key = this.getFollowupKey(chatKey, actor);
|
|
899
|
+
const exp = this.followupExpiryByActorAndChatKey.get(key);
|
|
900
|
+
if (!exp)
|
|
901
|
+
return false;
|
|
902
|
+
if (now > exp) {
|
|
903
|
+
this.followupExpiryByActorAndChatKey.delete(key);
|
|
904
|
+
return false;
|
|
905
|
+
}
|
|
906
|
+
return true;
|
|
907
|
+
}
|
|
908
|
+
touchFollowupWindow(chatKey, actorId) {
|
|
909
|
+
const expiry = Date.now() + this.followupWindowMs;
|
|
910
|
+
this.followupExpiryByChatKey.set(chatKey, expiry);
|
|
911
|
+
const actor = String(actorId || "").trim();
|
|
912
|
+
if (!actor)
|
|
913
|
+
return;
|
|
914
|
+
const key = this.getFollowupKey(chatKey, actor);
|
|
915
|
+
this.followupExpiryByActorAndChatKey.set(key, expiry);
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* 记录机器人出站消息 ID,用于识别“回复机器人”场景。
|
|
919
|
+
*/
|
|
920
|
+
trackBotOutboundMessageId(messageId) {
|
|
921
|
+
const id = String(messageId || "").trim();
|
|
922
|
+
if (!id)
|
|
923
|
+
return;
|
|
924
|
+
this.botOutboundMessageIds.set(id, Date.now() + 30 * 60 * 1000);
|
|
925
|
+
// 关键点(中文):顺手做过期清理,防止 map 无界增长。
|
|
926
|
+
if (this.botOutboundMessageIds.size <= 5000)
|
|
927
|
+
return;
|
|
928
|
+
const now = Date.now();
|
|
929
|
+
for (const [k, exp] of this.botOutboundMessageIds.entries()) {
|
|
930
|
+
if (exp <= now)
|
|
931
|
+
this.botOutboundMessageIds.delete(k);
|
|
932
|
+
if (this.botOutboundMessageIds.size <= 3000)
|
|
933
|
+
break;
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* 判断当前消息是否“回复机器人消息”(best-effort)。
|
|
938
|
+
*/
|
|
939
|
+
isReplyToBot(data) {
|
|
940
|
+
const replyAuthor = this.extractAuthorIdentity(data.reply_to_message?.author);
|
|
941
|
+
if (replyAuthor.userId &&
|
|
942
|
+
this.botUserId &&
|
|
943
|
+
replyAuthor.userId === this.botUserId) {
|
|
944
|
+
return true;
|
|
945
|
+
}
|
|
946
|
+
const referenceCandidates = [
|
|
947
|
+
data.reply_to_message?.id,
|
|
948
|
+
data.message_reference?.message_id,
|
|
949
|
+
data.message_reference?.msg_id,
|
|
950
|
+
data.message_reference?.id,
|
|
951
|
+
data.reference?.message_id,
|
|
952
|
+
data.reference?.msg_id,
|
|
953
|
+
data.reference?.id,
|
|
954
|
+
]
|
|
955
|
+
.map((v) => (typeof v === "string" ? v.trim() : ""))
|
|
956
|
+
.filter(Boolean);
|
|
957
|
+
if (referenceCandidates.length === 0)
|
|
958
|
+
return false;
|
|
959
|
+
const now = Date.now();
|
|
960
|
+
for (const refId of referenceCandidates) {
|
|
961
|
+
const exp = this.botOutboundMessageIds.get(refId);
|
|
962
|
+
if (!exp)
|
|
963
|
+
continue;
|
|
964
|
+
if (exp > now)
|
|
965
|
+
return true;
|
|
966
|
+
this.botOutboundMessageIds.delete(refId);
|
|
967
|
+
}
|
|
968
|
+
return false;
|
|
969
|
+
}
|
|
752
970
|
/**
|
|
753
971
|
* QQ 群聊管理员判定(best-effort)。
|
|
754
972
|
*
|
|
@@ -895,6 +1113,22 @@ export class QQBot extends BaseChatAdapter {
|
|
|
895
1113
|
this.logger.error(`发送消息失败: ${response.status} - ${responseText}`);
|
|
896
1114
|
throw new Error(`QQ send failed: HTTP ${response.status}: ${responseText}`);
|
|
897
1115
|
}
|
|
1116
|
+
try {
|
|
1117
|
+
const parsed = JSON.parse(responseText);
|
|
1118
|
+
const outboundMessageId = (typeof parsed.id === "string" && parsed.id.trim()) ||
|
|
1119
|
+
(typeof parsed.message_id === "string" && parsed.message_id.trim()) ||
|
|
1120
|
+
(typeof parsed.msg_id === "string" && parsed.msg_id.trim()) ||
|
|
1121
|
+
(typeof parsed.data?.id === "string" && parsed.data.id.trim()) ||
|
|
1122
|
+
(typeof parsed.data?.message_id === "string" &&
|
|
1123
|
+
parsed.data.message_id.trim()) ||
|
|
1124
|
+
(typeof parsed.data?.msg_id === "string" &&
|
|
1125
|
+
parsed.data.msg_id.trim()) ||
|
|
1126
|
+
"";
|
|
1127
|
+
this.trackBotOutboundMessageId(outboundMessageId);
|
|
1128
|
+
}
|
|
1129
|
+
catch {
|
|
1130
|
+
// ignore parse failure
|
|
1131
|
+
}
|
|
898
1132
|
// 成功也保留一点响应内容,便于排查“返回成功但用户侧不可见”的边界情况
|
|
899
1133
|
this.logger.debug(`消息发送成功: ${response.status}${responseText ? ` - ${responseText}` : ""}`);
|
|
900
1134
|
}
|