@instruments/materialgraph 0.17.0 → 0.19.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/association-types.d.ts +90 -4
- package/associations-client.d.ts +3 -1
- package/associations-client.js +4 -0
- package/browse-types.d.ts +14 -3
- package/by-colour-types.d.ts +24 -6
- package/by-spec-types.d.ts +4 -0
- package/catalogue-client.d.ts +14 -2
- package/catalogue-client.js +23 -0
- package/catalogue-types.d.ts +278 -4
- package/citation-types.d.ts +34 -0
- package/citation-types.js +1 -0
- package/client-browse.d.ts +1 -0
- package/client-browse.js +1 -0
- package/client-vocabulary.d.ts +10 -0
- package/client-vocabulary.js +32 -0
- package/client.d.ts +28 -62
- package/client.js +51 -75
- package/composition-types.d.ts +6 -0
- package/corpus-scope-types.d.ts +6 -4
- package/errors.d.ts +1 -1
- package/errors.js +2 -0
- package/index.d.ts +6 -0
- package/json-value-types.d.ts +8 -0
- package/json-value-types.js +1 -0
- package/match-types.d.ts +3 -0
- package/material-asset-types.d.ts +71 -0
- package/material-resources-client.d.ts +18 -0
- package/material-resources-client.js +29 -0
- package/material-types.d.ts +59 -0
- package/operations.d.ts +1 -1
- package/operations.js +62 -0
- package/package.json +1 -1
- package/palette-search-types.d.ts +16 -2
- package/query-understanding-types.d.ts +5 -2
- package/render-assets-types.d.ts +65 -0
- package/render-assets-types.js +1 -0
- package/run-events.d.ts +13 -0
- package/samplize-catalogue-types.d.ts +92 -0
- package/samplize-catalogue-types.js +1 -0
- package/schedule-reference-types.d.ts +46 -0
- package/schedule-reference-types.js +1 -0
- package/schedule-references-client.d.ts +14 -0
- package/schedule-references-client.js +26 -0
- package/schedule-types.d.ts +34 -0
- package/search-collapse-types.d.ts +1 -1
- package/search-mood-types.d.ts +6 -0
- package/search-mood-types.js +1 -0
- package/search-refinement-types.d.ts +5 -0
- package/search-request-types.d.ts +29 -11
- package/search-response-receipt-types.d.ts +59 -3
- package/search-result-validation.js +14 -1
- package/search-window-types.d.ts +13 -5
- package/slot-pool-types.d.ts +2 -0
- package/spec-types.d.ts +6 -1
- package/specifications.d.ts +3 -1
- package/specifications.js +4 -0
- package/substitute-types.d.ts +75 -0
- package/substitute-types.js +1 -0
- package/suggest-types.d.ts +6 -0
- package/suggest-types.js +1 -1
- package/taxonomy-coverage-types.d.ts +34 -0
- package/taxonomy-coverage-types.js +1 -0
- package/types.d.ts +20 -21
package/association-types.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* Present them as separate sections, and never describe a pairing as available.
|
|
12
12
|
*/
|
|
13
13
|
import type { Cursor, VariantId } from "./identifiers.js";
|
|
14
|
+
import type { ProductTypeReceipt } from "./material-types.js";
|
|
14
15
|
/**
|
|
15
16
|
* Why an association is believed.
|
|
16
17
|
*
|
|
@@ -42,8 +43,16 @@ export interface DeclaredAssociation {
|
|
|
42
43
|
brand: string;
|
|
43
44
|
product: string;
|
|
44
45
|
variantName: string | null;
|
|
46
|
+
/** The role played by this endpoint of the declared edge. */
|
|
47
|
+
role: "finish" | "product";
|
|
48
|
+
/** The directed relationship asserted by the manufacturer. */
|
|
49
|
+
relation: "applicable_finish";
|
|
50
|
+
/** Accepted sampleability when known; absent means unknown. */
|
|
51
|
+
sampleable?: boolean;
|
|
45
52
|
/** Canonical thumbnail; null when the variant has no eligible image. */
|
|
46
53
|
imageUrl: string | null;
|
|
54
|
+
/** Review receipt; proposed types are never accepted categories. */
|
|
55
|
+
productTypeReceipt: ProductTypeReceipt;
|
|
47
56
|
declared: DeclaredProvenance;
|
|
48
57
|
}
|
|
49
58
|
/**
|
|
@@ -77,12 +86,13 @@ export interface AssociatedOptions {
|
|
|
77
86
|
*/
|
|
78
87
|
limit?: number;
|
|
79
88
|
/**
|
|
80
|
-
*
|
|
81
|
-
* variant carrying a Material Bank SKU
|
|
82
|
-
*
|
|
83
|
-
* nothing; it tracks orderability rather than a snapshot of it.
|
|
89
|
+
* Source identity scope. `material_bank` returns associations pointing at a
|
|
90
|
+
* variant carrying a Material Bank SKU. A SKU alone does not establish current
|
|
91
|
+
* sampleability; use `sampleableOnly` for an accepted availability fact.
|
|
84
92
|
*/
|
|
85
93
|
corpus?: "all" | "material_bank";
|
|
94
|
+
/** Return only associations whose effective sampleability is true. */
|
|
95
|
+
sampleableOnly?: boolean;
|
|
86
96
|
/**
|
|
87
97
|
* The previous response's `nextCursor`, passed back verbatim. A cursor is
|
|
88
98
|
* bound to its subject, direction and corpus — replaying it against a
|
|
@@ -90,3 +100,79 @@ export interface AssociatedOptions {
|
|
|
90
100
|
*/
|
|
91
101
|
cursor?: Cursor;
|
|
92
102
|
}
|
|
103
|
+
export type ApplicabilitySubject = {
|
|
104
|
+
kind: "product";
|
|
105
|
+
id: string;
|
|
106
|
+
} | {
|
|
107
|
+
kind: "variant";
|
|
108
|
+
id: VariantId;
|
|
109
|
+
};
|
|
110
|
+
export type ApplicabilityCoverageState = "available" | "partial" | "none_declared" | "not_ingested" | "source_not_applicable" | "unavailable";
|
|
111
|
+
export interface ApplicabilityCoverage {
|
|
112
|
+
state: ApplicabilityCoverageState;
|
|
113
|
+
countKind: "exact" | "partial";
|
|
114
|
+
declaredCount: number | null;
|
|
115
|
+
sourceAuthority: string;
|
|
116
|
+
sourceLocator: string;
|
|
117
|
+
sourceRevision: string;
|
|
118
|
+
}
|
|
119
|
+
export interface ApplicabilityFact {
|
|
120
|
+
id: string;
|
|
121
|
+
subject: ApplicabilitySubject;
|
|
122
|
+
finish: {
|
|
123
|
+
kind: "variant";
|
|
124
|
+
id: VariantId;
|
|
125
|
+
};
|
|
126
|
+
relation: "applicable_finish";
|
|
127
|
+
evidenceScope: "manufacturer_declared";
|
|
128
|
+
declaringBrandId: string;
|
|
129
|
+
source: {
|
|
130
|
+
authority: string;
|
|
131
|
+
locator: string;
|
|
132
|
+
revision: string;
|
|
133
|
+
};
|
|
134
|
+
lifecycle: "active";
|
|
135
|
+
}
|
|
136
|
+
export interface ApplicabilitySourceEntry {
|
|
137
|
+
scope: {
|
|
138
|
+
sourceAuthority: string;
|
|
139
|
+
sourceLocator: string;
|
|
140
|
+
};
|
|
141
|
+
/** Null when facts exist but this direction has no coverage census. */
|
|
142
|
+
coverage: ApplicabilityCoverage | null;
|
|
143
|
+
/** Revisions carried by active facts, independent from the coverage revision. */
|
|
144
|
+
factRevisions: string[];
|
|
145
|
+
/** Active facts from this source only. */
|
|
146
|
+
facts: ApplicabilityFact[];
|
|
147
|
+
/** Source endpoints that could not be resolved during reconciliation. */
|
|
148
|
+
unresolved: UnresolvedApplicabilityEndpoint[];
|
|
149
|
+
}
|
|
150
|
+
export interface UnresolvedApplicabilityEndpoint {
|
|
151
|
+
subjectLocator: string;
|
|
152
|
+
subjectKind: "product" | "variant" | "unknown";
|
|
153
|
+
finishLocator: string;
|
|
154
|
+
finishKind: "variant" | "unknown";
|
|
155
|
+
reason: "subject_unresolved" | "finish_unresolved" | "both_unresolved" | "unsupported_subject_kind";
|
|
156
|
+
declaringBrandId: string | null;
|
|
157
|
+
source: {
|
|
158
|
+
authority: string;
|
|
159
|
+
locator: string;
|
|
160
|
+
revision: string;
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/** Source-grained response; sources are never merged or given hidden precedence. */
|
|
164
|
+
export interface ApplicabilityResponse {
|
|
165
|
+
kind: "manufacturer_declared_applicability";
|
|
166
|
+
requestedSubject: ApplicabilitySubject;
|
|
167
|
+
direction: "forward" | "reverse";
|
|
168
|
+
sources: ApplicabilitySourceEntry[];
|
|
169
|
+
}
|
|
170
|
+
export type ApplicabilityOptions = {
|
|
171
|
+
subjectKind: "product";
|
|
172
|
+
subjectId: string;
|
|
173
|
+
direction: "forward";
|
|
174
|
+
} | {
|
|
175
|
+
subjectKind: "variant";
|
|
176
|
+
subjectId: VariantId;
|
|
177
|
+
direction: "forward" | "reverse";
|
|
178
|
+
};
|
package/associations-client.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* sections, never concatenate them, and never describe a pairing as
|
|
13
13
|
* "available on".
|
|
14
14
|
*/
|
|
15
|
-
import type { AssociatedOptions, DeclaredAssociationsResponse } from "./association-types.js";
|
|
15
|
+
import type { ApplicabilityOptions, ApplicabilityResponse, AssociatedOptions, DeclaredAssociationsResponse } from "./association-types.js";
|
|
16
16
|
import { HttpTransport } from "./http-transport.js";
|
|
17
17
|
import type { VariantId } from "./identifiers.js";
|
|
18
18
|
/**
|
|
@@ -49,3 +49,5 @@ export declare function declaredFinishes(transport: HttpTransport, variantId: Va
|
|
|
49
49
|
* @param variantId The FINISH variant. Opaque — pass back exactly what you were given.
|
|
50
50
|
*/
|
|
51
51
|
export declare function declaredProducts(transport: HttpTransport, variantId: VariantId, options?: AssociatedOptions, signal?: AbortSignal): Promise<DeclaredAssociationsResponse>;
|
|
52
|
+
/** Read manufacturer-declared applicability without collapsing Product/Variant grain. */
|
|
53
|
+
export declare function applicability(transport: HttpTransport, options: ApplicabilityOptions, signal?: AbortSignal): Promise<ApplicabilityResponse>;
|
package/associations-client.js
CHANGED
|
@@ -38,3 +38,7 @@ export function declaredFinishes(transport, variantId, options, signal) {
|
|
|
38
38
|
export function declaredProducts(transport, variantId, options, signal) {
|
|
39
39
|
return transport.requestJson(resolveOperation("list_associated_products"), { query: { variantId, ...options }, signal });
|
|
40
40
|
}
|
|
41
|
+
/** Read manufacturer-declared applicability without collapsing Product/Variant grain. */
|
|
42
|
+
export function applicability(transport, options, signal) {
|
|
43
|
+
return transport.requestJson(resolveOperation("get_applicability"), { query: options, signal });
|
|
44
|
+
}
|
package/browse-types.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface BrowseResultItem {
|
|
|
26
26
|
productId: ProductId | null;
|
|
27
27
|
color: string | null;
|
|
28
28
|
variantName: string | null;
|
|
29
|
+
/** MaterialGraph record creation time, not a manufacturer release date. */
|
|
30
|
+
recordCreatedAt: string | null;
|
|
29
31
|
imageUrl: string | null;
|
|
30
32
|
scalars: {
|
|
31
33
|
l: number | null;
|
|
@@ -165,11 +167,20 @@ export interface BrowseParams {
|
|
|
165
167
|
*/
|
|
166
168
|
types?: string;
|
|
167
169
|
/**
|
|
168
|
-
* Comma-separated brand slugs (`farrow-ball`) or
|
|
169
|
-
* (`Farrow & Ball`)
|
|
170
|
-
*
|
|
170
|
+
* Comma-separated canonical brand ids, exact slugs (`farrow-ball`), or exact
|
|
171
|
+
* display names (`Farrow & Ball`). Canonical ids and slugs are case-sensitive
|
|
172
|
+
* and opaque; display names are case-insensitive. One brand plus a colour `sort` is that brand's
|
|
173
|
+
* fan deck. An unknown brand is a typed 400 naming it, and an exact display
|
|
174
|
+
* name shared by multiple brands is a typed 400 with the candidates; neither
|
|
175
|
+
* becomes an empty page.
|
|
171
176
|
*/
|
|
172
177
|
brands?: string;
|
|
178
|
+
/**
|
|
179
|
+
* Positive manufacturer declarations. accepts_finishes includes variants of
|
|
180
|
+
* product-level declarations; it does not assert variant-specific applicability.
|
|
181
|
+
* Absence means no role filter.
|
|
182
|
+
*/
|
|
183
|
+
role?: "finish" | "accepts_finishes";
|
|
173
184
|
/**
|
|
174
185
|
* Typed attribute filters, in the SAME grammar `search` takes — a term, a
|
|
175
186
|
* term SET (OR within the entry), a presence check or a numeric range, each
|
package/by-colour-types.d.ts
CHANGED
|
@@ -169,12 +169,17 @@ export interface ByColourResponse {
|
|
|
169
169
|
colours: string[];
|
|
170
170
|
categories?: string[];
|
|
171
171
|
/**
|
|
172
|
-
* Echoed brand filter as resolved SLUGS — what the
|
|
173
|
-
* resolved to. Present only when a brand scope
|
|
172
|
+
* Echoed brand filter as resolved SLUGS — what the canonical ids, slugs,
|
|
173
|
+
* or exact names you passed resolved to. Present only when a brand scope
|
|
174
|
+
* applied.
|
|
174
175
|
*/
|
|
175
176
|
brands?: string[];
|
|
176
177
|
/** Echoed `family` filter, normalised. Present only when one was applied. */
|
|
177
178
|
family?: string;
|
|
179
|
+
/** Applied single-colour containment order. */
|
|
180
|
+
order?: "representative" | "nearest";
|
|
181
|
+
/** Applied maximum OKLab distance to each reported match hex. */
|
|
182
|
+
maxColourDistance?: number;
|
|
178
183
|
oklab?: OklabTriple;
|
|
179
184
|
};
|
|
180
185
|
/** `matches.length` — THIS PAGE. Not a corpus total; this surface states none. */
|
|
@@ -186,6 +191,12 @@ export interface ByColourResponse {
|
|
|
186
191
|
* what says so in counts rather than adjectives.
|
|
187
192
|
*/
|
|
188
193
|
familyGate?: ColourFamilyGate;
|
|
194
|
+
/** Applied `maxColourDistance` threshold and its page-bounded drop count. */
|
|
195
|
+
proximityGate?: {
|
|
196
|
+
maxColourDistance: number;
|
|
197
|
+
considered: number;
|
|
198
|
+
dropped: number;
|
|
199
|
+
};
|
|
189
200
|
/**
|
|
190
201
|
* Present only when `category` was asked for. It states that variants without
|
|
191
202
|
* an accepted primary product type were excluded by the hard gate; absence
|
|
@@ -230,8 +241,10 @@ export interface ByColourParams {
|
|
|
230
241
|
/** HARD category filter — display names or taxonomy ids (repeatable). */
|
|
231
242
|
category?: string | string[];
|
|
232
243
|
/**
|
|
233
|
-
* HARD brand filter (repeatable) — a brand
|
|
234
|
-
* display name (`Sherwin-Williams`)
|
|
244
|
+
* HARD brand filter (repeatable) — a canonical brand id, exact brand SLUG
|
|
245
|
+
* (`sherwin-williams`), or exact display name (`Sherwin-Williams`). Canonical
|
|
246
|
+
* ids and slugs are case-sensitive and opaque; display names are
|
|
247
|
+
* case-insensitive.
|
|
235
248
|
*
|
|
236
249
|
* This is how the CROSS-BRAND question is asked: pass one brand's colour as
|
|
237
250
|
* `hex` and scope to another to get that brand's nearest colours to it. It is
|
|
@@ -239,8 +252,9 @@ export interface ByColourParams {
|
|
|
239
252
|
* filtering a returned page instead comes back short, because a
|
|
240
253
|
* nearest-neighbour scan does not know to look further.
|
|
241
254
|
*
|
|
242
|
-
* An unknown brand is a 400 naming it,
|
|
243
|
-
*
|
|
255
|
+
* An unknown brand is a typed 400 naming it, and an exact display name shared
|
|
256
|
+
* by multiple brands is a typed 400 with the candidates; neither becomes an
|
|
257
|
+
* empty page. Omitting it (or passing an empty list) searches every brand.
|
|
244
258
|
*/
|
|
245
259
|
brand?: string | string[];
|
|
246
260
|
/**
|
|
@@ -260,6 +274,10 @@ export interface ByColourParams {
|
|
|
260
274
|
* drop.
|
|
261
275
|
*/
|
|
262
276
|
family?: string;
|
|
277
|
+
/** Single-colour order; omitted keeps representative browsing order. */
|
|
278
|
+
order?: "representative" | "nearest";
|
|
279
|
+
/** Maximum OKLab distance to each match's reported hex. Single-colour only. */
|
|
280
|
+
maxColourDistance?: number;
|
|
263
281
|
/** Narrow retrieval inside the server query; absent means the whole graph. */
|
|
264
282
|
corpusScope?: CorpusScope;
|
|
265
283
|
limit?: number;
|
package/by-spec-types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ValueResolution } from "./catalog-discovery-types.js";
|
|
2
|
+
import type { VerdictCitation } from "./citation-types.js";
|
|
2
3
|
import type { VariantId } from "./identifiers.js";
|
|
3
4
|
/**
|
|
4
5
|
* One criterion a match satisfied, with the trust behind it.
|
|
@@ -71,6 +72,7 @@ export interface BySpecVerdictCell {
|
|
|
71
72
|
* - `proposed` — the value is awaiting acceptance and is not yet on record.
|
|
72
73
|
*/
|
|
73
74
|
trustGap: "below_confidence" | "basis_unmet" | "proposed" | null;
|
|
75
|
+
citation?: VerdictCitation;
|
|
74
76
|
}
|
|
75
77
|
/**
|
|
76
78
|
* A match's full report card: every cell, the rolled-up grade, weakest confidence.
|
|
@@ -131,6 +133,8 @@ export interface BySpecUnresolvedCriterion {
|
|
|
131
133
|
attributeId: string;
|
|
132
134
|
/** The parsed value — never overwritten by the attribute id when that id is unknown. */
|
|
133
135
|
value: string;
|
|
136
|
+
/** Why pre-flight declined it; absent on responses captured before classification. */
|
|
137
|
+
reason?: "unknown_attribute_or_term" | "not_a_specification";
|
|
134
138
|
/** Ranked candidates for whichever half failed. See {@link ValueResolution}. */
|
|
135
139
|
resolution: ValueResolution;
|
|
136
140
|
}
|
package/catalogue-client.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type { CatalogDocumentList,
|
|
1
|
+
import type { CatalogDocumentList, CatalogPageListResult, CatalogProductReferenceReadResult, CatalogueChannelCollectionsResponse, CatalogueCollectionsOptions, CatalogueDocumentAccessResult, CataloguePageRepresentationReadResult, CatalogueReferenceBatchResponse } from "./catalogue-types.js";
|
|
2
2
|
import type { HttpTransport } from "./http-transport.js";
|
|
3
3
|
import type { VariantId } from "./identifiers.js";
|
|
4
|
+
import type { SamplizeCatalogueOptions, SamplizeCataloguePage } from "./samplize-catalogue-types.js";
|
|
4
5
|
/** Catalogue publication operations inherited by the public SDK client. */
|
|
5
6
|
export declare class CatalogueClient {
|
|
6
7
|
#private;
|
|
7
8
|
protected constructor(transport: HttpTransport);
|
|
9
|
+
/** Complete version-pinned Samplize paint corpus; stock never limits eligibility. */
|
|
10
|
+
samplizeCatalogue(options?: SamplizeCatalogueOptions, signal?: AbortSignal): Promise<SamplizeCataloguePage>;
|
|
8
11
|
/**
|
|
9
12
|
* Read exact, verified brand-publication page relationships for variants.
|
|
10
13
|
* Missing evidence stays explicit; this operation never guesses a page from
|
|
@@ -13,10 +16,19 @@ export declare class CatalogueClient {
|
|
|
13
16
|
catalogueReferences(input: {
|
|
14
17
|
variantIds: VariantId[];
|
|
15
18
|
}, signal?: AbortSignal): Promise<CatalogueReferenceBatchResponse>;
|
|
19
|
+
/** List product collections with governed catalogue-channel membership. */
|
|
20
|
+
catalogueCollections(options?: CatalogueCollectionsOptions, signal?: AbortSignal): Promise<CatalogueChannelCollectionsResponse>;
|
|
16
21
|
/** List immutable catalog documents retained from verified source material. */
|
|
17
22
|
catalogs(signal?: AbortSignal): Promise<CatalogDocumentList>;
|
|
23
|
+
/** List stable one-based page identities and their representation status. */
|
|
24
|
+
catalogPages(catalogId: string, options?: {
|
|
25
|
+
limit?: number;
|
|
26
|
+
offset?: number;
|
|
27
|
+
}, signal?: AbortSignal): Promise<CatalogPageListResult>;
|
|
28
|
+
/** Read a retained page representation or its exact missing-artifact receipt. */
|
|
29
|
+
catalogPageRepresentation(pageId: string, signal?: AbortSignal): Promise<CataloguePageRepresentationReadResult>;
|
|
18
30
|
/** Read every verified product/page reference for one retained catalog. */
|
|
19
|
-
catalogReferences(catalogId: string, signal?: AbortSignal): Promise<
|
|
31
|
+
catalogReferences(catalogId: string, signal?: AbortSignal): Promise<CatalogProductReferenceReadResult>;
|
|
20
32
|
/** Resolve browser-safe access to one immutable catalogue document. */
|
|
21
33
|
catalogueDocumentAccess(documentId: string, signal?: AbortSignal): Promise<CatalogueDocumentAccessResult>;
|
|
22
34
|
}
|
package/catalogue-client.js
CHANGED
|
@@ -5,6 +5,10 @@ export class CatalogueClient {
|
|
|
5
5
|
constructor(transport) {
|
|
6
6
|
this.#transport = transport;
|
|
7
7
|
}
|
|
8
|
+
/** Complete version-pinned Samplize paint corpus; stock never limits eligibility. */
|
|
9
|
+
samplizeCatalogue(options = {}, signal) {
|
|
10
|
+
return this.#transport.requestJson(resolveOperation("samplize_catalogue_products"), { query: { ...options }, signal });
|
|
11
|
+
}
|
|
8
12
|
/**
|
|
9
13
|
* Read exact, verified brand-publication page relationships for variants.
|
|
10
14
|
* Missing evidence stays explicit; this operation never guesses a page from
|
|
@@ -13,10 +17,29 @@ export class CatalogueClient {
|
|
|
13
17
|
catalogueReferences(input, signal) {
|
|
14
18
|
return this.#transport.requestJson(resolveOperation("get_catalogue_references_batch"), { body: input, signal });
|
|
15
19
|
}
|
|
20
|
+
/** List product collections with governed catalogue-channel membership. */
|
|
21
|
+
catalogueCollections(options = {}, signal) {
|
|
22
|
+
return this.#transport.requestJson(resolveOperation("list_catalogue_channel_collections"), {
|
|
23
|
+
query: {
|
|
24
|
+
limit: options.limit,
|
|
25
|
+
offset: options.offset,
|
|
26
|
+
sampleLimit: options.sampleLimit,
|
|
27
|
+
},
|
|
28
|
+
signal,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
16
31
|
/** List immutable catalog documents retained from verified source material. */
|
|
17
32
|
catalogs(signal) {
|
|
18
33
|
return this.#transport.requestJson(resolveOperation("list_catalog_documents"), { signal });
|
|
19
34
|
}
|
|
35
|
+
/** List stable one-based page identities and their representation status. */
|
|
36
|
+
catalogPages(catalogId, options = {}, signal) {
|
|
37
|
+
return this.#transport.requestJson(resolveOperation("list_catalog_pages"), { pathParams: { catalogId }, query: options, signal });
|
|
38
|
+
}
|
|
39
|
+
/** Read a retained page representation or its exact missing-artifact receipt. */
|
|
40
|
+
catalogPageRepresentation(pageId, signal) {
|
|
41
|
+
return this.#transport.requestJson(resolveOperation("get_catalog_page_representation"), { pathParams: { pageId }, signal });
|
|
42
|
+
}
|
|
20
43
|
/** Read every verified product/page reference for one retained catalog. */
|
|
21
44
|
catalogReferences(catalogId, signal) {
|
|
22
45
|
return this.#transport.requestJson(resolveOperation("list_catalog_product_references"), { pathParams: { catalogId }, signal });
|