MCPcopy Create free account
hub / github.com/CreminiAI/skillpack / resolveRuntimeConfig

Function resolveRuntimeConfig

src/runtime/config.ts:191–254  ·  view source on GitHub ↗
(
  value: unknown,
  env: NodeJS.ProcessEnv = process.env,
)

Source from the content-addressed store, hash-verified

189 return normalized;
190}
191
192export function resolveRuntimeConfig(
193 value: unknown,
194 env: NodeJS.ProcessEnv = process.env,
195): DataConfig {
196 const normalized = normalizeDataConfig(value);
197 let { apiKey = "", provider = "openai", baseUrl = "" } = normalized;
198 let { apiProtocol, reasoning, modelId } = normalized;
199
200 if (!apiKey) {
201 if (env.OPENAI_API_KEY) {
202 apiKey = env.OPENAI_API_KEY;
203 provider = "openai";
204 } else if (env.ANTHROPIC_API_KEY) {
205 apiKey = env.ANTHROPIC_API_KEY;
206 provider = "anthropic";
207 } else if (env.GOOGLE_API_KEY) {
208 apiKey = env.GOOGLE_API_KEY;
209 provider = "google";
210 }
211 }
212
213 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.apiKey)) {
214 apiKey = env[SKILLPACK_RUNTIME_ENV.apiKey] ?? "";
215 }
216
217 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.provider)) {
218 const providerOverride = normalizeOptionalString(env[SKILLPACK_RUNTIME_ENV.provider]);
219 if (providerOverride) {
220 provider = providerOverride;
221 }
222 }
223
224 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.baseUrl)) {
225 baseUrl = env[SKILLPACK_RUNTIME_ENV.baseUrl] ?? "";
226 }
227
228 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.modelId)) {
229 modelId = normalizeOptionalString(env[SKILLPACK_RUNTIME_ENV.modelId]);
230 }
231
232 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.apiProtocol)) {
233 const apiProtocolOverride = env[SKILLPACK_RUNTIME_ENV.apiProtocol];
234 if (
235 apiProtocolOverride === "openai-responses" ||
236 apiProtocolOverride === "openai-completions"
237 ) {
238 apiProtocol = apiProtocolOverride;
239 } else if ((apiProtocolOverride ?? "").trim() === "") {
240 apiProtocol = undefined;
241 }
242 }
243
244 if (hasEnvOverride(env, SKILLPACK_RUNTIME_ENV.reasoning)) {
245 const reasoningOverride = parseBooleanEnv(env[SKILLPACK_RUNTIME_ENV.reasoning]);
246 if (reasoningOverride !== undefined) {
247 reasoning = reasoningOverride;
248 }

Callers 3

loadMethod · 0.85
saveMethod · 0.85

Calls 4

normalizeDataConfigFunction · 0.85
hasEnvOverrideFunction · 0.85
normalizeOptionalStringFunction · 0.85
parseBooleanEnvFunction · 0.85

Tested by

no test coverage detected