openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
44 lines (43 loc) • 1.62 kB
JavaScript
import { a as normalizeOptionalAgentRuntimeId, t as AUTO_AGENT_RUNTIME_ID } from "./agent-runtime-id-BpfvnoN1.js";
import { t as resolveModelRuntimePolicy } from "./model-runtime-policy-BAKiaBCi.js";
import { l as resolveOpenAIImplicitAgentRuntime } from "./openai-routing-Ex_3E9TF.js";
//#region src/agents/harness/policy.ts
/** Resolves model/provider/runtime config into the canonical harness runtime id. */
function resolveAgentHarnessPolicy(params) {
const configured = resolveModelRuntimePolicy({
config: params.config,
provider: params.provider,
modelId: params.modelId,
agentId: params.agentId,
sessionKey: params.sessionKey
});
const configuredRuntime = normalizeOptionalAgentRuntimeId(configured.policy?.id);
const runtime = configuredRuntime && configuredRuntime !== "default" ? configuredRuntime : AUTO_AGENT_RUNTIME_ID;
const runtimeSource = runtime === "auto" ? "implicit" : configured.source ?? "implicit";
if (runtime !== "auto") return {
runtime,
runtimeSource,
...configured.forcedByEnvironment ? { forcedByEnvironment: true } : {}
};
const openAIImplicitRuntime = resolveOpenAIImplicitAgentRuntime({
provider: params.provider,
modelId: params.modelId,
api: params.modelApi,
baseUrl: params.modelBaseUrl,
config: params.config,
agentId: params.agentId,
sessionKey: params.sessionKey,
env: params.env,
requestTransportOverrides: params.requestTransportOverrides
});
if (openAIImplicitRuntime) return {
runtime: openAIImplicitRuntime,
runtimeSource
};
return {
runtime,
runtimeSource
};
}
//#endregion
export { resolveAgentHarnessPolicy as t };