fix(image-analysis): preserve default runtime deps

This commit is contained in:
Tam Nhu Tran
2026-04-10 17:40:27 -04:00
parent 2f02ddfb74
commit e090c8b0d4
3 changed files with 44 additions and 20 deletions
@@ -37,6 +37,13 @@ const defaultDeps: ImageAnalysisRuntimeStatusDeps = {
isCliproxyRunning: () => isCliproxyRunning(),
};
function mergeDefinedDeps<T extends object>(defaults: T, overrides: Partial<T>): T {
const definedOverrides = Object.fromEntries(
Object.entries(overrides as Record<string, unknown>).filter(([, value]) => value !== undefined)
) as Partial<T>;
return { ...defaults, ...definedOverrides };
}
async function resolveAuthReadiness(
status: ImageAnalysisStatus,
deps: ImageAnalysisRuntimeStatusDeps
@@ -64,9 +71,7 @@ async function resolveAuthReadiness(
(entry) => entry.provider === authProvider && entry.authenticated
);
} else {
if (typeof deps.initializeAccounts === 'function') {
deps.initializeAccounts();
}
deps.initializeAccounts();
authenticated = deps.getAuthStatus(authProvider).authenticated;
}
@@ -162,7 +167,7 @@ export async function hydrateImageAnalysisRuntimeStatus(
baseStatus: ImageAnalysisStatus,
deps: Partial<ImageAnalysisRuntimeStatusDeps> = {}
): Promise<ImageAnalysisStatus> {
const resolvedDeps = { ...defaultDeps, ...deps };
const resolvedDeps = mergeDefinedDeps(defaultDeps, deps);
const authStatus = await resolveAuthReadiness(baseStatus, resolvedDeps);
const proxyStatus = await resolveProxyReadiness(baseStatus, resolvedDeps);
const mergedStatus = {