removedOutput schema / $defs / ComparisonLine
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "at_recommended_store": {
- "anyOf": [
- {
- "$ref": "#/$defs/OfferAt"
- },
- {
- "type": "null"
- }
- ]
- },
- "candidates": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "name": {
- "type": "string"
- },
- "product_id": {
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "name"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "cheapest_seen": {
- "additionalProperties": false,
- "properties": {
- "cost_aed": {
- "type": "number"
- },
- "store_id": {
- "type": "string"
- },
- "store_name": {
- "type": "string"
- }
- },
- "required": [
- "store_id",
- "store_name",
- "cost_aed"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "match": {
- "type": [
- "string",
- "null"
- ]
- },
- "next_step": {
- "type": [
- "string",
- "null"
- ]
- },
- "product": {
- "additionalProperties": false,
- "properties": {
- "comparison": {
- "enum": [
- "exact",
- "equivalent"
- ],
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "product_id": {
- "type": "string"
- },
- "unit": {
- "enum": [
- "each",
- "kg",
- "l"
- ],
- "type": "string"
- }
- },
- "required": [
- "product_id",
- "name",
- "comparison",
- "unit"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "quantity": {
- "additionalProperties": false,
- "properties": {
- "assumed": {
- "type": "boolean"
- },
- "source": {
- "type": "string"
- },
- "unit": {
- "enum": [
- "each",
- "kg",
- "l"
- ],
- "type": "string"
- },
- "value": {
- "type": "number"
- }
- },
- "required": [
- "value",
- "unit",
- "source",
- "assumed"
- ],
- "type": [
- "object",
- "null"
- ]
- },
- "status": {
- "enum": [
- "compared",
- "not_compared",
- "unresolved"
- ],
- "type": "string"
- },
- "text": {
- "type": "string"
- },
- "unresolved_reason": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "text",
- "status",
- "match",
- "product",
- "quantity",
- "at_recommended_store",
- "cheapest_seen",
- "unresolved_reason",
- "candidates",
- "next_step"
- ],
- "type": "object"
-}
addedOutput schema / $defs / EstimateTotals
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "estimated_aed": {
+ "additionalProperties": false,
+ "properties": {
+ "high_aed": {
+ "type": "number"
+ },
+ "low_aed": {
+ "type": "number"
+ },
+ "value_aed": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "items_estimated": {
+ "type": "integer"
+ },
+ "items_observed": {
+ "type": "integer"
+ },
+ "items_unknown": {
+ "type": "integer"
+ },
+ "observed_aed": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+}
removedOutput schema / $defs / GroceryComparison
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "area": {
- "additionalProperties": false,
- "properties": {
- "ok": {
- "type": "boolean"
- },
- "reason": {
- "type": [
- "string",
- "null"
- ]
- },
- "value": {
- "type": "string"
- }
- },
- "required": [
- "ok",
- "reason",
- "value"
- ],
- "type": "object"
- },
- "below_minimum_stores": {
- "items": {
- "additionalProperties": false,
- "properties": {
- "minimum_order_aed": {
- "type": "number"
- },
- "shortfall_aed": {
- "type": "number"
- },
- "store_id": {
- "type": "string"
- },
- "store_name": {
- "type": "string"
- },
- "subtotal_aed": {
- "type": "number"
- }
- },
- "required": [
- "store_id",
- "store_name",
- "minimum_order_aed",
- "subtotal_aed",
- "shortfall_aed"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "browser_handoff_truncated": {
- "type": "boolean"
- },
- "catalog_compiled_at": {
- "anyOf": [
- {
- "type": "string"
- },
- {
- "type": "null"
- }
- ]
- },
- "confidence": {
- "enum": [
- "high",
- "medium",
- "low",
- "none"
- ],
- "type": "string"
- },
- "items": {
- "items": {
- "$ref": "#/$defs/ComparisonLine"
- },
- "type": "array"
- },
- "outcome": {
- "enum": [
- "estimated",
- "provisional",
- "insufficient",
- "single_store",
- "empty",
- "blocked"
- ],
- "type": "string"
- },
- "ranking": {
- "items": {
- "$ref": "#/$defs/StoreTotal"
- },
- "type": "array"
- },
- "recommended_store": {
- "anyOf": [
- {
- "$ref": "#/$defs/StoreTotal"
- },
- {
- "type": "null"
- }
- ]
- },
- "single_product_mode": {
- "type": "boolean"
- }
- },
- "required": [
- "outcome",
- "confidence",
- "single_product_mode",
- "catalog_compiled_at",
- "area",
- "recommended_store",
- "ranking",
- "items",
- "below_minimum_stores",
- "browser_handoff_truncated"
- ],
- "type": "object"
-}
removedOutput schema / $defs / GroceryComparisonResponse
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "data": {
- "anyOf": [
- {
- "$ref": "#/$defs/GroceryComparison"
- },
- {
- "type": "null"
- }
- ]
- },
- "links": {
- "$ref": "#/$defs/Links"
- },
- "meta": {
- "$ref": "#/$defs/ResponseMeta"
- }
- },
- "required": [
- "meta",
- "data",
- "links"
- ],
- "type": "object"
-}
removedOutput schema / $defs / Links
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "docs": {
- "type": "string"
- },
- "next": {
- "type": [
- "string",
- "null"
- ]
- },
- "open_in_browser": {
- "type": [
- "string",
- "null"
- ]
- },
- "self": {
- "type": "string"
- }
- },
- "required": [
- "self",
- "next",
- "open_in_browser",
- "docs"
- ],
- "type": "object"
-}
removedOutput schema / $defs / OfferAt / properties / sale_mode / type
Removed value: -"string"
removedOutput schema / $defs / OfferAt / properties / unit / type
Removed value: -"string"
removedOutput schema / $defs / ResponseMeta
Removed value: -{
- "additionalProperties": true,
- "required": [
- "api_version",
- "content_language",
- "generated_at",
- "currency",
- "attribution",
- "disclaimer",
- "dataset",
- "page"
- ],
- "type": "object"
-}
addedOutput schema / $defs / StoreTotal / properties / cart
Added value: +{
+ "additionalProperties": false,
+ "properties": {
+ "add_all_url": {
+ "type": "null"
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "packs": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "text": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "method": {
+ "const": "links"
+ }
+ },
+ "type": "object"
+}
addedOutput schema / $defs / StoreTotal / properties / estimated_label
Added value: +{
+ "const": "items not priced at this store — estimated generic price"
+}
removedOutput schema / $defs / StoreTotal / properties / ship_reason / type
Removed value: -[
- "string",
- "null"
-]
addedOutput schema / $defs / StoreTotal / properties / totals
Added value: +{
+ "$ref": "#/$defs/EstimateTotals"
+}
removedOutput schema / $defs / StoreTotal / properties / unit / type
Removed value: -[
- "string",
- "null"
-]
removedOutput schema / $defs / ToolFailure
Removed value: -{
- "additionalProperties": false,
- "properties": {
- "error": {
- "additionalProperties": false,
- "properties": {
- "code": {
- "type": "string"
- },
- "message": {
- "type": "string"
- },
- "retry_after_s": {
- "type": [
- "integer",
- "null"
- ]
- },
- "retryable": {
- "type": "boolean"
- }
- },
- "required": [
- "code",
- "message",
- "retryable",
- "retry_after_s"
- ],
- "type": "object"
- },
- "request_id": {
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "error",
- "request_id"
- ],
- "type": "object"
-}
changedOutput schema / anyOf
Previous value: -[
- {
- "$ref": "#/$defs/GroceryComparisonResponse"
- },
- {
- "$ref": "#/$defs/ToolFailure"
- }
-]New value: +[
+ {
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "anyOf": [
+ {
+ "additionalProperties": false,
+ "properties": {
+ "area": {
+ "additionalProperties": false,
+ "properties": {
+ "ok": {
+ "type": "boolean"
+ },
+ "reason": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "value": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ok",
+ "reason",
+ "value"
+ ],
+ "type": "object"
+ },
+ "below_minimum_stores": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "minimum_order_aed": {
+ "type": "number"
+ },
+ "shortfall_aed": {
+ "type": "number"
+ },
+ "store_id": {
+ "type": "string"
+ },
+ "store_name": {
+ "type": "string"
+ },
+ "subtotal_aed": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "store_id",
+ "store_name",
+ "minimum_order_aed",
+ "subtotal_aed",
+ "shortfall_aed"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "browser_handoff_truncated": {
+ "type": "boolean"
+ },
+ "catalog_compiled_at": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "confidence": {
+ "enum": [
+ "high",
+ "medium",
+ "low",
+ "none"
+ ]
+ },
+ "items": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "at_recommended_store": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/OfferAt"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "candidates": {
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "product_id",
+ "name"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "cheapest_seen": {
+ "additionalProperties": false,
+ "properties": {
+ "cost_aed": {
+ "type": "number"
+ },
+ "store_id": {
+ "type": "string"
+ },
+ "store_name": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "store_id",
+ "store_name",
+ "cost_aed"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "estimate": {
+ "additionalProperties": false,
+ "properties": {
+ "as_of": {
+ "type": "string"
+ },
+ "basis": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "confidence": {
+ "enum": [
+ "high",
+ "medium",
+ "low"
+ ]
+ },
+ "kind": {
+ "const": "estimate"
+ },
+ "label": {
+ "const": "Estimate — not a store price"
+ },
+ "method": {
+ "enum": [
+ "official_same_product",
+ "own_last_observed",
+ "official_category",
+ "category_median",
+ "shopper_reports"
+ ]
+ },
+ "packs": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "range_aed": {
+ "additionalProperties": false,
+ "properties": {
+ "high_aed": {
+ "type": "number"
+ },
+ "low_aed": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "unit": {
+ "enum": [
+ "kg",
+ "l",
+ "each"
+ ]
+ },
+ "unit_value_aed": {
+ "type": "number"
+ },
+ "value_aed": {
+ "type": "number"
+ }
+ },
+ "type": "object"
+ },
+ "match": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "next_step": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "price": {
+ "type": "null"
+ },
+ "product": {
+ "additionalProperties": false,
+ "properties": {
+ "comparison": {
+ "enum": [
+ "exact",
+ "equivalent"
+ ]
+ },
+ "name": {
+ "type": "string"
+ },
+ "product_id": {
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "each",
+ "kg",
+ "l"
+ ]
+ }
+ },
+ "required": [
+ "product_id",
+ "name",
+ "comparison",
+ "unit"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "quantity": {
+ "additionalProperties": false,
+ "properties": {
+ "assumed": {
+ "type": "boolean"
+ },
+ "source": {
+ "type": "string"
+ },
+ "unit": {
+ "enum": [
+ "each",
+ "kg",
+ "l"
+ ]
+ },
+ "value": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "value",
+ "unit",
+ "source",
+ "assumed"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "status": {
+ "enum": [
+ "compared",
+ "not_compared",
+ "unresolved"
+ ]
+ },
+ "text": {
+ "type": "string"
+ },
+ "unresolved_reason": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "text",
+ "status",
+ "match",
+ "product",
+ "quantity",
+ "at_recommended_store",
+ "cheapest_seen",
+ "unresolved_reason",
+ "candidates",
+ "next_step"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "outcome": {
+ "enum": [
+ "estimated",
+ "provisional",
+ "insufficient",
+ "single_store",
+ "empty",
+ "blocked"
+ ]
+ },
+ "ranking": {
+ "items": {
+ "$ref": "#/$defs/StoreTotal"
+ },
+ "type": "array"
+ },
+ "recommended_store": {
+ "anyOf": [
+ {
+ "$ref": "#/$defs/StoreTotal"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "single_product_mode": {
+ "type": "boolean"
+ },
+ "totals": {
+ "$ref": "#/$defs/EstimateTotals"
+ }
+ },
+ "required": [
+ "outcome",
+ "confidence",
+ "single_product_mode",
+ "catalog_compiled_at",
+ "area",
+ "recommended_store",
+ "ranking",
+ "items",
+ "below_minimum_stores",
+ "browser_handoff_truncated"
+ ],
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "links": {
+ "additionalProperties": false,
+ "properties": {
+ "docs": {
+ "type": "string"
+ },
+ "next": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "open_in_browser": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "self": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "self",
+ "next",
+ "open_in_browser",
+ "docs"
+ ],
+ "type": "object"
+ },
+ "meta": {
+ "additionalProperties": true,
+ "required": [
+ "api_version",
+ "content_language",
+ "generated_at",
+ "currency",
+ "attribution",
+ "disclaimer",
+ "dataset",
+ "page"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "meta",
+ "data",
+ "links"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "retry_after_s": {
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
+ "retryable": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "retryable",
+ "retry_after_s"
+ ],
+ "type": "object"
+ },
+ "request_id": {
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "error",
+ "request_id"
+ ],
+ "type": "object"
+ }
+]