feat: cooking assistant can propose creating a recipe

Gives the general chat a createRecipe tool (Vercel AI SDK, stepCountIs(3))
scoped so it can only ever produce a draft — the tool's execute is a pure
echo, no DB write. The route surfaces the tool call as proposedRecipe
alongside the normal text answer; the chat UI renders it as a card with
explicit Create/Discard buttons. Create POSTs to the existing
/api/v1/recipes endpoint — the same code path and tier/recipe-count limit
the manual editor already goes through — so there's exactly one place
that actually creates a recipe row, and nothing happens without the user
clicking Create.

Scoped to the general assistant only (not per-recipe chat), and to one
tool for now — addToShoppingList/generateMealPlan are follow-ups.

v0.45.0
This commit is contained in:
Arnaud
2026-07-17 18:26:19 +02:00
parent 7d290c5b1f
commit 982d4e3264
10 changed files with 222 additions and 37 deletions
+9 -1
View File
@@ -1,5 +1,5 @@
// Mirrors CHANGELOG.md at the repo root — update both together.
export const APP_VERSION = "0.44.1";
export const APP_VERSION = "0.45.0";
export type ChangelogEntry = {
version: string;
@@ -11,6 +11,14 @@ export type ChangelogEntry = {
};
export const CHANGELOG: ChangelogEntry[] = [
{
version: "0.45.0",
date: "2026-07-17 17:30",
added: [
"The cooking assistant can now propose creating a recipe when you explicitly ask it to (\"make me a recipe for X\", \"write that down\") — it drafts one right in the chat with a Create/Discard choice. Nothing is saved until you confirm; confirming goes through the same recipe-creation endpoint (and the same per-tier recipe limit) as the manual editor.",
],
notes: "First step of chatbot-driven actions — only recipe creation for now. Adding recipes to a shopping list or generating a meal plan from chat are tracked as follow-ups, not yet built.",
},
{
version: "0.44.1",
date: "2026-07-17 17:00",