收口 Makelore 客户端变更
Some checks failed
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled

This commit is contained in:
inman
2026-08-12 22:35:06 +08:00
parent 253bad8b40
commit f4113a872f
232 changed files with 4617 additions and 20121 deletions

View File

@@ -1,13 +0,0 @@
export type DevicePreviewState = 'not_deployed' | 'building' | 'ready' | 'unavailable';
export type DevicePreviewSnapshot = {
state: DevicePreviewState;
projectId: string;
message: string;
appId?: string;
versionId?: string;
versionName?: string;
reviewStatus?: string;
launchUrl?: string;
updatedAt?: string;
};

View File

@@ -37,7 +37,6 @@ export type ProjectConfig = {
schemaVersion: 1;
projectType: ProjectType;
initialized: boolean;
superpowersEnabled: boolean;
defaultModel: string | null;
agents: ProjectAgentConfig[];
knowledgeDirectory: 'knowledge';
@@ -53,7 +52,6 @@ export function createProjectConfig(
schemaVersion: 1,
projectType,
initialized: false,
superpowersEnabled: false,
defaultModel: null,
agents: [],
knowledgeDirectory: 'knowledge',

View File

@@ -105,6 +105,25 @@ export function patchProjectSessionMetadata(
return { schemaVersion: 1, sessions, updatedAt: now };
}
/**
* Reading a session changes its unread state, not its activity timestamp.
* Keeping those concerns separate prevents a navigation click from moving an
* Agent in a list that is ordered by the latest conversation activity.
*/
export function markProjectSessionRead(
state: ProjectConversationState,
sessionId: string,
now = new Date().toISOString(),
): ProjectConversationState {
return {
schemaVersion: 1,
sessions: state.sessions.map((item) => item.sessionId === sessionId
? { ...item, unreadCount: 0 }
: item),
updatedAt: now,
};
}
export function removeProjectSessionMetadata(
state: ProjectConversationState,
sessionId: string,