fix(codex): align fallback metadata and remove stale models automatically

- Align fallback defaults and instruction structure with upstream Codex while preserving Fast availability for all models
- Stop forcing fallback reasoning levels or inferring original-image support
- Sync managed catalogs on model refresh, configuration changes, and every 30 seconds
- Remove unavailable models, replace missing defaults, and handle empty-list recovery
- Preserve existing configuration on request failures or invalid responses
- Serialize refreshes, update UI model lists, and preserve backups across restarts
- Add regression coverage for fallback compatibility, stale-model cleanup, and configuration recovery
This commit is contained in:
lzt404 committed 2026-09-05 18:05:57 +08:00
1 parent ca4a3307f3
commit 3f03158f5e
9 files changed
+760 -25

No files matched your search

+2 -1
View File
@@ -783,6 +783,7 @@ export function AgentsPage({ embedded = false, onConfigurationApplied }: AgentsP
void loadStatuses().catch((requestError) => {
if (!disposed) setDetectionError(String(requestError));
});
void loadModels(selected);
}).then((unlisten) => {
if (disposed) unlisten();
else stop = unlisten;
@@ -791,7 +792,7 @@ export function AgentsPage({ embedded = false, onConfigurationApplied }: AgentsP
disposed = true;
stop?.();
};
}, [loadStatuses]);
}, [loadModels, loadStatuses, selected]);
useEffect(() => {
writeSelectedAgentClient(selected);