refactor(config): adopt config-loader-facade across the codebase

Issue #1161. Sweeps 127 files to import from
src/config/config-loader-facade.ts instead of unified-config-loader or
utils/config-manager directly.

WRITE callers (32 files): replaced raw saveUnifiedConfig /
mutateUnifiedConfig / updateUnifiedConfig calls with the facade's
cache-coherent wrappers saveConfig / mutateConfig / updateConfig. This
fixes a latent stale-cache window where direct writes through the
underlying loader bypassed the facade's memoization.

READ callers (95 files): mechanical import-path migration only —
function names unchanged because the facade re-exports them. No
behavior change.

Also updated:
- tests/unit/utils/browser/browser-setup.test.ts (DI interface rename)
- src/management/checks/image-analysis-check.ts (dynamic import rename)
- src/web-server/health-service.ts (dynamic require rename)
- src/ccs.ts (path prefix fix from sweep script)

After sweep: zero raw write callers remain outside src/config/. Direct
imports of config-manager remain only for symbols not in the facade
(getConfigPath, getCcsDirSource, etc). Behavior unchanged; full suite
passes 1824/1824.

Out of scope: switching loadOrCreateUnifiedConfig() callers to
getCachedConfig() — needs per-callsite cache-safety analysis. Tracked
as follow-up.

Refs #1161
This commit is contained in:
Tam Nhu Tran committed 2026-05-03 01:42:53 -04:00
1 parent 74898210f9
commit 4f6e61739c
128 files changed
+397 -267

No files matched your search

+1 -1
View File
@@ -1,7 +1,7 @@
import { loadSettings } from '../utils/config-manager';
import { resolveOpenAICompatProfileConfig } from './profile-router';
import { OPENAI_COMPAT_PROXY_DEFAULT_PORT } from './proxy-daemon-paths';
import { startOpenAICompatProxyServer } from './server/proxy-server';
import { loadSettings } from '../config/config-loader-facade';
interface RuntimeOptions {
port: number;
+1 -1
View File
@@ -1,5 +1,5 @@
import * as path from 'path';
import { getCcsDir } from '../utils/config-manager';
import { getCcsDir } from '../config/config-loader-facade';
export const OPENAI_COMPAT_PROXY_LEGACY_DEFAULT_PORT = 3456;
export const OPENAI_COMPAT_PROXY_ADAPTIVE_PORT_START = 43_456;
+1 -1
View File
@@ -1,9 +1,9 @@
import { loadOrCreateUnifiedConfig } from '../config/unified-config-loader';
import {
OPENAI_COMPAT_PROXY_ADAPTIVE_PORT_END,
OPENAI_COMPAT_PROXY_ADAPTIVE_PORT_START,
OPENAI_COMPAT_PROXY_LEGACY_DEFAULT_PORT,
} from './proxy-daemon-paths';
import { loadOrCreateUnifiedConfig } from '../config/config-loader-facade';
export interface OpenAICompatProxyPortPreference {
port: number;
+1 -1
View File
@@ -1,4 +1,3 @@
import { loadConfigSafe, loadSettings } from '../utils/config-manager';
import { expandPath } from '../utils/helpers';
import type { ProxyOpenAIRequest } from './transformers/request-transformer';
import {
@@ -6,6 +5,7 @@ import {
type OpenAICompatProxyRoutingConfig,
} from './routing-config';
import { resolveOpenAICompatProfileConfig, type OpenAICompatProfileConfig } from './profile-router';
import { loadConfigSafe, loadSettings } from '../config/config-loader-facade';
export type ProxyRoutingScenario = 'default' | 'background' | 'think' | 'longContext' | 'webSearch';