remove , using instead

This commit is contained in:
weishu
2026-03-16 18:29:09 +08:00
parent 02c8e12e80
commit 329d28a93c
40 changed files with 384 additions and 285 deletions
+14 -17
View File
@@ -25,8 +25,8 @@ export const PERMISSION_MODES = [
] as const
export type PermissionMode = typeof PERMISSION_MODES[number]
export const MODEL_MODES = ['default', 'sonnet', 'sonnet[1m]', 'opus', 'opus[1m]'] as const
export type ModelMode = typeof MODEL_MODES[number]
export const CLAUDE_MODEL_PRESETS = ['sonnet', 'sonnet[1m]', 'opus', 'opus[1m]'] as const
export type ClaudeModelPreset = typeof CLAUDE_MODEL_PRESETS[number]
export type AgentFlavor = 'claude' | 'codex' | 'gemini' | 'opencode' | 'cursor'
@@ -60,16 +60,24 @@ export type PermissionModeOption = {
tone: PermissionModeTone
}
export const MODEL_MODE_LABELS: Record<ModelMode, string> = {
default: 'Default',
export const CLAUDE_MODEL_LABELS: Record<ClaudeModelPreset, string> = {
sonnet: 'Sonnet',
'sonnet[1m]': 'Sonnet 1M',
opus: 'Opus',
'opus[1m]': 'Opus 1M'
}
export function getModelModeLabel(mode: ModelMode): string {
return MODEL_MODE_LABELS[mode]
export function isClaudeModelPreset(model: string | null | undefined): model is ClaudeModelPreset {
return typeof model === 'string' && CLAUDE_MODEL_PRESETS.includes(model as ClaudeModelPreset)
}
export function getClaudeModelLabel(model: string): string | null {
const trimmedModel = model.trim()
if (!trimmedModel) {
return null
}
return CLAUDE_MODEL_LABELS[trimmedModel as ClaudeModelPreset] ?? null
}
export function getPermissionModeLabel(mode: PermissionMode): string {
@@ -107,14 +115,3 @@ export function getPermissionModeOptionsForFlavor(flavor?: string | null): Permi
export function isPermissionModeAllowedForFlavor(mode: PermissionMode, flavor?: string | null): boolean {
return getPermissionModesForFlavor(flavor).includes(mode)
}
export function getModelModesForFlavor(flavor?: string | null): readonly ModelMode[] {
if (flavor === 'codex' || flavor === 'gemini' || flavor === 'opencode' || flavor === 'cursor') {
return []
}
return MODEL_MODES
}
export function isModelModeAllowedForFlavor(mode: ModelMode, flavor?: string | null): boolean {
return getModelModesForFlavor(flavor).includes(mode)
}
+3 -5
View File
@@ -1,8 +1,7 @@
import { z } from 'zod'
import { MODEL_MODES, PERMISSION_MODES } from './modes'
import { PERMISSION_MODES } from './modes'
export const PermissionModeSchema = z.enum(PERMISSION_MODES)
export const ModelModeSchema = z.enum(MODEL_MODES)
const MetadataSummarySchema = z.object({
text: z.string(),
@@ -174,9 +173,8 @@ export const SessionSchema = z.object({
thinkingAt: z.number(),
todos: TodosSchema.optional(),
teamState: TeamStateSchema.optional(),
model: z.string().optional(),
permissionMode: PermissionModeSchema.optional(),
modelMode: ModelModeSchema.optional()
model: z.string().nullable(),
permissionMode: PermissionModeSchema.optional()
})
export type Session = z.infer<typeof SessionSchema>
+2 -5
View File
@@ -1,4 +1,3 @@
import type { ModelMode } from './modes'
import type { Session, WorktreeMetadata } from './schemas'
export type SessionSummaryMetadata = {
@@ -19,8 +18,7 @@ export type SessionSummary = {
metadata: SessionSummaryMetadata | null
todoProgress: { completed: number; total: number } | null
pendingRequestsCount: number
model?: string
modelMode?: ModelMode
model: string | null
}
export function toSessionSummary(session: Session): SessionSummary {
@@ -49,7 +47,6 @@ export function toSessionSummary(session: Session): SessionSummary {
metadata,
todoProgress,
pendingRequestsCount,
model: session.model,
modelMode: session.modelMode
model: session.model
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
import { z } from 'zod'
import type { ModelMode, PermissionMode } from './modes'
import type { PermissionMode } from './modes'
export type SocketErrorReason = 'namespace-missing' | 'access-denied' | 'not-found'
@@ -139,7 +139,7 @@ export interface ClientToServerEvents {
thinking: boolean
mode?: 'local' | 'remote'
permissionMode?: PermissionMode
modelMode?: ModelMode
model?: string | null
}) => void
'session-end': (data: { sid: string; time: number }) => void
'update-metadata': (data: { sid: string; expectedVersion: number; metadata: unknown }, cb: (answer: {
+1 -1
View File
@@ -24,7 +24,7 @@ export type {
CursorPermissionMode,
GeminiPermissionMode,
OpencodePermissionMode,
ModelMode,
ClaudeModelPreset,
PermissionMode,
PermissionModeOption,
PermissionModeTone