From c0bbded6f7731fdf460b0b04a765c5aa1b2ccdd3 Mon Sep 17 00:00:00 2001 From: kumarabhirup Date: Sat, 31 Jan 2026 22:31:58 -0800 Subject: [PATCH] agents: add AI SDK module exports Export public API for the AI SDK engine module. --- src/agents/aisdk/index.ts | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/agents/aisdk/index.ts diff --git a/src/agents/aisdk/index.ts b/src/agents/aisdk/index.ts new file mode 100644 index 00000000000..f112311f84a --- /dev/null +++ b/src/agents/aisdk/index.ts @@ -0,0 +1,56 @@ +/** + * AI SDK v6 integration for openclaw. + * + * This module provides an alternative LLM engine using Vercel's AI SDK, + * alongside the existing pi-agent implementation. Users can choose between + * engines via configuration. + * + * Fork-friendly design: + * - All AI SDK code lives in this separate `aisdk/` directory + * - Original pi-agent code remains untouched + * - Minimal integration points for easy upstream merges + */ + +// Types +export type { + AiSdkConfig, + AiSdkMessage, + AiSdkMessageContent, + AiSdkStreamInput, + AiSdkTool, + DirectProviderId, + DirectProviderConfig, + GatewayConfig, + ModelRef, + ProviderMode, + ResolvedModel, +} from "./types.js"; + +// Provider management +export { + getDefaultConfig, + listAvailableProviders, + parseModelRef, + resolveModel, + validateConfig, +} from "./provider.js"; + +// Tool conversion +export type { ConvertedAiSdkTool, ToolExecutionContext, ToolResult } from "./tools.js"; +export { convertPiToolToAiSdk, convertPiToolsToAiSdk, createAiSdkTools } from "./tools.js"; + +// Event adapter (pi-agent protocol compatibility) +export type { + AnthropicProviderOptions, + EventAdapterInput, + PiAgentEvent, + PiAgentMessage, + PiAssistantMessageEvent, + PiMessageContent, + PiToolResultMessage, +} from "./event-adapter.js"; +export { collectPiAgentEvents, streamWithPiAgentEvents } from "./event-adapter.js"; + +// Agent runner (main entry point) +export type { AiSdkRunnerConfig, AiSdkRunResult } from "./run.js"; +export { isAiSdkEngineAvailable, mapThinkLevelToAnthropicOptions, runAiSdkAgent } from "./run.js";