Files
orca/src/main/runtime/runtime-client-settings-shape.ts
T
Neil 9a79de59a5 feat(native-chat): apply per-agent Auto permission defaults (#30853)
* feat(native-chat): sync per-agent permission defaults with explicit host support

* test: include native permission capability in host settings mock
2026-10-19 19:58:00 -07:00

77 lines
2.4 KiB
TypeScript

// What a paired client reads and may write of this host's settings.
import type { GlobalSettings } from '../../shared/global-settings-types'
import type { ExecutionHostId } from '../../shared/execution-host'
import type { SourceControlAiActionDefaults } from '../../shared/source-control-ai-actions'
export type RuntimeClientSettings = Pick<
GlobalSettings,
| 'defaultTuiAgent'
| 'newWorkspaceSetupOnly'
| 'disabledTuiAgents'
| 'agentCmdOverrides'
| 'agentDefaultArgs'
| 'agentDefaultEnv'
| 'agentStatusHooksEnabled'
| 'terminalCopyTrimsGutter'
| 'defaultTaskSource'
| 'defaultTaskViewPreset'
| 'visibleTaskProviders'
| 'defaultRepoSelection'
| 'defaultLinearTeamSelection'
| 'githubProjects'
| 'experimentalNewWorktreeCardStyle'
| 'experimentalNativeChat'
| 'compactWorktreeCards'
| 'minimaxGroupId'
| 'minimaxUsageModels'
| 'minimaxEndpoint'
| 'zcodePlanSite'
| 'prBotAuthorOverrides'
| 'artifactSharingEnabled'
| 'worktreeVisibilityDefaults'
| 'agentSkillSharingEnabled'
| 'machineName'
| 'nativeChatPermissionMode'
| 'agentNativeChatPermissionModes'
> & {
/** Older clients still read these; neither is persisted or accepted as an update. */
openAgentTabsInChatByDefault?: boolean
experimentalStructuredNativeChat?: boolean
hostSettingOverrides: RuntimeHostDisplayLabelOverrides
sourceControlAi: RuntimeClientSourceControlAi
}
/** The saved per-action launch recipes (agent, prompt template, agent args), already migrated. */
export type RuntimeClientSourceControlAi = { actions: SourceControlAiActionDefaults }
/** Safe paired projection: host labels only; filesystem defaults stay host-private. */
export type RuntimeHostDisplayLabelOverrides = Partial<
Record<ExecutionHostId, { displayLabel: string }>
>
export type RuntimeClientSettingsUpdate = Pick<
Partial<GlobalSettings>,
| 'agentStatusHooksEnabled'
| 'defaultTuiAgent'
| 'disabledTuiAgents'
| 'agentDefaultArgs'
| 'agentDefaultEnv'
| 'defaultTaskSource'
| 'defaultTaskViewPreset'
| 'visibleTaskProviders'
| 'defaultRepoSelection'
| 'defaultLinearTeamSelection'
| 'githubProjects'
| 'experimentalNewWorktreeCardStyle'
| 'compactWorktreeCards'
| 'minimaxGroupId'
| 'minimaxUsageModels'
| 'minimaxEndpoint'
| 'zcodePlanSite'
| 'prBotAuthorOverrides'
| 'worktreeVisibilityDefaults'
| 'machineName'
| 'nativeChatPermissionMode'
>