semanticpen
Version:
AI Article Writer & SEO Blog Generator SDK - Professional TypeScript/JavaScript library for automated content creation, AI-powered article generation, and SEO blog writing with SemanticPen
96 lines • 2.36 kB
TypeScript
export interface SemanticPenConfig {
apiKey: string;
baseUrl?: string;
timeout?: number;
debug?: boolean;
}
export interface AuthResult {
userId: string;
organizationId: string;
success: boolean;
}
export interface ArticleGenerationRequest {
targetKeyword: string | string[];
gptVersion?: string;
integrationId?: string;
presetId?: string;
projectName?: string;
personalisationName?: string;
[key: string]: any;
}
export interface ArticleGenerationResponse {
articleId?: string;
articleIds?: string[];
projectId: string;
message: string;
processingInfo?: string;
error?: string | null;
}
export declare enum ArticleStatusEnum {
QUEUED = "queued",
PROCESSING = "processing",
FINISHED = "finished",
FAILED = "failed"
}
export interface Article {
id: string;
organization_id: string;
user_id: string;
project_id: string;
target_keyword: string;
status: ArticleStatusEnum;
article_html?: string;
content?: string;
html?: string;
title?: string;
metadata?: Record<string, any>;
created_at: string;
updated_at: string;
completed_at?: string;
error_message?: string;
}
export interface ArticleStatusInfo {
id: string;
status: string;
isComplete: boolean;
hasError: boolean;
errorMessage?: string;
progress?: number;
estimatedCompletionTime?: string;
}
export interface ApiError {
error: string;
code?: string;
details?: Record<string, any>;
}
export declare enum ErrorType {
AUTHENTICATION_ERROR = "AUTHENTICATION_ERROR",
VALIDATION_ERROR = "VALIDATION_ERROR",
RATE_LIMIT_ERROR = "RATE_LIMIT_ERROR",
NETWORK_ERROR = "NETWORK_ERROR",
API_ERROR = "API_ERROR",
TIMEOUT_ERROR = "TIMEOUT_ERROR",
UNKNOWN_ERROR = "UNKNOWN_ERROR"
}
export interface RequestOptions {
method: 'GET' | 'POST' | 'PUT' | 'DELETE';
headers?: Record<string, string>;
body?: any;
timeout?: number;
}
export interface PollingConfig {
interval: number;
maxAttempts: number;
backoffMultiplier?: number;
}
export interface BulkOperationResult<T> {
successful: T[];
failed: Array<{
item: any;
error: string;
}>;
total: number;
successCount: number;
failureCount: number;
}
//# sourceMappingURL=index.d.ts.map