diff --git a/.agents/workflows/generate-release.md b/.agents/workflows/generate-release.md index 3d6633bf..3a1c6c3c 100644 --- a/.agents/workflows/generate-release.md +++ b/.agents/workflows/generate-release.md @@ -266,10 +266,10 @@ curl -s -o /dev/null -w "LOCAL: HTTP %{http_code}\n" http://192.168.0.15:20128/ curl -s -o /dev/null -w "AKAMAI: HTTP %{http_code}\n" http://69.164.221.35:20128/ ``` -### 16. Clean up release branch +### 16. Preserve release branch ```bash -git branch -d release/v2.x.y +# Branch is kept for historical purposes. Do not delete. ``` --- diff --git a/src/lib/memory/extraction.ts b/src/lib/memory/extraction.ts index 496f5dd8..6ecef6f3 100644 --- a/src/lib/memory/extraction.ts +++ b/src/lib/memory/extraction.ts @@ -14,34 +14,34 @@ const log = logger("MEMORY_EXTRACTION"); /** Patterns indicating user preferences */ const PREFERENCE_PATTERNS: RegExp[] = [ - /\bI\s+(?:really\s+)?prefer\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+(?:really\s+)?like\s+(.+?)(?:\.|,|$)/gi, - /\bmy\s+(?:favorite|favourite)\s+(?:is|are)\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+(?:don'?t|do\s+not)\s+like\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+(?:hate|dislike|avoid)\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+enjoy\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+love\s+(.+?)(?:\.|,|$)/gi, + /\bI\s+(?:really\s+)?prefer\s+([^.,\n]+)/gi, + /\bI\s+(?:really\s+)?like\s+([^.,\n]+)/gi, + /\bmy\s+(?:favorite|favourite)\s+(?:is|are)\s+([^.,\n]+)/gi, + /\bI\s+(?:don'?t|do\s+not)\s+like\s+([^.,\n]+)/gi, + /\bI\s+(?:hate|dislike|avoid)\s+([^.,\n]+)/gi, + /\bI\s+enjoy\s+([^.,\n]+)/gi, + /\bI\s+love\s+([^.,\n]+)/gi, ]; /** Patterns indicating user decisions */ const DECISION_PATTERNS: RegExp[] = [ - /\bI'?(?:ll|will)\s+use\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+chose\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+(?:have\s+)?decided\s+(?:to\s+)?(.+?)(?:\.|,|$)/gi, - /\bI'?m\s+going\s+(?:to\s+)?(?:use|with|adopt)\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+selected\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+picked\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+went\s+with\s+(.+?)(?:\.|,|$)/gi, + /\bI'?(?:ll|will)\s+use\s+([^.,\n]+)/gi, + /\bI\s+chose\s+([^.,\n]+)/gi, + /\bI\s+(?:have\s+)?decided\s+(?:to\s+)?([^.,\n]+)/gi, + /\bI'?m\s+going\s+(?:to\s+)?(?:use|with|adopt)\s+([^.,\n]+)/gi, + /\bI\s+selected\s+([^.,\n]+)/gi, + /\bI\s+picked\s+([^.,\n]+)/gi, + /\bI\s+went\s+with\s+([^.,\n]+)/gi, ]; /** Patterns indicating user behavioral patterns */ const PATTERN_PATTERNS: RegExp[] = [ - /\bI\s+usually\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+always\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+never\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+typically\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+tend\s+to\s+(.+?)(?:\.|,|$)/gi, - /\bI\s+(?:often|frequently|regularly)\s+(.+?)(?:\.|,|$)/gi, + /\bI\s+usually\s+([^.,\n]+)/gi, + /\bI\s+always\s+([^.,\n]+)/gi, + /\bI\s+never\s+([^.,\n]+)/gi, + /\bI\s+typically\s+([^.,\n]+)/gi, + /\bI\s+tend\s+to\s+([^.,\n]+)/gi, + /\bI\s+(?:often|frequently|regularly)\s+([^.,\n]+)/gi, ]; // Maximum length for extracted content