{"ok":true,"site":{"host":"paqly.netlify.app","url":"https://paqly.netlify.app/","type":"live","desc":"Paqly","tools":[{"name":"packing_get_capabilities","kind":"answer","impl":"imperative","description":"READ FIRST for every packing request. Use this native tool instead of inspecting or clicking the page. Returns luggage types, the common-item catalogue, material physics, allowed non-rolled folds, and solver rules needed to prepare packing_add_items.","title":"Read Paqly capabilities","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_get_state","kind":"answer","impl":"imperative","description":"READ the complete live plan through structured data instead of reading labels from the page. Returns luggage, every submitted and rendered item, dimensions, physics, compression, layer, compartment, 3D position, solver, fit, validation, and closure state.","title":"Read the Paqly plan","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_add_items","kind":"act","impl":"imperative","description":"WRITE / BATCHED. Primary tool for a conversational packing list; do not add items by clicking the form. Call packing_get_capabilities first. Known catalogue items need only name and quantity. For each unknown item, infer and provide dimensions, mass, material, softness, compression cap, fragility, orientation, and dimension_source=agent_estimate. Updates the visible 3D plan before returning. Then call packing_optimize, packing_validate, and packing_run_closure_test.","title":"Add a packing list","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"items":{"type":"array","minItems":1,"maxItems":60,"items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Specific real object name, such as T-shirt, running shoes, or Steam Deck."},"quantity":{"type":"integer","minimum":1,"maximum":20,"description":"Number of separate physical objects to add."},"width_cm":{"type":"number","minimum":2,"maximum":95,"description":"Natural packed width in cm. Required for an item not in the Paqly catalogue."},"height_cm":{"type":"number","minimum":0.5,"maximum":80,"description":"Natural packed thickness/height in cm. Required for an item not in the Paqly catalogue."},"depth_cm":{"type":"number","minimum":2,"maximum":95,"description":"Natural packed depth in cm. Required for an item not in the Paqly catalogue."},"material_profile":{"type":"string","enum":["rigid","semi_rigid","denim","soft_cotton","elastic_smalls","knit","lofted","padded_tech"],"description":"Physical material class. Required for an item not in the Paqly catalogue."},"softness":{"type":"number","minimum":0,"maximum":1,"description":"0 is rigid and 1 is very soft."},"max_compression_percent":{"type":"number","minimum":0,"maximum":40,"description":"Physical compression ceiling. Never exceed 40."},"mass_kg":{"type":"number","minimum":0.02,"maximum":25,"description":"Plausible packed mass in kilograms."},"fragile":{"type":"boolean","description":"Whether this item should avoid carrying load."},"access_priority":{"type":"string","enum":["deep","normal","easy"],"description":"Easy items are biased toward the top/front."},"best_orientation":{"type":"string","enum":["flat","upright","side","any"],"description":"Preferred safe packing orientation."},"dimension_source":{"type":"string","enum":["catalogue","agent_estimate","user"],"description":"Use agent_estimate when you infer dimensions for an unknown item."}},"required":["name"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_update_items","kind":"act","impl":"imperative","description":"WRITE / BATCHED. Update one or more existing items by id or name, then repack once and update the visible 3D plan. Use this native action instead of editing form fields.","title":"Update packing items","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"items":{"type":"array","minItems":1,"maxItems":60,"items":{"type":"object","properties":{"item":{"type":"string","minLength":1,"description":"Existing item id or exact/current name."},"name":{"type":"string","minLength":1,"description":"Specific real object name, such as T-shirt, running shoes, or Steam Deck."},"width_cm":{"type":"number","minimum":2,"maximum":95,"description":"Natural packed width in cm. Required for an item not in the Paqly catalogue."},"height_cm":{"type":"number","minimum":0.5,"maximum":80,"description":"Natural packed thickness/height in cm. Required for an item not in the Paqly catalogue."},"depth_cm":{"type":"number","minimum":2,"maximum":95,"description":"Natural packed depth in cm. Required for an item not in the Paqly catalogue."},"material_profile":{"type":"string","enum":["rigid","semi_rigid","denim","soft_cotton","elastic_smalls","knit","lofted","padded_tech"],"description":"Physical material class. Required for an item not in the Paqly catalogue."},"softness":{"type":"number","minimum":0,"maximum":1,"description":"0 is rigid and 1 is very soft."},"max_compression_percent":{"type":"number","minimum":0,"maximum":40,"description":"Physical compression ceiling. Never exceed 40."},"mass_kg":{"type":"number","minimum":0.02,"maximum":25,"description":"Plausible packed mass in kilograms."},"fragile":{"type":"boolean","description":"Whether this item should avoid carrying load."},"access_priority":{"type":"string","enum":["deep","normal","easy"],"description":"Easy items are biased toward the top/front."},"best_orientation":{"type":"string","enum":["flat","upright","side","any"],"description":"Preferred safe packing orientation."},"dimension_source":{"type":"string","enum":["catalogue","agent_estimate","user"],"description":"Use agent_estimate when you infer dimensions for an unknown item."}},"required":["item"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_remove_items","kind":"act","impl":"imperative","description":"WRITE / BATCHED. Remove several items by id or exact/current name, repack once, and update the visible 3D plan. Use this native action instead of clicking remove buttons.","title":"Remove packing items","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"items":{"type":"array","minItems":1,"maxItems":60,"items":{"type":"string","minLength":1}}},"required":["items"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_set_luggage","kind":"act","impl":"imperative","description":"WRITE. Select a luggage type and optionally override its usable internal dimensions, then repack with its specific physical strategy and update the distinct 3D geometry. Use this native action instead of clicking luggage cards.","title":"Set luggage","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["carry_on","medium_suitcase","large_suitcase","duffel","backpack"]},"width_cm":{"type":"number","minimum":20,"maximum":100},"length_cm":{"type":"number","minimum":15,"maximum":100},"depth_cm":{"type":"number","minimum":8,"maximum":80}},"required":["type"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_optimize","kind":"act","impl":"imperative","description":"WRITE / COMPLETE. Run Paqly’s complete luggage-specific solver, support settling, lower-layer refill, corner compaction, soft gap fill, second gravity settle, and support-derived layer ordering. Rebuilds the visible 3D result before returning.","title":"Complete packing optimization","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_validate","kind":"act","impl":"imperative","description":"READ. Audit submitted versus rendered counts, hidden items, containment, collisions, floating/support, capacity, and closure feasibility from runtime state. Use this result instead of visually guessing FIT.","title":"Validate the packing result","annotations":{"readOnlyHint":true,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_run_closure_test","kind":"act","impl":"imperative","description":"WRITE / COMPLETE. Run and visibly animate the physical clamshell or zipper envelope test. Resolves only after a successful close or a visible jam-and-reopen failure, then returns FIT or DOES_NOT_FIT.","title":"Complete the closure test","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"packing_replay","kind":"act","impl":"imperative","description":"WRITE / START. Start the visible support-safe replay from the beginning in solved packing order. Use this native action instead of clicking Replay. Returns after playback has visibly started.","title":"Start packing replay","annotations":{"readOnlyHint":false,"untrustedContentHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Travel & Events","favicon":"/favicons/paqly.netlify.app.svg","apiSurface":"spec","toolCount":10}}