@instruments/materialgraph 0.26.0 → 0.27.1
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/association-types.d.ts +18 -7
- package/attribution-types.d.ts +2 -2
- package/brand-types.d.ts +8 -0
- package/brands-client.d.ts +5 -36
- package/brands-client.js +7 -33
- package/by-colour-types.d.ts +40 -13
- package/by-spec-types.d.ts +0 -67
- package/by-spec-types.js +7 -5
- package/catalog-discovery-types.d.ts +1 -16
- package/catalogue-client.d.ts +12 -31
- package/catalogue-client.js +10 -46
- package/catalogue-types.d.ts +40 -0
- package/categories-client.d.ts +63 -0
- package/categories-client.js +48 -0
- package/category-types.d.ts +114 -0
- package/client-config.d.ts +2 -4
- package/client-config.js +2 -4
- package/client-vocabulary.d.ts +2 -4
- package/client-vocabulary.js +11 -9
- package/client.d.ts +103 -203
- package/client.js +128 -251
- package/codes-types.d.ts +21 -0
- package/colours-client.d.ts +4 -9
- package/colours-client.js +0 -8
- package/errors.d.ts +1 -1
- package/errors.js +1 -0
- package/identify-types.d.ts +49 -39
- package/identify-types.js +5 -3
- package/index.d.ts +11 -21
- package/index.js +4 -4
- package/list-variant-facets-types.d.ts +60 -0
- package/list-variants-types.d.ts +149 -0
- package/list-variants-types.js +12 -0
- package/match-stream-types.d.ts +13 -0
- package/match-stream-types.js +2 -0
- package/match-stream.js +12 -8
- package/match-types.d.ts +24 -0
- package/material-asset-types.d.ts +69 -49
- package/material-block-types.d.ts +2 -0
- package/material-composition-client.d.ts +21 -0
- package/material-composition-client.js +13 -0
- package/material-composition-types.d.ts +403 -0
- package/material-query-plan-types.d.ts +57 -141
- package/material-resources-client.d.ts +9 -7
- package/material-resources-client.js +19 -4
- package/material-types.d.ts +6 -14
- package/operations.d.ts +1 -1
- package/operations.js +20 -117
- package/package.json +5 -1
- package/palette-search-types.d.ts +59 -24
- package/query-understanding-types.d.ts +27 -5
- package/resolve-client.d.ts +6 -10
- package/resolve-client.js +5 -7
- package/response-schemas.d.ts +20 -0
- package/response-schemas.generated.d.ts +5 -0
- package/response-schemas.generated.js +160 -0
- package/response-schemas.js +113 -0
- package/run-types.d.ts +12 -93
- package/runs.d.ts +1 -37
- package/runs.js +2 -79
- package/schema-resource-types.d.ts +14 -1
- package/search-card-types.d.ts +22 -0
- package/search-index-plan-types.d.ts +70 -0
- package/search-refinement-types.d.ts +8 -38
- package/search-refinement-types.js +1 -0
- package/search-request-types.d.ts +117 -200
- package/search-response-receipt-types.d.ts +12 -268
- package/search-result-validation.d.ts +0 -16
- package/search-result-validation.js +22 -180
- package/spec-facet-types.d.ts +3 -8
- package/spec-types.d.ts +17 -10
- package/spec-types.js +8 -7
- package/specifications.d.ts +13 -55
- package/specifications.js +29 -73
- package/suggest-types.d.ts +4 -10
- package/suggest-types.js +1 -1
- package/types.d.ts +135 -338
- package/webmcp.d.ts +1 -1
- package/webmcp.generated.js +10 -94
- package/brand-most-sampled-types.d.ts +0 -33
- package/browse-types.d.ts +0 -236
- package/client-browse.d.ts +0 -78
- package/client-browse.js +0 -71
- package/client-exploration.d.ts +0 -9
- package/client-exploration.js +0 -5
- package/compare-types.d.ts +0 -89
- package/composition-client.d.ts +0 -33
- package/composition-client.js +0 -28
- package/composition-types.d.ts +0 -455
- package/composition-types.js +0 -10
- package/correction-types.d.ts +0 -88
- package/exploration-types.d.ts +0 -118
- package/exploration-types.js +0 -1
- package/fan-deck-types.d.ts +0 -42
- package/fan-deck-types.js +0 -9
- package/match-rejection-types.d.ts +0 -43
- package/match-rejection-types.js +0 -7
- package/palette-completion-types.d.ts +0 -115
- package/palette-completion-types.js +0 -1
- package/render-assets-types.d.ts +0 -65
- package/render-assets-types.js +0 -1
- package/search-collapse-types.d.ts +0 -69
- package/search-collapse-types.js +0 -1
- package/search-mood-types.d.ts +0 -6
- package/search-mood-types.js +0 -1
- package/search-window-types.d.ts +0 -25
- package/search-window-types.js +0 -1
- package/slot-pool-types.d.ts +0 -372
- package/slot-pool-types.js +0 -1
- /package/{brand-most-sampled-types.js → category-types.js} +0 -0
- /package/{browse-types.js → list-variant-facets-types.js} +0 -0
- /package/{compare-types.js → material-composition-types.js} +0 -0
- /package/{correction-types.js → search-index-plan-types.js} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ColourCategoryGate } from "./by-colour-types.js";
|
|
1
2
|
import type { CorpusScope, CorpusScopeReceipt } from "./corpus-scope-types.js";
|
|
2
3
|
/**
|
|
3
4
|
* Wire types for MULTI-COLOUR search — `POST /api/v1/search/palettes` and
|
|
@@ -21,12 +22,12 @@ export type PaletteQueryColour = {
|
|
|
21
22
|
hex?: string;
|
|
22
23
|
oklab?: OklabTriple;
|
|
23
24
|
/**
|
|
24
|
-
* Share of the surface this colour should occupy, in (0,1].
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* Share of the surface this colour should occupy, in (0,1]. A colour stated
|
|
26
|
+
* below 5% is dropped; otherwise not applied, since a palette is ordered by
|
|
27
|
+
* its first colour alone.
|
|
27
28
|
*/
|
|
28
29
|
proportion?: number;
|
|
29
|
-
/** Relative importance
|
|
30
|
+
/** Relative importance. Not applied: a palette is ordered by its first colour. */
|
|
30
31
|
weight?: number;
|
|
31
32
|
};
|
|
32
33
|
/** One gradient stop — exactly one of `hex` or `oklab`. Order is meaningful. */
|
|
@@ -35,19 +36,34 @@ export type GradientStop = {
|
|
|
35
36
|
oklab?: OklabTriple;
|
|
36
37
|
};
|
|
37
38
|
export type SearchPaletteInput = {
|
|
39
|
+
/**
|
|
40
|
+
* HARD category filter: category-group or product-type names or keys.
|
|
41
|
+
* Absent, the page holds surface materials only, so lights, taps and
|
|
42
|
+
* furniture are left out.
|
|
43
|
+
*/
|
|
44
|
+
category?: string[];
|
|
38
45
|
corpusScope?: CorpusScope;
|
|
39
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* The palette to match, 1–8 colours. The page is ordered by the FIRST colour;
|
|
48
|
+
* the rest come back in `query.droppedColours`.
|
|
49
|
+
*/
|
|
40
50
|
colours: PaletteQueryColour[];
|
|
41
51
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
52
|
+
* Kept so existing callers still parse: the one search orders the page by
|
|
53
|
+
* the first colour with no eligibility floor, so `all` and `any` return the
|
|
54
|
+
* same page.
|
|
45
55
|
*/
|
|
46
56
|
logic?: PaletteLogic;
|
|
47
57
|
/** Results to return; defaults to 24, capped at 48. */
|
|
48
58
|
limit?: number;
|
|
49
59
|
};
|
|
50
60
|
export type SearchGradientInput = {
|
|
61
|
+
/**
|
|
62
|
+
* HARD category filter: category-group or product-type names or keys.
|
|
63
|
+
* Absent, the page holds surface materials only, so lights, taps and
|
|
64
|
+
* furniture are left out.
|
|
65
|
+
*/
|
|
66
|
+
category?: string[];
|
|
51
67
|
corpusScope?: CorpusScope;
|
|
52
68
|
/** The ordered colour transition, 2–6 stops. */
|
|
53
69
|
stops: GradientStop[];
|
|
@@ -67,14 +83,23 @@ export type CandidateSwatch = {
|
|
|
67
83
|
/** Why a queried colour (or gradient sample) scored what it scored. */
|
|
68
84
|
export type ColourMatchReceipt = {
|
|
69
85
|
queryHex: string;
|
|
70
|
-
/** `colourScore × proportionScore`
|
|
86
|
+
/** `colourScore × proportionScore`, so `colourScore` on the one search. */
|
|
71
87
|
score: number;
|
|
72
|
-
/**
|
|
88
|
+
/**
|
|
89
|
+
* Closeness in [0,1] of the matched swatch to the queried colour, from plain
|
|
90
|
+
* OKLab distance with lightness counted in full. Not a confidence.
|
|
91
|
+
*/
|
|
73
92
|
colourScore: number;
|
|
74
|
-
/** Proportion agreement
|
|
93
|
+
/** Proportion agreement; always 1, since no proportion is applied. */
|
|
75
94
|
proportionScore: number;
|
|
76
95
|
/** The swatch that produced the score, or null when nothing matched. */
|
|
77
96
|
matched: CandidateSwatch | null;
|
|
97
|
+
/**
|
|
98
|
+
* Whether `matched` has a hue compatible with the queried colour, at the
|
|
99
|
+
* response's `hueGate` thresholds. A flag, never a gate: an incompatible
|
|
100
|
+
* swatch still scores and ranks. Absent when there is no `matched` swatch.
|
|
101
|
+
*/
|
|
102
|
+
hueCompatible?: boolean;
|
|
78
103
|
};
|
|
79
104
|
/** Identity and evidence shared by both multi-colour match shapes. */
|
|
80
105
|
export type MultiColourMatchBase = {
|
|
@@ -87,6 +112,11 @@ export type MultiColourMatchBase = {
|
|
|
87
112
|
color: string | null;
|
|
88
113
|
variantName: string | null;
|
|
89
114
|
imageUrl: string | null;
|
|
115
|
+
/**
|
|
116
|
+
* SHA-256 of the displayed image `imageUrl` points at, as a hex digest.
|
|
117
|
+
* ABSENT means no hash is on record, never that there is no image.
|
|
118
|
+
*/
|
|
119
|
+
imageSha256?: string;
|
|
90
120
|
/** MB has retired or hidden this SKU. */
|
|
91
121
|
retired: boolean;
|
|
92
122
|
/**
|
|
@@ -103,7 +133,10 @@ export type MultiColourMatchBase = {
|
|
|
103
133
|
category: string | null;
|
|
104
134
|
/** The candidate's full extracted palette — the evidence scored against. */
|
|
105
135
|
palette: CandidateSwatch[];
|
|
106
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* Closeness in [0,1] of the material's own colour to the searched colour,
|
|
138
|
+
* the page's order. Not a confidence or a percentage.
|
|
139
|
+
*/
|
|
107
140
|
score: number;
|
|
108
141
|
};
|
|
109
142
|
export type PaletteMatch = {
|
|
@@ -112,22 +145,18 @@ export type PaletteMatch = {
|
|
|
112
145
|
} & MultiColourMatchBase;
|
|
113
146
|
export type GradientMatch = {
|
|
114
147
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* gradient match from a good match on a single stop.
|
|
148
|
+
* Thirds of the path where the material holds a swatch near a sampled point,
|
|
149
|
+
* over 3. A receipt beside the order, which is by the first stop.
|
|
118
150
|
*/
|
|
119
151
|
coverage: number;
|
|
120
152
|
/** One receipt per sampled point along the path, in path order. */
|
|
121
153
|
samples: ColourMatchReceipt[];
|
|
122
154
|
} & MultiColourMatchBase;
|
|
123
155
|
/**
|
|
124
|
-
* The
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* decides which swatches count, never their order. Server-side and fixed (no
|
|
129
|
-
* request knob); the receipt exists so a threshold change is visible on the
|
|
130
|
-
* wire.
|
|
156
|
+
* The thresholds behind every receipt's `hueCompatible`: the exact values
|
|
157
|
+
* passed to colorscope's `isHueCompatible`, fixed server-side with no request
|
|
158
|
+
* knob. A FLAG, never admission or ranking: every swatch still scores, and the
|
|
159
|
+
* page and its order are the same with or without it.
|
|
131
160
|
*/
|
|
132
161
|
export type HueGateReceipt = {
|
|
133
162
|
/** Below this query chroma the colour is achromatic and any hue is admitted. */
|
|
@@ -162,20 +191,26 @@ export type SearchPaletteResponse = {
|
|
|
162
191
|
/** `no_effective_colours` means no material query ran. */
|
|
163
192
|
outcome: OpenEnum<"matches" | "no_effective_colours">;
|
|
164
193
|
};
|
|
165
|
-
/** The
|
|
166
|
-
|
|
194
|
+
/** The category gate the page ran under. */
|
|
195
|
+
categoryGate?: ColourCategoryGate;
|
|
196
|
+
/** The thresholds behind each receipt's `hueCompatible`. Absent only on responses stored before it existed. */
|
|
197
|
+
hueGate?: HueGateReceipt;
|
|
167
198
|
/** `matches.length`, capped by `limit`. Never a corpus total. */
|
|
168
199
|
count: number;
|
|
169
200
|
matches: PaletteMatch[];
|
|
170
201
|
};
|
|
171
202
|
/** A PAGE, NOT A CORPUS — see {@link SearchPaletteResponse}. */
|
|
172
203
|
export type SearchGradientResponse = {
|
|
204
|
+
/** The category gate the page ran under. */
|
|
205
|
+
categoryGate?: ColourCategoryGate;
|
|
173
206
|
corpusScope?: CorpusScopeReceipt;
|
|
174
207
|
query: {
|
|
175
208
|
stops: string[];
|
|
176
209
|
/** The sampled path points the search actually ran against. */
|
|
177
210
|
samples: string[];
|
|
178
211
|
};
|
|
212
|
+
/** The thresholds behind each sample receipt's `hueCompatible`. */
|
|
213
|
+
hueGate?: HueGateReceipt;
|
|
179
214
|
/** `matches.length`, capped by `limit`. Never a corpus total. */
|
|
180
215
|
count: number;
|
|
181
216
|
matches: GradientMatch[];
|
|
@@ -183,14 +183,14 @@ export type QueryAmbiguityReceipt = {
|
|
|
183
183
|
productTypeIds: string[];
|
|
184
184
|
changedArm: boolean;
|
|
185
185
|
};
|
|
186
|
-
export
|
|
186
|
+
export type QueryCategoryScopeReceipt = {
|
|
187
187
|
source: OpenEnum<"caller" | "anchor">;
|
|
188
188
|
mechanism: OpenEnum<"sql-predicate" | "provider-filter" | "allowlist" | "prune">;
|
|
189
189
|
variantCount: number | null;
|
|
190
190
|
ceiling: number;
|
|
191
191
|
specScanBounded?: boolean;
|
|
192
192
|
[key: string]: unknown;
|
|
193
|
-
}
|
|
193
|
+
};
|
|
194
194
|
export type QuerySpecAllowlistReceipt = {
|
|
195
195
|
limit: number;
|
|
196
196
|
returned: number;
|
|
@@ -199,6 +199,27 @@ export type QuerySpecAllowlistReceipt = {
|
|
|
199
199
|
emptyMeansScarcity: boolean;
|
|
200
200
|
outcome?: OpenEnum<"corpus-scarcity" | "retrieval-miss" | "unknown">;
|
|
201
201
|
};
|
|
202
|
+
/**
|
|
203
|
+
* Whether the phrase-reading step turned the query's descriptive words into
|
|
204
|
+
* filters and preferences. Present only on the workflow lane.
|
|
205
|
+
*/
|
|
206
|
+
export type QueryPhraseReadingReceipt = {
|
|
207
|
+
outcome: OpenEnum<"skipped">;
|
|
208
|
+
reason: string;
|
|
209
|
+
} | {
|
|
210
|
+
outcome: OpenEnum<"read">;
|
|
211
|
+
/** Which model read the phrase: `jev`, or `second` behind it. */
|
|
212
|
+
reader: OpenEnum<"jev" | "second">;
|
|
213
|
+
elapsedMs: number;
|
|
214
|
+
leftAsText: string[];
|
|
215
|
+
rows: {
|
|
216
|
+
kind: OpenEnum<"want" | "avoid">;
|
|
217
|
+
attributeId: string;
|
|
218
|
+
values: string[];
|
|
219
|
+
confidence: number;
|
|
220
|
+
applied: boolean;
|
|
221
|
+
}[];
|
|
222
|
+
};
|
|
202
223
|
export type QueryUnsatisfiableNarrowing = {
|
|
203
224
|
narrowing: OpenEnum<"product-type">;
|
|
204
225
|
gate: OpenEnum<"hard">;
|
|
@@ -213,13 +234,13 @@ export type QueryUnsatisfiableNarrowing = {
|
|
|
213
234
|
relaxedTo: OpenEnum<"head-noun" | "none">;
|
|
214
235
|
};
|
|
215
236
|
/** Inspectable interpretation of the raw query by ordinary MaterialGraph search. */
|
|
216
|
-
export
|
|
237
|
+
export type QueryUnderstanding = {
|
|
217
238
|
version: OpenEnum<"1">;
|
|
218
239
|
rawQuery: string;
|
|
219
240
|
normalisedQuery: string;
|
|
220
241
|
residualText: string;
|
|
221
242
|
status: OpenEnum<"resolved" | "ambiguous" | "partial" | "unresolved">;
|
|
222
|
-
mode: OpenEnum<"image" | "colour" | "text" | "lexical" | "entity-browse">;
|
|
243
|
+
mode: OpenEnum<"image" | "colour" | "text" | "lexical" | "entity-browse" | "attribute">;
|
|
223
244
|
senses: QuerySense[];
|
|
224
245
|
canonicalLexical?: CanonicalLexicalReceipt;
|
|
225
246
|
criteria?: QueryCriteriaReceipt;
|
|
@@ -229,4 +250,5 @@ export interface QueryUnderstanding {
|
|
|
229
250
|
categoryScope?: QueryCategoryScopeReceipt;
|
|
230
251
|
specAllowlist?: QuerySpecAllowlistReceipt;
|
|
231
252
|
unsatisfiableNarrowing?: QueryUnsatisfiableNarrowing;
|
|
232
|
-
|
|
253
|
+
phraseReading?: QueryPhraseReadingReceipt;
|
|
254
|
+
};
|
package/resolve-client.d.ts
CHANGED
|
@@ -17,9 +17,7 @@
|
|
|
17
17
|
* silently the moment the registry moves.
|
|
18
18
|
* - The whole phrase, any vocabulary → {@link resolvePhrasesRequest}. Batched,
|
|
19
19
|
* deterministic, and it says so out loud when a word means nothing here.
|
|
20
|
-
* - You already know it is an attribute
|
|
21
|
-
* `mg.resolveAttribute()` / `mg.resolveAttributeValue()`.
|
|
22
|
-
* - You want to EXPLAIN a token you already hold → `mg.glossary(term)`.
|
|
20
|
+
* - You already know it is an attribute → `mg.listAttributes({ query })`.
|
|
23
21
|
* - You want to complete a name as someone types → `mg.suggest()`.
|
|
24
22
|
* - You want MATERIALS → `mg.search()`. This lens never returns one.
|
|
25
23
|
*/
|
|
@@ -56,9 +54,8 @@ import type { VocabularySearchOptions, VocabularySearchResponse } from "./types.
|
|
|
56
54
|
* could have caught comes back unresolved rather than slow.
|
|
57
55
|
*
|
|
58
56
|
* Deterministic — the same batch resolves to the same bytes every time. Instead
|
|
59
|
-
* use `mg.search()` when you want materials rather than words,
|
|
60
|
-
*
|
|
61
|
-
* have already resolved.
|
|
57
|
+
* use `mg.search()` when you want materials rather than words, and
|
|
58
|
+
* `mg.suggest()` to complete a name as someone types.
|
|
62
59
|
*
|
|
63
60
|
* - **Every reading says what stands behind it.** `coverage.variants` is how
|
|
64
61
|
* many variants carry it corpus-wide, and `0` is a measured answer rather
|
|
@@ -82,9 +79,8 @@ export declare const resolvePhrasesRequest: (transport: HttpTransport, phrases:
|
|
|
82
79
|
* here?" The catch-all for ONE phrase when you do not know which half of an
|
|
83
80
|
* `attribute:value` pair it belongs to. Backs `mg.searchVocabulary()`.
|
|
84
81
|
*
|
|
85
|
-
* Instead use `mg.
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* `mg.glossary()` to EXPLAIN a term rather than find it.
|
|
82
|
+
* Instead use `mg.listAttributes({ query })` once you do know the attribute,
|
|
83
|
+
* or {@link resolvePhrasesRequest} when you have SEVERAL phrases or the phrase
|
|
84
|
+
* might name a brand, paint, colour or category rather than a spec.
|
|
89
85
|
*/
|
|
90
86
|
export declare const searchVocabularyRequest: (transport: HttpTransport, query: string, options?: VocabularySearchOptions, signal?: AbortSignal) => Promise<VocabularySearchResponse>;
|
package/resolve-client.js
CHANGED
|
@@ -29,9 +29,8 @@ import { resolveOperation } from "./operations.js";
|
|
|
29
29
|
* could have caught comes back unresolved rather than slow.
|
|
30
30
|
*
|
|
31
31
|
* Deterministic — the same batch resolves to the same bytes every time. Instead
|
|
32
|
-
* use `mg.search()` when you want materials rather than words,
|
|
33
|
-
*
|
|
34
|
-
* have already resolved.
|
|
32
|
+
* use `mg.search()` when you want materials rather than words, and
|
|
33
|
+
* `mg.suggest()` to complete a name as someone types.
|
|
35
34
|
*
|
|
36
35
|
* - **Every reading says what stands behind it.** `coverage.variants` is how
|
|
37
36
|
* many variants carry it corpus-wide, and `0` is a measured answer rather
|
|
@@ -68,9 +67,8 @@ export const resolvePhrasesRequest = async (transport, phrases, scope) => {
|
|
|
68
67
|
* here?" The catch-all for ONE phrase when you do not know which half of an
|
|
69
68
|
* `attribute:value` pair it belongs to. Backs `mg.searchVocabulary()`.
|
|
70
69
|
*
|
|
71
|
-
* Instead use `mg.
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* `mg.glossary()` to EXPLAIN a term rather than find it.
|
|
70
|
+
* Instead use `mg.listAttributes({ query })` once you do know the attribute,
|
|
71
|
+
* or {@link resolvePhrasesRequest} when you have SEVERAL phrases or the phrase
|
|
72
|
+
* might name a brand, paint, colour or category rather than a spec.
|
|
75
73
|
*/
|
|
76
74
|
export const searchVocabularyRequest = async (transport, query, options, signal) => await transport.requestJson(resolveOperation("catalog_vocabulary_search"), { query: { kind: options?.kind, limit: options?.limit, q: query }, signal });
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { RESPONSE_SCHEMA_OPERATION_IDS } from "./response-schemas.generated.js";
|
|
2
|
+
export { RESPONSE_SCHEMA_API_VERSION, RESPONSE_SCHEMA_OPERATION_IDS, } from "./response-schemas.generated.js";
|
|
3
|
+
/** Every operation {@link responseSchema} answers for. */
|
|
4
|
+
export type ResponseSchemaOperationId = (typeof RESPONSE_SCHEMA_OPERATION_IDS)[number];
|
|
5
|
+
/** A JSON Schema document or subschema, as plain JSON. */
|
|
6
|
+
export type JsonSchema = {
|
|
7
|
+
[keyword: string]: unknown;
|
|
8
|
+
};
|
|
9
|
+
/** A self-contained schema: every `$ref` resolves inside its own `$defs`. */
|
|
10
|
+
export type ResponseJsonSchema = JsonSchema & {
|
|
11
|
+
$schema: typeof JSON_SCHEMA_DIALECT;
|
|
12
|
+
$defs?: Record<string, JsonSchema>;
|
|
13
|
+
};
|
|
14
|
+
declare const JSON_SCHEMA_DIALECT = "https://json-schema.org/draft/2020-12/schema";
|
|
15
|
+
/**
|
|
16
|
+
* The success-response schema for one operation, self-contained and carrying
|
|
17
|
+
* only the definitions it reaches. Each call returns a fresh copy, so a caller
|
|
18
|
+
* that annotates or mutates it cannot change what the next caller gets.
|
|
19
|
+
*/
|
|
20
|
+
export declare const responseSchema: (operationId: ResponseSchemaOperationId) => ResponseJsonSchema;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** The API contract version the schemas were generated from. */
|
|
2
|
+
export declare const RESPONSE_SCHEMA_API_VERSION = "0.7.0";
|
|
3
|
+
/** Every SDK operation whose success response has a published JSON Schema. */
|
|
4
|
+
export declare const RESPONSE_SCHEMA_OPERATION_IDS: readonly ["samplize_colorvec_cache", "samplize_catalogue_search", "list_catalog_documents", "list_catalog_pages", "get_catalog_page_representation", "list_catalog_product_references", "search_materials_post", "retrieval.identify", "match_material", "search_suggest", "get_colour_stats", "coordinate_materials", "plan_material_query", "samplize_catalogue_products", "search_materials_get", "search_by_colour", "get_material", "get_catalogue_references_batch", "list_catalogue_channel_collections", "get_catalogue_document_access", "list_material_blocks", "list_variant_assets", "list_material_documents", "get_composition_report", "list_schema_blocks", "list_schema_attributes", "list_schema_verticals", "list_schema_product_types", "list_schema_units", "list_schema_value_dictionaries", "list_schema_source_requirements", "list_schema_product_type_templates", "list_schema_mappings", "get_material_pairings", "list_associated_finishes", "list_associated_products", "get_applicability", "list_variants", "list_variant_facets", "get_category_colour_profiles", "resolve_colour_name", "suggest_colour_names", "catalog_list_attributes", "catalog_vocabulary_search", "resolve_phrases", "list_categories", "get_category", "get_product_type_status_coverage", "whoami", "get_material_demand", "search_by_palette", "extract_image_palette", "search_by_gradient", "list_spec_facets", "list_brands", "upload_source_material", "get_source_material_batch", "list_source_material_comments", "post_source_material_comment", "create_public_run", "get_public_run", "get_verdict_citation", "get_demand_batch", "resolveCodeAdvisory", "list_code_context", "list_code_requirements"];
|
|
5
|
+
export declare const RESPONSE_SCHEMA_CATALOGUE_JSON: string;
|