@purveyors/sdk 0.48.0 → 0.50.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/dist/index.d.ts CHANGED
@@ -6092,6 +6092,116 @@ interface paths {
6092
6092
  patch?: never;
6093
6093
  trace?: never;
6094
6094
  };
6095
+ "/v1/catalog/{id}/price-history": {
6096
+ parameters: {
6097
+ query?: never;
6098
+ header?: never;
6099
+ path?: never;
6100
+ cookie?: never;
6101
+ };
6102
+ /**
6103
+ * Daily price history for one catalog coffee
6104
+ * @description Daily price, full tier ladder, and stock state for one public supplier catalog coffee over 7 to 365 days (default 90), with minimum-tier change events so packaging changes are not read as price cuts. Available to member sessions, Parchment Intelligence sessions, and customer API keys with catalog:read.
6105
+ */
6106
+ get: {
6107
+ parameters: {
6108
+ query?: {
6109
+ days?: string;
6110
+ };
6111
+ header?: never;
6112
+ path: {
6113
+ id: string;
6114
+ };
6115
+ cookie?: never;
6116
+ };
6117
+ requestBody?: never;
6118
+ responses: {
6119
+ /** @description Daily price history with minimum-tier change events */
6120
+ 200: {
6121
+ headers: {
6122
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
6123
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
6124
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
6125
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
6126
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
6127
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
6128
+ [name: string]: unknown;
6129
+ };
6130
+ content: {
6131
+ "application/json": components["schemas"]["LotPriceHistoryResponse"];
6132
+ };
6133
+ };
6134
+ /** @description Invalid path id or days */
6135
+ 400: {
6136
+ headers: {
6137
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
6138
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
6139
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
6140
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
6141
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
6142
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
6143
+ [name: string]: unknown;
6144
+ };
6145
+ content: {
6146
+ "application/json": components["schemas"]["ErrorResponse"];
6147
+ };
6148
+ };
6149
+ /** @description Authentication required */
6150
+ 401: {
6151
+ headers: {
6152
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
6153
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
6154
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
6155
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
6156
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
6157
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
6158
+ [name: string]: unknown;
6159
+ };
6160
+ content: {
6161
+ "application/json": components["schemas"]["ErrorResponse"];
6162
+ };
6163
+ };
6164
+ /** @description Insufficient entitlement (plan or role) */
6165
+ 403: {
6166
+ headers: {
6167
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
6168
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
6169
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
6170
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
6171
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
6172
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
6173
+ [name: string]: unknown;
6174
+ };
6175
+ content: {
6176
+ "application/json": components["schemas"]["ErrorResponse"];
6177
+ };
6178
+ };
6179
+ /** @description Catalog coffee not found */
6180
+ 404: {
6181
+ headers: {
6182
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
6183
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
6184
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
6185
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
6186
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
6187
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
6188
+ [name: string]: unknown;
6189
+ };
6190
+ content: {
6191
+ "application/json": components["schemas"]["ErrorResponse"];
6192
+ };
6193
+ };
6194
+ 429: components["responses"]["ApiRateLimitExceeded"];
6195
+ };
6196
+ };
6197
+ put?: never;
6198
+ post?: never;
6199
+ delete?: never;
6200
+ options?: never;
6201
+ head?: never;
6202
+ patch?: never;
6203
+ trace?: never;
6204
+ };
6095
6205
  "/v1/procurement/briefs": {
6096
6206
  parameters: {
6097
6207
  query?: never;
@@ -15710,6 +15820,67 @@ interface components {
15710
15820
  query_strategy: "bounded-vector-candidates-v1";
15711
15821
  };
15712
15822
  };
15823
+ LotPriceHistoryResponse: {
15824
+ data: {
15825
+ catalogId: number;
15826
+ /** @enum {string} */
15827
+ currency: "USD";
15828
+ /** Format: date */
15829
+ from: string;
15830
+ /** Format: date */
15831
+ to: string;
15832
+ points: {
15833
+ /** Format: date */
15834
+ date: string;
15835
+ /** @description Price per lb at the smallest tier, as the catalog displays it. */
15836
+ priceLb: number;
15837
+ minLbs: number | null;
15838
+ tiers: {
15839
+ minLbs: number;
15840
+ priceLb: number;
15841
+ }[];
15842
+ stocked: boolean;
15843
+ wholesale: boolean;
15844
+ }[];
15845
+ /** @description Minimum-tier changes (the smallest order quantity changed, so the smallest-tier price is not like for like) and stock changes. Larger tiers appearing or disappearing are not reported because they do not affect the smallest-tier price. */
15846
+ events: ({
15847
+ /** Format: date */
15848
+ date: string;
15849
+ /** @enum {string} */
15850
+ type: "minimum_tier_change";
15851
+ fromMinLbs: number | null;
15852
+ toMinLbs: number | null;
15853
+ } | {
15854
+ /** Format: date */
15855
+ date: string;
15856
+ /** @enum {string} */
15857
+ type: "restocked" | "unstocked";
15858
+ })[];
15859
+ summary: {
15860
+ latestPriceLb: number | null;
15861
+ minPriceLb: number | null;
15862
+ maxPriceLb: number | null;
15863
+ /** @description First-to-latest change in percent, only when the minimum tier never changed in the window. */
15864
+ comparableChangePct: number | null;
15865
+ minimumTierChanged: boolean;
15866
+ };
15867
+ };
15868
+ meta: {
15869
+ /** @enum {string} */
15870
+ resource: "catalog-price-history";
15871
+ /** @enum {string} */
15872
+ namespace: "/v1/catalog/{id}/price-history";
15873
+ /** @enum {string} */
15874
+ version: "v1";
15875
+ days: number;
15876
+ source: {
15877
+ /** @enum {string} */
15878
+ table: "coffee_price_snapshots";
15879
+ /** @enum {string} */
15880
+ grain: "day";
15881
+ };
15882
+ };
15883
+ };
15713
15884
  SourcingBriefCriteria: {
15714
15885
  /** @enum {number} */
15715
15886
  version?: 1;
@@ -17688,6 +17859,8 @@ type CatalogRankPremiumHeaders = NonNullable<paths["/v1/catalog/rank-premium"]["
17688
17859
  type CatalogSupplierHeaders = NonNullable<paths["/v1/catalog/suppliers"]["get"]["parameters"]["header"]>;
17689
17860
  /** Query parameters for {@link ParchmentClient.catalog.similar}. */
17690
17861
  type CatalogSimilarQuery = NonNullable<paths["/v1/catalog/{id}/similar"]["get"]["parameters"]["query"]>;
17862
+ /** Query parameters for {@link ParchmentClient.catalog.priceHistory}. */
17863
+ type CatalogPriceHistoryQuery = NonNullable<paths["/v1/catalog/{id}/price-history"]["get"]["parameters"]["query"]>;
17691
17864
  /** Query parameters for {@link ParchmentClient.priceIndex.list}. */
17692
17865
  type PriceIndexQuery = NonNullable<paths["/v1/price-index"]["get"]["parameters"]["query"]>;
17693
17866
  /** Query parameters for {@link ParchmentClient.priceIndex.history}. */
@@ -21487,6 +21660,102 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
21487
21660
  } | undefined;
21488
21661
  };
21489
21662
  }, `${string}/${string}`>>;
21663
+ /** Daily price history for one catalog coffee, with minimum-tier change events. */
21664
+ priceHistory: (id: string, query?: CatalogPriceHistoryQuery) => Promise<openapi_fetch.FetchResponse<{
21665
+ parameters: {
21666
+ query?: {
21667
+ days?: string;
21668
+ };
21669
+ header?: never;
21670
+ path: {
21671
+ id: string;
21672
+ };
21673
+ cookie?: never;
21674
+ };
21675
+ requestBody?: never;
21676
+ responses: {
21677
+ 200: {
21678
+ headers: {
21679
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
21680
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
21681
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
21682
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
21683
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
21684
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
21685
+ [name: string]: unknown;
21686
+ };
21687
+ content: {
21688
+ "application/json": components["schemas"]["LotPriceHistoryResponse"];
21689
+ };
21690
+ };
21691
+ 400: {
21692
+ headers: {
21693
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
21694
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
21695
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
21696
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
21697
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
21698
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
21699
+ [name: string]: unknown;
21700
+ };
21701
+ content: {
21702
+ "application/json": components["schemas"]["ErrorResponse"];
21703
+ };
21704
+ };
21705
+ 401: {
21706
+ headers: {
21707
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
21708
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
21709
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
21710
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
21711
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
21712
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
21713
+ [name: string]: unknown;
21714
+ };
21715
+ content: {
21716
+ "application/json": components["schemas"]["ErrorResponse"];
21717
+ };
21718
+ };
21719
+ 403: {
21720
+ headers: {
21721
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
21722
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
21723
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
21724
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
21725
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
21726
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
21727
+ [name: string]: unknown;
21728
+ };
21729
+ content: {
21730
+ "application/json": components["schemas"]["ErrorResponse"];
21731
+ };
21732
+ };
21733
+ 404: {
21734
+ headers: {
21735
+ "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
21736
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
21737
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
21738
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
21739
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
21740
+ "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
21741
+ [name: string]: unknown;
21742
+ };
21743
+ content: {
21744
+ "application/json": components["schemas"]["ErrorResponse"];
21745
+ };
21746
+ };
21747
+ 429: components["responses"]["ApiRateLimitExceeded"];
21748
+ };
21749
+ }, {
21750
+ params: {
21751
+ path: {
21752
+ id: string;
21753
+ };
21754
+ query: {
21755
+ days?: string;
21756
+ } | undefined;
21757
+ };
21758
+ }, `${string}/${string}`>>;
21490
21759
  };
21491
21760
  priceIndex: {
21492
21761
  /** Available exact 30-day comparisons, with no empty-origin search. */
@@ -28846,7 +29115,9 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
28846
29115
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
28847
29116
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
28848
29117
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
28849
- "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29118
+ "X-RateLimit-Burst-Limit":
29119
+ /** Anonymous capability body for {@link ParchmentClient.inventory.shareGrants.redeem}. */
29120
+ components["headers"]["X-RateLimit-Burst-Limit"];
28850
29121
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
28851
29122
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
28852
29123
  [name: string]: unknown;
@@ -29006,8 +29277,10 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29006
29277
  headers: {
29007
29278
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29008
29279
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29009
- "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29010
- "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29280
+ "X-RateLimit-Reset":
29281
+ /** List the caller's saved sourcing briefs. */
29282
+ components["headers"]["X-RateLimit-Reset"];
29283
+ "X-RateLimit-Burst-Limit": components["headers"] /** Create a saved sourcing brief. */["X-RateLimit-Burst-Limit"];
29011
29284
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29012
29285
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
29013
29286
  [name: string]: unknown;
@@ -29073,7 +29346,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29073
29346
  };
29074
29347
  401: {
29075
29348
  headers: {
29076
- "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29349
+ "X-RateLimit-Limit": components["headers"] /** Read older messages before a canonical sequence cursor. */["X-RateLimit-Limit"];
29077
29350
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29078
29351
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29079
29352
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
@@ -29105,7 +29378,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29105
29378
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29106
29379
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29107
29380
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29108
- "X-RateLimit-Burst-Remaining": components["headers"] /** Optimistically update session-owner memory. */["X-RateLimit-Burst-Remaining"];
29381
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29109
29382
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
29110
29383
  [name: string]: unknown;
29111
29384
  };
@@ -29119,10 +29392,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29119
29392
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29120
29393
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29121
29394
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29122
- "X-RateLimit-Burst-Remaining": components["headers"] /**
29123
- * Redeem a capability supplied in JSON (never in a URL). This helper
29124
- * does not require the client to be configured with a bearer token.
29125
- */["X-RateLimit-Burst-Remaining"];
29395
+ "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29126
29396
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
29127
29397
  [name: string]: unknown;
29128
29398
  };
@@ -29206,10 +29476,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29206
29476
  headers: {
29207
29477
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29208
29478
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29209
- "X-RateLimit-Reset": components["headers"] /**
29210
- * Delete one of the caller's own inventory rows. Returns 409 if dependent
29211
- * roast profiles or sales exist (no force-cascade).
29212
- */["X-RateLimit-Reset"];
29479
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29213
29480
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29214
29481
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29215
29482
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
@@ -29223,7 +29490,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29223
29490
  headers: {
29224
29491
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29225
29492
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29226
- "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29493
+ "X-RateLimit-Reset": components["headers"] /** List the caller's own roast profiles (owner-scoped). */["X-RateLimit-Reset"];
29227
29494
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29228
29495
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29229
29496
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
@@ -29320,7 +29587,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29320
29587
  headers: {
29321
29588
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29322
29589
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29323
- "X-RateLimit-Reset": components["headers"] /** List Studio reference profiles without mixing them into roast history. */["X-RateLimit-Reset"];
29590
+ "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29324
29591
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29325
29592
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29326
29593
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
@@ -29661,7 +29928,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29661
29928
  400: {
29662
29929
  headers: {
29663
29930
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29664
- "X-RateLimit-Remaining": components["headers"] /** Create an API key. The raw secret is returned only once. */["X-RateLimit-Remaining"];
29931
+ "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29665
29932
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29666
29933
  "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29667
29934
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
@@ -29691,7 +29958,7 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
29691
29958
  "X-RateLimit-Limit": components["headers"]["X-RateLimit-Limit"];
29692
29959
  "X-RateLimit-Remaining": components["headers"]["X-RateLimit-Remaining"];
29693
29960
  "X-RateLimit-Reset": components["headers"]["X-RateLimit-Reset"];
29694
- "X-RateLimit-Burst-Limit": components["headers"] /** Create or replay an embedded Checkout Session after activation. */["X-RateLimit-Burst-Limit"];
29961
+ "X-RateLimit-Burst-Limit": components["headers"]["X-RateLimit-Burst-Limit"];
29695
29962
  "X-RateLimit-Burst-Remaining": components["headers"]["X-RateLimit-Burst-Remaining"];
29696
29963
  "X-RateLimit-Burst-Reset": components["headers"]["X-RateLimit-Burst-Reset"];
29697
29964
  [name: string]: unknown;
@@ -30978,4 +31245,65 @@ declare function createParchmentClient(options: ParchmentClientOptions): {
30978
31245
  };
30979
31246
  type ParchmentClient = ReturnType<typeof createParchmentClient>;
30980
31247
 
30981
- export { type AccountDeletionOperation, type AccountDeletionRequest, type BillingCheckoutCreateRequest, type BillingCheckoutSession, type BillingManualEntitlementsRequest, type BillingSubscriptionMutationRequest, type BillingSubscriptionOperation, type BriefMatchesQuery, type CatalogInventoryBatchLifecycle, type CatalogInventoryBatchReserveRequest, type CatalogInventoryBatchResult, type CatalogItem, type CatalogListQuery, type CatalogMapHeaders, type CatalogMapQuery, type CatalogMapResponse, type CatalogProofSummary, type CatalogSimilarQuery, type ConfirmedActionExecuteRequest, type ConversationCanvasUpdateRequest, type ConversationChatStreamRequest, type ConversationMemoryDreamRequest, type ConversationMemoryUpdateRequest, type ConversationMessageAppendRequest, type ConversationSummaryUpdateRequest, type ConversationWorkspaceClearRequest, type ConversationWorkspaceCreateRequest, type ConversationWorkspaceMetadataRequest, type InventoryCreateRequest, type InventoryShareCatalog, type InventoryShareGrant, type InventoryShareGrantCreateRequest, type InventoryShareGrantRedeemRequest, type InventoryShareInventory, type InventoryShareRoastSummary, type InventoryUpdateRequest, type MarketOverview, type MarketSignalsQuery, type MetadataIndexQuery, type OwnerApiUsage, type OwnerApiUsageQuery, type ParchmentClient, type ParchmentClientOptions, type PriceIndexQuery, type PriceIndexStatsQuery, type ProfitItem, type ProfitListQuery, type RoastBatchCreateRequest, type RoastChartData, type RoastChartDataQuery, type RoastChartEvent, type RoastChartSeries, type RoastLiveCurveRequest, type SalesCreateRequest, type SalesListQuery, type SalesUpdateRequest, type SourcingBriefCreateRequest, type TrackedLotMutation, type TrackedLotSummary, type TrackedLotsListQuery, type components, createParchmentClient, type paths };
31248
+ /**
31249
+ * Dotted paths of every callable ParchmentClient helper, for example
31250
+ * `"priceIndex.comparisons"`. `raw` is the untyped openapi-fetch escape hatch
31251
+ * and is not a named helper.
31252
+ */
31253
+ type MethodPaths<T, Prefix extends string = ""> = {
31254
+ [K in keyof T & string]: T[K] extends (...args: never[]) => unknown ? `${Prefix}${K}` : T[K] extends object ? MethodPaths<T[K], `${Prefix}${K}.`> : never;
31255
+ }[keyof T & string];
31256
+ type ParchmentClientMethod = MethodPaths<Omit<ParchmentClient, "raw">>;
31257
+ /**
31258
+ * The SDK reads the Cherry web agent can perform on the signed-in user's
31259
+ * behalf. Parchment's in-process chat adapter implements exactly these
31260
+ * methods, and its tests fail if the two drift. Agent surfaces built on the
31261
+ * SDK (such as the CLI) can import this list to prove they cover everything
31262
+ * the web agent can do.
31263
+ */
31264
+ declare const CHAT_AGENT_CAPABILITIES: readonly ["me", "catalog.list", "catalog.facets", "catalog.rank", "catalog.suppliers", "catalog.similar", "inventory.list", "roasts.list", "roasts.get", "roasts.chartData", "referenceProfiles.list", "referenceProfiles.get", "referenceProfiles.chart", "referenceProfiles.compare", "referenceProfiles.preview", "tasting.get", "priceIndex.list", "priceIndex.stats", "priceIndex.comparisons", "priceIndex.comparison", "priceIndex.history", "market.signals", "market.metadataIndex", "market.overview", "market.evidence"];
31265
+ type ChatAgentCapability = (typeof CHAT_AGENT_CAPABILITIES)[number];
31266
+ /**
31267
+ * Writes the web agent can propose. The agent never writes directly: it
31268
+ * returns an action card, and only the user's confirmation executes the
31269
+ * action through the session-only `confirmedActions.execute` endpoint.
31270
+ */
31271
+ declare const CHAT_AGENT_CONFIRMED_ACTION_TYPES: readonly ["add_bean_to_inventory", "update_bean", "create_roast_session", "create_roast_from_reference", "create_generated_reference", "update_roast_notes", "record_sale"];
31272
+ type ChatAgentConfirmedActionType = (typeof CHAT_AGENT_CONFIRMED_ACTION_TYPES)[number];
31273
+ type ChatAgentCapabilityExclusionReason =
31274
+ /** Same write as a confirmed action; the agent proposes and the user confirms. */
31275
+ "confirmed_action_write"
31276
+ /** Bound to the signed-in user's own session; never called by the agent. */
31277
+ | "session_only"
31278
+ /** Credential issuance or exchange. */
31279
+ | "auth_bootstrap"
31280
+ /** Staff-only administration or publication. */
31281
+ | "admin_only"
31282
+ /** A write with no confirmed-action path; the agent must not perform it. */
31283
+ | "write_not_agent_facing"
31284
+ /** A read the agent has no tool for yet. */
31285
+ | "read_not_wired"
31286
+ /** Service plumbing with no user data. */
31287
+ | "infrastructure";
31288
+ interface ChatAgentCapabilityExclusion {
31289
+ reason: ChatAgentCapabilityExclusionReason;
31290
+ note: string;
31291
+ }
31292
+ /**
31293
+ * Every ParchmentClient helper that is not a chat-agent capability, with the
31294
+ * reason. The mapped type makes adding an SDK helper a compile error here
31295
+ * until it is classified as a capability or an exclusion.
31296
+ */
31297
+ declare const CHAT_AGENT_CAPABILITY_EXCLUSIONS: {
31298
+ readonly [K in Exclude<ParchmentClientMethod, ChatAgentCapability>]: ChatAgentCapabilityExclusion;
31299
+ };
31300
+ /**
31301
+ * The narrowed client shape the chat agent receives: only the capability
31302
+ * helpers, with their SDK signatures.
31303
+ */
31304
+ type PickPaths<T, P extends string> = {
31305
+ [K in keyof T & string as K extends (P extends `${infer Head}.${string}` ? Head : P) ? K : never]: K extends P ? T[K] : PickPaths<T[K], P extends `${K}.${infer Rest}` ? Rest : never>;
31306
+ };
31307
+ type ChatAgentClient = PickPaths<ParchmentClient, ChatAgentCapability>;
31308
+
31309
+ export { type AccountDeletionOperation, type AccountDeletionRequest, type BillingCheckoutCreateRequest, type BillingCheckoutSession, type BillingManualEntitlementsRequest, type BillingSubscriptionMutationRequest, type BillingSubscriptionOperation, type BriefMatchesQuery, CHAT_AGENT_CAPABILITIES, CHAT_AGENT_CAPABILITY_EXCLUSIONS, CHAT_AGENT_CONFIRMED_ACTION_TYPES, type CatalogInventoryBatchLifecycle, type CatalogInventoryBatchReserveRequest, type CatalogInventoryBatchResult, type CatalogItem, type CatalogListQuery, type CatalogMapHeaders, type CatalogMapQuery, type CatalogMapResponse, type CatalogPriceHistoryQuery, type CatalogProofSummary, type CatalogSimilarQuery, type ChatAgentCapability, type ChatAgentCapabilityExclusion, type ChatAgentCapabilityExclusionReason, type ChatAgentClient, type ChatAgentConfirmedActionType, type ConfirmedActionExecuteRequest, type ConversationCanvasUpdateRequest, type ConversationChatStreamRequest, type ConversationMemoryDreamRequest, type ConversationMemoryUpdateRequest, type ConversationMessageAppendRequest, type ConversationSummaryUpdateRequest, type ConversationWorkspaceClearRequest, type ConversationWorkspaceCreateRequest, type ConversationWorkspaceMetadataRequest, type InventoryCreateRequest, type InventoryShareCatalog, type InventoryShareGrant, type InventoryShareGrantCreateRequest, type InventoryShareGrantRedeemRequest, type InventoryShareInventory, type InventoryShareRoastSummary, type InventoryUpdateRequest, type MarketOverview, type MarketSignalsQuery, type MetadataIndexQuery, type OwnerApiUsage, type OwnerApiUsageQuery, type ParchmentClient, type ParchmentClientMethod, type ParchmentClientOptions, type PriceIndexQuery, type PriceIndexStatsQuery, type ProfitItem, type ProfitListQuery, type RoastBatchCreateRequest, type RoastChartData, type RoastChartDataQuery, type RoastChartEvent, type RoastChartSeries, type RoastLiveCurveRequest, type SalesCreateRequest, type SalesListQuery, type SalesUpdateRequest, type SourcingBriefCreateRequest, type TrackedLotMutation, type TrackedLotSummary, type TrackedLotsListQuery, type components, createParchmentClient, type paths };