Date : 01/02/2026 Status : TERMINE
migrations/017_trigger_tags.sql - Migration ajout trigger_tags sur actions et routines (avec index GIN)src/utils/frenchMatcher.ts - Stemming francais, phonetique, matching combine avec scoressrc/services/intentClassifier.ts - Validation LLM, confrontation deterministe vs LLMsrc/data/connector-types.ts - trigger_tags + generic_tags sur ConnectorType interface + 26 connecteurssrc/types/action.ts - trigger_tags sur Action, CreateActionInput, UpdateActionInputsrc/types/routine.ts - trigger_tags sur Routine, CreateRoutineInput, UpdateRoutineInputsrc/services/intentDetector.ts - Refactorise : tags des ConnectorTypes au lieu de maps hardcodees, stemming, phonetique, _matchSource/_matchScoresrc/services/aiChat.ts - Integration validation LLM (confrontation), nouveau type pending_intent 'clarify_confrontation'src/services/actions.ts - Support trigger_tags dans create/updatesrc/services/routines.ts - Support trigger_tags dans create/updatesrc/index.ts - trigger_tags dans schemas validation API (actions + routines)src/routes/actions/new/index.tsx - Champ trigger_tags dans formulaire creationsrc/routes/actions/[id]/edit/index.tsx - Champ trigger_tags dans formulaire editionMessage utilisateur
|
v
[Couche 1] Detection deterministe amelioree (~0ms)
- Tags sur ConnectorTypes (trigger_tags = HIGH, generic_tags = MEDIUM)
- Stemming francais (conjugaisons irregulieres)
- Recherche phonetique (fautes de frappe)
- trigger_tags sur actions/routines
- _matchSource + _matchScore sur chaque DetectedIntent
|
v
[Couche 2] Validation LLM si necessaire (~200-500ms)
- shouldValidateWithLLM() decide si LLM necessaire
- Skippee si match exact, URL, trigger_tag score >= 20
- Activee si stem, phonetique, ai_verb_noun, generic_tag
- Confrontation : deterministe vs LLM
|
v
[Couche 3] Interaction utilisateur si desaccord
- Choix presentes via InteractiveMetadata
- Nouveau type pending_intent: clarify_confrontation
- Reutilise le systeme existant