mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-03 08:53:36 +00:00
feat: enhance use-model-override to support default phase models
- Updated the useModelOverride hook to include a fallback to DEFAULT_PHASE_MODELS when phase models are not available, ensuring smoother handling of model overrides. - This change addresses scenarios where settings may not have been migrated to include new phase models, improving overall robustness and user experience.
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { useState, useCallback, useMemo } from 'react';
|
import { useState, useCallback, useMemo } from 'react';
|
||||||
import { useAppStore } from '@/store/app-store';
|
import { useAppStore } from '@/store/app-store';
|
||||||
import type { ModelAlias, CursorModelId, PhaseModelKey, PhaseModelEntry } from '@automaker/types';
|
import type { ModelAlias, CursorModelId, PhaseModelKey, PhaseModelEntry } from '@automaker/types';
|
||||||
|
import { DEFAULT_PHASE_MODELS } from '@automaker/types';
|
||||||
|
|
||||||
export interface UseModelOverrideOptions {
|
export interface UseModelOverrideOptions {
|
||||||
/** Which phase this override is for */
|
/** Which phase this override is for */
|
||||||
@@ -79,8 +80,9 @@ export function useModelOverride({
|
|||||||
initialOverride ? normalizeEntry(initialOverride) : null
|
initialOverride ? normalizeEntry(initialOverride) : null
|
||||||
);
|
);
|
||||||
|
|
||||||
// Normalize global default to PhaseModelEntry
|
// Normalize global default to PhaseModelEntry, with fallback to DEFAULT_PHASE_MODELS
|
||||||
const globalDefault = normalizeEntry(phaseModels[phase]);
|
// This handles cases where settings haven't been migrated to include new phase models
|
||||||
|
const globalDefault = normalizeEntry(phaseModels[phase] ?? DEFAULT_PHASE_MODELS[phase]);
|
||||||
|
|
||||||
const effectiveModelEntry = useMemo(() => {
|
const effectiveModelEntry = useMemo(() => {
|
||||||
return override ?? globalDefault;
|
return override ?? globalDefault;
|
||||||
|
|||||||
Reference in New Issue
Block a user