Files
kandev/apps/web/lib/state/store-overrides.ts
T
2026-07-30 20:49:07 +01:00

96 lines
3.3 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.
export function buildStateOverrides(m: DefaultState) {
return {
kanban: m.kanban,
kanbanMulti: m.kanbanMulti,
workflows: m.workflows,
tasks: m.tasks,
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,
userSettings: m.userSettings,
messages: m.messages,
turns: m.turns,
taskSessions: m.taskSessions,
taskSessionsByTask: m.taskSessionsByTask,
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,
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,
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,
automations: m.automations,
automationRuns: m.automationRuns,
system: m.system,
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,
sidebarTaskPrefs: m.sidebarTaskPrefs,
};
}