From 992c1893ea4f2679995e192b0785f4bcc6b0d14e Mon Sep 17 00:00:00 2001 From: DeliciousBuding Date: Sat, 5 Sep 2026 14:58:03 +0800 Subject: [PATCH] refactor(data-mode): drop redundant statusLabel and dead workbenchDataModeLabel helper Co-authored-by: Cursor --- app/desktop/src/platform/useDesktopWorkbenchModel.ts | 8 ++++---- app/shared/src/demo/dataMode.test.ts | 11 +++-------- app/shared/src/demo/dataMode.ts | 10 ---------- app/shared/src/demo/index.ts | 1 - app/web/src/platform/useWebWorkbenchModel.ts | 2 +- 5 files changed, 8 insertions(+), 24 deletions(-) diff --git a/app/desktop/src/platform/useDesktopWorkbenchModel.ts b/app/desktop/src/platform/useDesktopWorkbenchModel.ts index b5f0d865a..d2a0c86d4 100644 --- a/app/desktop/src/platform/useDesktopWorkbenchModel.ts +++ b/app/desktop/src/platform/useDesktopWorkbenchModel.ts @@ -320,7 +320,7 @@ export function useDesktopWorkbenchModel( activeConversationId: selectedDemoConversation, agents: demoWorkbenchAgents, conversations: edgeConversations, - dataMode: dataModeContract.statusLabel, + dataMode: dataModeContract.mode, edgeDemoData: true as const, isDemo: true, transcript: edgeTranscript.length > 0 ? edgeTranscript : EMPTY_TRANSCRIPT, @@ -342,7 +342,7 @@ export function useDesktopWorkbenchModel( activeConversationId: selectedDemoConversation, agents: demoWorkbenchAgents, conversations: demoSnapshot.conversations, - dataMode: dataModeContract.statusLabel, + dataMode: dataModeContract.mode, isDemo: true, transcript: workbenchDemoRuntimeStore.resolveTranscript(selectedDemoConversation), agentActivity, @@ -351,7 +351,7 @@ export function useDesktopWorkbenchModel( ...(threadsQuery.error ? { threadsError: errorMessage(threadsQuery.error, tApp?.('threads.loadFailed') ?? 'Threads 加载失败') } : {}), ...(threadItemsQuery.error ? { itemsError: errorMessage(threadItemsQuery.error, tApp?.('items.loadFailed') ?? '消息加载失败') } : {}), }; - }, [dataModeContract.statusLabel, demoSnapshot, selectedConversationId, useEdgeDemoData, threads, activeThread, threadPins, threadItems, threadItemsQuery.error, threadItemsQuery.isLoading, threadsQuery.error, threadsQuery.isLoading, agentActivity]); + }, [dataModeContract.mode, demoSnapshot, selectedConversationId, useEdgeDemoData, threads, activeThread, threadPins, threadItems, threadItemsQuery.error, threadItemsQuery.isLoading, threadsQuery.error, threadsQuery.isLoading, agentActivity]); const conversations = useMemo(() => { // Merge Hub sessions + Edge threads into a unified conversation list. @@ -499,7 +499,7 @@ export function useDesktopWorkbenchModel( ...(resolvedContactsActions != null ? { contactsActions: resolvedContactsActions } : {}), ...(resolvedChatActions != null ? { chatActions: resolvedChatActions } : {}), conversations, - dataMode: dataModeContract.statusLabel, + dataMode: dataModeContract.mode, isDemo: false, ...(resolvedProjects != null ? { projects: resolvedProjects } : {}), ...(resolvedProjectsStatus != null ? { projectsStatus: resolvedProjectsStatus } : {}), diff --git a/app/shared/src/demo/dataMode.test.ts b/app/shared/src/demo/dataMode.test.ts index 24ef965cd..e4c14df7d 100644 --- a/app/shared/src/demo/dataMode.test.ts +++ b/app/shared/src/demo/dataMode.test.ts @@ -7,7 +7,6 @@ import { normalizeWorkbenchDataMode, readWorkbenchDataModeOverride, resolveWorkbenchDataMode, - workbenchDataModeLabel, writeWorkbenchDataModeOverride, } from './dataMode'; @@ -48,13 +47,11 @@ describe('normalizeWorkbenchDataMode', () => { expect(isWorkbenchRealDataMode('observed')).toBe(true); expect(isWorkbenchRealDataMode('approved-real')).toBe(true); expect(isWorkbenchRealDataMode('auto')).toBe(false); - expect(workbenchDataModeLabel('approved-real')).toBe('approved-real'); }); it('exposes a single shared contract for runtime and evidence boundaries', () => { expect(getWorkbenchDataModeContract('mock')).toMatchObject({ mode: 'mock', - statusLabel: 'mock', allowsMockData: true, allowsFixtureData: false, allowsDemoRuntimeFallback: true, @@ -66,7 +63,6 @@ describe('normalizeWorkbenchDataMode', () => { expect(getWorkbenchDataModeContract('fixture')).toMatchObject({ mode: 'fixture', - statusLabel: 'fixture', allowsMockData: false, allowsFixtureData: true, allowsDemoRuntimeFallback: true, @@ -78,7 +74,6 @@ describe('normalizeWorkbenchDataMode', () => { expect(getWorkbenchDataModeContract('approved-real')).toMatchObject({ mode: 'approved-real', - statusLabel: 'approved-real', allowsMockData: false, allowsFixtureData: false, allowsDemoRuntimeFallback: false, @@ -90,8 +85,8 @@ describe('normalizeWorkbenchDataMode', () => { }); it('keeps transient runtime states out of canonical data-mode labels', () => { - expect(workbenchDataModeLabel('auto')).toBe('auto'); - expect(workbenchDataModeLabel('demo+edge')).toBe('auto'); - expect(workbenchDataModeLabel('mock (auto fallback)')).toBe('auto'); + expect(normalizeWorkbenchDataMode('auto')).toBe('auto'); + expect(normalizeWorkbenchDataMode('demo+edge')).toBe('auto'); + expect(normalizeWorkbenchDataMode('mock (auto fallback)')).toBe('auto'); }); }); diff --git a/app/shared/src/demo/dataMode.ts b/app/shared/src/demo/dataMode.ts index 74ed3a383..30dae2bee 100644 --- a/app/shared/src/demo/dataMode.ts +++ b/app/shared/src/demo/dataMode.ts @@ -17,7 +17,6 @@ export type WorkbenchDataMode = export interface WorkbenchDataModeContract { mode: WorkbenchDataMode; - statusLabel: WorkbenchDataMode; allowsMockData: boolean; allowsFixtureData: boolean; allowsDemoRuntimeFallback: boolean; @@ -33,7 +32,6 @@ const WORKBENCH_DATA_MODE_EVENT = 'agenthub:workbench-data-mode'; export const WORKBENCH_DATA_MODE_CONTRACTS: Record = { auto: { mode: 'auto', - statusLabel: 'auto', allowsMockData: true, allowsFixtureData: true, allowsDemoRuntimeFallback: false, @@ -44,7 +42,6 @@ export const WORKBENCH_DATA_MODE_CONTRACTS: Record ({ - dataMode: dataModeContract.statusLabel, + dataMode: dataModeContract.mode, targetState: executionTargetStatus.state, targetLabel: executionTargetStatus.selectedTarget ? executionTargetLabel(executionTargetStatus.selectedTarget)