fix(mcp): expose price fields on all create tools so AI can link costs to items

Add price/currency params to create_place, create_and_assign_place,
create_place_accommodation (passed through to createPlace which already
persists them). Add price/budget_category to create_transport and
create_reservation: price is written to metadata.price (shown on the
booking) and a linked budget_items row is created via a new
linkBudgetItemToReservation helper in budgetService (also used to
de-duplicate the existing route-level logic in routes/reservations.ts).

Fixes #1031
This commit is contained in:
jubnl
2026-05-22 16:50:04 +02:00
parent 66ac2a1b1b
commit cf59b189cf
6 changed files with 65 additions and 18 deletions
+11
View File
@@ -96,6 +96,17 @@ export function createBudgetItem(
return item;
}
export function linkBudgetItemToReservation(
tripId: string | number,
reservationId: number,
data: { name: string; category?: string; total_price: number },
) {
const item = createBudgetItem(tripId, data) as BudgetItem & { reservation_id?: number | null };
db.prepare('UPDATE budget_items SET reservation_id = ? WHERE id = ?').run(reservationId, item.id);
item.reservation_id = reservationId;
return item;
}
export function updateBudgetItem(
id: string | number,
tripId: string | number,