changedOutput schema / anyOf
Previous value: -[
- {
- "properties": {
- "currency": {
- "type": "string"
- },
- "disclaimer": {
- "type": "string"
- },
- "excluded": {
- "items": {
- "properties": {
- "destination": {
- "type": "string"
- },
- "history_days": {
- "type": "integer"
- },
- "rail": {
- "enum": [
- "flight",
- "package"
- ],
- "type": "string"
- },
- "reason": {
- "type": "string"
- },
- "resort_key": {
- "type": "string"
- }
- },
- "required": [
- "destination",
- "rail",
- "reason",
- "history_days"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "generated": {
- "description": "the OLDEST `generated` among the rows returned",
- "type": [
- "string",
- "null"
- ]
- },
- "license": {
- "properties": {
- "attribution": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "url": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "url",
- "attribution"
- ],
- "type": "object"
- },
- "matched": {
- "description": "rows before the `limit` cap",
- "type": "integer"
- },
- "min_history_days": {
- "type": "integer"
- },
- "opportunities": {
- "items": {
- "properties": {
- "cheaper_than_pct": {
- "type": [
- "number",
- "null"
- ]
- },
- "destination": {
- "type": "string"
- },
- "generated": {
- "type": "string"
- },
- "history_days": {
- "type": "integer"
- },
- "is_series_min": {
- "type": "boolean"
- },
- "latest": {
- "type": [
- "number",
- "null"
- ]
- },
- "latest_cheaper_than_pct_of_days": {
- "type": [
- "number",
- "null"
- ]
- },
- "latest_stale_after_days": {
- "type": "number"
- },
- "measured": {
- "properties": {
- "days": {
- "type": "integer"
- },
- "from": {
- "type": "string"
- },
- "to": {
- "type": "string"
- }
- },
- "required": [
- "days",
- "from",
- "to"
- ],
- "type": "object"
- },
- "median": {
- "type": [
- "number",
- "null"
- ]
- },
- "min": {
- "type": [
- "number",
- "null"
- ]
- },
- "party": {
- "properties": {
- "adults": {
- "type": "integer"
- },
- "children": {
- "type": "integer"
- }
- },
- "required": [
- "adults",
- "children"
- ],
- "type": "object"
- },
- "rail": {
- "enum": [
- "flight",
- "package"
- ],
- "type": "string"
- },
- "resort": {
- "type": "string"
- },
- "resort_key": {
- "type": "string"
- },
- "title": {
- "properties": {
- "cs": {
- "type": "string"
- },
- "en": {
- "type": "string"
- }
- },
- "required": [
- "cs",
- "en"
- ],
- "type": "object"
- },
- "url": {
- "type": "string"
- }
- },
- "required": [
- "destination",
- "title",
- "url",
- "rail",
- "party",
- "latest",
- "median",
- "min",
- "cheaper_than_pct",
- "latest_cheaper_than_pct_of_days",
- "is_series_min",
- "history_days",
- "measured",
- "generated"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "schema": {
- "type": "string"
- },
- "sort": {
- "enum": [
- "cheapest_vs_history",
- "most_below_median"
- ],
- "type": "string"
- },
- "stale_rails": {
- "description": "How many of the rails in scope are past their own freshness boundary on `as_of` (Europe/Prague).",
- "properties": {
- "as_of": {
- "type": "string"
- },
- "count": {
- "type": "integer"
- },
- "keys": {
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "of": {
- "type": "integer"
- },
- "unknown": {
- "type": "integer"
- }
- },
- "required": [
- "as_of",
- "of",
- "count",
- "keys"
- ],
- "type": "object"
- }
- },
- "required": [
- "schema",
- "generated",
- "sort",
- "min_history_days",
- "matched",
- "stale_rails",
- "opportunities",
- "excluded",
- "disclaimer"
- ],
- "type": "object"
- },
- {
- "description": "tool-level failure, returned with isError: true",
- "properties": {
- "error": {
- "additionalProperties": true,
- "properties": {
- "code": {
- "type": "string"
- },
- "message": {
- "type": "string"
- }
- },
- "required": [
- "code",
- "message"
- ],
- "type": "object"
- }
- },
- "required": [
- "error"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "properties": {
+ "currency": {
+ "type": "string"
+ },
+ "disclaimer": {
+ "type": "string"
+ },
+ "excluded": {
+ "items": {
+ "properties": {
+ "destination": {
+ "type": "string"
+ },
+ "history_days": {
+ "type": "integer"
+ },
+ "rail": {
+ "enum": [
+ "flight",
+ "package"
+ ],
+ "type": "string"
+ },
+ "reason": {
+ "type": "string"
+ },
+ "resort_key": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination",
+ "rail",
+ "reason",
+ "history_days"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "generated": {
+ "description": "the OLDEST `generated` among the rows returned",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "license": {
+ "properties": {
+ "attribution": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "url",
+ "attribution"
+ ],
+ "type": "object"
+ },
+ "matched": {
+ "description": "rows before the `limit` cap",
+ "type": "integer"
+ },
+ "min_history_days": {
+ "type": "integer"
+ },
+ "no_coverage": {
+ "description": "present only when NO published rail carries the requested party: a coverage limit, distinct from an empty ranking",
+ "properties": {
+ "available_parties": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "message": {
+ "type": "string"
+ },
+ "party": {
+ "type": "string"
+ },
+ "rail": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "party",
+ "rail",
+ "available_parties",
+ "message"
+ ],
+ "type": "object"
+ },
+ "opportunities": {
+ "items": {
+ "properties": {
+ "arrivals": {
+ "description": "arrival airports RECORDED; covers_all_published_prices is false",
+ "type": "object"
+ },
+ "cheaper_than_pct": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "destination": {
+ "type": "string"
+ },
+ "generated": {
+ "type": "string"
+ },
+ "history_days": {
+ "type": "integer"
+ },
+ "is_series_min": {
+ "type": "boolean"
+ },
+ "latest": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "latest_cheaper_than_pct_of_days": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "latest_stale_after_days": {
+ "description": "this rail's own freshness boundary, in days after measured.to",
+ "type": "number"
+ },
+ "measured": {
+ "properties": {
+ "days": {
+ "type": "integer"
+ },
+ "from": {
+ "type": "string"
+ },
+ "to": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "days",
+ "from",
+ "to"
+ ],
+ "type": "object"
+ },
+ "median": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "min": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "origins": {
+ "description": "departure-airport CLUSTER; covers_all_published_prices is false",
+ "type": "object"
+ },
+ "party": {
+ "properties": {
+ "adults": {
+ "type": "integer"
+ },
+ "children": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "adults",
+ "children"
+ ],
+ "type": "object"
+ },
+ "price_covers": {
+ "description": "what the money buys - airfare only, or a package as offered",
+ "type": "object"
+ },
+ "rail": {
+ "enum": [
+ "flight",
+ "package"
+ ],
+ "type": "string"
+ },
+ "regime_breaks": {
+ "description": "[from, to] date spans where the series was not comparable",
+ "type": "array"
+ },
+ "resort": {
+ "type": "string"
+ },
+ "resort_key": {
+ "type": "string"
+ },
+ "searched": {
+ "description": "the search mode (and fixed dates, where there are any) the series was collected under, and `stay_nights` {from, to}: how long a trip each point prices - the flight and package rails of one destination can differ",
+ "type": "object"
+ },
+ "stats": {
+ "properties": {
+ "basis": {
+ "type": "string"
+ },
+ "cheaper_than_pct": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "is_series_max": {
+ "type": "boolean"
+ },
+ "is_series_min": {
+ "type": "boolean"
+ },
+ "latest": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "median": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "min": {
+ "type": [
+ "number",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "basis"
+ ],
+ "type": "object"
+ },
+ "title": {
+ "properties": {
+ "cs": {
+ "type": "string"
+ },
+ "en": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "cs",
+ "en"
+ ],
+ "type": "object"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "destination",
+ "title",
+ "url",
+ "rail",
+ "party",
+ "price_covers",
+ "measured",
+ "stats",
+ "latest",
+ "median",
+ "min",
+ "cheaper_than_pct",
+ "latest_cheaper_than_pct_of_days",
+ "is_series_min",
+ "history_days",
+ "measured",
+ "generated"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "schema": {
+ "type": "string"
+ },
+ "sort": {
+ "enum": [
+ "cheapest_vs_history",
+ "most_below_median"
+ ],
+ "type": "string"
+ },
+ "stale_rails": {
+ "description": "How many of the rails in scope are past their own freshness boundary on `as_of` (Europe/Prague).",
+ "properties": {
+ "as_of": {
+ "type": "string"
+ },
+ "count": {
+ "type": "integer"
+ },
+ "keys": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "of": {
+ "type": "integer"
+ },
+ "unknown": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "as_of",
+ "of",
+ "count",
+ "keys"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "schema",
+ "generated",
+ "sort",
+ "min_history_days",
+ "matched",
+ "stale_rails",
+ "opportunities",
+ "excluded",
+ "disclaimer"
+ ],
+ "type": "object"
+ },
+ {
+ "description": "tool-level failure, returned with isError: true",
+ "properties": {
+ "error": {
+ "additionalProperties": true,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "error"
+ ],
+ "type": "object"
+ }
+]