takt/src/infra/config/resolvePieceConfigValue.ts
nrs dec77e069e
add-model-to-persona-providers (#324)
* takt: add-model-to-persona-providers

* refactor: loadConfigを廃止しresolveConfigValueにキー単位解決を一元化

loadConfig()による一括マージを廃止し、resolveConfigValue()でキーごとに
global/project/piece/envの優先順位を宣言的に解決する方式に移行。
providerOptionsの優先順位をglobal < piece < project < envに修正し、
sourceトラッキングでOptionsBuilderのマージ方向を制御する。
2026-02-20 11:12:46 +09:00

21 lines
729 B
TypeScript

import type { ConfigParameterKey } from './resolveConfigValue.js';
import { resolveConfigValue, resolveConfigValues } from './resolveConfigValue.js';
import type { ResolveConfigOptions } from './resolveConfigValue.js';
import type { LoadedConfig } from './resolvedConfig.js';
export function resolvePieceConfigValue<K extends ConfigParameterKey>(
projectDir: string,
key: K,
options?: ResolveConfigOptions,
): LoadedConfig[K] {
return resolveConfigValue(projectDir, key, options);
}
export function resolvePieceConfigValues<K extends ConfigParameterKey>(
projectDir: string,
keys: readonly K[],
options?: ResolveConfigOptions,
): Pick<LoadedConfig, K> {
return resolveConfigValues(projectDir, keys, options);
}