@wu529778790/open-im 1.10.9-beta.10 → 1.10.9-beta.11
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.
|
@@ -382,30 +382,29 @@ async function getOrCreateSession(sessionId, workDir, model, permissionMode, onS
|
|
|
382
382
|
if (!sessionId) {
|
|
383
383
|
const latest = findLatestClaudeSession(workDir);
|
|
384
384
|
if (latest) {
|
|
385
|
-
//
|
|
386
|
-
|
|
387
|
-
|
|
385
|
+
// 检测 CLI 是否正在使用该 session(用于日志,不阻止 resume)
|
|
386
|
+
const cliActive = isCliSessionActive(latest.sessionId, latest.filePath);
|
|
387
|
+
if (cliActive) {
|
|
388
|
+
log.info(`CLI is actively using session ${latest.sessionId}, attempting resume anyway (SDK handles concurrency)`);
|
|
388
389
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
return { session, sessionId: latest.sessionId };
|
|
400
|
-
}
|
|
401
|
-
catch (err) {
|
|
402
|
-
log.warn(`Failed to auto-resume CLI session ${latest.sessionId}, skipping auto-resume: ${err}`);
|
|
403
|
-
}
|
|
390
|
+
// 验证文件内容一致性
|
|
391
|
+
if (validateSessionFile(latest.filePath, latest.sessionId)) {
|
|
392
|
+
try {
|
|
393
|
+
log.info(`Auto-resuming latest CLI session: ${latest.sessionId}${cliActive ? ' (CLI active)' : ''}`);
|
|
394
|
+
session = unstable_v2_resumeSession(latest.sessionId, sessionOptions);
|
|
395
|
+
activeSessions.set(latest.sessionId, session);
|
|
396
|
+
sessionWorkDirs.set(latest.sessionId, workDir);
|
|
397
|
+
sessionLastUsed.set(latest.sessionId, Date.now());
|
|
398
|
+
log.info(`Successfully auto-resumed CLI session: ${latest.sessionId}`);
|
|
399
|
+
return { session, sessionId: latest.sessionId };
|
|
404
400
|
}
|
|
405
|
-
|
|
406
|
-
log.warn(`
|
|
401
|
+
catch (err) {
|
|
402
|
+
log.warn(`Failed to auto-resume CLI session ${latest.sessionId}, creating new one: ${err}`);
|
|
407
403
|
}
|
|
408
404
|
}
|
|
405
|
+
else {
|
|
406
|
+
log.warn(`Session file validation failed for ${latest.sessionId}, skipping`);
|
|
407
|
+
}
|
|
409
408
|
}
|
|
410
409
|
}
|
|
411
410
|
// 创建新会话
|