mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-05 01:52:54 +00:00
Extract web-content shared runtime helpers into packages/web-content-core, move the focused tests with the new package, and split quiet CI shards so the node matrix no longer stalls past the no-output watchdog.\n\nVerification: node scripts/run-vitest.mjs test/scripts/ci-node-test-plan.test.ts test/scripts/run-vitest.test.ts src/infra/restart.test.ts src/infra/os-summary.test.ts src/infra/gateway-processes.test.ts src/infra/inline-option-token.test.ts src/infra/map-size.test.ts src/infra/machine-name.test.ts src/commands/doctor-whatsapp-responsiveness.test.ts; autoreview clean; manual CI https://github.com/openclaw/openclaw/actions/runs/26693962844; dependency guard https://github.com/openclaw/openclaw/actions/runs/26693959937. Admin merge used because optional Mantis Telegram Desktop proof was cancelled after blocking merge outside this PR's required proof.
78 lines
2.8 KiB
TypeScript
78 lines
2.8 KiB
TypeScript
//#region packages/web-content-core/src/provider-runtime-shared.d.ts
|
|
type WebProviderConfigSource = {
|
|
tools?: {
|
|
web?: {
|
|
search?: unknown;
|
|
fetch?: unknown;
|
|
};
|
|
};
|
|
};
|
|
type RuntimeWebProviderMetadata = {
|
|
providerConfigured?: string;
|
|
selectedProvider?: string;
|
|
};
|
|
type ProviderWithCredential = {
|
|
envVars: string[];
|
|
authProviderId?: string;
|
|
requiresCredential?: boolean;
|
|
};
|
|
type WebContentProcessEnv = Record<string, string | undefined>;
|
|
declare function resolveWebProviderConfig(cfg: WebProviderConfigSource | undefined, kind: "search" | "fetch"): Record<string, unknown> | undefined;
|
|
declare function readWebProviderEnvValue(envVars: string[], processEnv?: WebContentProcessEnv): string | undefined;
|
|
declare function providerRequiresCredential(provider: Pick<ProviderWithCredential, "requiresCredential">): boolean;
|
|
declare function hasWebProviderEntryCredential<TProvider extends ProviderWithCredential, TConfigSource extends WebProviderConfigSource, TConfig extends Record<string, unknown> | undefined>(params: {
|
|
provider: TProvider;
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
resolveRawValue: (params: {
|
|
provider: TProvider;
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
}) => unknown;
|
|
resolveFallbackRawValue?: (params: {
|
|
provider: TProvider;
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
}) => unknown;
|
|
resolveEnvValue: (params: {
|
|
provider: TProvider;
|
|
configuredEnvVarId?: string;
|
|
}) => string | undefined;
|
|
resolveProviderAuthValue?: (providerId: string) => boolean;
|
|
}): boolean;
|
|
declare function resolveWebProviderDefinition<TProvider extends {
|
|
id: string;
|
|
}, TConfigSource extends WebProviderConfigSource, TConfig extends Record<string, unknown> | undefined, TRuntimeMetadata extends RuntimeWebProviderMetadata, TDefinition>(params: {
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
runtimeMetadata: TRuntimeMetadata | undefined;
|
|
sandboxed?: boolean;
|
|
providerId?: string;
|
|
providers: TProvider[];
|
|
resolveEnabled: (params: {
|
|
toolConfig: TConfig;
|
|
sandboxed?: boolean;
|
|
}) => boolean;
|
|
resolveAutoProviderId: (params: {
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
providers: TProvider[];
|
|
}) => string;
|
|
resolveFallbackProviderId?: (params: {
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
providers: TProvider[];
|
|
providerId: string;
|
|
}) => string | undefined;
|
|
createTool: (params: {
|
|
provider: TProvider;
|
|
config: TConfigSource | undefined;
|
|
toolConfig: TConfig;
|
|
runtimeMetadata: TRuntimeMetadata | undefined;
|
|
}) => TDefinition | null;
|
|
}): {
|
|
provider: TProvider;
|
|
definition: TDefinition;
|
|
} | null;
|
|
//#endregion
|
|
export { WebProviderConfigSource, hasWebProviderEntryCredential, providerRequiresCredential, readWebProviderEnvValue, resolveWebProviderConfig, resolveWebProviderDefinition }; |