/** * Shared types for Enhanced Index system * * This file contains types used by EnhancedIndexManager, RelationshipManager, * and VerbTriggerManager to prevent circular dependencies. * * These are the core data structures for the semantic search and relationship * discovery system. */ import { BaseRelationship } from './RelationshipTypes.js'; /** * Enhanced index schema - fully extensible */ export interface EnhancedIndex { metadata: IndexMetadata; action_triggers: Record; elements: Record>; context?: ContextTracking; scoring?: ScoringConfig; extensions?: Record; } /** * Index metadata */ export interface IndexMetadata { version: string; created: string; last_updated: string; total_elements: number; [key: string]: any; } /** * Element definition in the index */ export interface ElementDefinition { core: { name: string; type: string; version?: string; description?: string; created?: string; updated?: string; }; search?: { keywords?: string[]; tags?: string[]; triggers?: string[]; }; actions?: Record; use_when?: UseWhenPattern[]; relationships?: Record; semantic?: SemanticData; custom?: Record; extensions?: Record; } /** * Action definition for verb-based triggers */ export interface ActionDefinition { description?: string; examples?: string[]; confidence?: number; [key: string]: any; } /** * USE_WHEN pattern for automatic activation */ export interface UseWhenPattern { condition: string; confidence?: number; [key: string]: any; } /** * Relationship type (re-exported from RelationshipTypes) */ export type Relationship = BaseRelationship; /** * Semantic data for similarity scoring */ export interface SemanticData { keywords?: string[]; concepts?: string[]; domain?: string; complexity?: number; [key: string]: any; } /** * Context tracking for smart injection */ export interface ContextTracking { keywords: KeywordTracking; relationships: RelationshipTracking; [key: string]: any; } /** * Keyword tracking data */ export interface KeywordTracking { frequency: Record; recency: Record; [key: string]: any; } /** * Relationship tracking data */ export interface RelationshipTracking { used_with: Record; [key: string]: any; } /** * Scoring configuration */ export interface ScoringConfig { weights?: { keyword_match?: number; semantic_similarity?: number; relationship_strength?: number; recency?: number; [key: string]: number | undefined; }; thresholds?: { min_score?: number; auto_inject?: number; [key: string]: number | undefined; }; [key: string]: any; } /** * Index options for building/rebuilding */ export interface IndexOptions { forceRebuild?: boolean; skipValidation?: boolean; includeInactive?: boolean; [key: string]: any; } /** * Path between elements (from RelationshipManager) */ export interface ElementPath { path: string[]; relationships: string[]; totalStrength: number; } //# sourceMappingURL=IndexTypes.d.ts.map