111 lines
4.1 KiB
TypeScript
111 lines
4.1 KiB
TypeScript
import type { DefaultState } from "./default-state";
|
|
|
|
// buildStateOverrides picks the plain-state fields out of `merged` and re-asserts them
|
|
// after all slice spreads so that caller-supplied initialState wins over slice defaults.
|
|
// Note: collapsedSubtaskParents is intentionally omitted — createUISlice hydrates it
|
|
// from sessionStorage and we want that to win.
|
|
// eslint-disable-next-line max-lines-per-function -- this explicit projection documents the state merge boundary
|
|
export function buildStateOverrides(m: DefaultState) {
|
|
return {
|
|
kanban: m.kanban,
|
|
kanbanMulti: m.kanbanMulti,
|
|
workflows: m.workflows,
|
|
workspaceContextGeneration: m.workspaceContextGeneration,
|
|
workspaceContextRead: m.workspaceContextRead,
|
|
tasks: m.tasks,
|
|
workflowSessionFocus: m.workflowSessionFocus,
|
|
taskRemoval: m.taskRemoval,
|
|
workspaces: m.workspaces,
|
|
repositories: m.repositories,
|
|
repositoryBranches: m.repositoryBranches,
|
|
repositoryScripts: m.repositoryScripts,
|
|
executors: m.executors,
|
|
settingsAgents: m.settingsAgents,
|
|
agentDiscovery: m.agentDiscovery,
|
|
availableAgents: m.availableAgents,
|
|
agentProfiles: m.agentProfiles,
|
|
editors: m.editors,
|
|
prompts: m.prompts,
|
|
secrets: m.secrets,
|
|
notificationProviders: m.notificationProviders,
|
|
settingsData: m.settingsData,
|
|
sleepInhibition: m.sleepInhibition,
|
|
userSettings: m.userSettings,
|
|
agentProfileRecentUse: m.agentProfileRecentUse,
|
|
messages: m.messages,
|
|
turns: m.turns,
|
|
taskSessions: m.taskSessions,
|
|
taskSessionsByTask: m.taskSessionsByTask,
|
|
pendingActionProjectionsBySessionId: m.pendingActionProjectionsBySessionId,
|
|
sessionAgentctl: m.sessionAgentctl,
|
|
worktrees: m.worktrees,
|
|
sessionWorktreesBySessionId: m.sessionWorktreesBySessionId,
|
|
pendingModel: m.pendingModel,
|
|
activeModel: m.activeModel,
|
|
queue: m.queue,
|
|
terminal: m.terminal,
|
|
shell: m.shell,
|
|
processes: m.processes,
|
|
gitStatus: m.gitStatus,
|
|
gitCheckoutGeneration: m.gitCheckoutGeneration,
|
|
contextWindow: m.contextWindow,
|
|
agents: m.agents,
|
|
sessionMode: m.sessionMode,
|
|
userShells: m.userShells,
|
|
prepareProgress: m.prepareProgress,
|
|
sessionTodos: m.sessionTodos,
|
|
agentCapabilities: m.agentCapabilities,
|
|
sessionModels: m.sessionModels,
|
|
sessionMcpStatus: m.sessionMcpStatus,
|
|
promptUsage: m.promptUsage,
|
|
sessionPollMode: m.sessionPollMode,
|
|
githubStatus: m.githubStatus,
|
|
githubAppRegistrations: m.githubAppRegistrations,
|
|
taskPRs: m.taskPRs,
|
|
pendingPrUrlByTaskId: m.pendingPrUrlByTaskId,
|
|
prWatches: m.prWatches,
|
|
reviewWatches: m.reviewWatches,
|
|
issueWatches: m.issueWatches,
|
|
actionPresets: m.actionPresets,
|
|
prFeedbackCache: m.prFeedbackCache,
|
|
taskCIAutomation: m.taskCIAutomation,
|
|
taskMRs: m.taskMRs,
|
|
azureDevOpsTaskPullRequests: m.azureDevOpsTaskPullRequests,
|
|
azureDevOpsTaskWorkItems: m.azureDevOpsTaskWorkItems,
|
|
gitlabReviewWatches: m.gitlabReviewWatches,
|
|
gitlabIssueWatches: m.gitlabIssueWatches,
|
|
gitlabMRWatches: m.gitlabMRWatches,
|
|
gitlabActionPresets: m.gitlabActionPresets,
|
|
gitlabStats: m.gitlabStats,
|
|
gitlabStatus: m.gitlabStatus,
|
|
jiraIssueWatches: m.jiraIssueWatches,
|
|
linearIssueWatches: m.linearIssueWatches,
|
|
office: m.office,
|
|
features: m.features,
|
|
auth: m.auth,
|
|
sessionHostnames: m.sessionHostnames,
|
|
sessionHostnamesEpoch: m.sessionHostnamesEpoch,
|
|
automations: m.automations,
|
|
automationRuns: m.automationRuns,
|
|
system: m.system,
|
|
agentRuntime: m.agentRuntime,
|
|
previewPanel: m.previewPanel,
|
|
rightPanel: m.rightPanel,
|
|
diffs: m.diffs,
|
|
connection: m.connection,
|
|
mobileKanban: m.mobileKanban,
|
|
mobileSession: m.mobileSession,
|
|
chatInput: m.chatInput,
|
|
reviewPRSelection: m.reviewPRSelection,
|
|
documentPanel: m.documentPanel,
|
|
systemHealth: m.systemHealth,
|
|
quickChat: m.quickChat,
|
|
sessionFailureNotification: m.sessionFailureNotification,
|
|
bottomTerminal: m.bottomTerminal,
|
|
sidebarViews: m.sidebarViews,
|
|
sidebarViewsByWorkspace: m.sidebarViewsByWorkspace,
|
|
threadViews: m.threadViews,
|
|
sidebarTaskPrefs: m.sidebarTaskPrefs,
|
|
};
|
|
}
|