{"ok":true,"site":{"host":"second-player-lab.asterai.chatgpt.site","url":"https://second-player-lab.asterai.chatgpt.site/","type":"live","desc":"A playable accessibility lab where you and your agent tune the game together.","tools":[{"name":"inspect_play_lab","kind":"answer","impl":"imperative","description":"Read the current trial state, player-selected needs, active settings, and next human review step. Makes no changes.","title":"Inspect play lab","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"read_play_signals","kind":"answer","impl":"imperative","description":"Analyze one completed local trial with provenance; not a diagnosis. Played adapted metrics stay withheld until the visible player check-in is answered or skipped.","title":"Read play signals","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"sessionId":{"type":"string","description":"Completed session ID. Omit for the latest trial."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"list_adaptations","kind":"answer","impl":"imperative","description":"Read every supported, reversible game adaptation with allowed values and player-facing behavior.","title":"List adaptations","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"propose_access_tune","kind":"act","impl":"imperative","description":"Draft a visible, reversible settings plan for player review. This does not activate settings or replace any visible plan. State the evidence and preserved challenge.","title":"Propose accessibility tune","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"rationale":{"type":"string","minLength":12,"maxLength":420,"description":"Evidence-based reason for this narrow change set."},"preserveChallenge":{"type":"string","minLength":8,"maxLength":240,"description":"Skill or challenge that remains player-controlled."},"changes":{"type":"object","description":"One or more bounded settings to include in the visible plan.","properties":{"controlMode":{"type":"string","enum":["two-hand","one-hand-left","one-hand-right","single-switch"],"description":"Input layout. Single-switch rotates continuous movement with one action."},"motion":{"type":"string","enum":["full","reduced","none"],"description":"Decorative motion level; play state remains visible in every mode."},"contrast":{"type":"string","enum":["standard","high","monochrome"],"description":"Visual contrast and shape treatment without hiding game information."},"gameSpeed":{"type":"number","minimum":0.6,"maximum":1.25,"multipleOf":0.05,"description":"Movement and hazard pace multiplier in 0.05 steps; lower allows more response time."},"targetScale":{"type":"number","minimum":1,"maximum":1.8,"multipleOf":0.1,"description":"Signal hit-area scale in 0.1 steps; 1 is default and 1.8 is largest."},"steeringAssist":{"type":"number","minimum":0,"maximum":0.65,"multipleOf":0.05,"description":"Gentle pull toward the nearest signal in 0.05 steps; 0 disables assistance."},"collisionForgiveness":{"type":"number","minimum":0,"maximum":0.55,"multipleOf":0.05,"description":"Collision-zone reduction in 0.05 steps; hazards remain visible and active."},"audioCues":{"type":"boolean","description":"Whether collection and collision events emit distinct local tones."}},"minProperties":1,"additionalProperties":false}},"required":["rationale","preserveChallenge","changes"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"load_sample_baseline","kind":"act","impl":"imperative","description":"Load one clearly labeled fictional baseline for a no-telemetry demo. Changes local demo state only.","title":"Load sample baseline","annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"export_access_preset","kind":"answer","impl":"imperative","description":"Read the active settings as portable JSON. Does not download, publish, or change anything.","title":"Export access preset","annotations":{"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/second-player-lab.asterai.chatgpt.site.png","apiSurface":"spec","toolCount":6}}