/** * Verb Trigger Manager - Maps action verbs to elements * * This manager handles verb-based action triggers that map user intent * to specific elements. Uses action verbs (debug, fix, create) instead * of nouns for better intent matching. * * Key principles: * - Verbs have higher attention probability than nouns * - Multiple verbs can map to the same element * - Verbs are extracted from queries and element metadata * - Supports synonyms and related verb forms */ import { EnhancedIndex, ElementDefinition } from './types/IndexTypes.js'; /** * Verb taxonomy - Common verbs grouped by intent */ export declare const VERB_TAXONOMY: { debugging: string[]; creation: string[]; explanation: string[]; analysis: string[]; recall: string[]; execution: string[]; testing: string[]; configuration: string[]; security: string[]; optimization: string[]; documentation: string[]; collaboration: string[]; }; /** * Verb trigger configuration */ export interface VerbTriggerConfig { confidenceThreshold?: number; includeSynonyms?: boolean; maxElementsPerVerb?: number; customVerbs?: Record; } /** * Verb match result */ export interface VerbMatch { verb: string; elements: ElementMatch[]; category?: string; } export interface ElementMatch { name: string; type: string; confidence: number; source: 'explicit' | 'inferred' | 'name-based' | 'description-based'; } export declare class VerbTriggerManager { private verbCache; private config; constructor(config?: VerbTriggerConfig); /** * Extract verbs from a user query */ extractVerbs(query: string): string[]; /** * Check if a word is a known verb */ private isKnownVerb; /** * Get base form of a verb (remove -ing, -ed, etc.) * * Transforms verb variations back to their base form to enable flexible matching. * For example, "debugging", "debugged", "debugs" all map to "debug". */ private getBaseVerb; /** * Map verb phrases to base verbs */ private mapPhraseToVerb; /** * Get elements that match a specific verb * @param verb The verb to search for * @param index The index to search in (passed to avoid circular dependency) */ getElementsForVerb(verb: string, index: EnhancedIndex): ElementMatch[]; /** * Internal version with visited tracking to prevent infinite recursion */ private getElementsForVerbInternal; /** * Find element type by name * FIX: Handle case where index.elements might be undefined */ private findElementType; /** * Get synonyms for a verb */ private getSynonyms; /** * Get verb category */ getVerbCategory(verb: string): string | null; /** * Process a query and get all verb matches * @param query The query to process * @param index The index to search in */ processQuery(query: string, index: EnhancedIndex): VerbMatch[]; /** * Add custom verb mapping */ addCustomVerb(verb: string, elements: string[]): void; /** * Clear verb cache (useful after index updates) */ clearCache(): void; /** * Get all verbs that map to a specific element * @param elementName The element to get verbs for * @param index The index to search in (passed to avoid circular dependency) */ getVerbsForElement(elementName: string, index: EnhancedIndex): string[]; /** * Generate suggested verbs for an element based on its type and name */ suggestVerbsForElement(element: ElementDefinition): string[]; } //# sourceMappingURL=VerbTriggerManager.d.ts.map