{"ok":true,"site":{"host":"wimy.vercel.app","url":"https://wimy.vercel.app/","type":"live","desc":"Wimy","tools":[{"name":"inspect_room","kind":"answer","impl":"imperative","description":"Read the current Wimy room revision, geometry, placed items, and layout warnings.","title":"Inspect room","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"find_furniture","kind":"answer","impl":"imperative","description":"Find deterministic geometric fits in Wimy's local fictional and imported project-authored catalog without changing the room; suggestions are not aesthetic guarantees.","title":"Find furniture","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"category":{"enum":["bed","desk","chair","sofa","dresser","rug","table","plant","generic"]},"styleTags":{"type":"array","maxItems":8,"items":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:\\S|\\S[^\\u0000-\\u001F\\u007F-\\u009F]*\\S)$"}},"maxPrice":{"type":"number","minimum":0},"maxWidth":{"type":"number","exclusiveMinimum":0},"maxDepth":{"type":"number","exclusiveMinimum":0},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_room_edit","kind":"act","impl":"imperative","description":"Atomically add, transform, or remove placed items at an exact room revision.","title":"Apply room edit","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"operations":{"type":"array","minItems":1,"maxItems":8,"items":{"oneOf":[{"type":"object","properties":{"type":{"const":"add"},"productId":{"type":"string","pattern":"^[a-z][a-z0-9-]{0,127}$","minLength":1,"maxLength":128},"pose":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"rotationDeg":{"enum":[0,90,180,270]}},"required":["x","y","rotationDeg"],"additionalProperties":false}},"required":["type","productId","pose"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"transform"},"itemId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"pose":{"type":"object","properties":{"x":{"type":"number"},"y":{"type":"number"},"rotationDeg":{"enum":[0,90,180,270]}},"minProperties":1,"additionalProperties":false}},"required":["type","itemId","pose"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"remove"},"itemId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64}},"required":["type","itemId"],"additionalProperties":false}]}}},"required":["expectedRevision","operations"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"apply_room_structure_edit","kind":"act","impl":"imperative","description":"Atomically change one room's name, dimensions, rectangle or southeast-notch L shape, and bounded door or window openings at an exact room revision; invalidated furniture or openings are rejected without relocation.","title":"Apply room structure edit","annotations":{"readOnlyHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":80,"pattern":"^(?:\\S|\\S[^\\u0000-\\u001F\\u007F-\\u009F]*\\S)$"},"dimensions":{"type":"object","properties":{"width":{"type":"number","multipleOf":0.001,"minimum":1,"maximum":30},"depth":{"type":"number","multipleOf":0.001,"minimum":1,"maximum":30},"height":{"type":"number","multipleOf":0.001,"minimum":2,"maximum":10}},"minProperties":1,"additionalProperties":false},"geometry":{"oneOf":[{"type":"object","properties":{"shape":{"const":"rectangle"}},"required":["shape"],"additionalProperties":false},{"type":"object","properties":{"shape":{"const":"l-shape"},"notch":{"type":"object","properties":{"corner":{"const":"south-east"},"width":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0},"depth":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0}},"required":["corner","width","depth"],"additionalProperties":false}},"required":["shape","notch"],"additionalProperties":false}]},"openingOperations":{"type":"array","minItems":1,"maxItems":8,"items":{"oneOf":[{"type":"object","properties":{"type":{"const":"add"},"opening":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"kind":{"enum":["door","window"]},"wall":{"enum":["north","east","south","west"]},"centerOffset":{"type":"number","multipleOf":0.001},"width":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0},"bottom":{"type":"number","multipleOf":0.001},"height":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0}},"required":["id","kind","wall","centerOffset","width","bottom","height"],"additionalProperties":false}},"required":["type","opening"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"update"},"openingId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"patch":{"type":"object","properties":{"kind":{"enum":["door","window"]},"wall":{"enum":["north","east","south","west"]},"centerOffset":{"type":"number","multipleOf":0.001},"width":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0},"bottom":{"type":"number","multipleOf":0.001},"height":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0}},"minProperties":1,"additionalProperties":false}},"required":["type","openingId","patch"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"move"},"openingId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"patch":{"type":"object","properties":{"wall":{"enum":["north","east","south","west"]},"centerOffset":{"type":"number","multipleOf":0.001}},"minProperties":1,"additionalProperties":false}},"required":["type","openingId","patch"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"resize"},"openingId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"patch":{"type":"object","properties":{"width":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0},"height":{"type":"number","multipleOf":0.001,"exclusiveMinimum":0}},"minProperties":1,"additionalProperties":false}},"required":["type","openingId","patch"],"additionalProperties":false},{"type":"object","properties":{"type":{"const":"remove"},"openingId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64}},"required":["type","openingId"],"additionalProperties":false}]}}},"required":["expectedRevision"],"anyOf":[{"required":["name"]},{"required":["dimensions"]},{"required":["geometry"]},{"required":["openingOperations"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_lighting_preview","kind":"answer","impl":"imperative","description":"Read the ephemeral Wimy sun and moon preview scenario, independent lighting revision, validation state, and bounded derived status without changing the room.","title":"Inspect lighting preview","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_lighting_preview","kind":"act","impl":"imperative","description":"Atomically update the ephemeral sun and moon preview at an exact lighting revision using bounded local date, minute-of-day, timezone, coarse coordinates, or Plan North bearing; this never changes the room document.","title":"Set lighting preview","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"expectedLightingRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"minuteOfDay":{"type":"integer","minimum":0,"maximum":1439},"timeZone":{"type":"string","minLength":1,"maxLength":64},"latitude":{"type":"number","minimum":-90,"maximum":90,"multipleOf":0.01},"longitude":{"type":"number","minimum":-180,"maximum":180,"multipleOf":0.01},"planNorthAzimuthDeg":{"type":"number","minimum":0,"exclusiveMaximum":360,"multipleOf":0.001}},"required":["expectedLightingRevision"],"anyOf":[{"required":["date"]},{"required":["minuteOfDay"]},{"required":["timeZone"]},{"required":["latitude"]},{"required":["longitude"]},{"required":["planNorthAzimuthDeg"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_retailer_offers","kind":"answer","impl":"imperative","description":"Read synthetic retailer offer evidence for one project-authored catalog variant by canonical UUID; this never changes the room.","title":"Inspect retailer offer evidence","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"catalogId":{"type":"string","format":"uuid"},"productId":{"type":"string","format":"uuid"}},"required":["catalogId","productId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"inspect_room_shopping_plan","kind":"answer","impl":"imperative","description":"Read a bounded retailer-grouped comparison of current exact synthetic offers for the placed room variants; this never changes the room.","title":"Inspect room shopping plan","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"find_substitutes","kind":"answer","impl":"imperative","description":"Rank deterministic same-category catalog substitutes for one placed item without changing the room; every actionable suggestion includes fit, identity differences, rationale, tradeoffs, and provenance, and replacement requires explicit human confirmation.","title":"Find furniture substitutes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"itemId":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$","minLength":1,"maxLength":64},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5}},"required":["itemId"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"apiSurface":"spec","category":"Productivity & Business","toolCount":9}}