mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-29 19:01:44 +00:00
* TypeScript: add extensions to tsconfig and fix type errors - Add extensions/**/* to tsconfig.json includes - Export ProviderAuthResult, AnyAgentTool from plugin-sdk - Fix optional chaining for messageActions across channels - Add missing type imports (MSTeamsConfig, GroupPolicy, etc.) - Add type annotations for provider auth handlers - Fix undici/fetch type compatibility in zalo proxy - Correct ChannelAccountSnapshot property usage - Add type casts for tool registrations - Extract usage view styles and types to separate files * TypeScript: fix optional debug calls and handleAction guards
25 lines
748 B
TypeScript
25 lines
748 B
TypeScript
import type { Dispatcher, RequestInit as UndiciRequestInit } from "undici";
|
|
import { ProxyAgent, fetch as undiciFetch } from "undici";
|
|
import type { ZaloFetch } from "./api.js";
|
|
|
|
const proxyCache = new Map<string, ZaloFetch>();
|
|
|
|
export function resolveZaloProxyFetch(proxyUrl?: string | null): ZaloFetch | undefined {
|
|
const trimmed = proxyUrl?.trim();
|
|
if (!trimmed) {
|
|
return undefined;
|
|
}
|
|
const cached = proxyCache.get(trimmed);
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
const agent = new ProxyAgent(trimmed);
|
|
const fetcher: ZaloFetch = (input, init) =>
|
|
undiciFetch(input, {
|
|
...init,
|
|
dispatcher: agent,
|
|
} as UndiciRequestInit) as unknown as Promise<Response>;
|
|
proxyCache.set(trimmed, fetcher);
|
|
return fetcher;
|
|
}
|