* takt: add-model-to-persona-providers * refactor: loadConfigを廃止しresolveConfigValueにキー単位解決を一元化 loadConfig()による一括マージを廃止し、resolveConfigValue()でキーごとに global/project/piece/envの優先順位を宣言的に解決する方式に移行。 providerOptionsの優先順位をglobal < piece < project < envに修正し、 sourceトラッキングでOptionsBuilderのマージ方向を制御する。
21 lines
729 B
TypeScript
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);
|
|
}
|