optivise
Version:
Optivise - The Ultimate Optimizely Development Assistant with AI-powered features, zero-config setup, and comprehensive development support
89 lines • 2.29 kB
TypeScript
/**
* Documentation Sync Service
* Automatically syncs Optimizely documentation from optimizely.com
*/
export interface SyncResult {
success: boolean;
documentsProcessed: number;
documentsAdded: number;
documentsUpdated: number;
errors: string[];
duration: number;
}
export interface DocumentMetadata {
url: string;
title: string;
section?: string;
product: string;
contentType: 'documentation' | 'tutorial' | 'api' | 'example';
lastModified?: string;
tags?: string[];
}
export declare class DocumentationSyncService {
private textSplitter;
private syncInProgress;
private lastSyncTime;
private static readonly DOC_SOURCES;
private static readonly PRODUCT_PATTERNS;
constructor();
/**
* Start automatic documentation syncing
*/
startAutoSync(): void;
/**
* Stop automatic syncing
*/
stopAutoSync(): void;
/**
* Manually trigger documentation sync
*/
syncDocumentation(options?: {
force?: boolean;
}): Promise<SyncResult>;
/**
* Discover documentation URLs from sitemaps and known sources
*/
private discoverDocumentationUrls;
/**
* Extract URLs from sitemap XML
*/
private extractUrlsFromSitemap;
/**
* Classify a URL and determine if it's documentation
*/
private classifyDocumentationUrl;
/**
* Get known documentation URLs that should always be included
*/
private getKnownDocumentationUrls;
/**
* Process a single documentation URL and extract content
*/
private processDocumentationUrl;
/**
* Clean and normalize extracted content
*/
private cleanContent;
/**
* Generate a unique document ID from URL
*/
private generateDocumentId;
/**
* Extract relevant tags from content
*/
private extractTags;
/**
* Get sync status and statistics
*/
getSyncStatus(): {
inProgress: boolean;
lastSyncTime: string | null;
autoSyncEnabled: boolean;
};
/**
* Force stop current sync operation
*/
stopCurrentSync(): void;
}
export declare const documentationSyncService: DocumentationSyncService;
//# sourceMappingURL=documentation-sync-service.d.ts.map