@agentdao/core
Version:
Core functionality, skills, and ready-made UI components for AgentDAO - Web3 subscriptions, content generation, social media, help support, live chat, RSS fetching, web search, and agent pricing integration
97 lines (96 loc) • 2.81 kB
TypeScript
export interface ContentTemplate {
id: string;
name: string;
description: string;
prompt: string;
variables: string[];
maxTokens: number;
temperature: number;
}
export interface GeneratedContent {
id: string;
type: 'blog' | 'social' | 'email' | 'meta';
title: string;
content: string;
summary?: string;
keywords?: string[];
metadata?: Record<string, any>;
timestamp: string;
}
export interface BlogPost extends GeneratedContent {
type: 'blog';
sections: string[];
readingTime: number;
seoOptimized: boolean;
}
export interface SocialPost extends GeneratedContent {
type: 'social';
platform: 'twitter' | 'linkedin' | 'facebook' | 'instagram';
characterCount: number;
hashtags: string[];
}
export interface Email extends GeneratedContent {
type: 'email';
subject: string;
greeting: string;
signature: string;
}
export interface OptimizedContent {
original: string;
optimized: string;
improvements: string[];
seoScore: number;
}
export interface MetaTags {
title: string;
description: string;
keywords: string[];
ogImage?: string;
ogTitle?: string;
ogDescription?: string;
}
export declare class ContentGenerationError extends Error {
originalError?: Error | undefined;
constructor(message: string, originalError?: Error | undefined);
}
export declare class APIKeyMissingError extends Error {
constructor(service: string);
}
export declare class ContentValidationError extends Error {
constructor(message: string);
}
export declare class ContentGenerators {
private static readonly OPENAI_API;
/**
* Generate blog post content
*/
static generateBlogPost(topic: string, keywords?: string[], options?: {
length?: 'short' | 'medium' | 'long';
tone?: 'professional' | 'casual' | 'technical';
includeSEO?: boolean;
}): Promise<BlogPost>;
/**
* Generate social media post
*/
static generateSocialPost(platform: 'twitter' | 'linkedin' | 'facebook' | 'instagram', topic: string, options?: {
tone?: 'professional' | 'casual' | 'engaging';
includeHashtags?: boolean;
}): Promise<SocialPost>;
/**
* Generate email content
*/
static generateEmail(purpose: string, recipient: string, options?: {
tone?: 'formal' | 'casual' | 'friendly';
length?: 'short' | 'medium' | 'long';
}): Promise<Email>;
/**
* Optimize content for SEO
*/
static optimizeContent(content: string, keywords: string[]): Promise<OptimizedContent>;
/**
* Generate meta tags for SEO
*/
static generateMetaTags(title: string, content: string): Promise<MetaTags>;
private static getTonePrompt;
private static cleanJsonContent;
}