feat: regenerate recipe with modifications from the editor

Every existing AI entry point (generate, generate-from-idea, adapt,
variations) either creates a new recipe or a saved variation — none
let you revise the draft you're currently editing in place. Adds a
stateless /api/v1/ai/regenerate endpoint that takes the editor's
current in-progress fields (not a recipeId, so unsaved edits are
included) plus a free-text instruction, and returns a full revised
draft the editor merges into its own state. No DB write happens;
the user still saves normally.

v0.42.0
This commit is contained in:
Arnaud
2026-07-17 17:11:37 +02:00
parent 77c739960d
commit 25e624f618
11 changed files with 314 additions and 3 deletions
+10
View File
@@ -111,6 +111,16 @@
"adaptButton": "Adapt recipe",
"clearExclusions": "Clear",
"variationsDirectionsPlaceholder": "e.g. make it vegan, use only pantry staples, reduce sugar…",
"regenerateWithAi": "Regenerate with AI",
"regenerateTitle": "Regenerate with AI",
"regenerateDescription": "Describe what to change — the rest of the recipe stays as-is. This updates the draft you're editing; you'll still need to save.",
"regenerateInstructionLabel": "What should change?",
"regenerateInstructionPlaceholder": "e.g. make it spicier, swap in chicken instead of beef, halve the servings…",
"regenerateCancel": "Cancel",
"regenerating": "Regenerating…",
"regenerateApply": "Regenerate",
"regenerated": "Draft updated — review and save your changes.",
"regenerateFailed": "Failed to regenerate recipe",
"historyRestoreFailed": "Failed to restore version",
"pairingMealFailed": "Failed to suggest pairings",
"pairingDrinkFailed": "Failed to suggest drinks",