deep-chat-dev
Version:
Customizable chat component for AI APIs
74 lines • 1.85 kB
TypeScript
import { ChatFunctionHandler } from './openAI';
export interface ClaudeCacheControl {
type: 'ephemeral';
ttl?: '5m' | '1h';
}
export interface ClaudeTool {
name: string;
description: string;
input_schema: {
type: 'object';
properties: object;
required?: string[];
};
input_examples?: Array<Record<string, unknown>>;
defer_loading?: boolean;
type?: string;
allowed_callers?: string[];
cache_control?: ClaudeCacheControl;
}
export interface ClaudeSystemBlock {
type: 'text';
text: string;
cache_control?: ClaudeCacheControl;
}
export interface ClaudeMCPServer {
type: 'url';
url: string;
name: string;
authorization_token?: string;
}
export type ClaudeToolChoice = {
type: 'auto';
disable_parallel_tool_use?: boolean;
} | {
type: 'any';
disable_parallel_tool_use?: boolean;
} | {
type: 'tool';
name: string;
disable_parallel_tool_use?: boolean;
} | {
type: 'none';
};
export interface ClaudeMetadata {
user_id?: string;
}
export type ClaudeThinking = {
type: 'enabled';
budget_tokens: number;
display?: 'summarized' | 'omitted';
} | {
type: 'disabled';
} | {
type: 'adaptive';
display?: 'summarized' | 'omitted';
};
export interface ClaudeChat {
model?: string;
max_tokens?: number;
stop_sequences?: string[];
system_prompt?: string | ClaudeSystemBlock[];
tools?: ClaudeTool[];
tool_choice?: ClaudeToolChoice;
function_handler?: ChatFunctionHandler;
mcp_servers?: ClaudeMCPServer[];
metadata?: ClaudeMetadata;
thinking?: ClaudeThinking;
service_tier?: 'auto' | 'standard_only';
inference_geo?: string;
custom_base_url?: string;
cache_control?: ClaudeCacheControl;
}
export type Claude = true | ClaudeChat;
//# sourceMappingURL=claude.d.ts.map