@yeaft/webchat-agent 0.0.163 → 0.0.164
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/crew.js +11 -2
- package/package.json +1 -1
package/crew.js
CHANGED
|
@@ -325,7 +325,8 @@ async function saveSessionMeta(session) {
|
|
|
325
325
|
agentId: session.agentId || null,
|
|
326
326
|
costUsd: session.costUsd,
|
|
327
327
|
totalInputTokens: session.totalInputTokens,
|
|
328
|
-
totalOutputTokens: session.totalOutputTokens
|
|
328
|
+
totalOutputTokens: session.totalOutputTokens,
|
|
329
|
+
features: Array.from(session.features.values())
|
|
329
330
|
};
|
|
330
331
|
await fs.writeFile(join(session.sharedDir, 'session.json'), JSON.stringify(meta, null, 2));
|
|
331
332
|
// 保存 UI 消息历史(用于恢复时重放)
|
|
@@ -463,6 +464,7 @@ export async function resumeCrewSession(msg) {
|
|
|
463
464
|
humanMessageQueue: [],
|
|
464
465
|
waitingHumanContext: null,
|
|
465
466
|
pendingRoutes: [],
|
|
467
|
+
features: new Map((meta.features || []).map(f => [f.taskId, f])),
|
|
466
468
|
userId: userId || meta.userId,
|
|
467
469
|
username: username || meta.username,
|
|
468
470
|
agentId: meta.agentId || ctx.CONFIG?.agentName || null,
|
|
@@ -607,6 +609,7 @@ export async function createCrewSession(msg) {
|
|
|
607
609
|
humanMessageQueue: [], // 人的消息排队
|
|
608
610
|
waitingHumanContext: null, // { fromRole, reason, message }
|
|
609
611
|
pendingRoutes: [], // [{ fromRole, route }] — 暂停时未完成的路由
|
|
612
|
+
features: new Map(), // taskId → { taskId, taskTitle, createdAt } — 持久化 feature 列表
|
|
610
613
|
userId,
|
|
611
614
|
username,
|
|
612
615
|
agentId: ctx.CONFIG?.agentName || null,
|
|
@@ -2103,6 +2106,11 @@ function sendCrewOutput(session, roleName, outputType, rawMessage, extra = {}) {
|
|
|
2103
2106
|
...extra
|
|
2104
2107
|
});
|
|
2105
2108
|
|
|
2109
|
+
// ★ 累积 feature 到持久化列表
|
|
2110
|
+
if (taskId && taskTitle && !session.features.has(taskId)) {
|
|
2111
|
+
session.features.set(taskId, { taskId, taskTitle, createdAt: Date.now() });
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2106
2114
|
// ★ 记录精简 UI 消息用于恢复(跳过 tool_use/tool_result,只记录可见内容)
|
|
2107
2115
|
if (outputType === 'text') {
|
|
2108
2116
|
const content = rawMessage?.message?.content;
|
|
@@ -2266,7 +2274,8 @@ function sendStatusUpdate(session) {
|
|
|
2266
2274
|
Array.from(session.roleStates.entries())
|
|
2267
2275
|
.filter(([, s]) => s.turnActive && s.currentTool)
|
|
2268
2276
|
.map(([name, s]) => [name, s.currentTool])
|
|
2269
|
-
)
|
|
2277
|
+
),
|
|
2278
|
+
features: Array.from(session.features.values())
|
|
2270
2279
|
});
|
|
2271
2280
|
|
|
2272
2281
|
// 异步更新持久化
|