shipmyagent 1.0.257 → 1.0.258
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/console/ui/TuiApi.d.ts.map +1 -1
- package/bin/console/ui/TuiApi.js +72 -0
- package/bin/console/ui/TuiApi.js.map +1 -1
- package/bin/services/chat/Index.d.ts.map +1 -1
- package/bin/services/chat/Index.js +358 -66
- package/bin/services/chat/Index.js.map +1 -1
- package/bin/services/chat/channels/feishu/Feishu.d.ts.map +1 -1
- package/bin/services/chat/channels/feishu/Feishu.js +101 -0
- package/bin/services/chat/channels/feishu/Feishu.js.map +1 -1
- package/bin/services/chat/channels/qq/QQ.d.ts.map +1 -1
- package/bin/services/chat/channels/qq/QQ.js +108 -0
- package/bin/services/chat/channels/qq/QQ.js.map +1 -1
- package/bin/services/chat/channels/telegram/Bot.d.ts.map +1 -1
- package/bin/services/chat/channels/telegram/Bot.js +73 -0
- package/bin/services/chat/channels/telegram/Bot.js.map +1 -1
- package/bin/services/chat/types/ChannelStatus.d.ts.map +1 -0
- package/bin/services/chat/types/ChannelStatus.js +9 -0
- package/bin/services/chat/types/ChannelStatus.js.map +1 -0
- package/package.json +1 -1
- package/public/app.js +519 -633
- package/public/index.html +78 -55
- package/public/styles.css +281 -422
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TuiApi.d.ts","sourceRoot":"","sources":["../../../src/console/ui/TuiApi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TuiApi.d.ts","sourceRoot":"","sources":["../../../src/console/ui/TuiApi.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAMjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AA8ExE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,IAAI,CAAC;IACV,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,sBAAsB,EAAE,MAAM,cAAc,CAAC;CAC9C,GAAG,IAAI,CA0QP"}
|
package/bin/console/ui/TuiApi.js
CHANGED
|
@@ -8,8 +8,57 @@
|
|
|
8
8
|
import { listServiceRuntimes, runServiceCommand, } from "../../agent/service/Manager.js";
|
|
9
9
|
import { listTaskDefinitions } from "../../services/task/Action.js";
|
|
10
10
|
import { isValidTaskId } from "../../services/task/runtime/Paths.js";
|
|
11
|
+
import { resolveAgentSystemMessages } from "../../agent/prompts/system/SystemDomain.js";
|
|
11
12
|
import { TASK_RUN_DIR_REGEX, decodeMaybe, executeByContextId, listContextSummaries, listTaskRuns, loadContextMessagesFromFile, readRecentLogs, readTaskRunDetail, toLimit, toOptionalString, toUiMessageTimeline, } from "./tui/Helpers.js";
|
|
12
13
|
import { getShipContextMessagesPath } from "../../console/env/Paths.js";
|
|
14
|
+
const LOCAL_UI_CONTEXT_ID = "local_ui";
|
|
15
|
+
function normalizeSystemText(input) {
|
|
16
|
+
return String(input || "").trim();
|
|
17
|
+
}
|
|
18
|
+
function toSystemMessageText(message) {
|
|
19
|
+
const content = message.content;
|
|
20
|
+
if (typeof content === "string")
|
|
21
|
+
return normalizeSystemText(content);
|
|
22
|
+
if (!Array.isArray(content))
|
|
23
|
+
return "";
|
|
24
|
+
const parts = content;
|
|
25
|
+
const texts = [];
|
|
26
|
+
for (const part of parts) {
|
|
27
|
+
if (!part || typeof part !== "object")
|
|
28
|
+
continue;
|
|
29
|
+
const text = normalizeSystemText(String(part.text || ""));
|
|
30
|
+
if (!text)
|
|
31
|
+
continue;
|
|
32
|
+
texts.push(text);
|
|
33
|
+
}
|
|
34
|
+
return texts.join("\n").trim();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 把 Prompter 直接产出的 system messages 转成 UI 可渲染结构。
|
|
38
|
+
*
|
|
39
|
+
* 关键点(中文)
|
|
40
|
+
* - 只做“展示层映射”,不在 UI 层重建 system 业务规则。
|
|
41
|
+
*/
|
|
42
|
+
function toSystemPromptPayload(messages) {
|
|
43
|
+
const items = messages
|
|
44
|
+
.map((message, index) => ({
|
|
45
|
+
index: index + 1,
|
|
46
|
+
content: toSystemMessageText(message),
|
|
47
|
+
}))
|
|
48
|
+
.filter((item) => item.content);
|
|
49
|
+
const totalChars = items.reduce((acc, item) => acc + String(item.content || "").length, 0);
|
|
50
|
+
return {
|
|
51
|
+
sections: [
|
|
52
|
+
{
|
|
53
|
+
key: "resolved",
|
|
54
|
+
title: "Resolved System Messages",
|
|
55
|
+
items,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
totalMessages: items.length,
|
|
59
|
+
totalChars,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
13
62
|
export function registerTuiApiRoutes(params) {
|
|
14
63
|
const app = params.app;
|
|
15
64
|
app.get("/api/tui/overview", async (c) => {
|
|
@@ -105,6 +154,29 @@ export function registerTuiApiRoutes(params) {
|
|
|
105
154
|
return c.json({ success: false, error: String(error) }, 500);
|
|
106
155
|
}
|
|
107
156
|
});
|
|
157
|
+
app.get("/api/tui/system-prompt", async (c) => {
|
|
158
|
+
try {
|
|
159
|
+
const runtime = params.getRuntimeState();
|
|
160
|
+
const contextId = decodeMaybe(String(c.req.query("contextId") || "").trim()) ||
|
|
161
|
+
LOCAL_UI_CONTEXT_ID;
|
|
162
|
+
const systemMessages = await resolveAgentSystemMessages({
|
|
163
|
+
projectRoot: runtime.rootPath,
|
|
164
|
+
contextId,
|
|
165
|
+
requestId: `ui-system-preview-${Date.now()}`,
|
|
166
|
+
profile: "chat",
|
|
167
|
+
staticSystemPrompts: runtime.systems,
|
|
168
|
+
runtime: params.getServiceRuntimeState(),
|
|
169
|
+
});
|
|
170
|
+
return c.json({
|
|
171
|
+
success: true,
|
|
172
|
+
contextId,
|
|
173
|
+
...toSystemPromptPayload(systemMessages),
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
return c.json({ success: false, error: String(error) }, 500);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
108
180
|
app.post("/api/tui/contexts/:contextId/execute", async (c) => {
|
|
109
181
|
try {
|
|
110
182
|
const runtime = params.getRuntimeState();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TuiApi.js","sourceRoot":"","sources":["../../../src/console/ui/TuiApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TuiApi.js","sourceRoot":"","sources":["../../../src/console/ui/TuiApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../../../src/services/chat/Index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,OAAO,KAAK,EACV,OAAO,EAER,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../../../src/services/chat/Index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,OAAO,KAAK,EACV,OAAO,EAER,MAAM,kCAAkC,CAAC;AA28B1C,eAAO,MAAM,WAAW,EAAE,OAmQzB,CAAC"}
|
|
@@ -15,6 +15,7 @@ import { resolveChatMethod } from "./runtime/ChatMethod.js";
|
|
|
15
15
|
import { createTelegramBot } from "./channels/telegram/Bot.js";
|
|
16
16
|
import { createFeishuBot } from "./channels/feishu/Feishu.js";
|
|
17
17
|
import { createQQBot } from "./channels/qq/QQ.js";
|
|
18
|
+
const CHAT_CHANNEL_NAMES = ["telegram", "feishu", "qq"];
|
|
18
19
|
const CHAT_PROMPT_FILE_URL = new URL("./PROMPT.txt", import.meta.url);
|
|
19
20
|
const CHAT_DIRECT_PROMPT_FILE_URL = new URL("./PROMPT.direct.txt", import.meta.url);
|
|
20
21
|
const TELEGRAM_PROMPT_FILE_URL = new URL("./channels/telegram/PROMPT.txt", import.meta.url);
|
|
@@ -107,76 +108,140 @@ function resetChannelState() {
|
|
|
107
108
|
function isPlaceholder(value) {
|
|
108
109
|
return value === "${}";
|
|
109
110
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
function resolveChatChannelNameOrThrow(value) {
|
|
112
|
+
const normalized = String(value || "")
|
|
113
|
+
.trim()
|
|
114
|
+
.toLowerCase();
|
|
115
|
+
if (normalized === "telegram" ||
|
|
116
|
+
normalized === "feishu" ||
|
|
117
|
+
normalized === "qq") {
|
|
118
|
+
return normalized;
|
|
113
119
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
throw new Error(`Invalid channel: ${value}. Use telegram|feishu|qq.`);
|
|
121
|
+
}
|
|
122
|
+
function resolveTelegramToken(context) {
|
|
123
|
+
const token = context.config.services?.chat?.channels?.telegram?.botToken;
|
|
124
|
+
if (token && !isPlaceholder(token))
|
|
125
|
+
return token;
|
|
126
|
+
return "";
|
|
127
|
+
}
|
|
128
|
+
function resolveFeishuCredentials(context) {
|
|
129
|
+
const channel = context.config.services?.chat?.channels?.feishu;
|
|
130
|
+
return {
|
|
131
|
+
appId: (channel?.appId && !isPlaceholder(channel.appId) ? channel.appId : "") ||
|
|
132
|
+
String(process.env.FEISHU_APP_ID || "").trim(),
|
|
133
|
+
appSecret: (channel?.appSecret && !isPlaceholder(channel.appSecret)
|
|
134
|
+
? channel.appSecret
|
|
135
|
+
: "") || String(process.env.FEISHU_APP_SECRET || "").trim(),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function resolveQQCredentials(context) {
|
|
139
|
+
const channel = context.config.services?.chat?.channels?.qq;
|
|
140
|
+
return {
|
|
141
|
+
appId: (channel?.appId && !isPlaceholder(channel.appId) ? channel.appId : "") ||
|
|
142
|
+
String(process.env.QQ_APP_ID || "").trim(),
|
|
143
|
+
appSecret: (channel?.appSecret && !isPlaceholder(channel.appSecret)
|
|
144
|
+
? channel.appSecret
|
|
145
|
+
: "") || String(process.env.QQ_APP_SECRET || "").trim(),
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async function startTelegramChannel(context) {
|
|
149
|
+
if (!context.config.services?.chat?.channels?.telegram?.enabled)
|
|
150
|
+
return;
|
|
151
|
+
context.logger.info("Telegram channel enabled");
|
|
152
|
+
channelState.telegram = createTelegramBot({
|
|
153
|
+
...(context.config.services?.chat?.channels?.telegram || {}),
|
|
154
|
+
enabled: true,
|
|
155
|
+
botToken: resolveTelegramToken(context),
|
|
156
|
+
}, context);
|
|
157
|
+
if (channelState.telegram) {
|
|
158
|
+
await channelState.telegram.start();
|
|
121
159
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
: undefined,
|
|
141
|
-
};
|
|
142
|
-
channelState.feishu = await createFeishuBot(feishuConfig, context);
|
|
143
|
-
if (channelState.feishu) {
|
|
144
|
-
await channelState.feishu.start();
|
|
145
|
-
}
|
|
160
|
+
}
|
|
161
|
+
async function startFeishuChannel(context) {
|
|
162
|
+
if (!context.config.services?.chat?.channels?.feishu?.enabled)
|
|
163
|
+
return;
|
|
164
|
+
context.logger.info("Feishu channel enabled");
|
|
165
|
+
const feishuChannel = context.config.services?.chat?.channels?.feishu;
|
|
166
|
+
const credentials = resolveFeishuCredentials(context);
|
|
167
|
+
channelState.feishu = await createFeishuBot({
|
|
168
|
+
enabled: true,
|
|
169
|
+
appId: credentials.appId,
|
|
170
|
+
appSecret: credentials.appSecret,
|
|
171
|
+
domain: feishuChannel?.domain || "https://open.feishu.cn",
|
|
172
|
+
adminUserIds: Array.isArray(feishuChannel?.adminUserIds)
|
|
173
|
+
? feishuChannel.adminUserIds
|
|
174
|
+
: undefined,
|
|
175
|
+
}, context);
|
|
176
|
+
if (channelState.feishu) {
|
|
177
|
+
await channelState.feishu.start();
|
|
146
178
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
179
|
+
}
|
|
180
|
+
async function startQQChannel(context) {
|
|
181
|
+
if (!context.config.services?.chat?.channels?.qq?.enabled)
|
|
182
|
+
return;
|
|
183
|
+
context.logger.info("QQ channel enabled");
|
|
184
|
+
const qqChannel = context.config.services?.chat?.channels?.qq;
|
|
185
|
+
const envQqGroupAccess = (process.env.QQ_GROUP_ACCESS || "")
|
|
186
|
+
.trim()
|
|
187
|
+
.toLowerCase();
|
|
188
|
+
const qqGroupAccess = qqChannel?.groupAccess === "anyone"
|
|
189
|
+
? "anyone"
|
|
190
|
+
: qqChannel?.groupAccess === "initiator_or_admin"
|
|
191
|
+
? "initiator_or_admin"
|
|
192
|
+
: envQqGroupAccess === "initiator_or_admin"
|
|
155
193
|
? "initiator_or_admin"
|
|
156
|
-
:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
194
|
+
: "anyone";
|
|
195
|
+
const credentials = resolveQQCredentials(context);
|
|
196
|
+
channelState.qq = await createQQBot({
|
|
197
|
+
enabled: true,
|
|
198
|
+
appId: credentials.appId,
|
|
199
|
+
appSecret: credentials.appSecret,
|
|
200
|
+
sandbox: typeof qqChannel?.sandbox === "boolean"
|
|
201
|
+
? qqChannel.sandbox
|
|
202
|
+
: (process.env.QQ_SANDBOX || "").toLowerCase() === "true",
|
|
203
|
+
groupAccess: qqGroupAccess,
|
|
204
|
+
}, context);
|
|
205
|
+
if (channelState.qq) {
|
|
206
|
+
await channelState.qq.start();
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
async function startSingleChatChannel(context, channel) {
|
|
210
|
+
if (channel === "telegram") {
|
|
211
|
+
await startTelegramChannel(context);
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (channel === "feishu") {
|
|
215
|
+
await startFeishuChannel(context);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
await startQQChannel(context);
|
|
219
|
+
}
|
|
220
|
+
async function stopSingleChatChannel(channel) {
|
|
221
|
+
if (channel === "telegram" && channelState.telegram) {
|
|
222
|
+
const bot = channelState.telegram;
|
|
223
|
+
channelState.telegram = null;
|
|
224
|
+
await bot.stop();
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
if (channel === "feishu" && channelState.feishu) {
|
|
228
|
+
const bot = channelState.feishu;
|
|
229
|
+
channelState.feishu = null;
|
|
230
|
+
await bot.stop();
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
if (channel === "qq" && channelState.qq) {
|
|
234
|
+
const bot = channelState.qq;
|
|
235
|
+
channelState.qq = null;
|
|
236
|
+
await bot.stop();
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
async function startChatChannels(context) {
|
|
240
|
+
if (channelState.telegram || channelState.feishu || channelState.qq) {
|
|
241
|
+
await stopChatChannels();
|
|
242
|
+
}
|
|
243
|
+
for (const channel of CHAT_CHANNEL_NAMES) {
|
|
244
|
+
await startSingleChatChannel(context, channel);
|
|
180
245
|
}
|
|
181
246
|
}
|
|
182
247
|
async function stopChatChannels() {
|
|
@@ -192,12 +257,174 @@ async function stopChatChannels() {
|
|
|
192
257
|
await current.qq.stop();
|
|
193
258
|
}
|
|
194
259
|
}
|
|
260
|
+
function resolveTargetChannels(channel) {
|
|
261
|
+
return channel ? [channel] : [...CHAT_CHANNEL_NAMES];
|
|
262
|
+
}
|
|
263
|
+
function getChatChannelStatus(context, channel) {
|
|
264
|
+
const channels = context.config.services?.chat?.channels || {};
|
|
265
|
+
const enabled = channels[channel]?.enabled === true;
|
|
266
|
+
const configured = channel === "telegram"
|
|
267
|
+
? !!resolveTelegramToken(context)
|
|
268
|
+
: channel === "feishu"
|
|
269
|
+
? (() => {
|
|
270
|
+
const c = resolveFeishuCredentials(context);
|
|
271
|
+
return !!c.appId && !!c.appSecret;
|
|
272
|
+
})()
|
|
273
|
+
: (() => {
|
|
274
|
+
const c = resolveQQCredentials(context);
|
|
275
|
+
return !!c.appId && !!c.appSecret;
|
|
276
|
+
})();
|
|
277
|
+
const runtime = channel === "telegram"
|
|
278
|
+
? channelState.telegram?.getRuntimeStatus()
|
|
279
|
+
: channel === "feishu"
|
|
280
|
+
? channelState.feishu?.getRuntimeStatus()
|
|
281
|
+
: channelState.qq?.getRuntimeStatus();
|
|
282
|
+
const linkState = !enabled
|
|
283
|
+
? "disconnected"
|
|
284
|
+
: !configured
|
|
285
|
+
? "disconnected"
|
|
286
|
+
: runtime?.linkState || "unknown";
|
|
287
|
+
const statusText = !enabled
|
|
288
|
+
? "disabled"
|
|
289
|
+
: !configured
|
|
290
|
+
? "config_missing"
|
|
291
|
+
: runtime?.statusText || "not_started";
|
|
292
|
+
return {
|
|
293
|
+
channel,
|
|
294
|
+
enabled,
|
|
295
|
+
configured,
|
|
296
|
+
running: runtime?.running === true,
|
|
297
|
+
linkState,
|
|
298
|
+
statusText,
|
|
299
|
+
detail: {
|
|
300
|
+
...(runtime?.detail || {}),
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
}
|
|
304
|
+
async function executeChatStatusAction(params) {
|
|
305
|
+
const channels = resolveTargetChannels(params.payload.channel);
|
|
306
|
+
const items = channels.map((channel) => getChatChannelStatus(params.context, channel));
|
|
307
|
+
return {
|
|
308
|
+
success: true,
|
|
309
|
+
data: {
|
|
310
|
+
channels: items,
|
|
311
|
+
},
|
|
312
|
+
};
|
|
313
|
+
}
|
|
314
|
+
async function executeChatTestAction(params) {
|
|
315
|
+
const channels = resolveTargetChannels(params.payload.channel);
|
|
316
|
+
const results = [];
|
|
317
|
+
for (const channel of channels) {
|
|
318
|
+
const snapshot = getChatChannelStatus(params.context, channel);
|
|
319
|
+
if (!snapshot.enabled) {
|
|
320
|
+
results.push({
|
|
321
|
+
channel,
|
|
322
|
+
success: false,
|
|
323
|
+
testedAtMs: Date.now(),
|
|
324
|
+
message: "Channel is disabled",
|
|
325
|
+
});
|
|
326
|
+
continue;
|
|
327
|
+
}
|
|
328
|
+
if (!snapshot.configured) {
|
|
329
|
+
results.push({
|
|
330
|
+
channel,
|
|
331
|
+
success: false,
|
|
332
|
+
testedAtMs: Date.now(),
|
|
333
|
+
message: "Channel credentials are missing",
|
|
334
|
+
});
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
const bot = channel === "telegram"
|
|
338
|
+
? channelState.telegram
|
|
339
|
+
: channel === "feishu"
|
|
340
|
+
? channelState.feishu
|
|
341
|
+
: channelState.qq;
|
|
342
|
+
if (!bot) {
|
|
343
|
+
results.push({
|
|
344
|
+
channel,
|
|
345
|
+
success: false,
|
|
346
|
+
testedAtMs: Date.now(),
|
|
347
|
+
message: "Channel is not running. Use reconnect first.",
|
|
348
|
+
});
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
351
|
+
results.push(await bot.testConnection());
|
|
352
|
+
}
|
|
353
|
+
return {
|
|
354
|
+
success: true,
|
|
355
|
+
data: {
|
|
356
|
+
results,
|
|
357
|
+
total: results.length,
|
|
358
|
+
failed: results.filter((item) => !item.success).length,
|
|
359
|
+
},
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
async function executeChatReconnectAction(params) {
|
|
363
|
+
const targets = resolveTargetChannels(params.payload.channel);
|
|
364
|
+
for (const channel of targets) {
|
|
365
|
+
const snapshot = getChatChannelStatus(params.context, channel);
|
|
366
|
+
if (!snapshot.enabled) {
|
|
367
|
+
return {
|
|
368
|
+
success: false,
|
|
369
|
+
error: `Channel ${channel} is disabled`,
|
|
370
|
+
};
|
|
371
|
+
}
|
|
372
|
+
if (!snapshot.configured) {
|
|
373
|
+
return {
|
|
374
|
+
success: false,
|
|
375
|
+
error: `Channel ${channel} credentials are missing`,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
for (const channel of targets) {
|
|
380
|
+
await stopSingleChatChannel(channel);
|
|
381
|
+
}
|
|
382
|
+
for (const channel of targets) {
|
|
383
|
+
await startSingleChatChannel(params.context, channel);
|
|
384
|
+
}
|
|
385
|
+
const channels = targets.map((channel) => getChatChannelStatus(params.context, channel));
|
|
386
|
+
return {
|
|
387
|
+
success: true,
|
|
388
|
+
data: {
|
|
389
|
+
channels,
|
|
390
|
+
},
|
|
391
|
+
};
|
|
392
|
+
}
|
|
195
393
|
function getStringOpt(opts, key) {
|
|
196
394
|
return typeof opts[key] === "string" ? String(opts[key]).trim() : "";
|
|
197
395
|
}
|
|
198
396
|
function getBooleanOpt(opts, key) {
|
|
199
397
|
return opts[key] === true;
|
|
200
398
|
}
|
|
399
|
+
function mapChatChannelCommandInput(input) {
|
|
400
|
+
const channelRaw = getStringOpt(input.opts, "channel");
|
|
401
|
+
if (!channelRaw)
|
|
402
|
+
return {};
|
|
403
|
+
return {
|
|
404
|
+
channel: resolveChatChannelNameOrThrow(channelRaw),
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
function mapChatChannelApiInput(body) {
|
|
408
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
409
|
+
return {};
|
|
410
|
+
}
|
|
411
|
+
const channelRaw = typeof body.channel === "string"
|
|
412
|
+
? String(body.channel).trim()
|
|
413
|
+
: "";
|
|
414
|
+
if (!channelRaw)
|
|
415
|
+
return {};
|
|
416
|
+
return {
|
|
417
|
+
channel: resolveChatChannelNameOrThrow(channelRaw),
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
function mapChatChannelApiQueryInput(query) {
|
|
421
|
+
const channelRaw = String(query?.channel || "").trim();
|
|
422
|
+
if (!channelRaw)
|
|
423
|
+
return {};
|
|
424
|
+
return {
|
|
425
|
+
channel: resolveChatChannelNameOrThrow(channelRaw),
|
|
426
|
+
};
|
|
427
|
+
}
|
|
201
428
|
function parsePositiveIntOptionOrThrow(value, fieldName) {
|
|
202
429
|
const text = String(value || "").trim();
|
|
203
430
|
if (!text) {
|
|
@@ -529,6 +756,71 @@ export const chatService = {
|
|
|
529
756
|
.join("\n\n");
|
|
530
757
|
},
|
|
531
758
|
actions: {
|
|
759
|
+
status: {
|
|
760
|
+
command: {
|
|
761
|
+
description: "查看 chat 渠道连接状态",
|
|
762
|
+
configure(command) {
|
|
763
|
+
command.option("--channel <name>", "指定渠道(telegram|feishu|qq)");
|
|
764
|
+
},
|
|
765
|
+
mapInput: mapChatChannelCommandInput,
|
|
766
|
+
},
|
|
767
|
+
api: {
|
|
768
|
+
method: "GET",
|
|
769
|
+
mapInput(c) {
|
|
770
|
+
return mapChatChannelApiQueryInput({
|
|
771
|
+
channel: c.req.query("channel"),
|
|
772
|
+
});
|
|
773
|
+
},
|
|
774
|
+
},
|
|
775
|
+
async execute(params) {
|
|
776
|
+
return executeChatStatusAction({
|
|
777
|
+
context: params.context,
|
|
778
|
+
payload: params.payload,
|
|
779
|
+
});
|
|
780
|
+
},
|
|
781
|
+
},
|
|
782
|
+
test: {
|
|
783
|
+
command: {
|
|
784
|
+
description: "测试 chat 渠道连通性",
|
|
785
|
+
configure(command) {
|
|
786
|
+
command.option("--channel <name>", "指定渠道(telegram|feishu|qq)");
|
|
787
|
+
},
|
|
788
|
+
mapInput: mapChatChannelCommandInput,
|
|
789
|
+
},
|
|
790
|
+
api: {
|
|
791
|
+
method: "POST",
|
|
792
|
+
async mapInput(c) {
|
|
793
|
+
return mapChatChannelApiInput(await c.req.json().catch(() => ({})));
|
|
794
|
+
},
|
|
795
|
+
},
|
|
796
|
+
async execute(params) {
|
|
797
|
+
return executeChatTestAction({
|
|
798
|
+
context: params.context,
|
|
799
|
+
payload: params.payload,
|
|
800
|
+
});
|
|
801
|
+
},
|
|
802
|
+
},
|
|
803
|
+
reconnect: {
|
|
804
|
+
command: {
|
|
805
|
+
description: "重连 chat 渠道(默认全部)",
|
|
806
|
+
configure(command) {
|
|
807
|
+
command.option("--channel <name>", "指定渠道(telegram|feishu|qq)");
|
|
808
|
+
},
|
|
809
|
+
mapInput: mapChatChannelCommandInput,
|
|
810
|
+
},
|
|
811
|
+
api: {
|
|
812
|
+
method: "POST",
|
|
813
|
+
async mapInput(c) {
|
|
814
|
+
return mapChatChannelApiInput(await c.req.json().catch(() => ({})));
|
|
815
|
+
},
|
|
816
|
+
},
|
|
817
|
+
async execute(params) {
|
|
818
|
+
return executeChatReconnectAction({
|
|
819
|
+
context: params.context,
|
|
820
|
+
payload: params.payload,
|
|
821
|
+
});
|
|
822
|
+
},
|
|
823
|
+
},
|
|
532
824
|
send: {
|
|
533
825
|
command: {
|
|
534
826
|
description: "发送消息到目标 chatKey",
|