changedOutput schema / anyOf
Previous value: -[
- {
- "properties": {
- "applied_filters": {
- "type": "object"
- },
- "attribution": {
- "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link.",
- "type": "object"
- },
- "code": {
- "type": "string"
- },
- "game": {
- "anyOf": [
- {
- "properties": {
- "accessibility_notes": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "content_rating": {
- "enum": [
- "everyone",
- "everyone_10",
- "teen",
- "mature"
- ],
- "type": "string"
- },
- "controls_summary": {
- "type": [
- "string",
- "null"
- ]
- },
- "description": {
- "type": [
- "string",
- "null"
- ]
- },
- "developer": {
- "anyOf": [
- {
- "properties": {
- "claimed": {
- "type": "boolean"
- },
- "name": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ],
- "description": "Null when the developer is unknown."
- },
- "difficulty": {
- "anyOf": [
- {
- "enum": [
- "easy",
- "medium",
- "hard",
- "brutal"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "embed_status": {
- "enum": [
- "playable",
- "listing_only"
- ],
- "type": "string"
- },
- "external_play_url": {
- "type": [
- "string",
- "null"
- ]
- },
- "field_sources": {
- "additionalProperties": {
- "anyOf": [
- {
- "enum": [
- "source",
- "ai",
- "ai+verified",
- "behavioral",
- "developer",
- "moderator"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "type": "object"
- },
- "game_id": {
- "type": "string"
- },
- "genres": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "hook": {
- "type": [
- "string",
- "null"
- ]
- },
- "how_to_play": {
- "type": [
- "string",
- "null"
- ]
- },
- "inputs": {
- "anyOf": [
- {
- "items": {
- "enum": [
- "mouse",
- "keyboard",
- "touch",
- "gamepad"
- ],
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "languages": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "last_verified_at": {
- "type": [
- "string",
- "null"
- ]
- },
- "match_reasons": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "mechanics": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "multiplayer_mode": {
- "anyOf": [
- {
- "enum": [
- "none",
- "local",
- "online",
- "both"
- ],
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "play_ready": {
- "description": "Only present play_url as instantly playable when true (agent-api §4.4).",
- "type": "boolean"
- },
- "play_url": {
- "description": "Our own stable game page with ?ref=agent. Never the raw embed URL.",
- "type": "string"
- },
- "player_counts": {
- "anyOf": [
- {
- "items": {
- "enum": [
- "1",
- "2",
- "2plus",
- "massive"
- ],
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "published_at": {
- "type": "string"
- },
- "quality_score": {
- "type": "integer"
- },
- "requested_id": {
- "type": [
- "string",
- "null"
- ]
- },
- "screenshots": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "session_length_minutes": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- },
- "session_length_range": {
- "anyOf": [
- {
- "items": {
- "type": "integer"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "similarity_reasons": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "source_url": {
- "type": "string"
- },
- "thumbnail": {
- "type": [
- "string",
- "null"
- ]
- },
- "title": {
- "type": "string"
- },
- "url": {
- "description": "Canonical game page, no query string.",
- "type": "string"
- },
- "verification_state": {
- "enum": [
- "ok",
- "suspect"
- ],
- "type": "string"
- },
- "vibe_tags": {
- "anyOf": [
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "meta": {
- "type": "object"
- },
- "relaxations": {
- "items": {
- "properties": {
- "args": {
- "additionalProperties": {},
- "description": "Complete tool arguments to call again (search_games args carry interpret: false).",
- "type": "object"
- },
- "changes": {
- "items": {
- "properties": {
- "from": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "number"
- },
- {
- "type": "boolean"
- },
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- },
- "param": {
- "type": "string"
- },
- "to": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "number"
- },
- {
- "type": "boolean"
- },
- {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "type": "array"
- },
- "result_count": {
- "type": "integer"
- },
- "step": {
- "type": "string"
- },
- "tool": {
- "const": "games_like",
- "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": "array"
- }
- },
- "required": [
- "game",
- "code",
- "relaxations",
- "applied_filters",
- "attribution",
- "meta"
- ],
- "type": "object"
- },
- {
- "properties": {
- "attribution": {
- "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link.",
- "type": "object"
- },
- "error": {
- "properties": {
- "code": {
- "type": "string"
- },
- "details": {
- "anyOf": [
- {
- "additionalProperties": {},
- "type": "object"
- },
- {
- "type": "null"
- }
- ]
- },
- "message": {
- "type": "string"
- },
- "retry_after_seconds": {
- "anyOf": [
- {
- "type": "integer"
- },
- {
- "type": "null"
- }
- ]
- }
- },
- "type": "object"
- },
- "meta": {
- "type": "object"
- }
- },
- "required": [
- "error",
- "attribution",
- "meta"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "applied_filters": {
+ "type": "object"
+ },
+ "attribution": {
+ "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link.",
+ "type": "object"
+ },
+ "code": {
+ "type": "string"
+ },
+ "game": {
+ "anyOf": [
+ {
+ "properties": {
+ "accessibility_notes": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "content_rating": {
+ "enum": [
+ "everyone",
+ "everyone_10",
+ "teen",
+ "mature"
+ ],
+ "type": "string"
+ },
+ "controls_summary": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "description": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "developer": {
+ "anyOf": [
+ {
+ "properties": {
+ "claimed": {
+ "type": "boolean"
+ },
+ "name": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Null when the developer is unknown."
+ },
+ "difficulty": {
+ "anyOf": [
+ {
+ "enum": [
+ "easy",
+ "medium",
+ "hard",
+ "brutal"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "embed_status": {
+ "enum": [
+ "playable",
+ "listing_only"
+ ],
+ "type": "string"
+ },
+ "external_play_url": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "field_sources": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "description": "Where a visible field's value comes from, one of: source, ai, ai+verified, ai+source, behavioral, developer, moderator (ai+verified: input listeners corroborated an AI value; ai+source: the game's source page names it).",
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "object"
+ },
+ "game_id": {
+ "type": "string"
+ },
+ "genres": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "hook": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "how_to_play": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "inputs": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "mouse",
+ "keyboard",
+ "touch",
+ "gamepad"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "languages": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "last_verified_at": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "match_reasons": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "mechanics": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "multiplayer_mode": {
+ "anyOf": [
+ {
+ "enum": [
+ "none",
+ "local",
+ "online",
+ "both"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "play_ready": {
+ "description": "Only present play_url as instantly playable when true (agent-api §4.4).",
+ "type": "boolean"
+ },
+ "play_url": {
+ "description": "Our own stable game page with ?ref=agent. Never the raw embed URL.",
+ "type": "string"
+ },
+ "player_counts": {
+ "anyOf": [
+ {
+ "items": {
+ "enum": [
+ "1",
+ "2",
+ "2plus",
+ "massive"
+ ],
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "published_at": {
+ "type": "string"
+ },
+ "quality_score": {
+ "type": "integer"
+ },
+ "requested_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "screenshots": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "session_length_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "session_length_range": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "integer"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "similarity_reasons": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "source_url": {
+ "type": "string"
+ },
+ "thumbnail": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "description": "Canonical game page, no query string.",
+ "type": "string"
+ },
+ "verification_state": {
+ "enum": [
+ "ok",
+ "suspect"
+ ],
+ "type": "string"
+ },
+ "vibe_tags": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "meta": {
+ "type": "object"
+ },
+ "relaxations": {
+ "items": {
+ "properties": {
+ "args": {
+ "additionalProperties": {},
+ "description": "Complete tool arguments to call again (search_games args carry interpret: false).",
+ "type": "object"
+ },
+ "changes": {
+ "items": {
+ "properties": {
+ "from": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "param": {
+ "type": "string"
+ },
+ "to": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "number"
+ },
+ {
+ "type": "boolean"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "result_count": {
+ "type": "integer"
+ },
+ "step": {
+ "type": "string"
+ },
+ "tool": {
+ "const": "games_like",
+ "description": "Call this tool with args instead of the tool that returned the relaxation; absent means the same tool.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "game",
+ "code",
+ "relaxations",
+ "applied_filters",
+ "attribution",
+ "meta"
+ ],
+ "type": "object"
+ },
+ {
+ "properties": {
+ "attribution": {
+ "description": "Attribution block (agent-api §1.1). Render 'via {source}' with a link.",
+ "type": "object"
+ },
+ "error": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "details": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "message": {
+ "type": "string"
+ },
+ "retry_after_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "meta": {
+ "type": "object"
+ }
+ },
+ "required": [
+ "error",
+ "attribution",
+ "meta"
+ ],
+ "type": "object"
+ }
+]