mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 13:40:42 +00:00
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import type { OpenClawConfig } from "../config/types.openclaw.js";
|
|
import {
|
|
hasAvailableCodexAuth,
|
|
isCodexNativeSearchEligibleModel,
|
|
} from "./codex-native-web-search-core.js";
|
|
import { resolveCodexNativeWebSearchConfig } from "./codex-native-web-search.shared.js";
|
|
import { resolveDefaultModelForAgent } from "./model-selection.js";
|
|
export {
|
|
buildCodexNativeWebSearchTool,
|
|
patchCodexNativeWebSearchPayload,
|
|
resolveCodexNativeSearchActivation,
|
|
shouldSuppressManagedWebSearchTool,
|
|
} from "./codex-native-web-search-core.js";
|
|
export {
|
|
describeCodexNativeWebSearch,
|
|
resolveCodexNativeWebSearchConfig,
|
|
} from "./codex-native-web-search.shared.js";
|
|
|
|
export function isCodexNativeWebSearchRelevant(params: {
|
|
config: OpenClawConfig;
|
|
agentId?: string;
|
|
agentDir?: string;
|
|
}): boolean {
|
|
if (resolveCodexNativeWebSearchConfig(params.config).enabled) {
|
|
return true;
|
|
}
|
|
if (hasAvailableCodexAuth(params)) {
|
|
return true;
|
|
}
|
|
|
|
const defaultModel = resolveDefaultModelForAgent({
|
|
cfg: params.config,
|
|
agentId: params.agentId,
|
|
});
|
|
const configuredProvider = params.config.models?.providers?.[defaultModel.provider];
|
|
const configuredModelApi = configuredProvider?.models?.find(
|
|
(candidate) => candidate.id === defaultModel.model,
|
|
)?.api;
|
|
return isCodexNativeSearchEligibleModel({
|
|
modelProvider: defaultModel.provider,
|
|
modelApi: configuredModelApi ?? configuredProvider?.api,
|
|
});
|
|
}
|