From 52864041290777315533b0e7afaeca6ae8822fa4 Mon Sep 17 00:00:00 2001 From: Till JS Date: Tue, 24 Mar 2026 22:18:05 +0100 Subject: [PATCH] feat(parsers): add intelligent quick-create parsers for 6 apps with multilingual support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Base parser: multilingual (DE/EN/FR/ES/IT) date, time, weekday, month parsing - Base parser: fuzzy/typo tolerance (Levenshtein), recurrence (RRULE), relative time - Base parser: timezone extraction, date ranges, ordinal dates, confidence scoring - Base parser: past dates (gestern/yesterday), this/next week distinction - Base parser: compose helper (createAppParser), multiple @references - Calendar: event-parser with duration, time ranges, location, all-day, calendar ref - Calendar: wire up UnifiedBar with onCreate/onParseCreate for quick event creation - Todo: task-parser multilingual priority keywords (urgent/important/normal/later) - Planta: plant-parser with acquisition keywords (gekauft/bought/acheté) - Mukke: song-parser with Artist-Title format, BPM, genre, playlist/project creation - NutriPhi: meal-parser with meal type detection, add QuickInputBar to layout - All parsers: 210 tests across 7 test suites, all passing Co-Authored-By: Claude Opus 4.6 (1M context) --- .../lib/components/calendar/UnifiedBar.svelte | 9 +- .../web/src/lib/utils/event-parser.test.ts | 205 ++++ .../apps/web/src/lib/utils/event-parser.ts | 404 +++++++ .../web/src/lib/utils/song-parser.test.ts | 104 ++ .../apps/web/src/lib/utils/song-parser.ts | 193 +++ .../apps/web/src/routes/(app)/+layout.svelte | 58 +- .../web/src/lib/utils/meal-parser.test.ts | 83 ++ .../apps/web/src/lib/utils/meal-parser.ts | 165 +++ .../apps/web/src/routes/+layout.svelte | 64 + .../web/src/lib/utils/plant-parser.test.ts | 89 ++ .../apps/web/src/lib/utils/plant-parser.ts | 117 ++ .../apps/web/src/routes/(app)/+layout.svelte | 41 +- .../apps/web/src/lib/utils/task-parser.ts | 68 +- .../src/parsers/base-parser.test.ts | 697 +++++++++++ .../shared-utils/src/parsers/base-parser.ts | 1076 +++++++++++++++-- packages/shared-utils/src/parsers/index.ts | 12 + 16 files changed, 3291 insertions(+), 94 deletions(-) create mode 100644 apps/calendar/apps/web/src/lib/utils/event-parser.test.ts create mode 100644 apps/calendar/apps/web/src/lib/utils/event-parser.ts create mode 100644 apps/mukke/apps/web/src/lib/utils/song-parser.test.ts create mode 100644 apps/mukke/apps/web/src/lib/utils/song-parser.ts create mode 100644 apps/nutriphi/apps/web/src/lib/utils/meal-parser.test.ts create mode 100644 apps/nutriphi/apps/web/src/lib/utils/meal-parser.ts create mode 100644 apps/planta/apps/web/src/lib/utils/plant-parser.test.ts create mode 100644 apps/planta/apps/web/src/lib/utils/plant-parser.ts create mode 100644 packages/shared-utils/src/parsers/base-parser.test.ts diff --git a/apps/calendar/apps/web/src/lib/components/calendar/UnifiedBar.svelte b/apps/calendar/apps/web/src/lib/components/calendar/UnifiedBar.svelte index c15708973..1c90120fb 100644 --- a/apps/calendar/apps/web/src/lib/components/calendar/UnifiedBar.svelte +++ b/apps/calendar/apps/web/src/lib/components/calendar/UnifiedBar.svelte @@ -1,7 +1,7 @@