@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
TypeScript
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