UNPKG

claritykit-svelte

Version:

A comprehensive Svelte component library focused on accessibility, ADHD-optimized design, developer experience, and full SSR compatibility

159 lines 4.05 kB
import type { HTMLAttributes } from 'svelte/elements'; export type ProcessingStatus = 'idle' | 'processing' | 'completed' | 'saved' | 'error'; export type CapturePriority = 'low' | 'normal' | 'high' | 'urgent'; export type CaptureSource = 'manual' | 'voice' | 'clipboard' | 'integration'; export interface CaptureMetadata { timestamp: Date; wordCount: number; characterCount: number; tags: string[]; context: Record<string, any>; source: CaptureSource; priority: CapturePriority; sessionId?: string; location?: { lat: number; lng: number; accuracy: number; }; device?: { type: string; os: string; browser: string; }; } export interface CaptureContext { projectId?: string; workflowId?: string; parentCaptureId?: string; relatedConcepts?: string[]; currentActivity?: string; mood?: string; energy?: number; } export interface BrainDumpCaptureProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCapture'> { /** * Placeholder text for the capture area * @default "What's on your mind? Dump your thoughts here..." */ placeholder?: string; /** * Minimum length required for capture * @default 10 */ minLength?: number; /** * Maximum length allowed for capture * @default 5000 */ maxLength?: number; /** * Available tags for quick categorization */ tags?: string[]; /** * Context information to attach to the capture */ context?: CaptureContext; /** * Enable auto-save functionality * @default true */ autoSave?: boolean; /** * Delay in milliseconds before auto-saving * @default 2000 */ autoSaveDelay?: number; /** * Show metadata information (word count, etc.) * @default true */ showMetadata?: boolean; /** * Show processing status indicator * @default true */ showProcessingStatus?: boolean; /** * Callback when content is captured */ onCapture?: (data: { content: string; metadata: CaptureMetadata; }) => void | Promise<void>; /** * Callback when content is processed */ onProcess?: (data: { content: string; tags: string[]; }) => void | Promise<void>; /** * Callback when content is saved */ onSave?: (data: { content: string; metadata: CaptureMetadata; }) => void | Promise<void>; /** * Callback when a tag is added */ onTagAdd?: (tag: string) => void; /** * Callback when a tag is removed */ onTagRemove?: (tag: string) => void; } export interface BrainDumpIntegration { /** * Send to Oracle agent for processing */ sendToOracle: (content: string, metadata: CaptureMetadata) => Promise<OracleResponse>; /** * Route through Scribe agent for structuring */ routeToScribe: (content: string, tags: string[]) => Promise<ScribeResponse>; /** * Store in catalog system */ storeToCatalog: (data: CatalogEntry) => Promise<string>; } export interface OracleResponse { intent: string; suggestedWorkflow: string; extractedConcepts: string[]; priority: CapturePriority; delegatedTo?: string[]; } export interface ScribeResponse { structuredContent: { title: string; summary: string; keyPoints: string[]; entities: Array<{ type: string; value: string; }>; concepts: string[]; actions: Array<{ type: string; description: string; }>; }; metadata: { complexity: number; sentiment: string; category: string; }; } export interface CatalogEntry { id?: string; content: string; metadata: CaptureMetadata; processed?: ScribeResponse; oracleAnalysis?: OracleResponse; createdAt?: Date; updatedAt?: Date; } //# sourceMappingURL=types.d.ts.map