@instruments/materialgraph 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/find-variants-by-vector-types.d.ts +2 -0
- package/get-variant-types.d.ts +2 -2
- package/index.d.ts +1 -3
- package/index.js +0 -1
- package/package.json +1 -1
- package/resolve-variant-types.d.ts +5 -3
- package/response-schemas.generated.js +20 -20
- package/search-variants-types.d.ts +12 -0
- package/webmcp.generated.js +3 -3
- package/scheme-bundle-types.d.ts +0 -20
- package/scheme-bundle-types.js +0 -10
|
@@ -46,10 +46,12 @@ export type FindVariantsByVectorScan = {
|
|
|
46
46
|
exhausted: boolean;
|
|
47
47
|
read: number;
|
|
48
48
|
rejected: number;
|
|
49
|
+
/** How filters reached the vector search. Always "metadata": every filter runs inside the kNN. */
|
|
49
50
|
route: "lane" | "metadata" | "allowlist";
|
|
50
51
|
};
|
|
51
52
|
export type FindVariantsByVectorTimings = {
|
|
52
53
|
embedMs: number;
|
|
54
|
+
/** Time spent filtering outside the kNN. Always 0: filters run inside it. */
|
|
53
55
|
filterMs: number;
|
|
54
56
|
referenceMs: number;
|
|
55
57
|
totalMs: number;
|
package/get-variant-types.d.ts
CHANGED
|
@@ -42,8 +42,8 @@ export type GetVariantIfc = {
|
|
|
42
42
|
};
|
|
43
43
|
/**
|
|
44
44
|
* One variant: the compact identity, and `specifications` only for the
|
|
45
|
-
* attributes and blocks that were asked for.
|
|
46
|
-
* false or zero.
|
|
45
|
+
* attributes and blocks that were asked for. Only stated values appear there:
|
|
46
|
+
* an unknown value, and a block with none, is absent, never false or zero.
|
|
47
47
|
*/
|
|
48
48
|
export type GetVariantOutput = {
|
|
49
49
|
/** Whether this variant may appear in its Brand's catalog. Material-only lists also require Search Catalog membership. Reads by id include ineligible variants. */
|
package/index.d.ts
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
export type { DiscoveryReference, DiscoveryTerms, InterpretDiscoveryTermsInput, ColorlessVariantsResult, VariantSibling, } from "./discovery-context-types.js";
|
|
2
2
|
export { MaterialGraphClient, DEFAULT_BASE_URL } from "./client.js";
|
|
3
|
-
export { PICK_JOB_MAX_LENGTH, SCHEME_BUNDLE_MAX_PICKS, SCHEME_BUNDLE_MIN_PICKS, } from "./scheme-bundle-types.js";
|
|
4
|
-
export type { SchemeBundle, SchemeBundlePick } from "./scheme-bundle-types.js";
|
|
5
3
|
export type { MaterialGraphClientOptions } from "./client.js";
|
|
6
4
|
export type { FilterOp, FilterTermCondition, FilterNumericCondition, FilterPresenceCondition, FilterAnyFieldCondition, FilterCondition, FilterGroups, OptionalFilterGroups, OrderByEntry, ListVariantsInclude, ListVariantsCollapse, ColorRegion, ColorRangeCondition, ListVariantsInput, ListVariantsPreference, ListVariantsSpecifications, ListVariantsNotApplicable, SampleSubject, ListVariantsItem, ListVariantsOutput, VariantCard, } from "./list-variants-types.js";
|
|
7
5
|
export type { ListVariantFacetsInput, VariantFacetValue, CategoricalVariantFacet, BooleanVariantFacet, NumericVariantFacet, VariantFacet, ListVariantFacetsOutput, } from "./list-variant-facets-types.js";
|
|
8
|
-
export type { SearchVariantsSelection, SearchVariantsInput, SearchVariantsUnderstood, SearchVariantsReading, SearchVariantsChoice, SearchVariantsOutput, } from "./search-variants-types.js";
|
|
6
|
+
export type { SearchVariantsSelection, SearchVariantsInput, SearchVariantsUnderstood, SearchVariantsReading, SearchVariantsSuggestion, SearchVariantsChoice, SearchVariantsOutput, } from "./search-variants-types.js";
|
|
9
7
|
export type { ListEnumValuesOptions, EnumValueMatch, EnumValueItem, ListEnumValuesResult, } from "./list-enum-values-types.js";
|
|
10
8
|
export type { GetVariantIfc, GetVariantOptions, GetVariantOutput, } from "./get-variant-types.js";
|
|
11
9
|
export type { ImageReferenceInput } from "./image-reference-types.js";
|
package/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { MaterialGraphClient, DEFAULT_BASE_URL } from "./client.js";
|
|
2
|
-
export { PICK_JOB_MAX_LENGTH, SCHEME_BUNDLE_MAX_PICKS, SCHEME_BUNDLE_MIN_PICKS, } from "./scheme-bundle-types.js";
|
|
3
2
|
export { FIND_VARIANTS_BY_VECTOR_MODES } from "./find-variants-by-vector-types.js";
|
|
4
3
|
export { MATERIALGRAPH_API_VERSION, SDK_OPERATIONS } from "./operations.js";
|
|
5
4
|
export { MATERIALGRAPH_PROBLEM_EXTENSIONS, MaterialGraphError, } from "./errors.js";
|
package/package.json
CHANGED
|
@@ -7,13 +7,15 @@
|
|
|
7
7
|
* published SDK must carry no workspace package dependency.
|
|
8
8
|
*/
|
|
9
9
|
/**
|
|
10
|
-
* What `mg.resolveVariant()` accepts. Give `url` alone,
|
|
10
|
+
* What `mg.resolveVariant()` accepts. Give `url` alone, `materialBankId`
|
|
11
|
+
* alone (a Material Bank item number, e.g. "100165472"), or `code` with
|
|
11
12
|
* `brandId` (from `mg.brands()`) when there is no page to read. `labels` are
|
|
12
13
|
* product names visible on the page, sent only to tell several URL candidates
|
|
13
14
|
* apart - they never widen a search or invent an identity on their own.
|
|
14
15
|
*/
|
|
15
16
|
export type ResolveVariantInput = {
|
|
16
17
|
url?: string;
|
|
18
|
+
materialBankId?: string;
|
|
17
19
|
code?: string;
|
|
18
20
|
brandId?: string;
|
|
19
21
|
labels?: string[];
|
|
@@ -31,7 +33,7 @@ export type ResolveVariantSubject = {
|
|
|
31
33
|
};
|
|
32
34
|
/** What stood behind an outcome. Exact and scoreless: never a similarity guess. */
|
|
33
35
|
export type ResolveVariantEvidence = {
|
|
34
|
-
kind: "brand-url" | "brand-homepage" | "brand-code" | "visible-label";
|
|
36
|
+
kind: "brand-url" | "brand-homepage" | "brand-code" | "material-bank-id" | "visible-label";
|
|
35
37
|
url?: string;
|
|
36
38
|
detail: string;
|
|
37
39
|
};
|
|
@@ -49,7 +51,7 @@ type ResolveVariantOutputBase = {
|
|
|
49
51
|
* Why nothing was resolved. Absent and empty differ: this names what was
|
|
50
52
|
* looked for and not found, never a similarity guess.
|
|
51
53
|
*/
|
|
52
|
-
export type ResolveVariantUnresolvedReason = "no-stored-url" | "no-code-match";
|
|
54
|
+
export type ResolveVariantUnresolvedReason = "no-stored-url" | "no-code-match" | "no-material-bank-id-match";
|
|
53
55
|
/**
|
|
54
56
|
* What `mg.resolveVariant()` returns: the `resolve_variant` tool's own output,
|
|
55
57
|
* unwrapped. Exact identities only - no rung carries a similarity score.
|
|
@@ -61,24 +61,24 @@ export const RESPONSE_SCHEMA_CATALOG_JSON = [
|
|
|
61
61
|
"description\":\"Requested share, palette only; null otherwise.\",\"type\":[\"number\",\"null\"]}},\"required\":[\"distance\",\"hex\",\"index\",\"proportion\",\"target\"]}},\"coverage\":{\"type\":\"number\",\"description\":\"Share of the request's colors matched to a distinct swatch, 0 to 1. Never a probability.\"},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"productType\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"productTypeId\":{\"description\":\"Accepted primary specification type ID, independent of source categories; null when unknown.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":\"string\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"brandId\",\"category\",\"categories\",\"code\",\"colors\",\"coverage\",\"imageUrl\",\"hasDeclaredColor\",\"product\",\"productId\",\"productType\",\"productTypeId\",\"variantId\",\"variantName\",\"variantLabel\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"},\"poolTruncated\":{\"type\":\"boolean\",\"description\":\"True when matches exist past the checked pool: add productTypeIds or brands.\"}},\"required\":[\"endCursor\",\"hasNextPage\",\"poolTruncated\"]},\"resolvedColors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"description\":\"Other meanings of the same words, offered: ColorScope's color when a paint's exact name led.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"hex\":{\"type\":\"string\"},\"libraryId\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"query\":{\"type\":\"string\"}},\"required\":[\"hex\",\"libraryId\",\"libraryName\",\"name\",\"query\"]}},\"catalogVariant\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"color\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]},{\"type\":\"null\"}]},\"hex\":{\"type\":\"string\"},\"index\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"kind\":{\"type\":\"string\",\"enum\":[\"point\",\"region\"],\"description\":\"region: a color family's own OKLCh bounds. point: a paint, hex or named color, held within ColorScope's Related band and ordered by Closeness.\"},\"share\":{\"description\":\"Image-extracted or stored target-variant swatch share; else null.\",\"type\":[\"number\",\"null\"]}},\"required\":[\"catalogVariant\",\"hex\",\"index\",\"kind\",\"share\"]}},\"unresolvedColors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"hex\":{\"type\":\"string\"},\"libraryId\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"query\":{\"type\":\"string\"}},\"required\":[\"hex\",\"libraryId\",\"libraryName\",\"name\",\"query\"]}},\"index\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"input\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"alternatives\",\"index\",\"input\"]}},\"mode\":{\"type\":\"string\",\"const\":\"palette\"}},\"required\":[\"gatedOut\",\"matches\",\"pageInfo\",\"resolvedColors\",\"unresolvedColors\",\"mode\"]},{\"type\":\"object\",\"properties\":{\"searchCatalogSubset\":{\"description\":\"The corpus the ranked candidates were drawn from — present ONLY when the request narrowed it. ABSENT means the whole graph. The reference is resolved unscoped either way.\",\"type\":\"object\",\"properties\":{\"description\":{\"type\":\"string\",\"description\":\"What the scope admits, in one sentence, for a human reader.\"},",
|
|
62
62
|
"\"scope\":{\"type\":\"string\",\"enum\":[\"all\",\"samplizeOrderable\",\"materialBankOrderable\",\"materialBankNaOrderable\",\"materialBankNaAndCatalog\",\"materialBankEuOrderable\",\"designShopOrderable\"],\"description\":\"Which corpus to answer from. samplizeOrderable admits the paint colors on the Samplize channel regardless of stock. ABSENT (or 'all') means the WHOLE GRAPH — every material MaterialGraph knows, orderable or not; absence is never a narrower default. Three transaction-oriented scopes gate on governed CHANNEL membership: 'materialBankNaOrderable' (Material Bank North America), 'materialBankEuOrderable' (Material Bank Europe) and 'designShopOrderable' (DesignShop, with the products DesignShop hides from browse excluded). 'materialBankNaAndCatalog' is the one-query union of Material Bank North America and the governed Catalog editorial discovery corpus; that union does not by itself claim every member is transactable. 'materialBankOrderable' is NOT one of them: it selects materials carrying a Material Bank identity, which is a provenance signal rather than a channel one, and it admits almost the whole graph — use it to exclude crawl-sourced brands, not to mean orderable. A scope answers membership in its named governed corpus, never suitability: scope on channel, then refine on sector. Every scope is applied INSIDE the query: `limit` fills with eligible rows and `counts` describe the scoped corpus, which post-filtering a page cannot give you. An unknown value is a 400 naming it, never a silent fall back to the whole graph.\"}},\"required\":[\"description\",\"scope\"]},\"excludedBySearchCatalogSubset\":{\"description\":\"Real variant ids outside `searchCatalogSubset` or the materials catalog.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"reference\":{\"type\":\"object\",\"properties\":{\"candidates\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"brandSlug\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"brandSlug\",\"color\",\"imageUrl\",\"product\",\"productId\",\"variantId\",\"variantName\"]}},\"color\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\"},\"name\":{\"type\":[\"string\",\"null\"]},\"ref\":{\"type\":\"string\"}},\"required\":[\"hex\",\"name\",\"ref\"]},{\"type\":\"null\"}]},\"input\":{\"type\":\"object\",\"properties\":{\"color\":{\"type\":\"string\"},\"material\":{\"type\":\"string\"},\"oklab\":{\"type\":\"object\",\"properties\":{\"L\":{\"type\":\"number\"},\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"}},\"required\":[\"L\",\"a\",\"b\"]},\"variantId\":{\"type\":\"string\"}}},\"resolution\":{\"type\":\"string\",\"enum\":[\"resolved\",\"ambiguous\"]},\"seed\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"brandSlug\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"brandSlug\",\"color\",\"imageUrl\",\"product\",\"productId\",\"variantId\",\"variantName\"]},{\"type\":\"null\"}]}},\"required\":[\"candidates\",\"color\",\"input\",\"resolution\",\"seed\"]},\"unresolved\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"matches\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"brandId\":{\"type\":\"string\"},\"code\":{\"type\":[\"string\",\"null\"]},\"distance\":{\"description\":\"CIEDE2000 difference to the assigned swatch; 0 is identical, null without a palette.\",\"type\":[\"number\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"brandI",
|
|
63
63
|
"d\",\"code\",\"distance\",\"imageUrl\",\"product\",\"productId\",\"variantId\",\"variantName\",\"variantLabel\"]}},\"mode\":{\"type\":\"string\",\"const\":\"rerank\"},\"resolvedColors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"description\":\"Other meanings of the same words, offered: ColorScope's color when a paint's exact name led.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"hex\":{\"type\":\"string\"},\"libraryId\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"query\":{\"type\":\"string\"}},\"required\":[\"hex\",\"libraryId\",\"libraryName\",\"name\",\"query\"]}},\"catalogVariant\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"color\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]},{\"type\":\"null\"}]},\"hex\":{\"type\":\"string\"},\"index\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"kind\":{\"type\":\"string\",\"enum\":[\"point\",\"region\"],\"description\":\"region: a color family's own OKLCh bounds. point: a paint, hex or named color, held within ColorScope's Related band and ordered by Closeness.\"},\"share\":{\"description\":\"Image-extracted or stored target-variant swatch share; else null.\",\"type\":[\"number\",\"null\"]}},\"required\":[\"catalogVariant\",\"hex\",\"index\",\"kind\",\"share\"]}}},\"required\":[\"reference\",\"unresolved\",\"matches\",\"mode\",\"resolvedColors\"]}]},\"FindVariantsByVectorResponse\":{\"type\":\"object\",\"properties\":{\"excludedBySearchCatalogSubset\":{\"description\":\"Filtered variant ids outside the materials catalog.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"category\":{\"description\":\"The first original source category, or null when unknown.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"description\":\"All original source categories in source order.\"},\"productType\":{\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null\"]},\"image\":{\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"]},{\"type\":\"null\"}]},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"mate",
|
|
64
|
-
"rialBankId\":{\"type\":[\"string\",\"null\"]},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"]},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent: none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991},\"similarity\":{\"type\":\"number\",\"description\":\"Voyage cosine to the query. Ranks only; not a probability.\"}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\",\"materialBankId\",\"similarity\"]}},\"mode\":{\"type\":\"string\",\"enum\":[\"text\",\"image\",\"text_and_image\"]},\"namedPaint\":{\"description\":\"The paint query.text names exactly, by a brand's paint name or code, when the catalog holds it; the items are what looks like the words. Absent otherwise.\",\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"color\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]},\"references\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"url\",\"assetId\",\"variantId\",\"sourceId\"]}},\"required\":[\"id\",\"kind\"]},\"description\":\"The image references the query used, in order. Empty in text mode.\"},\"scan\":{\"type\":\"object\",\"properties\":{\"exhausted\":{\"type\":\"boolean\",\"description\":\"True when no further candidates match; false means more may exist.\"},\"read\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"rejected\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"route\":{\"type\":\"string\",\"enum\":[\"lane\",\"metadata\",\"allowlist\"]}},\"required\":[\"exhausted\",\"read\",\"rejected\",\"route\"]},\"timings\":{\"type\":\"object\",\"properties\":{\"embedMs\":{\"type\":\"number\"},\"filterMs\":{\"type\":\"number\"},\"referenceMs\":{\"type\":\"number\"},\"totalMs\":{\"type\":\"number\"},\"vectorMs\":{\"type\":\"number\"},\"verifyMs\":{\"type\":\"number\"}},\"required\":[\"embedMs\",\"filterMs\",\"referenceMs\",\"totalMs\",\"vectorMs\",\"verifyMs\"]},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"items\",\"mode\",\"references\",\"scan\",\"timings\"]},\"GetCategoryResponse\":{\"type\":\"object\",\"properties\":{\"aliases\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"ancestors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]}},\"children\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]}},\"description\":{\"type\":[\"string\",\"null\"]},\"formerNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"const\":\"category\"},\"name\":{\"type\":\"string\"},\"path\":{\"type\":\"string\"},\"depth\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"aliases\",\"ancestors\",\"children\",\"description\",\"formerNames\",\"id\",\"kind\",\"name\",\"path\",\"depth\"]},\"GetVariantResponse\":{\"type\":\"object\",\"properties\":{\"category\":{\"description\":\"The first original source category, or null when unknown.\",\"anyOf\":[{\"type\":\"object\",\"
|
|
65
|
-
"\":\"string\"}},\"required\":[\"id\",\"name\"]},\"description\":\"All original source categories in source order.\"},\"productType\":{\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null\"]},\"image\":{\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"]},{\"type\":\"null\"}]},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"eligible\":{\"type\":\"boolean\",\"description\":\"Whether this variant may appear in its Brand's catalog. Material-only lists also require Search Catalog membership. Reads by id include ineligible variants.\"},\"channels\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"palette\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\"},\"share\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"dominant\":{\"type\":\"boolean\"},\"method\":{\"type\":\"string\",\"enum\":[\"stated\",\"isolated\",\"crop\"]}},\"required\":[\"hex\",\"share\",\"dominant\",\"method\"]},\"description\":\"The stored material palette, including how each band was obtained.\"},\"attributes\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"properties\":{\"value\":{},\"valueSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"material_bank\",\"brand\",\"measured\",\"manual\"]},{\"type\":\"null\"}]},\"wording\":{\"type\":[\"string\",\"null\"]},\"level\":{\"type\":\"string\",\"enum\":[\"variant\",\"product\",\"brand\"]}},\"required\":[\"value\",\"valueSource\",\"wording\",\"level\"]},\"description\":\"Selected settled attributes with their Value Source and exact source wording.\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"ifc\":{\"type\":\"object\",\"properties\":{\"propertySets\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"const\":\"Pset_ManufacturerTypeInformation\"},\"properties\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"},\"dataType\":{\"type\":\"string\",\"enum\":[\"IfcLabel\",\"IfcIdentifier\"]},\"uri\":{\"type\":\"string\"}},\"required\":[\"name\",\"value\",\"dataType\",\"uri\"]}}},\"required\":[\"name\",\"properties\"]}},\"classificationReferences\":{\"type\":\"
|
|
66
|
-
":\"string\"}},\"required\":[\"classification\",\"identification\"]}}},\"required\":[\"propertySets\",\"classificationReferences\"],\"description\":\"IFC 4.3: Pset_ManufacturerTypeInformation and IfcClassificationReference values. Absent properties are unknown.\"},\"specifications\":{\"allOf\":[{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},{\"type\":\"object\",\"properties\":{\"color\":{\"type\":\"object\",\"properties\":{\"color_palette\":{\"minItems\":1,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\"},\"share\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"dominant\":{\"type\":\"boolean\"}},\"required\":[\"hex\",\"share\",\"dominant\"]},\"description\":\"Stored image swatches, largest share first. Paints use their declared color as one band with share 1, even when image swatches exist. Hexes use uppercase #RRGGBB. Absent means unknown.\"},\"light_reflectance_value\":{\"$ref\":\"#/$defs/__schema0\"}},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}}}]}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"image\",\"brand\",\"name\",\"variantLabel\",\"product\",\"url\",\"variantId\",\"eligible\",\"channels\",\"palette\",\"attributes\"]},\"ListAttributesResponse\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"blockIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":{\"type\":\"string\"},\"dictionaryId\":{\"type\":[\"string\",\"null\"]},\"filterOps\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\",\"all\",\"exists\",\"missing\",\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"description\":\"list_variants ops; empty when it cannot filter on it.\"},\"filterable\":{\"type\":\"boolean\"},\"id\":{\"type\":\"string\"},\"match\":{\"description\":\"Present only when the page answers a query.\",\"type\":\"object\",\"properties\":{\"distance\":{\"description\":\"Fuse distance, 0 best.\",\"type\":\"number\"},\"matchedText\":{\"type\":[\"string\",\"null\"]},\"method\":{\"type\":\"string\",\"enum\":[\"exact\",\"alias\",\"fuzzy\",\"vector\"]},\"similarity\":{\"description\":\"Cosine similarity, 1 best.\",\"type\":\"number\"},\"valueId\":{\"description\":\"The dictionary term matchedText named exactly or by alias; present only for a value-tier match.\",\"type\":\"string\"}},\"required\":[\"matchedText\",\"method\"]},\"name\":{\"type\":\"string\"},\"statedBy\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Live variants stating this, in the categories or all; 0 means none.\"},\"unitId\":{\"type\":[\"string\",\"null\"]},\"valueKind\":{\"type\":\"string\"}},\"required\":[\"blockIds\",\"description\",\"dictionaryId\",\"filterOps\",\"filterable\",\"id\",\"name\",\"statedBy\",\"unitId\",\"valueKind\"]}},\"liveVariants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Live variants in the categories, or all without categoryIds.\"},\"outsideScope\":{\"description\":\"Page one only: matches outside blockIds ranking above the best item.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"blockIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"blockIds\",\"id\",\"name\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]}},\"required\":[\"items\",\"liveVariants\",\"pageInfo\"]},\"ListBrandsPage\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brandId\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"website\":{\"description\":\"The brand's homepage, when on record.\",\"type\":[\"string\",\"null\"]}},\"required\":[\"brandId\",\"name\",\"website\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]}},\"required\":[\"items\",\"pageInfo\"]},\"ListCategoriesResponse\":{\"type\":\"object\",\"properties\":{\"items\"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"\"name\",\"variantLabel\",\"product\",\"variantId\"]}},\"nameWords\":{\"description\":\"Empty name lookup: each word, and whether a name in scope starts it. Unmatched words were left out unless all or none matched.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]},\"preferenceMatchesRemain\":{\"description\":\"False: nothing from this page on meets any optionalFilter.\",\"type\":\"boolean\"},\"unavailableVariantIds\":{\"description\":\"Filtered ids in the catalog this list can't show, e.g. retired.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"description\":\"Each word asked for, and whether any variant in scope names it.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}}},\"required\":[\"items\",\"pageInfo\"]},\"MaterialBlockProjection\":{\"type\":\"object\",\"properties\":{\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"canonicalBlockId\":{\"type\":\"string\"},\"canonicalBlockName\":{\"type\":\"string\"},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"attributeId\":{\"type\":\"string\"},\"confidence\":{\"type\":\"number\"},\"displayValue\":{\"description\":\"The value dictionary's label for a single-term `value`. Absent when no label is on record; `value` stays the canonical token.\",\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"valueSource\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"complete\",\"partial\",\"missing\",\"not_applicable\"]},\"unit\":{\"type\":\"string\"},\"value\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"array\",\"items\":{}},{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{}},{\"type\":\"null\"}]}},\"required\":[\"attributeId\",\"label\",\"status\",\"value\"]}},\"missingAttributeIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"status\":{\"type\":\"string\",\"enum\":[\"complete\",\"partial\",\"missing\",\"not_applicable\"]}},\"required\":[\"canonicalBlockId\",\"canonicalBlockName\",\"fields\",\"missingAttributeIds\",\"status\"]}},\"variantId\":{\"type\":\"string\"}},\"required\":[\"blocks\",\"variantId\"]},\"MaterialTile\":{\"type\":\"object\",\"properties\":{\"availability\":{\"type\":\"string\",\"enum\":[\"available\",\"discontinued\",\"superseded\",\"unknown\"],\"description\":\"Orderability: 'available' (listed in the catalog of record), 'discontinued' (withdrawn from that catalog — not a reviewed manufacturer-discontinuation claim), 'superseded' (a reviewed successor relationship exists and the material is no longer listed), 'unknown' (never checked).\"},\"brand\":{\"type\":\"string\"},\"category\":{\"description\":\"The first original source category name, or null when unknown.\",\"type\":[\"string\",\"null\"]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All accepted source category ids in original source order; empty when unknown.\"},\"color\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":[\"number\",\"null\"]},\"dominantHex\":{\"type\":[\"string\",\"null\"]},\"hsl\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"h\":{\"type\":\"number\",\"minimum\":0,\"exclusiveMaximum\":360},\"l\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"s\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1}},\"required\":[\"h\",\"l\",\"s\"]},{\"type\":\"null\"}]},\"oklab\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"l\":{\"type\":\"number\"}},\"required\":[\"a\",\"b\",\"l\"]},{\"type\":\"null\"}]},\"valueSource\":{\"description\":\"Where `dominantHex` — and the `hsl` derived from it — came from: 'declared' is the brand's own published color, 'derived' was read out of product imagery. It does NOT
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
" the colorway's true name where variants.name collapsed to the product's; absent means the attribute is absent (MG-940).\",\"type\":\"string\"},\"imageSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"r2\",\"origin\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"sampleable\":{\"description\":\"Whether a physical sample is explicitly known to be orderable. Absent means unknown, never unavailable.\",\"type\":\"boolean\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"inScope\":{\"type\":[\"boolean\",\"null\"]},\"ranking\":{\"type\":\"object\",\"properties\":{\"anchorColorSimilarity\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"anchorColorSimilarityMeasurable\":{\"type\":\"boolean\"},\"basis\":{\"type\":\"string\",\"const\":\"dominant_color_oklab\"},\"lightness\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"lightnessMeasurable\":{\"type\":\"boolean\"}},\"required\":[\"anchorColorSimilarity\",\"anchorColorSimilarityMeasurable\",\"basis\",\"lightness\",\"lightnessMeasurable\"]},\"score\":{\"type\":\"number\"},\"source\":{\"type\":\"string\",\"const\":\"color\"}},\"required\":[\"availability\",\"brand\",\"category\",\"categories\",\"color\",\"imageSource\",\"imageUrl\",\"product\",\"variantId\",\"variantName\",\"score\",\"source\"]}]},\"PairingOrdering\":{\"type\":\"object\",\"properties\":{\"anchorColorBasis\":{\"type\":\"string\",\"const\":\"one_minus_oklab_euclidean_distance\"},\"applied\":{\"type\":\"string\",\"enum\":[\"relevance\",\"lightness_asc\",\"lightness_desc\"]},\"colorSpace\":{\"type\":\"string\",\"const\":\"oklab\"},\"direction\":{\"type\":\"string\",\"enum\":[\"ascending\",\"descending\"]},\"lightnessRange\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\",\"const\":1},\"min\":{\"type\":\"number\",\"const\":0}},\"required\":[\"max\",\"min\"]},\"missingValues\":{\"type\":\"string\",\"const\":\"last\"},\"requested\":{\"type\":\"string\",\"enum\":[\"relevance\",\"lightness_asc\",\"lightness_desc\"]},\"tieBreak\":{\"type\":\"string\",\"const\":\"variantId_asc\"}},\"required\":[\"anchorColorBasis\",\"applied\",\"colorSpace\",\"direction\",\"lightnessRange\",\"missingValues\",\"requested\",\"tieBreak\"]},\"ProductDocumentPage\":{\"type\":\"object\",\"properties\":{\"coverage\":{\"type\":\"object\",\"properties\":{\"productUnion\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"declaredCount\",\"exact\",\"readableCount\",\"state\"]},\"requestedVariant\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"declaredCount\",\"exact\",\"readableCount\",\"state\"]},\"sources\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"scope\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"
|
|
73
|
-
"{\"type\":\"object\",\"properties\":{\"appliesToRequestedVariant\":{\"type\":\"boolean\"},\"contentType\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"declarations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"readable\":{\"type\":\"boolean\"},\"scope\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"status\":{\"type\":\"string\",\"enum\":[\"downloaded\",\"linked_not_downloaded\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"readable\",\"scope\",\"source\",\"status\"]}},\"declaredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]}},\"documentTypes\":{\"minItems\":1,\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"technical_data_sheet\",\"product_sheet\",\"technical_bulletin\",\"sustainability_report\",\"specification\",\"installation_guide\",\"care_maintenance_guide\",\"operation_manual\",\"warranty\",\"parts_list\",\"technical_drawing\",\"test_report\",\"certificate\",\"declaration_of_performance\",\"environmental_product_declaration\",\"health_product_declaration\",\"ingredient_disclosure\",\"safety_data_sheet\",\"brochure\",\"catalog\",\"color_finish_chart\",\"other\",\"unknown\"]}},\"fileExtension\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"id\":{\"type\":\"string\",\"minLength\":1},\"originalName\":{\"type\":\"string\",\"minLength\":1},\"scope\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"inherited\":{\"type\":\"boolean\"},\"kind\":{\"type\":\"string\",\"enum\":[\"product\",\"variant\"]}},\"required\":[\"id\",\"inherited\",\"kind\"]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"status\":{\"type\":\"string\",\"enum\":[\"downloaded\",\"linked_not_downloaded\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]},\"url\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"variantAttribution\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1}}},\"required\":[\"appliesToRequestedVariant\",\"contentType\",\"declarations\",\"declaredScopes\",\"fileExtension\",\"id\",\"originalName\",\"scope\",\"source\",\"status\",\"url\",\"variantAttribution\"]}},\"nextCursor\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"totalDocuments\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"variantId\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"coverage\",\"documents\",\"nextCursor\",\"totalDocuments\",\"variantId\"]},\"ResolveColorResponse\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"description\":\"Explicit manufacturer choices when a paint name is ambiguous; never selected automatically.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"hex\":{\"type\":\"string\"},\"libraryId\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"query\":{\"type\":\"string\"}},\"required\":[\"hex\",\"libraryId\",\"libraryName\",\"name\",\"query\"]}},\"genericResolution\":{\"description\":\"Generic color meaning only; paint identity is reported by match.\",\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"confidence\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"input\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"const\":\"resolved\"},\"others\":{\"maxItems\":4,\"type\":\"array\",\"items\":{\"type\":\"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"a brand. `several-paints`: the name is more than one brand's paint; qualify it with a brand.\"},\"status\":{\"type\":\"string\",\"const\":\"not-looked-up\",\"description\":\"The catalog was not searched; there was no one brand's paint to find.\"}},\"required\":[\"reason\",\"status\"]}]}},\"required\":[\"hex\",\"name\",\"matchTarget\",\"variant\"]},{\"type\":\"null\"}]},\"rangeSamples\":{\"description\":\"The range drawn as a lightness ramp at the resolved color's own hue and chroma, dark to light. Illustrative members of the range, never additional target colors.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"genericResolution\",\"match\"]},\"ResolveVariantResponse\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"outcome\":{\"type\":\"string\",\"const\":\"identified\"},\"subject\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"required\":[\"evidence\",\"outcome\",\"subject\"]},{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"outcome\":{\"type\":\"string\",\"const\":\"placed\"},\"subject\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"brand\"},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"required\":[\"evidence\",\"outcome\",\"subject\"]},{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"candidates\":{\"minItems\":1,\"maxItems\":20,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"enum\":[\"variant\",\"brand\"]},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"outcome\":{\"type\":\"string\",\"const\":\"ambiguous\"},\"truncated
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"]}},\"basis\":{\"type\":\"string\"},\"handle\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"selected\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"]},\"text\":{\"type\":\"string\"}},\"required\":[\"alternatives\",\"basis\",\"handle\",\"reason\",\"selected\",\"text\"]}},\"colors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"pattern\":\"^#[\\\\da-f]{6}$\",\"description\":\"The color's own point in the region; it orders matches.\"},\"intent\":{\"type\":\"string\",\"enum\":[\"required\",\"preferred\"]},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"range\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"]}},\"required\":[\"hex\",\"op\",\"range\"]},\"description\":\"The color regions that ran.\"},\"corrections\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"correction\":{\"type\":\"string\"},\"word\":{\"type\":\"string\"}},\"required\":[\"correction\",\"word\"]}},\"filters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"description\":\"One of values in any of fields (term attributes).\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"fields\",\"op\",\"values\"]}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"}},\"required\":[\"field\",\"op\",\"value\"]}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]}},\"required\":[\"field\",\"op\"]}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"field\",\"op\",\"values\"]}}},\"description\":\"The filters that ran, the scope among them.\"},\"name\":{\"type\":\"string\",\"description\":\"The paint name looked up.\"},\"oneRowPer\":{\"type\":\"string\",\"enum\":[\"product\",\"variant\",\"paint_variant_or_product\"],\"description\":\"A row per product, per variant, or per exact paint variant followed by other products.\"},\"optionalFilters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"fields\",\"op\",\"values\",\"weight\"]}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"\"string\",\"enum\":[\"available\",\"discontinued\",\"superseded\",\"unknown\"],\"description\":\"Orderability: 'available' (listed in the catalog of record), 'discontinued' (withdrawn from that catalog — not a reviewed manufacturer-discontinuation claim), 'superseded' (a reviewed successor relationship exists and the material is no longer listed), 'unknown' (never checked).\"},\"brand\":{\"type\":\"string\"},\"category\":{\"description\":\"The first original source category name, or null when unknown.\",\"type\":[\"string\",\"null\"]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All accepted source category ids in original source order; empty when unknown.\"},\"color\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":[\"number\",\"null\"]},\"dominantHex\":{\"type\":[\"string\",\"null\"]},\"hsl\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"h\":{\"type\":\"number\",\"minimum\":0,\"exclusiveMaximum\":360},\"l\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"s\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1}},\"required\":[\"h\",\"l\",\"s\"]},{\"type\":\"null\"}]},\"oklab\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"l\":{\"type\":\"number\"}},\"required\":[\"a\",\"b\",\"l\"]},{\"type\":\"null\"}]},\"valueSource\":{\"description\":\"Where `dominantHex` — and the `hsl` derived from it — came from: 'declared' is the brand's own published color, 'derived' was read out of product imagery. It does NOT cover `oklab`, `chroma` or `vibrancy`: those are statistics of the IMAGE and stay measured whatever the hex says. Only the record read resolves this; a tile omits the key, and absent means unresolved, never 'declared'.\",\"type\":\"string\",\"enum\":[\"material_bank\",\"brand\",\"measured\",\"manual\"]},\"vibrancy\":{\"type\":[\"number\",\"null\"]}},\"required\":[\"chroma\",\"dominantHex\",\"hsl\",\"oklab\",\"vibrancy\"]},\"colorName\":{\"description\":\"The accepted Color Name attribute — the colorway's true name where variants.name collapsed to the product's; absent means the attribute is absent (MG-940).\",\"type\":\"string\"},\"imageSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"r2\",\"origin\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"sampleable\":{\"description\":\"Whether a physical sample is explicitly known to be orderable. Absent means unknown, never unavailable.\",\"type\":\"boolean\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"distinction\":{\"description\":\"This sibling's value of `distinguishedBy`, e.g. `3.5 in` or `SA35WUnfinished`.\",\"type\":\"string\",\"minLength\":1},\"distinguishedBy\":{\"description\":\"Which attribute separates this sibling from variants sharing its name and Color Name: `size` (declared size option) or `code` (product code).\",\"type\":\"string\",\"enum\":[\"size\",\"code\"]}},\"required\":[\"availability\",\"brand\",\"category\",\"categories\",\"color\",\"imageSource\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]}},{\"type\":\"null\"}]},\"find_nearest_paints\":{\"$ref\":\"#/$defs/NearestPaintsOutput\"},\"get_catalog_generation\":{\"type\":\"object\",\"properties\":{\"generation\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"generation\"]},\"list_catalog_documents\":{\"$ref\":\"#/$defs/
|
|
83
|
-
"
|
|
64
|
+
"rialBankId\":{\"type\":[\"string\",\"null\"]},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"]},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent: none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991},\"similarity\":{\"type\":\"number\",\"description\":\"Voyage cosine to the query. Ranks only; not a probability.\"}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\",\"materialBankId\",\"similarity\"]}},\"mode\":{\"type\":\"string\",\"enum\":[\"text\",\"image\",\"text_and_image\"]},\"namedPaint\":{\"description\":\"The paint query.text names exactly, by a brand's paint name or code, when the catalog holds it; the items are what looks like the words. Absent otherwise.\",\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"color\":{\"type\":[\"string\",\"null\"]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"brand\",\"color\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]},\"references\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"url\",\"assetId\",\"variantId\",\"sourceId\"]}},\"required\":[\"id\",\"kind\"]},\"description\":\"The image references the query used, in order. Empty in text mode.\"},\"scan\":{\"type\":\"object\",\"properties\":{\"exhausted\":{\"type\":\"boolean\",\"description\":\"True when no further candidates match; false means more may exist.\"},\"read\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"rejected\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"route\":{\"type\":\"string\",\"enum\":[\"lane\",\"metadata\",\"allowlist\"],\"description\":\"How filters reached the vector search. Always metadata: Elastic applies every filter inside the kNN.\"}},\"required\":[\"exhausted\",\"read\",\"rejected\",\"route\"]},\"timings\":{\"type\":\"object\",\"properties\":{\"embedMs\":{\"type\":\"number\"},\"filterMs\":{\"type\":\"number\",\"description\":\"Time spent filtering outside the kNN. Always 0: filters run inside it.\"},\"referenceMs\":{\"type\":\"number\"},\"totalMs\":{\"type\":\"number\"},\"vectorMs\":{\"type\":\"number\"},\"verifyMs\":{\"type\":\"number\"}},\"required\":[\"embedMs\",\"filterMs\",\"referenceMs\",\"totalMs\",\"vectorMs\",\"verifyMs\"]},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"items\",\"mode\",\"references\",\"scan\",\"timings\"]},\"GetCategoryResponse\":{\"type\":\"object\",\"properties\":{\"aliases\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"ancestors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]}},\"children\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]}},\"description\":{\"type\":[\"string\",\"null\"]},\"formerNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"const\":\"category\"},\"name\":{\"type\":\"string\"},\"path\":{\"type\":\"string\"},\"depth\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"aliases\",\"ancestors\",\"children\",\"description\",\"formerNames\",\"id\",\"kind\",\"name\",\"path\",\"depth\"]},\"GetVariantResponse\":{\"type\":\"object\",\"properties\":{\"category\":{\"description\":\"The first original source category, or null when unknown.\",\"anyOf\":[{\"type\":\"object\",\"proper",
|
|
65
|
+
"ties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"description\":\"All original source categories in source order.\"},\"productType\":{\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null\"]},\"image\":{\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"]},{\"type\":\"null\"}]},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"eligible\":{\"type\":\"boolean\",\"description\":\"Whether this variant may appear in its Brand's catalog. Material-only lists also require Search Catalog membership. Reads by id include ineligible variants.\"},\"channels\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"palette\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\"},\"share\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"dominant\":{\"type\":\"boolean\"},\"method\":{\"type\":\"string\",\"enum\":[\"stated\",\"isolated\",\"crop\"]}},\"required\":[\"hex\",\"share\",\"dominant\",\"method\"]},\"description\":\"The stored material palette, including how each band was obtained.\"},\"attributes\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"properties\":{\"value\":{},\"valueSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"material_bank\",\"brand\",\"measured\",\"manual\"]},{\"type\":\"null\"}]},\"wording\":{\"type\":[\"string\",\"null\"]},\"level\":{\"type\":\"string\",\"enum\":[\"variant\",\"product\",\"brand\"]}},\"required\":[\"value\",\"valueSource\",\"wording\",\"level\"]},\"description\":\"Selected settled attributes with their Value Source and exact source wording.\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"ifc\":{\"type\":\"object\",\"properties\":{\"propertySets\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"const\":\"Pset_ManufacturerTypeInformation\"},\"properties\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"value\":{\"type\":\"string\"},\"dataType\":{\"type\":\"string\",\"enum\":[\"IfcLabel\",\"IfcIdentifier\"]},\"uri\":{\"type\":\"string\"}},\"required\":[\"name\",\"value\",\"dataType\",\"uri\"]}}},\"required\":[\"name\",\"properties\"]}},\"classificationReferences\":{\"type\":\"ar",
|
|
66
|
+
"ray\",\"items\":{\"type\":\"object\",\"properties\":{\"classification\":{\"type\":\"string\",\"enum\":[\"MasterFormat\",\"OmniClass\",\"UniFormat\"]},\"identification\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"edition\":{\"type\":\"string\"}},\"required\":[\"classification\",\"identification\"]}}},\"required\":[\"propertySets\",\"classificationReferences\"],\"description\":\"IFC 4.3: Pset_ManufacturerTypeInformation and IfcClassificationReference values. Absent properties are unknown.\"},\"specifications\":{\"allOf\":[{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},{\"type\":\"object\",\"properties\":{\"color\":{\"type\":\"object\",\"properties\":{\"color_palette\":{\"minItems\":1,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\"},\"share\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"dominant\":{\"type\":\"boolean\"}},\"required\":[\"hex\",\"share\",\"dominant\"]},\"description\":\"Stored image swatches, largest share first. Paints use their declared color as one band with share 1, even when image swatches exist. Hexes use uppercase #RRGGBB. Absent means unknown.\"},\"light_reflectance_value\":{\"$ref\":\"#/$defs/__schema0\"}},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}}}]}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"image\",\"brand\",\"name\",\"variantLabel\",\"product\",\"url\",\"variantId\",\"eligible\",\"channels\",\"palette\",\"attributes\"]},\"ListAttributesResponse\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"blockIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":{\"type\":\"string\"},\"dictionaryId\":{\"type\":[\"string\",\"null\"]},\"filterOps\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\",\"all\",\"exists\",\"missing\",\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"description\":\"list_variants ops; empty when it cannot filter on it.\"},\"filterable\":{\"type\":\"boolean\"},\"id\":{\"type\":\"string\"},\"match\":{\"description\":\"Present only when the page answers a query.\",\"type\":\"object\",\"properties\":{\"distance\":{\"description\":\"Fuse distance, 0 best.\",\"type\":\"number\"},\"matchedText\":{\"type\":[\"string\",\"null\"]},\"method\":{\"type\":\"string\",\"enum\":[\"exact\",\"alias\",\"fuzzy\",\"vector\"]},\"similarity\":{\"description\":\"Cosine similarity, 1 best.\",\"type\":\"number\"},\"valueId\":{\"description\":\"The dictionary term matchedText named exactly or by alias; present only for a value-tier match.\",\"type\":\"string\"}},\"required\":[\"matchedText\",\"method\"]},\"name\":{\"type\":\"string\"},\"statedBy\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Live variants stating this, in the categories or all; 0 means none.\"},\"unitId\":{\"type\":[\"string\",\"null\"]},\"valueKind\":{\"type\":\"string\"}},\"required\":[\"blockIds\",\"description\",\"dictionaryId\",\"filterOps\",\"filterable\",\"id\",\"name\",\"statedBy\",\"unitId\",\"valueKind\"]}},\"liveVariants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Live variants in the categories, or all without categoryIds.\"},\"outsideScope\":{\"description\":\"Page one only: matches outside blockIds ranking above the best item.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"blockIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"blockIds\",\"id\",\"name\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]}},\"required\":[\"items\",\"liveVariants\",\"pageInfo\"]},\"ListBrandsPage\":{\"type\":\"object\",\"properties\":{\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brandId\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"website\":{\"description\":\"The brand's homepage, when on record.\",\"type\":[\"string\",\"null\"]}},\"required\":[\"brandId\",\"name\",\"website\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]}},\"required\":[\"items\",\"pageInfo\"]},\"ListCategoriesResponse\":{\"type\":\"object\",\"properties\":{\"items\"",
|
|
67
|
+
":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hasChildren\":{\"type\":\"boolean\"},\"id\":{\"type\":\"string\"},\"match\":{\"description\":\"Present only when the page answers a query.\",\"type\":\"object\",\"properties\":{\"matchedText\":{\"type\":[\"string\",\"null\"]},\"method\":{\"type\":\"string\",\"enum\":[\"exact\",\"alias\",\"fuzzy\"]}},\"required\":[\"matchedText\",\"method\"]},\"name\":{\"type\":\"string\"},\"parentId\":{\"type\":[\"string\",\"null\"]},\"path\":{\"type\":\"string\"},\"depth\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"hasChildren\",\"id\",\"name\",\"parentId\",\"path\",\"depth\"]}},\"notice\":{\"description\":\"Present only when the query is refused as a category.\",\"type\":\"string\"},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"nextCursor\":{\"type\":[\"string\",\"null\"]},\"returnedCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"totalMatches\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"nextCursor\",\"returnedCount\",\"totalMatches\"]}},\"required\":[\"items\",\"pageInfo\"]},\"ListEnumValuesResponse\":{\"type\":\"object\",\"properties\":{\"dictionaryId\":{\"type\":[\"string\",\"null\"]},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"attributeIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"definition\":{\"type\":[\"string\",\"null\"]},\"dictionaryId\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"match\":{\"type\":\"object\",\"properties\":{\"distance\":{\"type\":\"number\"},\"matchedText\":{\"type\":[\"string\",\"null\"]},\"method\":{\"type\":\"string\",\"enum\":[\"exact\",\"alias\",\"fuzzy\",\"vector\"]},\"resolvedFrom\":{\"type\":\"string\"},\"similarity\":{\"type\":\"number\"}},\"required\":[\"matchedText\",\"method\"]},\"valueId\":{\"type\":\"string\"}},\"required\":[\"attributeIds\",\"definition\",\"dictionaryId\",\"label\",\"valueId\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]}},\"required\":[\"dictionaryId\",\"items\",\"pageInfo\"]},\"ListSampledTogetherPairsResponse\":{\"type\":\"object\",\"properties\":{\"window\":{\"type\":\"string\",\"const\":\"trailing_36mo\"},\"signal\":{\"type\":\"string\",\"const\":\"sampled\"},\"windowStart\":{\"type\":[\"string\",\"null\"]},\"windowEnd\":{\"type\":[\"string\",\"null\"]},\"projectTotalsWindowEnd\":{\"type\":[\"string\",\"null\"]},\"pairs\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"string\"},\"b\":{\"type\":\"string\"},\"projects\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"customers\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"lift\":{\"type\":\"number\"},\"lastSampledTogetherAt\":{\"type\":[\"string\",\"null\"]},\"aProjects\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"bProjects\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},{\"type\":\"null\"}]}},\"required\":[\"a\",\"b\",\"projects\",\"customers\",\"lift\",\"lastSampledTogetherAt\",\"aProjects\",\"bProjects\"]}},\"nextCursor\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"window\",\"signal\",\"windowStart\",\"windowEnd\",\"projectTotalsWindowEnd\",\"pairs\",\"nextCursor\"]},\"ListVariantFacetsResponse\":{\"type\":\"object\",\"properties\":{\"matchedVariantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"facets\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"attributeId\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"missingVariantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"kind\":{\"type\":\"string\",\"const\":\"categorical\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"value\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"variantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991}},\"required\":[\"value\",\"label\",\"variantCount\"]}},\"hasMoreValues\":{\"type\":\"boolean\"}},\"required\":[\"attributeId\",\"name\",\"missingVariantCount\",\"kind\",\"values\",\"hasMoreValues\"]},{\"type\":\"object\",\"properties\":{\"attributeId\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"missingVariantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"kind\":{\"type\":\"string\",\"const\":\"boolean\"},\"values\":{\"type\":\"array\",\"",
|
|
68
|
+
"items\":{\"type\":\"object\",\"properties\":{\"value\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"variantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991}},\"required\":[\"value\",\"label\",\"variantCount\"]}},\"hasMoreValues\":{\"type\":\"boolean\"}},\"required\":[\"attributeId\",\"name\",\"missingVariantCount\",\"kind\",\"values\",\"hasMoreValues\"]},{\"type\":\"object\",\"properties\":{\"attributeId\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"missingVariantCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"kind\":{\"type\":\"string\",\"const\":\"numeric\"},\"min\":{\"type\":[\"number\",\"null\"]},\"max\":{\"type\":[\"number\",\"null\"]},\"unitId\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"attributeId\",\"name\",\"missingVariantCount\",\"kind\",\"min\",\"max\",\"unitId\"]}]}}},\"required\":[\"matchedVariantCount\",\"facets\"]},\"ListVariantsResponse\":{\"type\":\"object\",\"properties\":{\"excludedBySearchCatalogSubset\":{\"description\":\"Filtered variant ids outside the materials catalog.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"category\":{\"description\":\"The first original source category, or null when unknown.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"description\":\"All original source categories in source order.\"},\"productType\":{\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null\"]},\"image\":{\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"]},{\"type\":\"null\"}]},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"]},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent:",
|
|
69
|
+
" none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\"]}},\"nameWords\":{\"description\":\"Empty name lookup: each word, and whether a name in scope starts it. Unmatched words were left out unless all or none matched.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]},\"preferenceMatchesRemain\":{\"description\":\"False: nothing from this page on meets any optionalFilter.\",\"type\":\"boolean\"},\"unavailableVariantIds\":{\"description\":\"Filtered ids in the catalog this list can't show, e.g. retired.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"description\":\"Each word asked for, and whether any variant in scope names it.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}}},\"required\":[\"items\",\"pageInfo\"]},\"MaterialBlockProjection\":{\"type\":\"object\",\"properties\":{\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"canonicalBlockId\":{\"type\":\"string\"},\"canonicalBlockName\":{\"type\":\"string\"},\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"attributeId\":{\"type\":\"string\"},\"confidence\":{\"type\":\"number\"},\"displayValue\":{\"description\":\"The value dictionary's label for a single-term `value`. Absent when no label is on record; `value` stays the canonical token.\",\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"valueSource\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"complete\",\"partial\",\"missing\",\"not_applicable\"]},\"unit\":{\"type\":\"string\"},\"value\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"array\",\"items\":{}},{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{}},{\"type\":\"null\"}]}},\"required\":[\"attributeId\",\"label\",\"status\",\"value\"]}},\"missingAttributeIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"status\":{\"type\":\"string\",\"enum\":[\"complete\",\"partial\",\"missing\",\"not_applicable\"]}},\"required\":[\"canonicalBlockId\",\"canonicalBlockName\",\"fields\",\"missingAttributeIds\",\"status\"]}},\"variantId\":{\"type\":\"string\"}},\"required\":[\"blocks\",\"variantId\"]},\"MaterialTile\":{\"type\":\"object\",\"properties\":{\"availability\":{\"type\":\"string\",\"enum\":[\"available\",\"discontinued\",\"superseded\",\"unknown\"],\"description\":\"Orderability: 'available' (listed in the catalog of record), 'discontinued' (withdrawn from that catalog — not a reviewed manufacturer-discontinuation claim), 'superseded' (a reviewed successor relationship exists and the material is no longer listed), 'unknown' (never checked).\"},\"brand\":{\"type\":\"string\"},\"category\":{\"description\":\"The first original source category name, or null when unknown.\",\"type\":[\"string\",\"null\"]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All accepted source category ids in original source order; empty when unknown.\"},\"color\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":[\"number\",\"null\"]},\"dominantHex\":{\"type\":[\"string\",\"null\"]},\"hsl\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"h\":{\"type\":\"number\",\"minimum\":0,\"exclusiveMaximum\":360},\"l\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"s\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1}},\"required\":[\"h\",\"l\",\"s\"]},{\"type\":\"null\"}]},\"oklab\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"l\":{\"type\":\"number\"}},\"required\":[\"a\",\"b\",\"l\"]},{\"type\":\"null\"}]},\"valueSource\":{\"description\":\"Where `dominantHex` — and the `hsl` derived from it — came from: 'declared' is the brand's own published color, 'derived' was read out of product imagery. It does NOT ",
|
|
70
|
+
"cover `oklab`, `chroma` or `vibrancy`: those are statistics of the IMAGE and stay measured whatever the hex says. Only the record read resolves this; a tile omits the key, and absent means unresolved, never 'declared'.\",\"type\":\"string\",\"enum\":[\"material_bank\",\"brand\",\"measured\",\"manual\"]},\"vibrancy\":{\"type\":[\"number\",\"null\"]}},\"required\":[\"chroma\",\"dominantHex\",\"hsl\",\"oklab\",\"vibrancy\"]},\"colorName\":{\"description\":\"The accepted Color Name attribute — the colorway's true name where variants.name collapsed to the product's; absent means the attribute is absent (MG-940).\",\"type\":\"string\"},\"imageSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"r2\",\"origin\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"sampleable\":{\"description\":\"Whether a physical sample is explicitly known to be orderable. Absent means unknown, never unavailable.\",\"type\":\"boolean\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"availability\",\"brand\",\"category\",\"categories\",\"color\",\"imageSource\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]},\"NearestPaintsOutput\":{\"type\":\"object\",\"properties\":{\"results\":{\"maxItems\":12,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9A-F]{6}$\"},\"paints\":{\"maxItems\":24,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"variantId\":{\"type\":\"string\"},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"productType\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"name\":{\"type\":\"string\"},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9A-F]{6}$\"},\"lrv\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":100},{\"type\":\"null\"}]},\"image\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"url\":{\"type\":\"string\"},\"alt\":{\"type\":\"string\"}},\"required\":[\"url\",\"alt\"]},{\"type\":\"null\"}]},\"deltaE\":{\"type\":\"number\",\"minimum\":0},\"closeness\":{\"type\":\"string\",\"enum\":[\"very-near\",\"very-close\",\"close\",\"related\"]}},\"required\":[\"variantId\",\"sampleSubject\",\"productType\",\"name\",\"brand\",\"code\",\"hex\",\"lrv\",\"image\",\"deltaE\",\"closeness\"]}}},\"required\":[\"hex\",\"paints\"]}}},\"required\":[\"results\"]},\"PairingItem\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"inScope\":{\"type\":[\"boolean\",\"null\"]},\"brandSlug\":{\"type\":\"string\"},\"category\":{\"type\":[\"string\",\"null\"]},\"color\":{\"type\":[\"string\",\"null\"]},\"customerCount\":{\"type\":\"number\"},\"demand\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"momentum\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"percentChange\":{\"type\":[\"number\",\"null\"]},\"priorSpecCount\":{\"type\":\"number\"},\"state\":{\"type\":\"string\",\"enum\":[\"rising\",\"fading\",\"stable\",\"emerging\",\"insufficient_volume\"]},\"trailingSpecCount\":{\"type\":\"number\"}},\"required\":[\"percentChange\",\"priorSpecCount\",\"state\",\"trailingSpecCount\"]},{\"type\":\"null\"}]},\"projectCount\":{\"type\":\"number\"},\"specCount\":{\"type\":\"number\"}},\"required\":[\"momentum\",\"projectCount\",\"specCount\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"lift\":{\"type\":\"number\"},\"liftLabel\":{\"type\":\"string\"},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"projectCount\":{\"type\":\"number\"},\"relation\":{\"type\":\"string\",\"enum\":[\"other_brand\",\"brand_sibling\",\"colorway\"]},\"topProjectTypes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"projectCount\":{\"type\":\"number\"},\"projectType\":{\"type\":\"string\"}},\"required\":[\"projectCount\",\"projectType\"]}},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"ranking\":{\"type\":\"object\",\"properties\":{\"anchorColorSimilarity\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"anchorColorSimilarityMeasurable\":{\"type\":\"boolean\"},\"basis\":{\"type\":\"string\",\"const\":\"dominant_color_oklab\"},\"lightness\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"lightnessMeasurable\":{\"type\":\"bo",
|
|
71
|
+
"olean\"}},\"required\":[\"anchorColorSimilarity\",\"anchorColorSimilarityMeasurable\",\"basis\",\"lightness\",\"lightnessMeasurable\"]},\"source\":{\"type\":\"string\",\"const\":\"cospec\"}},\"required\":[\"brand\",\"brandSlug\",\"category\",\"color\",\"customerCount\",\"demand\",\"imageUrl\",\"lift\",\"liftLabel\",\"product\",\"productId\",\"projectCount\",\"topProjectTypes\",\"variantId\",\"variantName\",\"source\"]},{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\"},\"inScope\":{\"type\":[\"boolean\",\"null\"]},\"brandSlug\":{\"type\":\"string\"},\"category\":{\"type\":[\"string\",\"null\"]},\"color\":{\"type\":[\"string\",\"null\"]},\"customerCount\":{\"type\":\"number\"},\"demand\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"momentum\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"percentChange\":{\"type\":[\"number\",\"null\"]},\"priorSpecCount\":{\"type\":\"number\"},\"state\":{\"type\":\"string\",\"enum\":[\"rising\",\"fading\",\"stable\",\"emerging\",\"insufficient_volume\"]},\"trailingSpecCount\":{\"type\":\"number\"}},\"required\":[\"percentChange\",\"priorSpecCount\",\"state\",\"trailingSpecCount\"]},{\"type\":\"null\"}]},\"projectCount\":{\"type\":\"number\"},\"specCount\":{\"type\":\"number\"}},\"required\":[\"momentum\",\"projectCount\",\"specCount\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"hex\":{\"type\":[\"string\",\"null\"]},\"lift\":{\"type\":\"number\"},\"liftLabel\":{\"type\":\"string\"},\"product\":{\"type\":\"string\"},\"productId\":{\"type\":\"string\"},\"projectCount\":{\"type\":\"number\"},\"relation\":{\"type\":\"string\",\"enum\":[\"other_brand\",\"brand_sibling\",\"colorway\"]},\"topProjectTypes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"projectCount\":{\"type\":\"number\"},\"projectType\":{\"type\":\"string\"}},\"required\":[\"projectCount\",\"projectType\"]}},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"ranking\":{\"type\":\"object\",\"properties\":{\"anchorColorSimilarity\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"anchorColorSimilarityMeasurable\":{\"type\":\"boolean\"},\"basis\":{\"type\":\"string\",\"const\":\"dominant_color_oklab\"},\"lightness\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"lightnessMeasurable\":{\"type\":\"boolean\"}},\"required\":[\"anchorColorSimilarity\",\"anchorColorSimilarityMeasurable\",\"basis\",\"lightness\",\"lightnessMeasurable\"]},\"source\":{\"type\":\"string\",\"const\":\"considered\"}},\"required\":[\"brand\",\"brandSlug\",\"category\",\"color\",\"customerCount\",\"demand\",\"imageUrl\",\"lift\",\"liftLabel\",\"product\",\"productId\",\"projectCount\",\"topProjectTypes\",\"variantId\",\"variantName\",\"source\"]},{\"type\":\"object\",\"properties\":{\"availability\":{\"type\":\"string\",\"enum\":[\"available\",\"discontinued\",\"superseded\",\"unknown\"],\"description\":\"Orderability: 'available' (listed in the catalog of record), 'discontinued' (withdrawn from that catalog — not a reviewed manufacturer-discontinuation claim), 'superseded' (a reviewed successor relationship exists and the material is no longer listed), 'unknown' (never checked).\"},\"brand\":{\"type\":\"string\"},\"category\":{\"description\":\"The first original source category name, or null when unknown.\",\"type\":[\"string\",\"null\"]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All accepted source category ids in original source order; empty when unknown.\"},\"color\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":[\"number\",\"null\"]},\"dominantHex\":{\"type\":[\"string\",\"null\"]},\"hsl\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"h\":{\"type\":\"number\",\"minimum\":0,\"exclusiveMaximum\":360},\"l\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"s\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1}},\"required\":[\"h\",\"l\",\"s\"]},{\"type\":\"null\"}]},\"oklab\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"l\":{\"type\":\"number\"}},\"required\":[\"a\",\"b\",\"l\"]},{\"type\":\"null\"}]},\"valueSource\":{\"description\":\"Where `dominantHex` — and the `hsl` derived from it — came from: 'declared' is the brand's own published color, 'derived' was read out of product imagery. It does NOT cover `oklab`, `chroma` or `vibrancy`: those are statistics of the IMAGE and stay measured whatever the hex says. Only the record read resolves this; a tile omits the key, and absent means unresolved, never 'declared'.\",\"type\":\"string\",\"enum\":[\"mater",
|
|
72
|
+
"ial_bank\",\"brand\",\"measured\",\"manual\"]},\"vibrancy\":{\"type\":[\"number\",\"null\"]}},\"required\":[\"chroma\",\"dominantHex\",\"hsl\",\"oklab\",\"vibrancy\"]},\"colorName\":{\"description\":\"The accepted Color Name attribute — the colorway's true name where variants.name collapsed to the product's; absent means the attribute is absent (MG-940).\",\"type\":\"string\"},\"imageSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"r2\",\"origin\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"sampleable\":{\"description\":\"Whether a physical sample is explicitly known to be orderable. Absent means unknown, never unavailable.\",\"type\":\"boolean\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"inScope\":{\"type\":[\"boolean\",\"null\"]},\"ranking\":{\"type\":\"object\",\"properties\":{\"anchorColorSimilarity\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"anchorColorSimilarityMeasurable\":{\"type\":\"boolean\"},\"basis\":{\"type\":\"string\",\"const\":\"dominant_color_oklab\"},\"lightness\":{\"anyOf\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"null\"}]},\"lightnessMeasurable\":{\"type\":\"boolean\"}},\"required\":[\"anchorColorSimilarity\",\"anchorColorSimilarityMeasurable\",\"basis\",\"lightness\",\"lightnessMeasurable\"]},\"score\":{\"type\":\"number\"},\"source\":{\"type\":\"string\",\"const\":\"color\"}},\"required\":[\"availability\",\"brand\",\"category\",\"categories\",\"color\",\"imageSource\",\"imageUrl\",\"product\",\"variantId\",\"variantName\",\"score\",\"source\"]}]},\"PairingOrdering\":{\"type\":\"object\",\"properties\":{\"anchorColorBasis\":{\"type\":\"string\",\"const\":\"one_minus_oklab_euclidean_distance\"},\"applied\":{\"type\":\"string\",\"enum\":[\"relevance\",\"lightness_asc\",\"lightness_desc\"]},\"colorSpace\":{\"type\":\"string\",\"const\":\"oklab\"},\"direction\":{\"type\":\"string\",\"enum\":[\"ascending\",\"descending\"]},\"lightnessRange\":{\"type\":\"object\",\"properties\":{\"max\":{\"type\":\"number\",\"const\":1},\"min\":{\"type\":\"number\",\"const\":0}},\"required\":[\"max\",\"min\"]},\"missingValues\":{\"type\":\"string\",\"const\":\"last\"},\"requested\":{\"type\":\"string\",\"enum\":[\"relevance\",\"lightness_asc\",\"lightness_desc\"]},\"tieBreak\":{\"type\":\"string\",\"const\":\"variantId_asc\"}},\"required\":[\"anchorColorBasis\",\"applied\",\"colorSpace\",\"direction\",\"lightnessRange\",\"missingValues\",\"requested\",\"tieBreak\"]},\"ProductDocumentPage\":{\"type\":\"object\",\"properties\":{\"coverage\":{\"type\":\"object\",\"properties\":{\"productUnion\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"declaredCount\",\"exact\",\"readableCount\",\"state\"]},\"requestedVariant\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"declaredCount\",\"exact\",\"readableCount\",\"state\"]},\"sources\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"declaredCount\":{\"anyOf\":[{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},{\"type\":\"null\"}]},\"exact\":{\"type\":\"boolean\"},\"readableCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"scope\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"state\":{\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"d",
|
|
73
|
+
"ead_link\",\"failed_ingest\"]}},\"required\":[\"declaredCount\",\"exact\",\"readableCount\",\"scope\",\"source\",\"state\"]}}},\"required\":[\"productUnion\",\"requestedVariant\",\"sources\"]},\"documents\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"appliesToRequestedVariant\":{\"type\":\"boolean\"},\"contentType\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"declarations\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"readable\":{\"type\":\"boolean\"},\"scope\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"status\":{\"type\":\"string\",\"enum\":[\"downloaded\",\"linked_not_downloaded\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]}},\"required\":[\"readable\",\"scope\",\"source\",\"status\"]}},\"declaredScopes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"product\"}},\"required\":[\"id\",\"kind\"]},{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"}},\"required\":[\"id\",\"kind\"]}]}},\"documentTypes\":{\"minItems\":1,\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"technical_data_sheet\",\"product_sheet\",\"technical_bulletin\",\"sustainability_report\",\"specification\",\"installation_guide\",\"care_maintenance_guide\",\"operation_manual\",\"warranty\",\"parts_list\",\"technical_drawing\",\"test_report\",\"certificate\",\"declaration_of_performance\",\"environmental_product_declaration\",\"health_product_declaration\",\"ingredient_disclosure\",\"safety_data_sheet\",\"brochure\",\"catalog\",\"color_finish_chart\",\"other\",\"unknown\"]}},\"fileExtension\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"id\":{\"type\":\"string\",\"minLength\":1},\"originalName\":{\"type\":\"string\",\"minLength\":1},\"scope\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"inherited\":{\"type\":\"boolean\"},\"kind\":{\"type\":\"string\",\"enum\":[\"product\",\"variant\"]}},\"required\":[\"id\",\"inherited\",\"kind\"]},\"source\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"string\",\"minLength\":1},\"id\":{\"type\":\"string\",\"minLength\":1},\"revision\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"id\",\"revision\"]},\"status\":{\"type\":\"string\",\"enum\":[\"downloaded\",\"linked_not_downloaded\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]},\"url\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"variantAttribution\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"minLength\":1}}},\"required\":[\"appliesToRequestedVariant\",\"contentType\",\"declarations\",\"declaredScopes\",\"fileExtension\",\"id\",\"originalName\",\"scope\",\"source\",\"status\",\"url\",\"variantAttribution\"]}},\"nextCursor\":{\"anyOf\":[{\"type\":\"string\",\"minLength\":1},{\"type\":\"null\"}]},\"totalDocuments\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"variantId\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"coverage\",\"documents\",\"nextCursor\",\"totalDocuments\",\"variantId\"]},\"ResolveColorResponse\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"description\":\"Explicit manufacturer choices when a paint name is ambiguous; never selected automatically.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"string\"},\"hex\":{\"type\":\"string\"},\"libraryId\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"query\":{\"type\":\"string\"}},\"required\":[\"hex\",\"libraryId\",\"libraryName\",\"name\",\"query\"]}},\"genericResolution\":{\"description\":\"Generic color meaning only; paint identity is reported by match.\",\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"confidence\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"input\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"const\":\"resolved\"},\"others\":{\"maxItems\":4,\"type\":\"array\",\"items\":{\"type\":\"objec",
|
|
74
|
+
"t\",\"properties\":{\"band\":{\"type\":\"string\",\"enum\":[\"inside\",\"near\",\"far\"]},\"family\":{\"type\":\"string\",\"enum\":[\"white\",\"cream\",\"gray\",\"black\",\"beige\",\"taupe\",\"brown\",\"red\",\"orange\",\"yellow\",\"green\",\"teal\",\"blue\",\"purple\",\"pink\"]},\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9a-f]{6}$\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\",\"minLength\":1},\"range\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0},{\"type\":\"number\",\"minimum\":0}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":360},{\"type\":\"number\",\"minimum\":0,\"maximum\":360}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"number\",\"minimum\":0,\"maximum\":1}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"]}},\"required\":[\"band\",\"family\",\"hex\",\"id\",\"name\",\"range\"]}},\"principal\":{\"type\":\"object\",\"properties\":{\"band\":{\"type\":\"string\",\"enum\":[\"inside\",\"near\",\"far\"]},\"family\":{\"type\":\"string\",\"enum\":[\"white\",\"cream\",\"gray\",\"black\",\"beige\",\"taupe\",\"brown\",\"red\",\"orange\",\"yellow\",\"green\",\"teal\",\"blue\",\"purple\",\"pink\"]},\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9a-f]{6}$\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\",\"minLength\":1},\"range\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0},{\"type\":\"number\",\"minimum\":0}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":360},{\"type\":\"number\",\"minimum\":0,\"maximum\":360}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"number\",\"minimum\":0,\"maximum\":1}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"]}},\"required\":[\"band\",\"family\",\"hex\",\"id\",\"name\",\"range\"]},\"reference\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"string\",\"minLength\":1},\"code\":{\"type\":\"string\",\"minLength\":1},\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9a-f]{6}$\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"libraryId\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"brand\",\"hex\",\"id\",\"libraryId\",\"name\"]},\"source\":{\"type\":\"string\",\"enum\":[\"name\",\"family\",\"composed\",\"hex\",\"reference\",\"semantic\"]}},\"required\":[\"confidence\",\"input\",\"kind\",\"others\",\"principal\",\"source\"]},{\"type\":\"object\",\"properties\":{\"input\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"const\":\"unresolved\"},\"reason\":{\"type\":\"string\",\"enum\":[\"unknown-term\",\"ambiguous-modifier\",\"contradictory-modifiers\",\"unsupported-base\",\"empty-range\",\"unrepresentable-color\"]},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"input\",\"kind\",\"reason\",\"terms\"]}]},\"match\":{\"description\":\"The resolved color, or null when nothing resolved.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"description\":\"The resolved `#rrggbb` hex.\"},\"name\":{\"type\":\"string\",\"description\":\"The resolved display name (echoes the query when unnamed).\"},\"code\":{\"description\":\"The code the library gives the color (e.g. \\\"OC-17\\\", \\\"7016\\\"). Present only on a library hit.\",\"type\":\"string\"},\"libraryId\":{\"description\":\"The ColorScope library the color resolved in (e.g. \\\"benjamin-moore\\\", \\\"ral\\\"). A library is not necessarily a brand: read `libraryType`. Absent for a hex, and for a color word or semantic match that resolved without a library.\",\"type\":\"string\"},\"libraryType\":{\"description\":\"The type ColorScope declares for `libraryId`: `brand` is a paint brand's paint, `reference` a color standard (RAL, Pantone, HKS), `core` ColorScope's descriptive vocabulary. Present exactly when `libraryId` is. Only a `brand` hit is looked up in the catalog.\",\"type\":\"string\",\"enum\":[\"brand\",\"consumer\",\"core\",\"reference\"]},\"matchTarget\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"hasSelection\":{\"type\":\"boolean\",\"const\":false},\"type\":{\"type\":\"string\",\"const\":\"none",
|
|
75
|
+
"\"}},\"required\":[\"hasSelection\",\"type\"]},{\"type\":\"object\",\"properties\":{\"L\":{\"type\":\"number\"},\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"hasSelection\":{\"type\":\"boolean\",\"const\":true},\"label\":{\"type\":\"string\"},\"previewColors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"type\":{\"type\":\"string\",\"const\":\"oklab\"}},\"required\":[\"L\",\"a\",\"b\",\"hasSelection\",\"label\",\"previewColors\",\"type\"]},{\"type\":\"object\",\"properties\":{\"L\":{\"type\":\"number\"},\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"hasSelection\":{\"type\":\"boolean\",\"const\":true},\"label\":{\"type\":\"string\"},\"previewColors\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"range\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0},{\"type\":\"number\",\"minimum\":0}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":360},{\"type\":\"number\",\"minimum\":0,\"maximum\":360}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\",\"minimum\":0,\"maximum\":1},{\"type\":\"number\",\"minimum\":0,\"maximum\":1}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"]}},\"representative\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"pattern\":\"^#[0-9a-f]{6}$\"}},\"required\":[\"hex\"]},\"type\":{\"type\":\"string\",\"const\":\"range\"}},\"required\":[\"L\",\"a\",\"b\",\"hasSelection\",\"label\",\"previewColors\",\"range\",\"representative\",\"type\"]}]},\"variant\":{\"description\":\"Whether the named paint is a variant in the catalog. Only a color that resolved in a `brand` library is looked up. The lookup is exact (brand paint names and codes), global, and independent of `searchCatalogSubset`, which only sets each variant's `inScope`.\",\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"slug\"],\"description\":\"The variant's brand exactly as stored, suspect or not.\"},\"inScope\":{\"description\":\"Whether this variant is in the requested `searchCatalogSubset`. Null when no `searchCatalogSubset` was passed. The lookup itself is never narrowed by scope.\",\"type\":[\"boolean\",\"null\"]},\"variantId\":{\"type\":\"string\",\"description\":\"The variant id. Opaque; never parse it.\"},\"status\":{\"type\":\"string\",\"const\":\"matched\",\"description\":\"The name is one brand's paint and one variant carries it.\"}},\"required\":[\"brand\",\"inScope\",\"variantId\",\"status\"]},{\"type\":\"object\",\"properties\":{\"candidates\":{\"minItems\":2,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"slug\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"slug\"],\"description\":\"The variant's brand exactly as stored, suspect or not.\"},\"inScope\":{\"description\":\"Whether this variant is in the requested `searchCatalogSubset`. Null when no `searchCatalogSubset` was passed. The lookup itself is never narrowed by scope.\",\"type\":[\"boolean\",\"null\"]},\"variantId\":{\"type\":\"string\",\"description\":\"The variant id. Opaque; never parse it.\"}},\"required\":[\"brand\",\"inScope\",\"variantId\"]},\"description\":\"Every variant that carries the paint, catalog order.\"},\"status\":{\"type\":\"string\",\"const\":\"ambiguous\",\"description\":\"The name is one brand's paint and more than one variant carries it, typically once per product line. Never picked between.\"}},\"required\":[\"candidates\",\"status\"]},{\"type\":\"object\",\"properties\":{\"status\":{\"type\":\"string\",\"const\":\"not-in-catalog\",\"description\":\"The name is one brand's paint and no variant in the catalog carries it. A looked-up absence, distinct from `not-looked-up`.\"}},\"required\":[\"status\"]},{\"type\":\"object\",\"properties\":{\"reason\":{\"type\":\"string\",\"enum\":[\"reference-color\",\"descriptive-color\",\"no-paint-identity\",\"generic-color\",\"several-paints\"],\"description\":\"`reference-color`: the name resolved to a color standard (RAL, Pantone, HKS), which no brand's variant carries. `descriptive-color`: the name resolved to a descriptive color (\\\"sage\\\", \\\"warm terracot",
|
|
76
|
+
"ta\\\"), not a paint. `no-paint-identity`: the name is not exactly any brand's paint name or code, or it is a hex. `generic-color`: the name is a color word brands also use as a paint name; qualify it with a brand. `several-paints`: the name is more than one brand's paint; qualify it with a brand.\"},\"status\":{\"type\":\"string\",\"const\":\"not-looked-up\",\"description\":\"The catalog was not searched; there was no one brand's paint to find.\"}},\"required\":[\"reason\",\"status\"]}]}},\"required\":[\"hex\",\"name\",\"matchTarget\",\"variant\"]},{\"type\":\"null\"}]},\"rangeSamples\":{\"description\":\"The range drawn as a lightness ramp at the resolved color's own hue and chroma, dark to light. Illustrative members of the range, never additional target colors.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"genericResolution\",\"match\"]},\"ResolveVariantResponse\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"material-bank-id\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"outcome\":{\"type\":\"string\",\"const\":\"identified\"},\"subject\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"variant\"},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"required\":[\"evidence\",\"outcome\",\"subject\"]},{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"material-bank-id\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"outcome\":{\"type\":\"string\",\"const\":\"placed\"},\"subject\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"const\":\"brand\"},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"required\":[\"evidence\",\"outcome\",\"subject\"]},{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"material-bank-id\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"candidates\":{\"minItems\":1,\"maxItems\":20,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"code\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1},\"kind\":{\"type\":\"string\",\"enum\":[\"variant\",\"brand\"]},\"name\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"kind\",\"name\"]}},\"outcome\":{\"type\":\"string\",\"const\":\"ambiguous\"},\"truncated",
|
|
77
|
+
"\":{\"type\":\"boolean\"}},\"required\":[\"evidence\",\"candidates\",\"outcome\",\"truncated\"]},{\"type\":\"object\",\"properties\":{\"evidence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"detail\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\",\"enum\":[\"brand-url\",\"brand-homepage\",\"brand-code\",\"material-bank-id\",\"visible-label\"]},\"url\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"detail\",\"kind\"]}},\"receipt\":{\"type\":\"object\",\"properties\":{\"normalizationSteps\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"normalizedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"},\"submittedUrl\":{\"type\":\"string\",\"maxLength\":2048,\"format\":\"uri\"}},\"required\":[\"normalizationSteps\",\"normalizedUrl\",\"submittedUrl\"]},\"outcome\":{\"type\":\"string\",\"const\":\"unresolved\"},\"reason\":{\"type\":\"string\",\"enum\":[\"no-stored-url\",\"no-code-match\",\"no-material-bank-id-match\"]}},\"required\":[\"evidence\",\"outcome\",\"reason\"]}]},\"SchemaValueDictionariesResponse\":{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\",\"const\":\"valueDictionaries\"},\"schemaVersion\":{\"type\":\"string\"},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"authority\":{\"type\":\"object\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\",\"const\":\"taxonomy\"},\"system\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"kind\",\"system\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\",\"const\":\"colorscope\"},\"system\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"kind\",\"system\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\",\"const\":\"materialgraph\"},\"system\":{\"type\":\"string\",\"const\":\"@materialgraph/schema\"}},\"required\":[\"kind\",\"system\"]},{\"type\":\"object\",\"properties\":{\"kind\":{\"type\":\"string\",\"const\":\"external-standard\"},\"system\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"kind\",\"system\"]}]},\"description\":{\"type\":\"string\"},\"id\":{\"type\":\"string\",\"minLength\":1,\"pattern\":\"^[a-z][a-z0-9_]*$\"},\"name\":{\"type\":\"string\"},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\",\"minLength\":1},\"label\":{\"type\":\"string\"},\"aliases\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"broaderTermId\":{\"type\":\"string\",\"minLength\":1},\"definition\":{\"type\":\"string\",\"minLength\":1},\"externalMappings\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"mappingType\":{\"type\":\"string\",\"enum\":[\"direct\",\"transform\",\"derived\",\"classification\",\"semantic\"]},\"matchStrength\":{\"type\":\"string\",\"enum\":[\"exact\",\"close\",\"broad\",\"narrow\",\"related\"]},\"notes\":{\"type\":\"string\"},\"target\":{\"type\":\"string\",\"enum\":[\"schema_org\",\"ifc_pset\",\"bsdd\",\"iso_23387\",\"eclass\",\"gs1_gdm\",\"gdsn\",\"etim\",\"uniclass\"]},\"targetPath\":{\"type\":\"string\"}},\"required\":[\"mappingType\",\"target\",\"targetPath\"]}},\"metadata\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":[\"string\",\"number\",\"boolean\",\"null\"]}},\"lifecycle\":{\"type\":\"object\",\"properties\":{\"deprecatedIn\":{\"type\":\"string\"},\"introducedIn\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"draft\",\"active\",\"deprecated\"]},\"supersededBy\":{\"type\":\"string\"}},\"required\":[\"introducedIn\",\"status\"]},\"semanticId\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"id\",\"label\",\"lifecycle\",\"semanticId\"]}},\"lifecycle\":{\"type\":\"object\",\"properties\":{\"deprecatedIn\":{\"type\":\"string\"},\"introducedIn\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"draft\",\"active\",\"deprecated\"]},\"supersededBy\":{\"type\":\"string\"}},\"required\":[\"introducedIn\",\"status\"]},\"semanticId\":{\"type\":\"string\",\"minLength\":1}},\"required\":[\"authority\",\"description\",\"id\",\"name\",\"terms\",\"lifecycle\",\"semanticId\"]}},\"totalCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"kind\",\"schemaVersion\",\"items\",\"totalCount\"]},\"SearchVariantsResponse\":{\"type\":\"object\",\"properties\":{\"excludedBySearchCatalogSubset\":{\"description\":\"Filtered variant ids outside the materials catalog.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"category\":{\"description\":\"The first original source category, or null when unknown.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"requir",
|
|
78
|
+
"ed\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"description\":\"All original source categories in source order.\"},\"productType\":{\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},{\"type\":\"null\"}]},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null\"]},\"image\":{\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\",\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"]},{\"type\":\"null\"}]},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"]},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent: none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\"]}},\"nameWords\":{\"description\":\"Empty name lookup: each word, and whether a name in scope starts it. Unmatched words were left out unless all or none matched.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"]},\"preferenceMatchesRemain\":{\"description\":\"False: nothing from this page on meets any optionalFilter.\",\"type\":\"boolean\"},\"unavailableVariantIds\":{\"description\":\"Filtered ids in the catalog this list can't show, e.g. retired.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"description\":\"Each word asked for, and whether any variant in scope names it.\",\"type\":",
|
|
79
|
+
"\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"]}},\"choices\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants in search scope that hold this reading.\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"]}},\"basis\":{\"type\":\"string\"},\"handle\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"selected\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants in search scope that hold this reading.\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"]},\"text\":{\"type\":\"string\"}},\"required\":[\"alternatives\",\"basis\",\"handle\",\"reason\",\"selected\",\"text\"]}},\"colors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"pattern\":\"^#[\\\\da-f]{6}$\",\"description\":\"The color's own point in the region; it orders matches.\"},\"intent\":{\"type\":\"string\",\"enum\":[\"required\",\"preferred\"]},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"range\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"]}},\"required\":[\"hex\",\"op\",\"range\"]},\"description\":\"The color regions that ran.\"},\"corrections\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"correction\":{\"type\":\"string\"},\"word\":{\"type\":\"string\"}},\"required\":[\"correction\",\"word\"]}},\"filters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"description\":\"One of values in any of fields (term attributes).\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"fields\",\"op\",\"values\"]}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"}},\"required\":[\"field\",\"op\",\"value\"]}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]}},\"required\":[\"field\",\"op\"]}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"field\",\"op\",\"values\"]}}},\"description\":\"The filters that ran, the scope among them.\"},\"name\":{\"type\":\"string\",\"description\":\"The paint name looked up.\"},\"oneRowPer\":{\"type\":\"string\",\"enum\":[\"product\",\"variant\",\"paint_variant_or_product\"],\"description\":\"A row per product, per variant, or per exact paint variant followed by other products.\"},\"optionalFilters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"fields\",\"op\",\"values\",\"weight\"]}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\"",
|
|
80
|
+
":10}},\"required\":[\"field\",\"op\",\"value\",\"weight\"]}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"field\",\"op\",\"weight\"]}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"field\",\"op\",\"values\",\"weight\"]}}},\"description\":\"The preferences that ran.\"},\"outcome\":{\"type\":\"string\",\"enum\":[\"page\",\"partial_match\",\"no_match\",\"nothing_understood\",\"out_of_scope\",\"brand_not_in_catalog\"],\"description\":\"How the search ended.\"},\"scope\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"description\":\"One of values in any of fields (term attributes).\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"fields\",\"op\",\"values\"]}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"}},\"required\":[\"field\",\"op\",\"value\"]}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]}},\"required\":[\"field\",\"op\"]}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"field\",\"op\",\"values\"]}}},\"description\":\"The fixed scope, repeated in filters.\"},\"suggestions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"leaveOut\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"note\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants the search returns with this change.\"}},\"required\":[\"note\",\"variants\"]},\"description\":\"On an empty page: changes to the next call that return variants, most first.\"},\"understood\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"applied\":{\"type\":\"string\",\"enum\":[\"filter\",\"preference\",\"not_applied\"],\"description\":\"filter narrows; preference only ranks; not_applied did neither.\"},\"id\":{\"type\":\"string\",\"description\":\"The parser's condition id.\"},\"kind\":{\"type\":\"string\",\"enum\":[\"category\",\"brand\",\"term\",\"number\",\"color\",\"paint\",\"name\",\"scope\"]},\"label\":{\"type\":\"string\",\"description\":\"What the words were read as.\"},\"note\":{\"type\":\"string\"},\"text\":{\"type\":\"string\",\"description\":\"The query words it came from.\"}},\"required\":[\"applied\",\"id\",\"kind\",\"label\",\"text\"]}},\"unresolved\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"items\",\"pageInfo\",\"oneRowPer\",\"outcome\",\"understood\"]},\"SourceMaterialBatchReceipt\":{\"type\":\"object\",\"properties\":{\"batchId\":{\"type\":\"string\",\"description\":\"The stored batch id (`smb_…`).\"},\"sources\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"sourceId\":{\"type\":\"string\",\"description\":\"The stored file id (`smf_…`).\"},\"role\":{\"type\":\"string\",\"enum\":[\"brief\",\"reference_image\",\"document\",\"document_image\",\"inspiration_image\",\"unclassified\"],\"description\":\"The pipeline-assigned role. `unclassified` is a legitimate terminal value when the file could not be placed; clients should tolerate new values.\"},\"filename\":{\"type\":\"string\"},\"mediaType\":{\"type\":\"string\"},\"sha256\":{\"type\":\"string\",\"description\":\"Lowercase hex SHA-256 of the stored bytes.\"},\"bytes\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"pages\":{\"description\":\"PDF page count; null for images.\",\"anyOf\":[{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},{\"type\":\"null\"}]}},\"required\":[",
|
|
81
|
+
"\"sourceId\",\"role\",\"filename\",\"mediaType\",\"sha256\",\"bytes\",\"pages\"]}}},\"required\":[\"batchId\",\"sources\"]},\"VariantAssetPage\":{\"type\":\"object\",\"properties\":{\"documentCoverage\":{\"description\":\"Brand document list state. Absent when documents are filtered out.\",\"type\":\"string\",\"enum\":[\"available\",\"none_declared\",\"not_ingested\",\"unavailable_source\",\"dead_link\",\"failed_ingest\"]},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"appliesTo\":{\"description\":\"Only 'product': a product-wide document. Absent: this variant's own.\",\"type\":\"string\",\"const\":\"product\"},\"assetId\":{\"type\":\"string\",\"minLength\":1},\"availability\":{\"type\":\"string\",\"enum\":[\"available\",\"unknown\",\"unavailable\"],\"description\":\"available: MaterialGraph serves url. unknown: brand's link, unchecked.\"},\"byteSize\":{\"description\":\"Not on images; absent when unknown.\",\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"documentTypes\":{\"description\":\"Documents only; absent when unknown.\",\"minItems\":1,\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"technical_data_sheet\",\"product_sheet\",\"technical_bulletin\",\"sustainability_report\",\"specification\",\"installation_guide\",\"care_maintenance_guide\",\"operation_manual\",\"warranty\",\"parts_list\",\"technical_drawing\",\"test_report\",\"certificate\",\"declaration_of_performance\",\"environmental_product_declaration\",\"health_product_declaration\",\"ingredient_disclosure\",\"safety_data_sheet\",\"brochure\",\"catalog\",\"color_finish_chart\",\"other\",\"unknown\"]}},\"height\":{\"description\":\"Images only; absent when unknown.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991},\"imageRole\":{\"description\":\"Images only; absent when unknown.\",\"type\":\"string\",\"enum\":[\"product\",\"swatch\",\"detail\",\"scene\",\"technical\",\"color_chart\",\"sample_collection\",\"other\",\"unknown\"]},\"kind\":{\"type\":\"string\",\"enum\":[\"image\",\"document\",\"cad\",\"bim\",\"model_3d\",\"texture\",\"archive\",\"other\",\"unknown\"]},\"name\":{\"description\":\"Not on images; absent when unknown.\",\"type\":\"string\"},\"presentation\":{\"description\":\"Images only; absent when unknown.\",\"type\":\"string\",\"enum\":[\"edge_to_edge\",\"packshot\",\"cutout_margin\",\"montage\",\"unknown\"]},\"url\":{\"description\":\"Absent when availability is unavailable.\",\"type\":\"string\"},\"width\":{\"description\":\"Images only; absent when unknown.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991}},\"required\":[\"assetId\",\"availability\",\"kind\"]}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"nextCursor\":{\"type\":[\"string\",\"null\"]},\"returnedCount\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991},\"totalMatches\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"nextCursor\",\"returnedCount\",\"totalMatches\"]},\"primaryAssetId\":{\"description\":\"The variant's primary image. Absent when it has none.\",\"type\":\"string\",\"minLength\":1}},\"required\":[\"items\",\"pageInfo\"]},\"WhoamiResponse\":{\"type\":\"object\",\"properties\":{\"principal\":{\"type\":\"string\",\"description\":\"The resolved principal for the credential (e.g. `apikey:read`).\"},\"scopes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"The scopes granted to this credential (e.g. `mg:read`).\"}},\"required\":[\"principal\",\"scopes\"]},\"__schema0\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"null\"},{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/__schema0\"}},{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/__schema0\"}}]}},\"operations\":{\"get_discovery_reference\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"valueKind\":{\"type\":\"string\"},\"dictionaryId\":{\"type\":[\"string\",\"null\"]},\"unit\":{\"type\":[\"string\",\"null\"]},\"isArray\":{\"type\":\"boolean\"},\"filterable\":{\"type\":\"boolean\"}},\"required\":[\"id\",\"name\",\"valueKind\",\"dictionaryId\",\"unit\",\"isArray\",\"filterable\"]}},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"path\":{\"type\":\"string\"},\"ancestorIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"inCatalog\":{\"type\":\"boolean\"}},\"required\":[\"id\",\"name\",\"path\",\"",
|
|
82
|
+
"ancestorIds\",\"inCatalog\"]}},\"productTypes\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\"]}},\"admittedBrandIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"attributes\",\"categories\",\"productTypes\",\"admittedBrandIds\"]},\"interpret_discovery_terms\":{\"type\":\"object\",\"properties\":{\"categories\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"categoryIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"categoryIds\",\"words\"]},{\"type\":\"null\"}]},\"colorWordHexes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"categories\",\"colorWordHexes\"]},\"find_colorless_variants\":{\"type\":\"object\",\"properties\":{\"variantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"variantIds\"]},\"list_variant_siblings\":{\"anyOf\":[{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"availability\":{\"type\":\"string\",\"enum\":[\"available\",\"discontinued\",\"superseded\",\"unknown\"],\"description\":\"Orderability: 'available' (listed in the catalog of record), 'discontinued' (withdrawn from that catalog — not a reviewed manufacturer-discontinuation claim), 'superseded' (a reviewed successor relationship exists and the material is no longer listed), 'unknown' (never checked).\"},\"brand\":{\"type\":\"string\"},\"category\":{\"description\":\"The first original source category name, or null when unknown.\",\"type\":[\"string\",\"null\"]},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All accepted source category ids in original source order; empty when unknown.\"},\"color\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":[\"number\",\"null\"]},\"dominantHex\":{\"type\":[\"string\",\"null\"]},\"hsl\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"h\":{\"type\":\"number\",\"minimum\":0,\"exclusiveMaximum\":360},\"l\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1},\"s\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1}},\"required\":[\"h\",\"l\",\"s\"]},{\"type\":\"null\"}]},\"oklab\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"a\":{\"type\":\"number\"},\"b\":{\"type\":\"number\"},\"l\":{\"type\":\"number\"}},\"required\":[\"a\",\"b\",\"l\"]},{\"type\":\"null\"}]},\"valueSource\":{\"description\":\"Where `dominantHex` — and the `hsl` derived from it — came from: 'declared' is the brand's own published color, 'derived' was read out of product imagery. It does NOT cover `oklab`, `chroma` or `vibrancy`: those are statistics of the IMAGE and stay measured whatever the hex says. Only the record read resolves this; a tile omits the key, and absent means unresolved, never 'declared'.\",\"type\":\"string\",\"enum\":[\"material_bank\",\"brand\",\"measured\",\"manual\"]},\"vibrancy\":{\"type\":[\"number\",\"null\"]}},\"required\":[\"chroma\",\"dominantHex\",\"hsl\",\"oklab\",\"vibrancy\"]},\"colorName\":{\"description\":\"The accepted Color Name attribute — the colorway's true name where variants.name collapsed to the product's; absent means the attribute is absent (MG-940).\",\"type\":\"string\"},\"imageSource\":{\"anyOf\":[{\"type\":\"string\",\"enum\":[\"r2\",\"origin\"]},{\"type\":\"null\"}]},\"imageUrl\":{\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"string\"},\"sampleable\":{\"description\":\"Whether a physical sample is explicitly known to be orderable. Absent means unknown, never unavailable.\",\"type\":\"boolean\"},\"variantId\":{\"type\":\"string\"},\"variantName\":{\"type\":[\"string\",\"null\"]},\"distinction\":{\"description\":\"This sibling's value of `distinguishedBy`, e.g. `3.5 in` or `SA35WUnfinished`.\",\"type\":\"string\",\"minLength\":1},\"distinguishedBy\":{\"description\":\"Which attribute separates this sibling from variants sharing its name and Color Name: `size` (declared size option) or `code` (product code).\",\"type\":\"string\",\"enum\":[\"size\",\"code\"]}},\"required\":[\"availability\",\"brand\",\"category\",\"categories\",\"color\",\"imageSource\",\"imageUrl\",\"product\",\"variantId\",\"variantName\"]}},{\"type\":\"null\"}]},\"find_nearest_paints\":{\"$ref\":\"#/$defs/NearestPaintsOutput\"},\"get_catalog_generation\":{\"type\":\"object\",\"properties\":{\"generation\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991}},\"required\":[\"generation\"]},\"list_catalog_documents\":{\"$ref\":\"#/$defs/C",
|
|
83
|
+
"atalogDocumentList\"},\"list_catalog_pages\":{\"$ref\":\"#/$defs/CatalogPageListResult\"},\"get_catalog_page_representation\":{\"$ref\":\"#/$defs/CatalogPageRepresentationReadResult\"},\"list_catalog_product_references\":{\"$ref\":\"#/$defs/CatalogProductReferenceReadResult\"},\"get_catalog_references_batch\":{\"$ref\":\"#/$defs/CatalogReferenceBatchResponse\"},\"get_catalog_document_access\":{\"$ref\":\"#/$defs/CatalogDocumentAccessResult\"},\"list_material_blocks\":{\"$ref\":\"#/$defs/MaterialBlockProjection\"},\"list_variant_assets\":{\"$ref\":\"#/$defs/VariantAssetPage\"},\"list_material_documents\":{\"$ref\":\"#/$defs/ProductDocumentPage\"},\"list_schema_value_dictionaries\":{\"$ref\":\"#/$defs/SchemaValueDictionariesResponse\"},\"get_material_pairings\":{\"type\":\"object\",\"properties\":{\"seed\":{\"$ref\":\"#/$defs/MaterialTile\"},\"items\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/PairingItem\"}},\"cospecCount\":{\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991,\"description\":\"How many items came from real order evidence (the cospec arm).\"},\"skippedCandidates\":{\"description\":\"Candidates dropped at hydration for violating the material contract; present only when > 0. A malformed row costs itself, never the rail (MG-985).\",\"type\":\"integer\",\"minimum\":-9007199254740991,\"maximum\":9007199254740991},\"ordering\":{\"description\":\"Graph-owned ranking contract; present only when `order` was requested.\",\"$ref\":\"#/$defs/PairingOrdering\"},\"nextCursor\":{\"description\":\"Opaque continuation when another ordered page exists.\",\"type\":\"string\"}},\"required\":[\"seed\",\"items\",\"cospecCount\"]},\"list_associated_finishes\":{\"$ref\":\"#/$defs/DeclaredAssociations\"},\"list_associated_products\":{\"$ref\":\"#/$defs/DeclaredAssociations\"},\"get_applicability\":{\"$ref\":\"#/$defs/ApplicabilityCollection\"},\"list_variants\":{\"$ref\":\"#/$defs/ListVariantsResponse\"},\"list_variant_facets\":{\"$ref\":\"#/$defs/ListVariantFacetsResponse\"},\"search_variants\":{\"$ref\":\"#/$defs/SearchVariantsResponse\"},\"find_variants_by_color\":{\"$ref\":\"#/$defs/FindVariantsByColorResponse\"},\"find_variants_by_vector\":{\"$ref\":\"#/$defs/FindVariantsByVectorResponse\"},\"find_sampled_together\":{\"$ref\":\"#/$defs/FindSampledTogetherResponse\"},\"list_sampled_together_pairs\":{\"$ref\":\"#/$defs/ListSampledTogetherPairsResponse\"},\"resolve_variant\":{\"$ref\":\"#/$defs/ResolveVariantResponse\"},\"get_variant\":{\"$ref\":\"#/$defs/GetVariantResponse\"},\"resolve_color_name\":{\"$ref\":\"#/$defs/ResolveColorResponse\"},\"catalog_list_attributes\":{\"$ref\":\"#/$defs/ListAttributesResponse\"},\"catalog_list_enum_values\":{\"$ref\":\"#/$defs/ListEnumValuesResponse\"},\"list_categories\":{\"$ref\":\"#/$defs/ListCategoriesResponse\"},\"get_category\":{\"$ref\":\"#/$defs/GetCategoryResponse\"},\"whoami\":{\"$ref\":\"#/$defs/WhoamiResponse\"},\"get_category_color_profiles\":{\"$ref\":\"#/$defs/CategoryColorProfilesResponse\"},\"extract_image_palette\":{\"$ref\":\"#/$defs/ExtractPaletteResponse\"},\"list_brands\":{\"$ref\":\"#/$defs/ListBrandsPage\"},\"upload_source_material\":{\"$ref\":\"#/$defs/SourceMaterialBatchReceipt\"}}}",
|
|
84
84
|
].join("");
|
|
@@ -54,6 +54,16 @@ export type SearchVariantsReading = {
|
|
|
54
54
|
id: string;
|
|
55
55
|
kind: string;
|
|
56
56
|
label: string;
|
|
57
|
+
/** Variants in search scope that hold this reading. */
|
|
58
|
+
variants?: number;
|
|
59
|
+
};
|
|
60
|
+
/** On an empty page: a change to the next call that returns variants. */
|
|
61
|
+
export type SearchVariantsSuggestion = {
|
|
62
|
+
/** The `leaveOut` entries to send. */
|
|
63
|
+
leaveOut?: string[];
|
|
64
|
+
note: string;
|
|
65
|
+
/** Variants the search returns with this change. */
|
|
66
|
+
variants: number;
|
|
57
67
|
};
|
|
58
68
|
/** A phrase with more than one meaning: the reading used, and the others a caller may switch to by `handle`. */
|
|
59
69
|
export type SearchVariantsChoice = {
|
|
@@ -88,6 +98,8 @@ export type SearchVariantsOutput = ListVariantsOutput & {
|
|
|
88
98
|
scope?: FilterGroups;
|
|
89
99
|
/** One entry per phrase the parser read, in the parser's order. */
|
|
90
100
|
understood: SearchVariantsUnderstood[];
|
|
101
|
+
/** On an empty page: changes to the next call that return variants, most first. */
|
|
102
|
+
suggestions?: SearchVariantsSuggestion[];
|
|
91
103
|
/** Words nothing in the vocabulary could read. */
|
|
92
104
|
unresolved?: string[];
|
|
93
105
|
};
|
package/webmcp.generated.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const json = [
|
|
2
2
|
"[{\"annotations\":{\"readOnlyHint\":true,\"untrustedContentHint\":true},\"description\":\"Reads `query` into filters, runs them through `list_variants` and answers with what was understood beside a page of variants. `understood` says what each phrase became: a hard `filter`, a ranking `preference`, or `not_applied` when nothing could serve it. `filters`, `optionalFilters` and `name` are exactly what ran, so the three can be sent to `list_variants` to narrow or widen the same search. A phrase with more than one meaning is answered with one and listed in `choices`: send its `handle` with an alternative's `group` and `id` in `selections` to switch it. `unresolved` lists words nothing in the vocabulary could read. A query that applies nothing returns no items, never the whole catalog; a preference alone still ranks it. `cursor` is the previous page's `pageInfo.endCursor`, tied to the vocabulary version the query was read against; it pages this operation only, not `list_variants`. Requires the `mg:read` bearer scope.\",\"inputSchema\":{\"$ref\":\"#/$defs/schema0\",\"$defs\":{\"schema0\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"description\":\"Attribute/block ids to add; id fields always return.\",\"maxItems\":50,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"cursor\":{\"type\":\"string\"},\"leaveOut\":{\"maxItems\":8,\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"limit\":{\"description\":\"5-10 for examples.\",\"type\":\"integer\",\"minimum\":1,\"maximum\":50},\"query\":{\"type\":\"string\",\"minLength\":1,\"maxLength\":200,\"description\":\"What to find, in plain words.\"},\"searchCatalogSubset\":{\"description\":\"Only this corpus scope.\",\"type\":\"string\",\"enum\":[\"all\",\"samplizeOrderable\",\"materialBankOrderable\",\"materialBankNaOrderable\",\"materialBankNaAndCatalog\",\"materialBankEuOrderable\",\"designShopOrderable\"]},\"selections\":{\"description\":\"Switch a choice: handle, alternative group and id.\",\"maxItems\":8,\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"handle\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"}},\"required\":[\"group\",\"handle\",\"id\"],\"additionalProperties\":false}},\"include\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"image\",\"url\"]}}},\"required\":[\"query\"],\"additionalProperties\":false}}},\"method\":\"POST\",\"name\":\"search\",\"operationId\":\"search_variants\",\"outputSchema\":{\"$ref\":\"#/$defs/schema0\",\"$defs\":{\"schema1\":{\"anyOf\":[{\"type\":\"string\"},{\"type\":\"number\"},{\"type\":\"boolean\"},{\"type\":\"null\"},{\"type\":\"array\",\"items\":{\"$ref\":\"#/$defs/schema1\"}},{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/schema1\"}}]},\"schema0\":{\"type\":\"object\",\"properties\":{\"excludedBySearchCatalogSubset\":{\"description\":\"Filtered variant ids outside the materials catalog.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"items\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"category\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false},{\"type\":\"null\"}],\"description\":\"The first original source category, or null when unknown.\"},\"categories\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false},\"description\":\"All original source categories in source order.\"},\"productType\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false},{\"type\":\"null\"}],\"description\":\"The accepted primary specification type, or null for a color sample or unresolved subject.\"},\"sampleSubject\":{\"type\":\"string\",\"enum\":[\"material\",\"paint_color_sample\",\"unknown\",\"conflict\"]},\"colorOptionValueId\":{\"type\":[\"string\",\"null\"]},\"hasDeclaredColor\":{\"type\":\"boolean\",\"description\":\"True for a paint color card, paint line, primer or coating: the card is the brand's declared hex, never a photo.\"},\"code\":{\"description\":\"The brand's item code.\",\"type\":[\"string\",\"null\"]},\"hex\":{\"description\":\"The settled card color hex, or null when unknown. Paint cards show this color and never a photo.\",\"type\":[\"string\",\"null",
|
|
3
|
-
"\"]},\"image\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"],\"additionalProperties\":false},{\"type\":\"null\"}],\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\"},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false,\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"additionalProperties\":false,\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"],\"additionalProperties\":false},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/schema1\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent: none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\"],\"additionalProperties\":false}},\"nameWords\":{\"description\":\"Empty name lookup: each word, and whether a name in scope starts it. Unmatched words were left out unless all or none matched.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"],\"additionalProperties\":false}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"],\"additionalProperties\":false},\"preferenceMatchesRemain\":{\"description\":\"False: nothing from this page on meets any optionalFilter.\",\"type\":\"boolean\"},\"unavailableVariantIds\":{\"description\":\"Filtered ids in the catalog this list can't show, e.g. retired.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"description\":\"Each word asked for, and whether any variant in scope names it.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"],\"additionalProperties\":false}},\"choices\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"],\"additionalProperties\":false}},\"basis\":{\"type\":\"string\"},\"handle\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"selected\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"\"]},\"image\":{\"anyOf\":[{\"type\":\"object\",\"properties\":{\"alt\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\"required\":[\"alt\",\"url\"],\"additionalProperties\":false},{\"type\":\"null\"}],\"description\":\"The settled material card image. Always null for paint color samples and paint/coating product types.\"},\"brand\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false,\"description\":\"The brand. `id` is the slug get_brand takes.\"},\"name\":{\"type\":\"string\",\"description\":\"The unambiguous variant name, including its source label when needed.\"},\"variantLabel\":{\"description\":\"The source variant label, trimmed; null when unknown or for a paint color sample, whose own name identifies its color. Separate from surface finish, color family and derived color names.\",\"type\":[\"string\",\"null\"]},\"product\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"],\"additionalProperties\":false},\"url\":{\"description\":\"The brand's page for it, or null when none is known.\",\"type\":[\"string\",\"null\"]},\"variantId\":{\"type\":\"string\"},\"materialBankId\":{\"description\":\"The variant's Material Bank SKU. Absent: none recorded.\",\"type\":\"string\"},\"notApplicable\":{\"type\":\"object\",\"properties\":{\"attributes\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"blocks\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"additionalProperties\":false,\"description\":\"Requested blocks or attributes this product type does not carry.\"},\"preference\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"array\",\"items\":{\"type\":\"number\"}},\"score\":{\"type\":\"number\"}},\"required\":[\"matched\",\"score\"],\"additionalProperties\":false},\"specifications\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"object\",\"propertyNames\":{\"type\":\"string\"},\"additionalProperties\":{\"$ref\":\"#/$defs/schema1\"}}},\"variantCount\":{\"description\":\"Eligible variants of this product. Absent: none counted.\",\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991}},\"required\":[\"category\",\"categories\",\"productType\",\"sampleSubject\",\"colorOptionValueId\",\"hasDeclaredColor\",\"code\",\"brand\",\"name\",\"variantLabel\",\"product\",\"variantId\"],\"additionalProperties\":false}},\"nameWords\":{\"description\":\"Empty name lookup: each word, and whether a name in scope starts it. Unmatched words were left out unless all or none matched.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"],\"additionalProperties\":false}},\"pageInfo\":{\"type\":\"object\",\"properties\":{\"endCursor\":{\"type\":[\"string\",\"null\"]},\"hasNextPage\":{\"type\":\"boolean\"}},\"required\":[\"endCursor\",\"hasNextPage\"],\"additionalProperties\":false},\"preferenceMatchesRemain\":{\"description\":\"False: nothing from this page on meets any optionalFilter.\",\"type\":\"boolean\"},\"unavailableVariantIds\":{\"description\":\"Filtered ids in the catalog this list can't show, e.g. retired.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unresolvedVariantIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"unstated\":{\"description\":\"Filtered attributes no variant in scope states at all.\",\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"words\":{\"description\":\"Each word asked for, and whether any variant in scope names it.\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"matched\":{\"type\":\"boolean\"},\"word\":{\"type\":\"string\"}},\"required\":[\"matched\",\"word\"],\"additionalProperties\":false}},\"choices\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"alternatives\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"string\"},\"label\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants in search scope that hold this reading.\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"],\"additionalProperties\":false}},\"basis\":{\"type\":\"string\"},\"handle\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"selected\":{\"type\":\"object\",\"properties\":{\"group\":{\"type\":\"string\"},\"id\":{\"type\":\"string\"},\"kind\":{\"type\":\"stri",
|
|
4
|
+
"ng\"},\"label\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"minimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants in search scope that hold this reading.\"}},\"required\":[\"group\",\"id\",\"kind\",\"label\"],\"additionalProperties\":false},\"text\":{\"type\":\"string\"}},\"required\":[\"alternatives\",\"basis\",\"handle\",\"reason\",\"selected\",\"text\"],\"additionalProperties\":false}},\"colors\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"hex\":{\"type\":\"string\",\"pattern\":\"^#[\\\\da-f]{6}$\",\"description\":\"The color's own point in the region; it orders matches.\"},\"intent\":{\"type\":\"string\",\"enum\":[\"required\",\"preferred\"]},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"range\":{\"type\":\"object\",\"properties\":{\"chroma\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},\"hue\":{\"anyOf\":[{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2},{\"type\":\"null\"}]},\"lightness\":{\"type\":\"array\",\"prefixItems\":[{\"type\":\"number\"},{\"type\":\"number\"}],\"items\":false,\"minItems\":2,\"maxItems\":2}},\"required\":[\"chroma\",\"hue\",\"lightness\"],\"additionalProperties\":false}},\"required\":[\"hex\",\"op\",\"range\"],\"additionalProperties\":false},\"description\":\"The color regions that ran.\"},\"corrections\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"correction\":{\"type\":\"string\"},\"word\":{\"type\":\"string\"}},\"required\":[\"correction\",\"word\"],\"additionalProperties\":false}},\"filters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"description\":\"One of values in any of fields (term attributes).\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"fields\",\"op\",\"values\"],\"additionalProperties\":false}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"}},\"required\":[\"field\",\"op\",\"value\"],\"additionalProperties\":false}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]}},\"required\":[\"field\",\"op\"],\"additionalProperties\":false}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"field\",\"op\",\"values\"],\"additionalProperties\":false}}},\"additionalProperties\":false,\"description\":\"The filters that ran, the scope among them.\"},\"name\":{\"type\":\"string\",\"description\":\"The paint name looked up.\"},\"oneRowPer\":{\"type\":\"string\",\"enum\":[\"product\",\"variant\",\"paint_variant_or_product\"],\"description\":\"A row per product, per variant, or per exact paint variant followed by other products.\"},\"optionalFilters\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"fields\",\"op\",\"values\",\"weight\"],\"additionalProperties\":false}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"field\",\"op\",\"value\",\"weight\"],\"additionalProperties\":false}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"field\",\"op\",\"weight\"],\"additionalProperties\":false}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"typ",
|
|
5
|
+
"e\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"weight\":{\"type\":\"integer\",\"minimum\":1,\"maximum\":10}},\"required\":[\"field\",\"op\",\"values\",\"weight\"],\"additionalProperties\":false}}},\"additionalProperties\":false,\"description\":\"The preferences that ran.\"},\"outcome\":{\"type\":\"string\",\"enum\":[\"page\",\"partial_match\",\"no_match\",\"nothing_understood\",\"out_of_scope\",\"brand_not_in_catalog\"],\"description\":\"How the search ended.\"},\"scope\":{\"type\":\"object\",\"properties\":{\"anyField\":{\"description\":\"One of values in any of fields (term attributes).\",\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"fields\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"fields\",\"op\",\"values\"],\"additionalProperties\":false}},\"numbers\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"eq\",\"gt\",\"gte\",\"lt\",\"lte\"]},\"value\":{\"type\":\"number\"}},\"required\":[\"field\",\"op\",\"value\"],\"additionalProperties\":false}},\"presence\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"exists\",\"missing\"]}},\"required\":[\"field\",\"op\"],\"additionalProperties\":false}},\"terms\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"field\":{\"type\":\"string\"},\"op\":{\"type\":\"string\",\"enum\":[\"in\",\"all\",\"not_in\"]},\"orText\":{\"type\":\"string\"},\"unstated\":{\"type\":\"string\",\"const\":\"pass\"},\"values\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"field\",\"op\",\"values\"],\"additionalProperties\":false}}},\"additionalProperties\":false,\"description\":\"The fixed scope, repeated in filters.\"},\"suggestions\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"leaveOut\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"note\":{\"type\":\"string\"},\"variants\":{\"type\":\"integer\",\"exclusiveMinimum\":0,\"maximum\":9007199254740991,\"description\":\"Variants the search returns with this change.\"}},\"required\":[\"note\",\"variants\"],\"additionalProperties\":false},\"description\":\"On an empty page: changes to the next call that return variants, most first.\"},\"understood\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"applied\":{\"type\":\"string\",\"enum\":[\"filter\",\"preference\",\"not_applied\"],\"description\":\"filter narrows; preference only ranks; not_applied did neither.\"},\"id\":{\"type\":\"string\",\"description\":\"The parser's condition id.\"},\"kind\":{\"type\":\"string\",\"enum\":[\"category\",\"brand\",\"term\",\"number\",\"color\",\"paint\",\"name\",\"scope\"]},\"label\":{\"type\":\"string\",\"description\":\"What the words were read as.\"},\"note\":{\"type\":\"string\"},\"text\":{\"type\":\"string\",\"description\":\"The query words it came from.\"}},\"required\":[\"applied\",\"id\",\"kind\",\"label\",\"text\"],\"additionalProperties\":false}},\"unresolved\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"items\",\"pageInfo\",\"oneRowPer\",\"outcome\",\"understood\"],\"additionalProperties\":false}}},\"path\":\"/api/v1/variants/search\",\"requiredHeaders\":[],\"requiresVisibleConfirmation\":false}]",
|
|
6
6
|
].join("");
|
|
7
7
|
export const WEBMCP_TOOLS = JSON.parse(json);
|
package/scheme-bundle-types.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A Scheme Bundle: materials chosen to go together across categories, which a
|
|
3
|
-
* Material Bank member orders in one action. Mirrors `schemeBundleSchema` in
|
|
4
|
-
* `@materialgraph/collections`.
|
|
5
|
-
*/
|
|
6
|
-
/** A Scheme Bundle holds 1 to 16 picks. */
|
|
7
|
-
export declare const SCHEME_BUNDLE_MIN_PICKS = 1;
|
|
8
|
-
export declare const SCHEME_BUNDLE_MAX_PICKS = 16;
|
|
9
|
-
/** The longest a pick's job may be, in characters. */
|
|
10
|
-
export declare const PICK_JOB_MAX_LENGTH = 80;
|
|
11
|
-
/** One pick of a Scheme Bundle. */
|
|
12
|
-
export type SchemeBundlePick = {
|
|
13
|
-
readonly variantId: string;
|
|
14
|
-
/** What the pick is there for, in a designer's words: "the floor", "warm accent against the oak". 1 to 80 characters. */
|
|
15
|
-
readonly job: string;
|
|
16
|
-
};
|
|
17
|
-
/** A Scheme Bundle's picks, in order, each variant once. */
|
|
18
|
-
export type SchemeBundle = {
|
|
19
|
-
readonly picks: readonly SchemeBundlePick[];
|
|
20
|
-
};
|
package/scheme-bundle-types.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A Scheme Bundle: materials chosen to go together across categories, which a
|
|
3
|
-
* Material Bank member orders in one action. Mirrors `schemeBundleSchema` in
|
|
4
|
-
* `@materialgraph/collections`.
|
|
5
|
-
*/
|
|
6
|
-
/** A Scheme Bundle holds 1 to 16 picks. */
|
|
7
|
-
export const SCHEME_BUNDLE_MIN_PICKS = 1;
|
|
8
|
-
export const SCHEME_BUNDLE_MAX_PICKS = 16;
|
|
9
|
-
/** The longest a pick's job may be, in characters. */
|
|
10
|
-
export const PICK_JOB_MAX_LENGTH = 80;
|