UNPKG

polish-cli

Version:

AI-powered file organization for Obsidian with automatic markdown conversion

121 lines 2.75 kB
export interface Config { vault: VaultConfig; originals: OriginalsConfig; sources: SourceConfig[]; processing: ProcessingConfig; tagging: TaggingConfig; api: ApiConfig; } export interface VaultConfig { path: string; structure: { documents: string; media: string; code: string; references: string; }; } export interface OriginalsConfig { path: string; organizationStyle: 'type-based' | 'project-based' | 'date-based'; createYearFolders: boolean; } export interface SourceConfig { path: string; includeSubfolders: boolean; } export interface ProcessingConfig { extractText: boolean; maxFileSize: string; supportedFormats: string[]; } export interface TaggingConfig { maxTags: number; autoGenerateTypeTags: boolean; autoGenerateDateTags: boolean; customTagPatterns: Record<string, string>; } export interface ApiConfig { mode: 'claude-code' | 'api' | 'hybrid' | 'local'; apiKey?: string; model?: string; maxTokens?: number; temperature?: number; } export interface FileInfo { path: string; name: string; extension: string; size: number; createdAt: Date; modifiedAt: Date; type: FileType; } export declare enum FileType { Document = "document", Image = "image", Code = "code", Data = "data", Archive = "archive", Media = "media", Unknown = "unknown" } export interface ProcessedFile { original: FileInfo; markdownPath: string; originalNewPath: string; content: string; frontmatter: Frontmatter; tags: string[]; category: string; } export interface Frontmatter { title: string; originalFile: string; fileType: string; created: string; processed: string; tags: string[]; [key: string]: unknown; } export interface OrganizationResult { processed: ProcessedFile[]; failed: Array<{ file: FileInfo; error: string; }>; summary: { total: number; successful: number; failed: number; duration: number; }; } export interface TagSuggestion { tag: string; confidence: number; source: 'filename' | 'content' | 'type' | 'context'; } export interface CategorySuggestion { category: string; confidence: number; reasoning: string; } export interface Profile { name: string; description?: string; config: Config; createdAt: string; lastUsed: string; } export interface ProfileSummary { name: string; description?: string; vaultPath: string; originalsPath: string; sourceCount: number; isActive: boolean; createdAt: string; lastUsed: string; } //# sourceMappingURL=index.d.ts.map