/** * Shared types for RecCall core engine and adapters */ export type ShortcutId = string & { readonly __brand: 'ShortcutId'; }; export type ContextId = string & { readonly __brand: 'ContextId'; }; export type RepositoryUrl = string & { readonly __brand: 'RepositoryUrl'; }; export interface Shortcut { id: ShortcutId; context: string; createdAt: Date; updatedAt: Date; category?: string; description?: string; } export interface Recipe { shortcut: ShortcutId; context: string; category: string; description: string; name?: string; } export interface RepositoryManifest { name: string; description: string; version: string; url: string; recipes: Array<{ name: string; shortcut: ShortcutId; description: string; file: string; category: string; }>; } export interface CacheEntry { data: T; timestamp: number; ttl: number; } export interface ValidationResult { valid: boolean; errors: string[]; } export interface CoreConfig { storage: { shortcutsFile: string; repoConfigFile: string; }; repository: { defaultRepo: RepositoryUrl; enabled: boolean; }; cache: { directory: string; ttl: number; memoryTtl: number; }; telemetry: { enabled: boolean; endpoint?: string; }; } export declare class RecCallError extends Error { readonly code: string; readonly cause?: Error | undefined; constructor(message: string, code: string, cause?: Error | undefined); } export declare class StorageError extends RecCallError { constructor(message: string, cause?: Error); } export declare class RepositoryError extends RecCallError { constructor(message: string, cause?: Error); } export declare class ValidationError extends RecCallError { constructor(message: string, cause?: Error); } export interface PlatformCapabilities { canRecord: boolean; canCall: boolean; canList: boolean; canUpdate: boolean; canDelete: boolean; canPurge: boolean; supportsRepository: boolean; } export interface PlatformContext { platform: string; version: string; capabilities: PlatformCapabilities; config?: Record; } //# sourceMappingURL=types.d.ts.map