@arizeai/phoenix-client
Version:
A client for the Phoenix API
130 lines • 5.25 kB
TypeScript
import type { ZodType } from "zod";
import type { PromptProviderSDKs, PromptToolChoice } from "../../types/prompts";
import type { AnthropicMessagePart } from "./anthropic/messagePartSchemas";
import type { AnthropicMessage } from "./anthropic/messageSchemas";
import type { AnthropicToolCall } from "./anthropic/toolCallSchemas";
import type { AnthropicToolChoice } from "./anthropic/toolChoiceSchemas";
import type { AnthropicToolDefinition } from "./anthropic/toolSchemas";
import type { OpenAIChatPart } from "./openai/messagePartSchemas";
import type { OpenAIMessage } from "./openai/messageSchemas";
import type { OpenAIResponseFormat } from "./openai/responseFormatSchema";
import type { OpenAIToolCall } from "./openai/toolCallSchemas";
import type { OpenaiToolChoice } from "./openai/toolChoiceSchemas";
import type { OpenAIToolDefinition } from "./openai/toolSchemas";
import type { PhoenixContentPart } from "./phoenixPrompt/messagePartSchemas";
import type { PhoenixMessage } from "./phoenixPrompt/messageSchemas";
import type { PhoenixToolCall } from "./phoenixPrompt/toolCallSchemas";
import type { PhoenixToolDefinition } from "./phoenixPrompt/toolSchemas";
import type { VercelAIChatPart, VercelAIChatPartToolCall } from "./vercel/messagePartSchemas";
import type { VercelAIMessage } from "./vercel/messageSchemas";
import type { VercelAIToolChoice } from "./vercel/toolChoiceSchemas";
import type { VercelAIToolDefinition } from "./vercel/toolSchemas";
export type PromptSDKFormat = PromptProviderSDKs | null;
export type LLMMessagePart = OpenAIChatPart | AnthropicMessagePart | PhoenixContentPart | VercelAIChatPart;
export type SDKConverters<MessageSchema extends ZodType = never, MessagePartSchema extends ZodType = never, ToolChoiceSchema extends ZodType = never, ToolCallSchema extends ZodType = never, ToolDefinitionSchema extends ZodType = never, ResponseFormatSchema extends ZodType = never> = {
messages: {
toOpenAI: ZodType<OpenAIMessage | null, unknown>;
fromOpenAI: MessageSchema;
};
messageParts: {
toOpenAI: ZodType<OpenAIChatPart | null, unknown>;
fromOpenAI: MessagePartSchema;
};
toolChoices: {
toOpenAI: ZodType<OpenaiToolChoice | null, unknown>;
fromOpenAI: ToolChoiceSchema;
};
toolCalls: {
toOpenAI: ZodType<OpenAIToolCall | null, unknown>;
fromOpenAI: ToolCallSchema;
};
toolDefinitions: {
toOpenAI: ZodType<OpenAIToolDefinition | null, unknown>;
fromOpenAI: ToolDefinitionSchema;
};
responseFormat?: {
toOpenAI: ZodType<OpenAIResponseFormat | null, unknown>;
fromOpenAI: ResponseFormatSchema;
};
};
export type MessagePartWithProvider = {
provider: Extract<PromptSDKFormat, "OPENAI" | "AZURE_OPENAI">;
validatedMessage: OpenAIChatPart;
} | {
provider: Extract<PromptSDKFormat, "ANTHROPIC">;
validatedMessage: AnthropicMessagePart;
} | {
provider: Extract<PromptSDKFormat, "PHOENIX">;
validatedMessage: PhoenixContentPart;
} | {
provider: Extract<PromptSDKFormat, "VERCEL_AI">;
validatedMessage: VercelAIChatPart;
} | {
provider: null;
validatedMessage: null;
};
export type MessageWithProvider = {
provider: Extract<PromptSDKFormat, "OPENAI" | "AZURE_OPENAI">;
validatedMessage: OpenAIMessage;
} | {
provider: Extract<PromptSDKFormat, "ANTHROPIC">;
validatedMessage: AnthropicMessage;
} | {
provider: Extract<PromptSDKFormat, "PHOENIX">;
validatedMessage: PhoenixMessage;
} | {
provider: Extract<PromptSDKFormat, "VERCEL_AI">;
validatedMessage: VercelAIMessage;
} | {
provider: null;
validatedMessage: null;
};
export type ToolDefinitionWithProvider = {
provider: Extract<PromptSDKFormat, "OPENAI" | "AZURE_OPENAI">;
validatedToolDefinition: OpenAIToolDefinition;
} | {
provider: Extract<PromptSDKFormat, "ANTHROPIC">;
validatedToolDefinition: AnthropicToolDefinition;
} | {
provider: Extract<PromptSDKFormat, "PHOENIX">;
validatedToolDefinition: PhoenixToolDefinition;
} | {
provider: Extract<PromptSDKFormat, "VERCEL_AI">;
validatedToolDefinition: VercelAIToolDefinition;
} | {
provider: null;
validatedToolDefinition: null;
};
export type ToolCallWithProvider = {
provider: Extract<PromptSDKFormat, "OPENAI" | "AZURE_OPENAI">;
validatedToolCall: OpenAIToolCall;
} | {
provider: Extract<PromptSDKFormat, "ANTHROPIC">;
validatedToolCall: AnthropicToolCall;
} | {
provider: Extract<PromptSDKFormat, "PHOENIX">;
validatedToolCall: PhoenixToolCall;
} | {
provider: Extract<PromptSDKFormat, "VERCEL_AI">;
validatedToolCall: VercelAIChatPartToolCall;
} | {
provider: null;
validatedToolCall: null;
};
export type ToolChoiceWithProvider = {
provider: Extract<PromptSDKFormat, "OPENAI" | "AZURE_OPENAI">;
toolChoice: OpenaiToolChoice;
} | {
provider: Extract<PromptSDKFormat, "ANTHROPIC">;
toolChoice: AnthropicToolChoice;
} | {
provider: Extract<PromptSDKFormat, "PHOENIX">;
toolChoice: PromptToolChoice;
} | {
provider: Extract<PromptSDKFormat, "VERCEL_AI">;
toolChoice: VercelAIToolChoice;
} | {
provider: null;
toolChoice: null;
};
//# sourceMappingURL=types.d.ts.map