重构基线
This commit is contained in:
@@ -82,6 +82,7 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
profile = profileId;
|
||||
}
|
||||
return {
|
||||
schema: String(session && session.schema || '').trim(),
|
||||
id: String(session && session.id || '').trim() || pageAiNewSession().id,
|
||||
title: String(session && session.title || '').trim() || '新会话',
|
||||
agentId: agentId,
|
||||
@@ -97,12 +98,18 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
shareId: String(session && (session.shareId || session.share_id) || '').trim(),
|
||||
acpSessionId: String(session && (session.acpSessionId || session.acp_session_id) || '').trim(),
|
||||
runId: String(session && (session.runId || session.run_id) || '').trim(),
|
||||
boardRunId: String(session && (session.boardRunId || session.board_run_id || session.runId || session.run_id) || '').trim(),
|
||||
workflowId: String(session && (session.workflowId || session.workflow_id) || '').trim(),
|
||||
workerPresetId: String(session && (session.workerPresetId || session.worker_preset_id) || '').trim(),
|
||||
modelOverride: String(session && (session.modelOverride || session.model_override) || '').trim(),
|
||||
receiptId: String(session && (session.receiptId || session.receipt_id) || '').trim(),
|
||||
boardRuns: session && session.boardRuns && typeof session.boardRuns === 'object' ? session.boardRuns : {},
|
||||
status: String(session && session.status || '').trim(),
|
||||
runtimeMode: String(session && (session.runtimeMode || session.runtime_mode) || '').trim(),
|
||||
replaySeen: Boolean(session && session.replaySeen),
|
||||
usage: session && session.usage && typeof session.usage === 'object' ? session.usage : null,
|
||||
preview: String(session && session.preview || '').trim(),
|
||||
messages: Array.isArray(session && session.messages) ? session.messages.slice(-300) : []
|
||||
messages: Array.isArray(session && session.messages) ? session.messages.slice(-300).map(function(message) { return Object.assign({}, message); }) : []
|
||||
};
|
||||
})
|
||||
.sort(function(a, b) {
|
||||
@@ -208,6 +215,15 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
var storageVersion = Number(parsed && parsed.version || 0);
|
||||
if (storageVersion >= sessionStorageVersion && activeAcpRuntime) pageUiState.pageAiAcpRuntime = activeAcpRuntime;
|
||||
if (activeProfile) pageAiSetActiveProfile(activeProfile);
|
||||
var storedSessions = pageAiNormalizeSessions(parsed && parsed.sessions);
|
||||
if (storageVersion >= sessionStorageVersion && storedSessions.length) {
|
||||
pageUiState.pageAiSessions = storedSessions;
|
||||
var activeSessionId = String(parsed && parsed.activeSessionId || '').trim();
|
||||
pageUiState.pageAiActiveSessionId = storedSessions.some(function(session) { return session.id === activeSessionId; }) ? activeSessionId : storedSessions[0].id;
|
||||
var active = pageAiCurrentSession();
|
||||
pageUiState.pageAiMessages = active && Array.isArray(active.messages) ? active.messages.slice() : [];
|
||||
return;
|
||||
}
|
||||
} catch (_) {}
|
||||
var fresh = pageAiNewSession();
|
||||
pageUiState.pageAiSessions = [fresh];
|
||||
@@ -443,15 +459,16 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
}
|
||||
|
||||
function pageAiPersistSessions() {
|
||||
pageAiSyncCurrentSessionMessages();
|
||||
doc.documentElement.setAttribute('data-mnote-page-ai-session-owner', 'hermes');
|
||||
doc.documentElement.setAttribute('data-mnote-page-ai-session-key', pageAiStorageKey());
|
||||
try {
|
||||
pageAiSyncCurrentSessionMessages();
|
||||
win.localStorage.setItem(pageAiStorageKey(), JSON.stringify({
|
||||
version: sessionStorageVersion,
|
||||
activeSessionId: pageUiState.pageAiActiveSessionId,
|
||||
activeProfileName: pageAiCurrentProfile(),
|
||||
activeAcpRuntime: pageUiState.pageAiAcpRuntime || 'reasonix'
|
||||
activeAcpRuntime: pageUiState.pageAiAcpRuntime || 'reasonix',
|
||||
sessions: pageAiNormalizeArray(pageUiState.pageAiSessions).slice(0, 20)
|
||||
}));
|
||||
} catch (_) {}
|
||||
}
|
||||
@@ -603,6 +620,12 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
session.profileId = pageUiState.pageAiAcpRuntime === 'hermes' ? runProfile : '';
|
||||
session.profile = runProfile;
|
||||
session.acpRuntime = pageUiState.pageAiAcpRuntime || 'reasonix';
|
||||
if (String(session.source || '') === 'board') {
|
||||
session.schema = session.schema || 'mnote.page_ai.session.v2';
|
||||
session.workerPresetId = pageUiState.pageAiBoardWorkerId || session.workerPresetId || '';
|
||||
session.workflowId = pageUiState.pageAiBoardWorkflowId || session.workflowId || '';
|
||||
session.modelOverride = pageUiState.pageAiBoardModelOverride || session.modelOverride || '';
|
||||
}
|
||||
session.updatedAt = Date.now();
|
||||
}
|
||||
|
||||
@@ -611,6 +634,14 @@ export function createSidebarPageAiSessionRuntime(context) {
|
||||
if (!session) return;
|
||||
pageUiState.pageAiActiveSessionId = session.id;
|
||||
if (session.agentId) pageUiState.pageAiAgentId = pageAiNormalizeAgentId(session.agentId);
|
||||
if (session.source === 'board') {
|
||||
if (session.workerPresetId) pageUiState.pageAiBoardWorkerId = session.workerPresetId;
|
||||
if (session.workflowId) pageUiState.pageAiBoardWorkflowId = session.workflowId;
|
||||
if (session.modelOverride) pageUiState.pageAiBoardModelOverride = session.modelOverride;
|
||||
if (session.boardRuns && typeof session.boardRuns === 'object') {
|
||||
pageUiState.pageAiBoardRunDetails = Object.assign({}, pageUiState.pageAiBoardRunDetails || {}, session.boardRuns);
|
||||
}
|
||||
}
|
||||
if (session.acpRuntime) pageUiState.pageAiAcpRuntime = session.acpRuntime;
|
||||
if (session.profileId || session.profile) pageAiSetActiveProfile(session.profileId || session.profile);
|
||||
pageUiState.pageAiMessages = Array.isArray(session.messages) ? session.messages.slice() : [];
|
||||
|
||||
Reference in New Issue
Block a user