export interface BaseTool { readonly name: string; readonly input_schema: { readonly type: 'object'; readonly properties: Record; readonly required?: readonly string[]; readonly description?: string; }; } export interface ToolUseBlock { type: 'tool_use'; id: string; name: string; input: Record; } export interface NewsletterTool { title: string; content: string; focus: string; } export const newsletterTool: BaseTool = { name: 'NewsletterTool' as const, input_schema: { type: 'object' as const, description: 'Generate a tech newsletter with title, content, and focus sections', properties: { title: { type: 'string' as const, description: 'The title of the newsletter (40-50 characters, capturing key themes)' }, content: { type: 'string' as const, description: 'The main content of the newsletter (300-400 words, HTML formatted with paragraph tags and links)' }, focus: { type: 'string' as const, description: 'Forward-looking assessment of key developments and trends' } }, required: ['title', 'content', 'focus'] as const } } as const;