openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
57 lines (56 loc) • 2 kB
JavaScript
import { t as createWebSearchProviderContractFields } from "./provider-web-search-contract-vmITpMTy.js";
//#region extensions/parallel/src/parallel-free-web-search-provider.shared.ts
const PARALLEL_FREE_ONBOARDING_SCOPES = ["text-inference"];
function createParallelFreeWebSearchProviderBase() {
return {
id: "parallel-free",
label: "Parallel Search (Free)",
hint: "Free web search via Parallel's hosted Search MCP — no API key required",
onboardingScopes: [...PARALLEL_FREE_ONBOARDING_SCOPES],
requiresCredential: false,
envVars: [],
placeholder: "(no key needed)",
signupUrl: "https://parallel.ai",
docsUrl: "https://docs.openclaw.ai/tools/parallel-search",
autoDetectOrder: 76,
credentialPath: "",
...createWebSearchProviderContractFields({
credentialPath: "",
searchCredential: {
type: "scoped",
scopeId: "parallel-free"
},
selectionPluginId: "parallel"
})
};
}
//#endregion
//#region extensions/parallel/src/parallel-web-search-provider.shared.ts
const PARALLEL_CREDENTIAL_PATH = "plugins.entries.parallel.config.webSearch.apiKey";
const PARALLEL_ONBOARDING_SCOPES = ["text-inference"];
function createParallelWebSearchProviderBase() {
return {
id: "parallel",
label: "Parallel Search",
hint: "LLM-optimized dense excerpts from web sources",
onboardingScopes: [...PARALLEL_ONBOARDING_SCOPES],
credentialLabel: "Parallel API key",
envVars: ["PARALLEL_API_KEY"],
placeholder: "par-...",
signupUrl: "https://platform.parallel.ai",
docsUrl: "https://docs.openclaw.ai/tools/parallel-search",
autoDetectOrder: 75,
credentialPath: PARALLEL_CREDENTIAL_PATH,
...createWebSearchProviderContractFields({
credentialPath: PARALLEL_CREDENTIAL_PATH,
searchCredential: {
type: "scoped",
scopeId: "parallel"
},
configuredCredential: { pluginId: "parallel" },
selectionPluginId: "parallel"
})
};
}
//#endregion
export { createParallelFreeWebSearchProviderBase as n, createParallelWebSearchProviderBase as t };