@downcity/plugins 1.0.35 → 1.0.39
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/auth/Plugin.js +2 -2
- package/bin/auth/Plugin.js.map +1 -1
- package/bin/chat/accounts/ChannelAccountManager.d.ts +3 -3
- package/bin/chat/accounts/ChannelAccountManager.js +6 -6
- package/bin/chat/accounts/ChannelAccountManager.js.map +1 -1
- package/bin/chat/accounts/Crypto.d.ts +1 -1
- package/bin/chat/accounts/Crypto.js +1 -1
- package/bin/chat/accounts/Store.d.ts +8 -8
- package/bin/chat/accounts/Store.js +13 -13
- package/bin/chat/accounts/Store.js.map +1 -1
- package/bin/chat/channels/feishu/Configuration.d.ts +1 -1
- package/bin/chat/channels/feishu/Configuration.js +5 -5
- package/bin/chat/channels/feishu/Configuration.js.map +1 -1
- package/bin/chat/channels/qq/Configuration.d.ts +1 -1
- package/bin/chat/channels/qq/Configuration.js +5 -5
- package/bin/chat/channels/qq/Configuration.js.map +1 -1
- package/bin/chat/channels/telegram/ApiClient.d.ts +12 -0
- package/bin/chat/channels/telegram/ApiClient.d.ts.map +1 -1
- package/bin/chat/channels/telegram/ApiClient.js +57 -4
- package/bin/chat/channels/telegram/ApiClient.js.map +1 -1
- package/bin/chat/channels/telegram/BotInfo.d.ts +1 -1
- package/bin/chat/channels/telegram/BotInfo.js +1 -1
- package/bin/chat/channels/telegram/Configuration.d.ts +1 -1
- package/bin/chat/channels/telegram/Configuration.js +5 -5
- package/bin/chat/channels/telegram/Configuration.js.map +1 -1
- package/bin/chat/runtime/ChatChannelCore.d.ts +1 -1
- package/bin/chat/runtime/ChatChannelCore.js +1 -1
- package/bin/chat/runtime/ChatChannelLifecycle.js +1 -1
- package/bin/chat/runtime/ChatChannelLifecycle.js.map +1 -1
- package/bin/chat/runtime/ChatPluginSystem.d.ts +2 -2
- package/bin/chat/runtime/ChatPluginSystem.js +1 -1
- package/bin/chat/runtime/ChatPromptAssets.d.ts +1 -1
- package/bin/chat/runtime/ChatPromptAssets.js +1 -1
- package/bin/chat/runtime/ChatQueueWorker.d.ts.map +1 -1
- package/bin/chat/runtime/ChatQueueWorker.js +12 -33
- package/bin/chat/runtime/ChatQueueWorker.js.map +1 -1
- package/bin/chat/types/BotInfo.d.ts +2 -2
- package/bin/chat/types/BotInfo.js +1 -1
- package/bin/chat/types/ChannelAccount.d.ts +12 -12
- package/bin/chat/types/ChannelAccount.js +2 -2
- package/bin/chat/types/ChannelConfiguration.d.ts +2 -2
- package/bin/chat/types/FeishuPost.d.ts +1 -1
- package/bin/chat/types/FeishuPost.js +1 -1
- package/package.json +2 -2
- package/src/auth/Plugin.ts +2 -2
- package/src/chat/accounts/ChannelAccountManager.ts +6 -6
- package/src/chat/accounts/Crypto.ts +1 -1
- package/src/chat/accounts/Store.ts +13 -13
- package/src/chat/channels/feishu/Configuration.ts +5 -5
- package/src/chat/channels/qq/Configuration.ts +5 -5
- package/src/chat/channels/telegram/ApiClient.ts +71 -4
- package/src/chat/channels/telegram/BotInfo.ts +1 -1
- package/src/chat/channels/telegram/Configuration.ts +5 -5
- package/src/chat/runtime/ChatChannelCore.ts +1 -1
- package/src/chat/runtime/ChatChannelLifecycle.ts +1 -1
- package/src/chat/runtime/ChatPluginSystem.ts +2 -2
- package/src/chat/runtime/ChatPromptAssets.ts +1 -1
- package/src/chat/runtime/ChatQueueWorker.ts +12 -39
- package/src/chat/types/BotInfo.ts +2 -2
- package/src/chat/types/ChannelAccount.ts +12 -12
- package/src/chat/types/ChannelConfiguration.ts +2 -3
- package/src/chat/types/FeishuPost.ts +1 -1
package/bin/auth/Plugin.js
CHANGED
|
@@ -48,8 +48,8 @@ function toSnapshotData(snapshot) {
|
|
|
48
48
|
function createChatAuthorizationPluginDefinition() {
|
|
49
49
|
return {
|
|
50
50
|
name: CHAT_AUTHORIZATION_PLUGIN_NAME,
|
|
51
|
-
title: "Chat
|
|
52
|
-
description: "Controls who can talk to the agent
|
|
51
|
+
title: "Chat Access",
|
|
52
|
+
description: "Controls who can talk to the agent through chat platforms, records observed users and chats, and resolves each user's effective role for downstream service decisions.",
|
|
53
53
|
availability() {
|
|
54
54
|
return {
|
|
55
55
|
enabled: true,
|
package/bin/auth/Plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/auth/Plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,oDAAoD,CAAC;AAGhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAO/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,iCAAiC,EACjC,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,yBAAyB,EACzB,oCAAoC,GACrC,MAAM,sCAAsC,CAAC;AAG9C,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,KAAgC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CAAC,OAAgC;IACvD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO;QACL,OAAO;QACP,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;QAC3C,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1F,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAmC;IACzD,OAAO;QACL,OAAO,EAAE,0BAAkD;QAC3D,MAAM,EAAE,QAAQ,CAAC,MAA8B;QAC/C,KAAK,EAAE,QAAQ,CAAC,KAA6B;QAC7C,KAAK,EAAE,QAAQ,CAAC,KAA6B;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,uCAAuC;IAC9C,OAAO;QACL,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/auth/Plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Chat
|
|
2
|
+
* Chat account 管理器。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 统一封装 agent 运行时下 chat
|
|
5
|
+
* - 统一封装 agent 运行时下 chat account 的 CRUD 与探测。
|
|
6
6
|
* - 账号凭据只在写入路径接收明文;列表与读取路径返回脱敏结果。
|
|
7
7
|
* - city / vibecape 等上层产品都应直接复用这个实现,而不是各自维护副本。
|
|
8
8
|
*/
|
|
@@ -13,7 +13,7 @@ import type { ChatChannelAccountCreateInput, ChatChannelAccountListResult, ChatC
|
|
|
13
13
|
export declare class ChatChannelAccountManager {
|
|
14
14
|
constructor();
|
|
15
15
|
/**
|
|
16
|
-
* 生成唯一
|
|
16
|
+
* 生成唯一 chat account id。
|
|
17
17
|
*
|
|
18
18
|
* 关键点(中文)
|
|
19
19
|
* - 账号 id 统一由系统生成,避免用户手填导致冲突或命名不一致。
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Chat
|
|
2
|
+
* Chat account 管理器。
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
|
-
* - 统一封装 agent 运行时下 chat
|
|
5
|
+
* - 统一封装 agent 运行时下 chat account 的 CRUD 与探测。
|
|
6
6
|
* - 账号凭据只在写入路径接收明文;列表与读取路径返回脱敏结果。
|
|
7
7
|
* - city / vibecape 等上层产品都应直接复用这个实现,而不是各自维护副本。
|
|
8
8
|
*/
|
|
@@ -57,7 +57,7 @@ function pickFirstNonEmpty(inputs) {
|
|
|
57
57
|
export class ChatChannelAccountManager {
|
|
58
58
|
constructor() { }
|
|
59
59
|
/**
|
|
60
|
-
* 生成唯一
|
|
60
|
+
* 生成唯一 chat account id。
|
|
61
61
|
*
|
|
62
62
|
* 关键点(中文)
|
|
63
63
|
* - 账号 id 统一由系统生成,避免用户手填导致冲突或命名不一致。
|
|
@@ -177,10 +177,10 @@ export class ChatChannelAccountManager {
|
|
|
177
177
|
async upsert(input) {
|
|
178
178
|
const id = String(input.id || "").trim();
|
|
179
179
|
if (!id)
|
|
180
|
-
throw new Error("
|
|
180
|
+
throw new Error("chat account id cannot be empty");
|
|
181
181
|
const name = String(input.name || "").trim();
|
|
182
182
|
if (!name)
|
|
183
|
-
throw new Error("
|
|
183
|
+
throw new Error("chat account name cannot be empty");
|
|
184
184
|
const channel = normalizeChannelAccountChannel(input.channel);
|
|
185
185
|
if (input.botToken !== undefined && input.clearBotToken === true) {
|
|
186
186
|
throw new Error("botToken and clearBotToken cannot be used together");
|
|
@@ -237,7 +237,7 @@ export class ChatChannelAccountManager {
|
|
|
237
237
|
async remove(idInput) {
|
|
238
238
|
const id = String(idInput || "").trim();
|
|
239
239
|
if (!id)
|
|
240
|
-
throw new Error("
|
|
240
|
+
throw new Error("chat account id cannot be empty");
|
|
241
241
|
await removeStoredChannelAccount(id);
|
|
242
242
|
}
|
|
243
243
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelAccountManager.js","sourceRoot":"","sources":["../../../src/chat/accounts/ChannelAccountManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChannelAccountManager.js","sourceRoot":"","sources":["../../../src/chat/accounts/ChannelAccountManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Chat account 默认存储实现。
|
|
3
3
|
*
|
|
4
4
|
* 职责说明(中文)
|
|
5
|
-
* - 提供 `chat` plugin 默认使用的全局
|
|
5
|
+
* - 提供 `chat` plugin 默认使用的全局 chat account 读写能力。
|
|
6
6
|
* - 默认直接操作 `~/.downcity/downcity.db` 里的 `channel_accounts` 表。
|
|
7
7
|
* - 对 `city` 而言,这里也是统一的默认账号池实现来源。
|
|
8
8
|
*
|
|
9
9
|
* 边界说明(中文)
|
|
10
|
-
* - 这里只负责
|
|
10
|
+
* - 这里只负责 chat account 这一个表,不扩展成通用平台数据库门面。
|
|
11
11
|
* - 模型池、env、其他平台级配置仍由各自模块独立管理。
|
|
12
12
|
*/
|
|
13
13
|
import type { StoredChannelAccount, StoredChannelAccountChannel, UpsertChannelAccountInput } from "@downcity/agent/internal/types/platform/Store.js";
|
|
14
14
|
/**
|
|
15
|
-
* 规范化
|
|
15
|
+
* 规范化 chat platform 类型。
|
|
16
16
|
*/
|
|
17
17
|
export declare function normalizeChannelAccountChannel(input: string): StoredChannelAccountChannel;
|
|
18
18
|
/**
|
|
19
|
-
* 同步列出全部
|
|
19
|
+
* 同步列出全部 chat account。
|
|
20
20
|
*/
|
|
21
21
|
export declare function listStoredChannelAccountsSync(channelInput?: string): StoredChannelAccount[];
|
|
22
22
|
/**
|
|
23
|
-
* 同步按 ID 读取单个
|
|
23
|
+
* 同步按 ID 读取单个 chat account。
|
|
24
24
|
*/
|
|
25
25
|
export declare function getStoredChannelAccountSync(accountIdInput: string): StoredChannelAccount | null;
|
|
26
26
|
/**
|
|
27
|
-
* 新增或更新
|
|
27
|
+
* 新增或更新 chat account。
|
|
28
28
|
*
|
|
29
29
|
* 关键点(中文)
|
|
30
30
|
* - 这里保留和现有平台库一致的落盘结构,避免默认实现切换后出现数据断层。
|
|
@@ -32,7 +32,7 @@ export declare function getStoredChannelAccountSync(accountIdInput: string): Sto
|
|
|
32
32
|
*/
|
|
33
33
|
export declare function upsertStoredChannelAccount(input: UpsertChannelAccountInput): Promise<void>;
|
|
34
34
|
/**
|
|
35
|
-
* 删除单个
|
|
35
|
+
* 删除单个 chat account。
|
|
36
36
|
*/
|
|
37
37
|
export declare function removeStoredChannelAccount(accountIdInput: string): Promise<void>;
|
|
38
38
|
//# sourceMappingURL=Store.d.ts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Chat account 默认存储实现。
|
|
3
3
|
*
|
|
4
4
|
* 职责说明(中文)
|
|
5
|
-
* - 提供 `chat` plugin 默认使用的全局
|
|
5
|
+
* - 提供 `chat` plugin 默认使用的全局 chat account 读写能力。
|
|
6
6
|
* - 默认直接操作 `~/.downcity/downcity.db` 里的 `channel_accounts` 表。
|
|
7
7
|
* - 对 `city` 而言,这里也是统一的默认账号池实现来源。
|
|
8
8
|
*
|
|
9
9
|
* 边界说明(中文)
|
|
10
|
-
* - 这里只负责
|
|
10
|
+
* - 这里只负责 chat account 这一个表,不扩展成通用平台数据库门面。
|
|
11
11
|
* - 模型池、env、其他平台级配置仍由各自模块独立管理。
|
|
12
12
|
*/
|
|
13
13
|
import Database from "better-sqlite3";
|
|
@@ -30,14 +30,14 @@ function optionalTrimmedText(value) {
|
|
|
30
30
|
return normalized || undefined;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
|
-
* 规范化
|
|
33
|
+
* 规范化 chat platform 类型。
|
|
34
34
|
*/
|
|
35
35
|
export function normalizeChannelAccountChannel(input) {
|
|
36
36
|
const channel = String(input || "").trim().toLowerCase();
|
|
37
37
|
if (channel === "telegram" || channel === "feishu" || channel === "qq") {
|
|
38
38
|
return channel;
|
|
39
39
|
}
|
|
40
|
-
throw new Error(`Unsupported
|
|
40
|
+
throw new Error(`Unsupported chat account platform: ${input}`);
|
|
41
41
|
}
|
|
42
42
|
function ensureChannelAccountSchema(database) {
|
|
43
43
|
database.exec(`
|
|
@@ -109,7 +109,7 @@ function buildChannelAccountFromRow(row) {
|
|
|
109
109
|
};
|
|
110
110
|
}
|
|
111
111
|
/**
|
|
112
|
-
* 同步列出全部
|
|
112
|
+
* 同步列出全部 chat account。
|
|
113
113
|
*/
|
|
114
114
|
export function listStoredChannelAccountsSync(channelInput) {
|
|
115
115
|
return withChannelAccountDb((database) => {
|
|
@@ -142,10 +142,10 @@ export function listStoredChannelAccountsSync(channelInput) {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
|
-
* 同步按 ID 读取单个
|
|
145
|
+
* 同步按 ID 读取单个 chat account。
|
|
146
146
|
*/
|
|
147
147
|
export function getStoredChannelAccountSync(accountIdInput) {
|
|
148
|
-
const accountId = normalizeNonEmptyText(accountIdInput, "
|
|
148
|
+
const accountId = normalizeNonEmptyText(accountIdInput, "chat account id");
|
|
149
149
|
return withChannelAccountDb((database) => {
|
|
150
150
|
const row = database.prepare(`
|
|
151
151
|
SELECT
|
|
@@ -160,16 +160,16 @@ export function getStoredChannelAccountSync(accountIdInput) {
|
|
|
160
160
|
});
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
|
-
* 新增或更新
|
|
163
|
+
* 新增或更新 chat account。
|
|
164
164
|
*
|
|
165
165
|
* 关键点(中文)
|
|
166
166
|
* - 这里保留和现有平台库一致的落盘结构,避免默认实现切换后出现数据断层。
|
|
167
167
|
* - 未显式传入的敏感字段会保留旧值,便于 CLI 局部更新。
|
|
168
168
|
*/
|
|
169
169
|
export async function upsertStoredChannelAccount(input) {
|
|
170
|
-
const id = normalizeNonEmptyText(input.id, "
|
|
170
|
+
const id = normalizeNonEmptyText(input.id, "chat account id");
|
|
171
171
|
const channel = normalizeChannelAccountChannel(input.channel);
|
|
172
|
-
const name = normalizeNonEmptyText(input.name, "
|
|
172
|
+
const name = normalizeNonEmptyText(input.name, "chat account name");
|
|
173
173
|
const existing = getStoredChannelAccountSync(id);
|
|
174
174
|
const createdAt = existing?.createdAt || nowIso();
|
|
175
175
|
const updatedAt = nowIso();
|
|
@@ -209,10 +209,10 @@ export async function upsertStoredChannelAccount(input) {
|
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
/**
|
|
212
|
-
* 删除单个
|
|
212
|
+
* 删除单个 chat account。
|
|
213
213
|
*/
|
|
214
214
|
export async function removeStoredChannelAccount(accountIdInput) {
|
|
215
|
-
const accountId = normalizeNonEmptyText(accountIdInput, "
|
|
215
|
+
const accountId = normalizeNonEmptyText(accountIdInput, "chat account id");
|
|
216
216
|
withChannelAccountDb((database) => {
|
|
217
217
|
database.prepare("DELETE FROM channel_accounts WHERE id = ?;").run(accountId);
|
|
218
218
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/chat/accounts/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO/D,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,SAAiB;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/chat/accounts/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO/D,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa,EAAE,SAAiB;IAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAyB;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,OAAO,UAAU,IAAI,SAAS,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACvE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA2B;IAC7D,QAAQ,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;GAgBb,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC;;;GAGb,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,QAAQ;SAClB,OAAO,CAAC,qCAAqC,CAAC;SAC9C,GAAG,EAA+B,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACjE,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAI,QAA4C;IAC3E,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACtC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,GAA4B;IAE5B,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,iBAAiB,GACrB,OAAO,GAAG,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7E,MAAM,cAAc,GAClB,OAAO,GAAG,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,MAAM,kBAAkB,GACtB,OAAO,GAAG,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,OAAO;QACL,EAAE;QACF,OAAO,EAAE,8BAA8B,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;QACzC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QACzD,KAAK,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACvD,QAAQ,EAAE,mBAAmB,CAC3B,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,SAAS,CACnE;QACD,KAAK,EAAE,mBAAmB,CACxB,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAC7D;QACD,SAAS,EAAE,mBAAmB,CAC5B,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,SAAS,CACrE;QACD,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;QACvC,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,YAAqB;IAErB,OAAO,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,MAAM,YAAY,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,YAAY;YACvB,CAAC,CAAC,QAAQ,CAAC,OAAO,CACd;;;;;;;;WAQC,CACF,CAAC,GAAG,CAAC,YAAY,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,OAAO,CACd;;;;;;;WAOC,CACF,CAAC,GAAG,EAAE,CAAC;QAEZ,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAsC,EAAE,CAAC;YACzD,MAAM,IAAI,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,cAAsB;IAEtB,MAAM,SAAS,GAAG,qBAAqB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC3E,OAAO,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAC1B;;;;;;;;OAQC,CACF,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;QACxD,OAAO,GAAG,CAAC,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,KAAgC;IAEhC,MAAM,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,8BAA8B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,2BAA2B,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC;IAClD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;IAE3B,MAAM,YAAY,GAChB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC;QACrD,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACzB,MAAM,SAAS,GACb,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC;QAClD,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC;QAClC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;IACtB,MAAM,aAAa,GACjB,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC;QACtD,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC;IAE1B,MAAM,iBAAiB,GAAG,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrE,MAAM,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjF,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,QAAQ,CAAC,OAAO,CACd;;;;;;;;;;;;;;;;;;;OAmBC,CACF,CAAC,GAAG,CACH,EAAE,EACF,OAAO,EACP,IAAI,EACJ,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAC3C,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EACxC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,EAC1C,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,EACzC,KAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC9B,SAAS,EACT,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,cAAsB;IAEtB,MAAM,SAAS,GAAG,qBAAqB,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC3E,oBAAoB,CAAC,CAAC,QAAQ,EAAE,EAAE;QAChC,QAAQ,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - ship 层只保留绑定字段。
|
|
6
|
-
* - appId/appSecret/domain 由
|
|
6
|
+
* - appId/appSecret/domain 由 chat account 维护。
|
|
7
7
|
*/
|
|
8
8
|
import { ChatChannelConfiguration } from "../../../chat/channels/Configuration.js";
|
|
9
9
|
import type { ChatChannelConfigurationDescriptor } from "../../../chat/types/ChannelConfiguration.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - ship 层只保留绑定字段。
|
|
6
|
-
* - appId/appSecret/domain 由
|
|
6
|
+
* - appId/appSecret/domain 由 chat account 维护。
|
|
7
7
|
*/
|
|
8
8
|
import { ChatChannelConfiguration } from "../../../chat/channels/Configuration.js";
|
|
9
9
|
/**
|
|
@@ -14,8 +14,8 @@ export class FeishuChannelConfiguration extends ChatChannelConfiguration {
|
|
|
14
14
|
describe() {
|
|
15
15
|
return {
|
|
16
16
|
channel: this.channel,
|
|
17
|
-
title: "Feishu
|
|
18
|
-
description: "Bind a Feishu/Lark
|
|
17
|
+
title: "Feishu Chat Platform Configuration",
|
|
18
|
+
description: "Bind a Feishu/Lark chat account and control runtime enable/disable state.",
|
|
19
19
|
version: "1.0.0",
|
|
20
20
|
capabilities: {
|
|
21
21
|
canToggleEnabled: true,
|
|
@@ -39,8 +39,8 @@ export class FeishuChannelConfiguration extends ChatChannelConfiguration {
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
key: "channelAccountId",
|
|
42
|
-
label: "
|
|
43
|
-
description: "Bind
|
|
42
|
+
label: "Chat Account ID",
|
|
43
|
+
description: "Bind this chat platform to a chat account row in ~/.downcity/downcity.db channel_accounts.",
|
|
44
44
|
type: "string",
|
|
45
45
|
source: "ship_json",
|
|
46
46
|
required: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../src/chat/channels/feishu/Configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,wBAAwB;IAC7D,OAAO,GAAG,QAAiB,CAAC;IAErC,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../src/chat/channels/feishu/Configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,OAAO,0BAA2B,SAAQ,wBAAwB;IAC7D,OAAO,GAAG,QAAiB,CAAC;IAErC,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,oCAAoC;YAC3C,WAAW,EACT,2EAA2E;YAC7E,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;aACnB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ;wBACE,GAAG,EAAE,SAAS;wBACd,KAAK,EAAE,SAAS;wBAChB,WAAW,EACT,sDAAsD;wBACxD,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE,IAAI;qBACd;oBACD;wBACE,GAAG,EAAE,kBAAkB;wBACvB,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EACT,4FAA4F;wBAC9F,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,IAAI;wBACrB,OAAO,EAAE,aAAa;qBACvB;iBACF;gBACD,cAAc,EAAE,EAAE;gBAClB,WAAW,EAAE,EAAE;aAChB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - ship 层只保留 `enabled` 与 `channelAccountId`。
|
|
6
|
-
* - QQ 专属参数(sandbox 等)在
|
|
6
|
+
* - QQ 专属参数(sandbox 等)在 chat account 中维护。
|
|
7
7
|
*/
|
|
8
8
|
import { ChatChannelConfiguration } from "../../../chat/channels/Configuration.js";
|
|
9
9
|
import type { ChatChannelConfigurationDescriptor } from "../../../chat/types/ChannelConfiguration.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* 关键点(中文)
|
|
5
5
|
* - ship 层只保留 `enabled` 与 `channelAccountId`。
|
|
6
|
-
* - QQ 专属参数(sandbox 等)在
|
|
6
|
+
* - QQ 专属参数(sandbox 等)在 chat account 中维护。
|
|
7
7
|
*/
|
|
8
8
|
import { ChatChannelConfiguration } from "../../../chat/channels/Configuration.js";
|
|
9
9
|
/**
|
|
@@ -14,8 +14,8 @@ export class QqChannelConfiguration extends ChatChannelConfiguration {
|
|
|
14
14
|
describe() {
|
|
15
15
|
return {
|
|
16
16
|
channel: this.channel,
|
|
17
|
-
title: "QQ
|
|
18
|
-
description: "Bind a QQ
|
|
17
|
+
title: "QQ Chat Platform Configuration",
|
|
18
|
+
description: "Bind a QQ chat account and control runtime enable/disable state.",
|
|
19
19
|
version: "1.0.0",
|
|
20
20
|
capabilities: {
|
|
21
21
|
canToggleEnabled: true,
|
|
@@ -39,8 +39,8 @@ export class QqChannelConfiguration extends ChatChannelConfiguration {
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
key: "channelAccountId",
|
|
42
|
-
label: "
|
|
43
|
-
description: "Bind
|
|
42
|
+
label: "Chat Account ID",
|
|
43
|
+
description: "Bind this chat platform to a chat account row in ~/.downcity/downcity.db channel_accounts.",
|
|
44
44
|
type: "string",
|
|
45
45
|
source: "ship_json",
|
|
46
46
|
required: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../src/chat/channels/qq/Configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IACzD,OAAO,GAAG,IAAa,CAAC;IAEjC,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Configuration.js","sourceRoot":"","sources":["../../../../src/chat/channels/qq/Configuration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,wBAAwB;IACzD,OAAO,GAAG,IAAa,CAAC;IAEjC,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,gCAAgC;YACvC,WAAW,EACT,kEAAkE;YACpE,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE;gBACZ,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,IAAI;gBAC3B,YAAY,EAAE,IAAI;aACnB;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBACJ;wBACE,GAAG,EAAE,SAAS;wBACd,KAAK,EAAE,SAAS;wBAChB,WAAW,EAAE,kDAAkD;wBAC/D,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,KAAK;wBACnB,OAAO,EAAE,IAAI;qBACd;oBACD;wBACE,GAAG,EAAE,kBAAkB;wBACvB,KAAK,EAAE,iBAAiB;wBACxB,WAAW,EACT,4FAA4F;wBAC9F,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,KAAK;wBACf,QAAQ,EAAE,IAAI;wBACd,QAAQ,EAAE,IAAI;wBACd,eAAe,EAAE,IAAI;wBACrB,OAAO,EAAE,SAAS;qBACnB;iBACF;gBACD,cAAc,EAAE,EAAE;gBAClB,WAAW,EAAE,EAAE;aAChB;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -42,6 +42,18 @@ export declare class TelegramApiClient {
|
|
|
42
42
|
* - 与 requestJson 采用同一套错误归一化策略
|
|
43
43
|
*/
|
|
44
44
|
requestForm<T>(method: string, form: FormData): Promise<T>;
|
|
45
|
+
/**
|
|
46
|
+
* 发送类 JSON 请求的短重试。
|
|
47
|
+
*
|
|
48
|
+
* 关键点(中文)
|
|
49
|
+
* - 只重试网络抖动 / Telegram 5xx 这类瞬时失败。
|
|
50
|
+
* - 不重试 Telegram 4xx,避免 Markdown 参数错误、权限错误等被重复打扰。
|
|
51
|
+
*/
|
|
52
|
+
private requestSendJson;
|
|
53
|
+
/**
|
|
54
|
+
* 判断发送失败是否适合短重试。
|
|
55
|
+
*/
|
|
56
|
+
private isRetryableSendError;
|
|
45
57
|
/**
|
|
46
58
|
* 下载 Telegram 文件并保存到 `.downcity/.cache/telegram`。
|
|
47
59
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../../src/chat/channels/telegram/ApiClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"ApiClient.d.ts","sourceRoot":"","sources":["../../../../src/chat/channels/telegram/ApiClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAiBzE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAM3E;;;;;;OAMG;IACG,WAAW,CAAC,CAAC,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,CAAC,CAAC;IAwBb;;;;;;OAMG;IACG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBhE;;;;;;OAMG;YACW,eAAe;IAmC7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;;;;;OAMG;IACG,oBAAoB,CACxB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC;IAiClB;;;;;;OAMG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7D,OAAO,CAAC,IAAI,CAAC;IAkEV,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,EACvD,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;;OAMG;IACG,cAAc,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,QAAQ,EAChB,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,GAClC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GACzC,OAAO,CAAC,IAAI,CAAC;YAaF,cAAc;IA8D5B;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;CAUlC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import fs from "fs-extra";
|
|
3
3
|
import { guessMimeType, parseTelegramAttachments, sanitizeChatText, splitTelegramMessage, } from "./Shared.js";
|
|
4
|
+
const TELEGRAM_SEND_MAX_ATTEMPTS = 3;
|
|
5
|
+
const TELEGRAM_SEND_RETRY_DELAYS_MS = [1_000, 3_000];
|
|
6
|
+
function sleep(ms) {
|
|
7
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* Telegram API 客户端。
|
|
6
11
|
*
|
|
@@ -79,6 +84,48 @@ export class TelegramApiClient {
|
|
|
79
84
|
}
|
|
80
85
|
return payload.result;
|
|
81
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* 发送类 JSON 请求的短重试。
|
|
89
|
+
*
|
|
90
|
+
* 关键点(中文)
|
|
91
|
+
* - 只重试网络抖动 / Telegram 5xx 这类瞬时失败。
|
|
92
|
+
* - 不重试 Telegram 4xx,避免 Markdown 参数错误、权限错误等被重复打扰。
|
|
93
|
+
*/
|
|
94
|
+
async requestSendJson(method, data) {
|
|
95
|
+
let lastError;
|
|
96
|
+
for (let attempt = 0; attempt < TELEGRAM_SEND_MAX_ATTEMPTS; attempt += 1) {
|
|
97
|
+
try {
|
|
98
|
+
return await this.requestJson(method, data);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
lastError = error;
|
|
102
|
+
if (attempt >= TELEGRAM_SEND_MAX_ATTEMPTS - 1 ||
|
|
103
|
+
!this.isRetryableSendError(error)) {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
const delayMs = TELEGRAM_SEND_RETRY_DELAYS_MS[attempt] ||
|
|
107
|
+
TELEGRAM_SEND_RETRY_DELAYS_MS[TELEGRAM_SEND_RETRY_DELAYS_MS.length - 1];
|
|
108
|
+
this.logger.warn("Telegram send failed, retrying", {
|
|
109
|
+
method,
|
|
110
|
+
attempt: attempt + 1,
|
|
111
|
+
retryInMs: delayMs,
|
|
112
|
+
error: String(error),
|
|
113
|
+
});
|
|
114
|
+
await sleep(delayMs);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
throw lastError;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* 判断发送失败是否适合短重试。
|
|
121
|
+
*/
|
|
122
|
+
isRetryableSendError(error) {
|
|
123
|
+
const text = String(error || "");
|
|
124
|
+
if (/Telegram API (HTTP|error)\s+4\d\d/i.test(text)) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
return /fetch failed|network|TLS|ECONN|ETIMEDOUT|EAI_AGAIN|UND_ERR|HTTP\s+5\d\d/i.test(text);
|
|
128
|
+
}
|
|
82
129
|
/**
|
|
83
130
|
* 下载 Telegram 文件并保存到 `.downcity/.cache/telegram`。
|
|
84
131
|
*
|
|
@@ -135,7 +182,7 @@ export class TelegramApiClient {
|
|
|
135
182
|
if (!chunk)
|
|
136
183
|
continue;
|
|
137
184
|
try {
|
|
138
|
-
await this.
|
|
185
|
+
await this.requestSendJson("sendMessage", {
|
|
139
186
|
chat_id: chatId,
|
|
140
187
|
text: chunk,
|
|
141
188
|
parse_mode: "Markdown",
|
|
@@ -146,7 +193,7 @@ export class TelegramApiClient {
|
|
|
146
193
|
catch {
|
|
147
194
|
// Fallback to plain text (Markdown is strict and often fails)
|
|
148
195
|
try {
|
|
149
|
-
await this.
|
|
196
|
+
await this.requestSendJson("sendMessage", {
|
|
150
197
|
chat_id: chatId,
|
|
151
198
|
text: chunk,
|
|
152
199
|
...(message_thread_id ? { message_thread_id } : {}),
|
|
@@ -155,6 +202,8 @@ export class TelegramApiClient {
|
|
|
155
202
|
}
|
|
156
203
|
catch (error2) {
|
|
157
204
|
this.logger.error(`Failed to send message: ${String(error2)}`);
|
|
205
|
+
// 关键点(中文):平台发送失败必须向上冒泡,避免 history 误记为已发送。
|
|
206
|
+
throw error2;
|
|
158
207
|
}
|
|
159
208
|
}
|
|
160
209
|
}
|
|
@@ -168,7 +217,7 @@ export class TelegramApiClient {
|
|
|
168
217
|
}
|
|
169
218
|
catch (e) {
|
|
170
219
|
try {
|
|
171
|
-
await this.
|
|
220
|
+
await this.requestSendJson("sendMessage", {
|
|
172
221
|
chat_id: chatId,
|
|
173
222
|
text: `❌ Failed to send ${segment.attachment.type}: ${String(e)}`,
|
|
174
223
|
...(message_thread_id ? { message_thread_id } : {}),
|
|
@@ -177,6 +226,8 @@ export class TelegramApiClient {
|
|
|
177
226
|
}
|
|
178
227
|
catch (e2) {
|
|
179
228
|
this.logger.error(`Failed to send attachment error message: ${String(e2)}`);
|
|
229
|
+
// 关键点(中文):附件和错误提示都发送失败时,上层必须感知失败。
|
|
230
|
+
throw e2;
|
|
180
231
|
}
|
|
181
232
|
}
|
|
182
233
|
}
|
|
@@ -186,7 +237,7 @@ export class TelegramApiClient {
|
|
|
186
237
|
? opts.messageThreadId
|
|
187
238
|
: undefined;
|
|
188
239
|
try {
|
|
189
|
-
await this.
|
|
240
|
+
await this.requestSendJson("sendMessage", {
|
|
190
241
|
chat_id: chatId,
|
|
191
242
|
text,
|
|
192
243
|
...(message_thread_id ? { message_thread_id } : {}),
|
|
@@ -199,6 +250,8 @@ export class TelegramApiClient {
|
|
|
199
250
|
}
|
|
200
251
|
catch (error) {
|
|
201
252
|
this.logger.error(`Failed to send message: ${String(error)}`);
|
|
253
|
+
// 关键点(中文):inline keyboard 发送失败也要返回失败状态给调用方。
|
|
254
|
+
throw error;
|
|
202
255
|
}
|
|
203
256
|
}
|
|
204
257
|
/**
|