{"name":"Front Room Director","description":"Decides fairly what one living room's shared TV shows when every fan's agent wants something different. Deterministic and auditable; it never sees fan profiles.","supportedInterfaces":[{"url":"https://vu-front-room-app.purplerock-87ed4bbc.westeurope.azurecontainerapps.io/a2a/director/","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"provider":{"url":"https://vu-front-room-app.purplerock-87ed4bbc.westeurope.azurecontainerapps.io","organization":"Front Room"},"version":"1.0.0","capabilities":{"streaming":false},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"decide-shared-screen","name":"Decide what the shared TV shows","description":"Send one round: the overlays that could go on the room's TV, every personal agent's bids for them (numbers only, no profiles) and the room's facts. The Director strikes overlays that break a house rule (one club's framing while both clubs are in the room, a VAR check, less than 20 s since the last overlay, anything not yet on this TV), scales each agent's bids to a budget of 1, weights fans who have waited longer by up to 1.5 times, and returns the decision as protocol JSON: the winner, every score, the rule that struck each loser, and which fans get their pick on their phone instead. The same round always gets the same answer.","tags":["fairness","shared screen","house rules","deterministic"],"examples":["{\"roomId\": \"4821\", \"candidates\": [...], \"bids\": [...], \"state\": {...}}"],"inputModes":["application/json"],"outputModes":["application/json"]}]}