changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "description": "Falls back to the keyword-search shape whenever embeddings are unavailable, so `semantic` may be absent and `query` / `catalogMatch` may appear instead.",
+ "properties": {
+ "catalogMatch": {
+ "description": "Offers resolved by barcode rather than by matching titles. When present, prefer these and cite their prices over anything in `products`.",
+ "properties": {
+ "currency": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "lowPrice": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "offers": {
+ "items": {
+ "properties": {
+ "brand": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "currency": {
+ "description": "ISO 4217 code.",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "inStock": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "Indicative price. The retailer sets the final price at checkout.",
+ "type": "number"
+ },
+ "provider": {
+ "description": "Retailer slug, e.g. \"ebay\", \"currys\".",
+ "type": "string"
+ },
+ "rating": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "reviewCount": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "seller": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shipping": {
+ "properties": {
+ "cost": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "free": {
+ "type": "boolean"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "description": "WEM tracked link to the retailer. Send the user here — WEM never takes payment.",
+ "type": "string"
+ },
+ "verified": {
+ "description": "Always true here — identity is resolved, not inferred.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "productPage": {
+ "type": "string"
+ },
+ "slug": {
+ "type": "string"
+ },
+ "source": {
+ "type": "string"
+ },
+ "title": {
+ "type": "string"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "disclosure": {
+ "description": "Affiliate disclosure to relay once per answer. Outbound links are tracked at no extra cost to the buyer.",
+ "type": "string"
+ },
+ "filtered": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "description": "Withheld candidates tallied by reason (e.g. accessories, wrong model). Report this count rather than implying the search was exhaustive.",
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "products": {
+ "items": {
+ "properties": {
+ "brand": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "currency": {
+ "description": "ISO 4217 code.",
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ },
+ "image": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "inStock": {
+ "type": [
+ "boolean",
+ "null"
+ ]
+ },
+ "price": {
+ "description": "Indicative price. The retailer sets the final price at checkout.",
+ "type": "number"
+ },
+ "provider": {
+ "description": "Retailer slug, e.g. \"ebay\", \"currys\".",
+ "type": "string"
+ },
+ "rating": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "reviewCount": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "seller": {
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "shipping": {
+ "properties": {
+ "cost": {
+ "type": [
+ "number",
+ "null"
+ ]
+ },
+ "free": {
+ "type": "boolean"
+ }
+ },
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "description": "WEM tracked link to the retailer. Send the user here — WEM never takes payment.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "query": {
+ "type": "string"
+ },
+ "semantic": {
+ "description": "True only when the vector path actually ran.",
+ "type": "boolean"
+ },
+ "totalResults": {
+ "type": "number"
+ }
+ },
+ "required": [
+ "products",
+ "totalResults",
+ "disclosure"
+ ],
+ "type": "object"
+}