UNPKG

agent-contracts-runtime

Version:

Runtime bridge for executing agent-contracts workflows on Agent SDKs

46 lines (45 loc) 1.35 kB
// src/lib/model-resolver.ts var ENV_PREFIX = "AGENT_RUNTIME_MODEL"; var CLASS_ENV_KEYS = { fast: `${ENV_PREFIX}_FAST`, standard: `${ENV_PREFIX}_STANDARD`, thinking: `${ENV_PREFIX}_THINKING` }; function parseEnvValue(value, fallbackAdapter) { const colonIdx = value.indexOf(":"); if (colonIdx === -1) { return { adapter: fallbackAdapter, model: value || void 0 }; } const adapter = value.slice(0, colonIdx) || fallbackAdapter; const model = value.slice(colonIdx + 1) || void 0; return { adapter, model }; } function createModelResolver(options) { const env = options.env ?? process.env; return { resolve(modelClass) { const fallback = { adapter: options.fallbackAdapter, model: options.fallbackModel }; if (!modelClass) return fallback; const classEnv = env[CLASS_ENV_KEYS[modelClass]]; if (classEnv) { return parseEnvValue(classEnv, options.fallbackAdapter); } const catchAllEnv = env[ENV_PREFIX]; if (catchAllEnv) { return parseEnvValue(catchAllEnv, options.fallbackAdapter); } const entry = options.modelMapping?.[modelClass]; if (entry) { return { adapter: entry.adapter, model: entry.model }; } return fallback; } }; } export { createModelResolver }; //# sourceMappingURL=chunk-AWBHN3LI.js.map