VisionProductResult vision.product-result@1
Generated at from
openvibe-contracts v0.419.0 and
openvibe-sdk v0.161.0.
- Version
- 1.0.0
- Owner
- vision
- Visibility
- first-party
- Status
- active
- Compatibility
- backward
- Schema
https://openvibe.network/contracts/vision/product-result.v1.json
vision.product-result@1: POST /api/v1/product answers a description of the product only (never a person), the CLIP embedding, and candidate offers from OpenVibe.Deals and open.shoes with their score, price and URL. A room must not treat a candidate as a price it verified.
Fields
| Field | Type | Required | Description | Constraints |
|---|---|---|---|---|
answer | object | yes |
| |
answer.description | string | yes |
| |
answer.embedding | array of number | yes | ||
answer.offers | array of object | yes |
| |
answer.offers[].source | string | yes | ||
answer.offers[].title | string | yes |
| |
answer.offers[].url | string | yes |
| |
answer.offers[].price | number | null | |||
answer.offers[].score | number | |||
answer.warnings | array of string | yes | ||
answer.receipt | object | yes |
| |
answer.receipt.engine | enum | yes |
| |
answer.receipt.model | string | null | yes | ||
answer.receipt.cost_usd | number | yes |
| |
answer.receipt.ms | integer | yes |
| |
answer.receipt.confidence | number | null | yes | ||
answer.receipt.retention | string | yes |
Examples
From the contract's own test fixtures: valid ones validate, rejected ones must fail.
Valid: one
{
"answer": {
"description": "A red running shoe.",
"embedding": [
0.1,
0.2
],
"offers": [
{
"source": "deals",
"title": "Red runner",
"url": "https://openvibe.deals/x",
"price": 79.99,
"score": 0.9
}
],
"warnings": [],
"receipt": {
"engine": "local+routed description",
"model": "gpt-4o-mini",
"cost_usd": 0.0001,
"ms": 800,
"confidence": 0.9,
"retention": "not stored"
}
}
}Rejected: one
{
"answer": {
"description": "A red running shoe.",
"embedding": [],
"offers": [
{
"source": "deals",
"title": "Red runner",
"url": "http://insecure.example/x"
}
],
"warnings": [],
"receipt": {
"engine": "local",
"model": null,
"cost_usd": 0,
"ms": 1,
"confidence": null,
"retention": "x"
}
}
}Validate
const contracts = require('openvibe-contracts');
contracts.validate('vision.product-result@1', value); // { valid, errors: [{ path, message }] }