Add orchestrator types and error handling configurations

- Introduced new TypeScript types for orchestrator functionality, including `SessionStrategy`, `ErrorHandlingStrategy`, and `OrchestrationStep`.
- Defined interfaces for `OrchestrationPlan` and `ManualOrchestrationParams` to facilitate orchestration management.
- Added a new PNG image file for visual representation.
- Created a placeholder file named 'nul' for future use.
This commit is contained in:
catlog22
2026-02-14 12:54:08 +08:00
parent cdb240d2c2
commit 4d22ae4b2f
56 changed files with 4767 additions and 425 deletions

View File

@@ -7,16 +7,28 @@ import { create } from 'zustand';
import { devtools, persist } from 'zustand/middleware';
import type { TeamMessageFilter } from '@/types/team';
export type TeamDetailTab = 'artifacts' | 'messages';
interface TeamStore {
selectedTeam: string | null;
autoRefresh: boolean;
messageFilter: TeamMessageFilter;
timelineExpanded: boolean;
viewMode: 'list' | 'detail';
locationFilter: 'active' | 'archived' | 'all';
searchQuery: string;
detailTab: TeamDetailTab;
setSelectedTeam: (name: string | null) => void;
toggleAutoRefresh: () => void;
setMessageFilter: (filter: Partial<TeamMessageFilter>) => void;
clearMessageFilter: () => void;
setTimelineExpanded: (expanded: boolean) => void;
setViewMode: (mode: 'list' | 'detail') => void;
setLocationFilter: (filter: 'active' | 'archived' | 'all') => void;
setSearchQuery: (query: string) => void;
setDetailTab: (tab: TeamDetailTab) => void;
selectTeamAndShowDetail: (name: string) => void;
backToList: () => void;
}
export const useTeamStore = create<TeamStore>()(
@@ -27,12 +39,22 @@ export const useTeamStore = create<TeamStore>()(
autoRefresh: true,
messageFilter: {},
timelineExpanded: true,
viewMode: 'list',
locationFilter: 'active',
searchQuery: '',
detailTab: 'artifacts',
setSelectedTeam: (name) => set({ selectedTeam: name }),
toggleAutoRefresh: () => set((s) => ({ autoRefresh: !s.autoRefresh })),
setMessageFilter: (filter) =>
set((s) => ({ messageFilter: { ...s.messageFilter, ...filter } })),
clearMessageFilter: () => set({ messageFilter: {} }),
setTimelineExpanded: (expanded) => set({ timelineExpanded: expanded }),
setViewMode: (mode) => set({ viewMode: mode }),
setLocationFilter: (filter) => set({ locationFilter: filter }),
setSearchQuery: (query) => set({ searchQuery: query }),
setDetailTab: (tab) => set({ detailTab: tab }),
selectTeamAndShowDetail: (name) => set({ selectedTeam: name, viewMode: 'detail', detailTab: 'artifacts' }),
backToList: () => set({ viewMode: 'list', detailTab: 'artifacts' }),
}),
{ name: 'ccw-team-store' }
),