@yeaft/webchat-agent 0.0.86 → 0.0.88

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.
Files changed (2) hide show
  1. package/crew.js +18 -0
  2. package/package.json +1 -1
package/crew.js CHANGED
@@ -80,11 +80,29 @@ async function upsertCrewIndex(session) {
80
80
 
81
81
  export async function removeFromCrewIndex(sessionId) {
82
82
  const index = await loadCrewIndex();
83
+ const entry = index.find(e => e.sessionId === sessionId);
83
84
  const filtered = index.filter(e => e.sessionId !== sessionId);
84
85
  if (filtered.length !== index.length) {
85
86
  await saveCrewIndex(filtered);
86
87
  console.log(`[Crew] Removed session ${sessionId} from index`);
87
88
  }
89
+ // 从内存中也移除(防止 sendConversationList 重新加入)
90
+ if (crewSessions.has(sessionId)) {
91
+ crewSessions.delete(sessionId);
92
+ console.log(`[Crew] Removed session ${sessionId} from active sessions`);
93
+ }
94
+ // 删除磁盘上的 session 数据文件
95
+ const sharedDir = entry?.sharedDir;
96
+ if (sharedDir) {
97
+ try {
98
+ for (const file of ['session.json', 'messages.json']) {
99
+ await fs.unlink(join(sharedDir, file)).catch(() => {});
100
+ }
101
+ console.log(`[Crew] Cleaned session files in ${sharedDir}`);
102
+ } catch (e) {
103
+ console.warn(`[Crew] Failed to clean session files:`, e.message);
104
+ }
105
+ }
88
106
  }
89
107
 
90
108
  // =====================================================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yeaft/webchat-agent",
3
- "version": "0.0.86",
3
+ "version": "0.0.88",
4
4
  "description": "Remote agent for Yeaft WebChat — connects worker machines to the central server",
5
5
  "main": "index.js",
6
6
  "type": "module",