openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
30 lines (29 loc) • 2.15 kB
TypeScript
import { Js as WebSearchProviderPlugin } from "./types-C0dQmare.js";
//#region src/plugin-sdk/provider-web-search-contract-fields.d.ts
/** Credential storage mode advertised by a web-search-capable provider. */
type WebSearchProviderContractCredential = {
type: "none";
} | {
type: "top-level";
} | {
type: "scoped";
scopeId: string;
};
/** Config location used when a provider also stores credentials in plugin config. */
type WebSearchProviderConfiguredCredential = {
/** Plugin id whose config entry owns the credential value. */pluginId: string; /** Field name under the plugin config entry. Defaults to `apiKey`. */
field?: string;
};
/** Inputs for building the shared credential accessors on web-search providers. */
type CreateWebSearchProviderContractFieldsOptions = {
/** Legacy or inactive secret path that should be reported for migration/doctor flows. */credentialPath: string; /** Additional inactive secret paths when a provider retired more than one location. */
inactiveSecretPaths?: string[]; /** Search-config credential storage mode exposed through provider runtime hooks. */
searchCredential: WebSearchProviderContractCredential; /** Optional plugin-config credential storage used by install/configuration flows. */
configuredCredential?: WebSearchProviderConfiguredCredential;
};
/** Shared provider hooks produced by the web-search credential contract helper. */
type WebSearchProviderContractFields = Pick<WebSearchProviderPlugin, "inactiveSecretPaths" | "getCredentialValue" | "setCredentialValue"> & Partial<Pick<WebSearchProviderPlugin, "getConfiguredCredentialValue" | "setConfiguredCredentialValue">>;
/** Create the common credential hooks that web-search provider plugins spread into their entry. */
declare function createBaseWebSearchProviderContractFields(options: CreateWebSearchProviderContractFieldsOptions): WebSearchProviderContractFields;
//#endregion
export { createBaseWebSearchProviderContractFields as a, WebSearchProviderContractFields as i, WebSearchProviderConfiguredCredential as n, WebSearchProviderContractCredential as r, CreateWebSearchProviderContractFieldsOptions as t };