openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
39 lines (38 loc) • 1.48 kB
JavaScript
import { r as resolveProviderPolicySurface } from "./provider-public-artifacts-puMv1Ebn.mjs";
import { t as resolveWebSearchToolPolicy } from "./web-search-tool-policy-BT4S4GEu.mjs";
import { a as resolveCodexNativeSearchActivation } from "./codex-native-web-search-core-Dvfdbkqg.mjs";
//#region src/agents/native-web-search.ts
/** Resolves embedded hosted search before tools enter discovery or Code Mode. */
function resolveNativeWebSearchRoute(params) {
if (params.webSearchEnabled === false || params.config?.tools?.web?.search?.enabled === false) return {
kind: "disabled",
reason: "globally_disabled"
};
if (!resolveWebSearchToolPolicy(params).allowed) return {
kind: "disabled",
reason: "tool_policy_denied"
};
const provider = params.modelProvider;
if (provider && params.modelApi && resolveProviderPolicySurface(provider, {
config: params.config,
manifestRegistry: params.pluginMetadataSnapshot?.manifestRegistry
})?.resolveNativeWebSearch?.({
config: params.config,
provider,
modelId: params.modelId,
api: params.modelApi,
baseUrl: params.modelBaseUrl ?? params.config?.models?.providers?.[provider]?.baseUrl
})) return {
kind: "native",
provider,
transport: params.modelApi
};
if (resolveCodexNativeSearchActivation(params).state === "native_active") return {
kind: "native",
provider: "openai",
transport: "openai-chatgpt-responses"
};
return { kind: "managed" };
}
//#endregion
export { resolveNativeWebSearchRoute as t };