"""Wed backend OpenAPI subset used to generate orchestration tools. The source backend lives at `/Volumes/Corsair/Wed/wed-backend` and exposes these FastAPI routes: - `POST /tasks/` - `PATCH /tasks/{task_id}` - `POST /notes/` - `PATCH /notes/{note_id}` - `POST /reservations/guest` - `PATCH /reservations/{reservation_id}` """ from typing import Any def wed_openapi_subset() -> dict[str, Any]: """Return a minimal OpenAPI document matching the real Wed backend payloads.""" return { "openapi": "3.1.0", "info": {"title": "Wedding Plan API", "version": "1.0"}, "paths": { "/tasks/": { "post": { "operationId": "create_task", "summary": "Create task in Wed backend", "requestBody": { "content": {"application/json": {"schema": {"$ref": "#/components/schemas/TaskCreate"}}} }, } }, "/tasks/{task_id}": { "patch": { "operationId": "update_task", "summary": "Update task in Wed backend", "requestBody": { "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateTask"}}} }, } }, "/notes/": { "post": { "operationId": "create_note", "summary": "Create note in Wed backend", "requestBody": { "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NoteCreateSchema"}}} }, } }, "/notes/{note_id}": { "patch": { "operationId": "update_note", "summary": "Update note in Wed backend", "requestBody": { "content": {"application/json": {"schema": {"$ref": "#/components/schemas/NoteUpdateSchema"}}} }, } }, "/reservations/guest": { "post": { "operationId": "create_guest_reservation", "summary": "Create guest reservation request in Wed backend", "requestBody": { "content": { "application/json": { "schema": {"$ref": "#/components/schemas/ReservationPendingCreateGuestSchema"} } } }, } }, "/reservations/{reservation_id}": { "patch": { "operationId": "update_reservation", "summary": "Update reservation in Wed backend", "requestBody": { "content": { "application/json": {"schema": {"$ref": "#/components/schemas/ReservationsUpdateSchema"}} } }, } }, }, "components": { "schemas": { "TaskCreate": { "type": "object", "required": ["title"], "additionalProperties": False, "properties": { "title": {"type": "string"}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": None}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": None}, "is_completed": {"type": "boolean", "default": False}, "due_date": { "anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}], "default": None, }, }, }, "UpdateTask": { "type": "object", "additionalProperties": False, "properties": { "title": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "description": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "notes": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "is_completed": {"anyOf": [{"type": "boolean"}, {"type": "null"}]}, "due_date": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, }, }, "NoteCreateSchema": { "type": "object", "required": ["content"], "additionalProperties": False, "properties": { "content": {"type": "string"}, "reservation_id": { "anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}], "default": None, }, }, }, "NoteUpdateSchema": { "type": "object", "additionalProperties": False, "properties": { "content": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "reservation_id": {"anyOf": [{"type": "string", "format": "uuid"}, {"type": "null"}]}, }, }, "ReservationPendingCreateGuestSchema": { "type": "object", "required": ["partner_id", "guest_first_name", "guest_last_name", "guest_email"], "additionalProperties": False, "properties": { "partner_id": {"type": "string", "format": "uuid"}, "guest_first_name": {"type": "string"}, "guest_last_name": {"type": "string"}, "guest_email": {"type": "string", "format": "email"}, "guest_phone": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": None}, "event_date": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "details": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "budget_per_reservation": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "interested_dates": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "guest_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "event_type": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "other_comments": {"anyOf": [{"type": "string"}, {"type": "null"}]}, }, }, "ReservationsUpdateSchema": { "type": "object", "additionalProperties": False, "properties": { "status": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "event_date": {"anyOf": [{"type": "string", "format": "date-time"}, {"type": "null"}]}, "details": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "budget_per_reservation": {"anyOf": [{"type": "number"}, {"type": "null"}]}, "interested_dates": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "guest_count": {"anyOf": [{"type": "integer"}, {"type": "null"}]}, "event_type": {"anyOf": [{"type": "string"}, {"type": "null"}]}, "other_comments": {"anyOf": [{"type": "string"}, {"type": "null"}]}, }, }, } }, }