UNPKG

@bernierllc/ai-content-generator

Version:

AI-powered content generation service for social posts, blog articles, emails, and multi-platform content

131 lines 4.28 kB
import { AIContentGeneratorConfig, SocialPlatform, EmailType, ContentFormat, GenerationOptions, BlogOutline, BlogGenerationOptions, EmailGenerationOptions, GeneratedContent, BatchGenerationResult, BatchGenerationRequest, ThreadGenerationResult, HashtagResult, CommitData, CommitContentResult, TimeRange, GenerationAnalytics } from './types.js'; /** * AI Content Generator Service * * Generates AI-powered content for social media posts, blog articles, * emails, and multi-platform content from source material. */ export declare class AIContentGenerator { private provider; private fallbackProvider?; private config; private analyticsData; constructor(config: AIContentGeneratorConfig); /** * Generate a social media post from source content */ generateSocialPost(sourceContent: string, platform: SocialPlatform, options?: GenerationOptions): Promise<GeneratedContent>; /** * Generate posts for multiple platforms from a single source */ generateMultiPlatformContent(sourceContent: string, platforms: SocialPlatform[], options?: GenerationOptions): Promise<BatchGenerationResult>; /** * Generate a blog post from an outline */ generateBlogPost(outline: BlogOutline, options?: BlogGenerationOptions): Promise<GeneratedContent>; /** * Expand short content into a full blog post */ expandToBlogPost(shortContent: string, targetLength?: number, options?: BlogGenerationOptions): Promise<GeneratedContent>; /** * Generate an email from source content */ generateEmail(sourceContent: string, emailType: EmailType, options?: EmailGenerationOptions): Promise<GeneratedContent>; /** * Generate content from git commit data */ generateFromCommit(commitData: CommitData, outputFormats: ContentFormat[]): Promise<CommitContentResult>; /** * Generate a Twitter/LinkedIn thread from long-form content */ generateThread(sourceContent: string, platform: 'twitter' | 'linkedin', maxPosts?: number): Promise<ThreadGenerationResult>; /** * Generate hashtags for content */ generateHashtags(content: string, count?: number, trending?: boolean): Promise<HashtagResult>; /** * Batch generate content from multiple requests */ batchGenerate(requests: BatchGenerationRequest[]): Promise<BatchGenerationResult>; /** * Get generation analytics for a time range */ getAnalytics(timeRange: TimeRange): GenerationAnalytics; /** * Clear analytics data */ clearAnalytics(): void; /** * Execute a completion with fallback to secondary provider */ private executeWithFallback; /** * Build prompt for social media generation */ private buildSocialPrompt; /** * Build prompt for blog generation */ private buildBlogPrompt; /** * Build prompt for email generation */ private buildEmailPrompt; /** * Build prompt for thread generation */ private buildThreadPrompt; /** * Get platform specifications */ private getPlatformSpecifications; /** * Get max tokens for platform generation */ private getPlatformMaxTokens; /** * Parse and clean platform content */ private parsePlatformContent; /** * Parse email content from JSON response */ private parseEmailContent; /** * Parse thread content from JSON response */ private parseThreadContent; /** * Parse hashtags from content */ private parseHashtags; /** * Generate alternate versions of content */ private generateAlternateVersions; /** * Generate blog post from commit data */ private generateBlogFromCommit; /** * Generate social post from commit data */ private generateSocialFromCommit; /** * Generate email from commit data */ private generateEmailFromCommit; /** * Format commit data for content generation */ private formatCommitForContent; /** * Count words in content */ private countWords; /** * Track generation for analytics */ private trackGeneration; } //# sourceMappingURL=ai-content-generator.d.ts.map