refactor: extract agent flavor utility functions into shared module

This commit is contained in:
weishu
2026-01-29 15:41:19 +08:00
parent cdf8226a9d
commit b7c06db327
4 changed files with 18 additions and 7 deletions
+2 -2
View File
@@ -4,6 +4,7 @@ import type { ApiClient } from '@/api/client'
import type { ModelMode, PermissionMode } from '@/types/api'
import { queryKeys } from '@/lib/query-keys'
import { clearMessageWindow } from '@/lib/message-window-store'
import { isKnownFlavor } from '@/lib/agentFlavorUtils'
export function useSessionActions(
api: ApiClient | null,
@@ -62,8 +63,7 @@ export function useSessionActions(
if (!api || !sessionId) {
throw new Error('Session unavailable')
}
const isKnownFlavor = agentFlavor === 'claude' || agentFlavor === 'codex' || agentFlavor === 'gemini' || agentFlavor === 'opencode'
if (isKnownFlavor && !isPermissionModeAllowedForFlavor(mode, agentFlavor)) {
if (isKnownFlavor(agentFlavor) && !isPermissionModeAllowedForFlavor(mode, agentFlavor)) {
throw new Error('Invalid permission mode for session flavor')
}
await api.setPermissionMode(sessionId, mode)