UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

45 lines (44 loc) • 1.82 kB
import { p as resolveSecretInputRef, u as normalizeSecretInputString } from "./types.secrets-BXEuin38.mjs"; import "./enable-DWX6itjm.mjs"; import { n as normalizeSecretInput } from "./normalize-secret-input-DBJvdk-L.mjs"; import "./external-content-CmQTCbqd.mjs"; import "./common-CwfR3iO6.mjs"; import { r as readWebProviderEnvValue } from "./provider-runtime-shared-Cez32igX.mjs"; import "./web-fetch-utils-CioLJa7o.mjs"; import "./web-shared-ZjgpgzJT.mjs"; import "./web-search-provider-common-BOu7i-pY.mjs"; import { r as withStrictWebToolsEndpoint } from "./web-guarded-fetch-DQrp9Z1-.mjs"; //#region src/agents/tools/web-search-citation-redirect.ts /** * Citation redirect resolver for web search results. * * Follows provider citation redirect URLs through the strict web-tools network guard. */ const REDIRECT_TIMEOUT_MS = 5e3; /** * Resolve a citation redirect URL to its final destination using a HEAD request. * Returns the original URL if resolution fails or times out. */ async function resolveCitationRedirectUrl(url) { try { return await withStrictWebToolsEndpoint({ url, init: { method: "HEAD" }, timeoutMs: REDIRECT_TIMEOUT_MS }, async ({ finalUrl }) => finalUrl || url); } catch { return url; } } //#endregion //#region src/agents/tools/web-search-provider-credentials.ts function resolveWebSearchProviderCredential(params) { const credentialRef = resolveSecretInputRef({ value: params.credentialValue }).ref; if (credentialRef) { if (credentialRef.source !== "env") return; return normalizeSecretInput(process.env[credentialRef.id]) || void 0; } return normalizeSecretInput(normalizeSecretInputString(params.credentialValue)) || readWebProviderEnvValue(params.envVars); } //#endregion export { resolveCitationRedirectUrl as n, resolveWebSearchProviderCredential as t };