mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
remove , using instead
This commit is contained in:
+14
-17
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
@@ -24,7 +24,7 @@ export type {
|
||||
CursorPermissionMode,
|
||||
GeminiPermissionMode,
|
||||
OpencodePermissionMode,
|
||||
ModelMode,
|
||||
ClaudeModelPreset,
|
||||
PermissionMode,
|
||||
PermissionModeOption,
|
||||
PermissionModeTone
|
||||
|
||||
Reference in New Issue
Block a user