@purveyors/cli 0.36.1 → 0.37.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/README.md CHANGED
@@ -12,7 +12,7 @@ Use `purvey --help` for quick command discovery, `purvey context` for the dense
12
12
  - Package: `@purveyors/cli`
13
13
  - Runtime: Node.js 20+
14
14
  - No pre-existing credentials required: `auth`, `config`, `context`, `manifest`, `skill`
15
- - Viewer role required: `catalog` (excluding structured process filters on `catalog search`)
15
+ - Viewer role required: `catalog`, including structured process filters and `catalog similar`
16
16
  - Member role required: `procurement`, `inventory`, `roast`, `sales`, `tasting`
17
17
  - Mixed public and entitled access: `market` and `price-index` public teaser slices are unauthenticated; filtered, non-public, and evidence slices require a credential and, where entitled, Parchment Intelligence access
18
18
  - Preferred machine-readable contract: `purvey manifest`
@@ -76,7 +76,7 @@ purvey auth login
76
76
  # 2. Confirm the stored API key and role
77
77
  purvey auth status
78
78
 
79
- # 3. Search the catalog (viewer role for basic filters, member role for structured process filters)
79
+ # 3. Search the catalog (any signed-in account)
80
80
  purvey catalog search --origin "Ethiopia" --stocked --pretty
81
81
 
82
82
  # Example with structured process filters and proof output
@@ -148,8 +148,7 @@ No pre-existing credentials are required for `auth`, `config`, `context`, `manif
148
148
 
149
149
  Remote data commands require a valid owner-bound API key with the required scope:
150
150
 
151
- - `catalog` requires the `viewer` role by default
152
- - `catalog search` structured process filters require the `member` role
151
+ - `catalog` requires the `viewer` role, which any sign-in provides; Parchment decides access to structured process filters and `catalog similar`, and admits any API key with `catalog:read`
153
152
  - `market` has public teaser slices for `signals --summary`, unfiltered retail `stats`, and process/retail/month `metadata`; all filtered or non-public slices require Parchment Intelligence access enforced server-side
154
153
  - `market overview` requires any signed-in session or API key; `market evidence` requires Parchment Intelligence access
155
154
  - `price-index history` is public for windows up to 90 days; longer windows require Parchment Intelligence access
@@ -197,14 +196,14 @@ Credentials are stored at `~/.config/purvey/credentials.json`.
197
196
 
198
197
  ### Auth roles
199
198
 
200
- | Role | Access |
201
- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
202
- | `viewer` | `catalog search`, `catalog get`, `catalog stats`, excluding structured process filters |
203
- | `member` | All viewer commands, `catalog similar`, structured process filters on `catalog search`, plus `price-index`, `procurement`, `inventory`, `roast`, `sales`, and `tasting` through the scoped key created by `purvey auth login` |
199
+ | Role | Access |
200
+ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
201
+ | `viewer` | Every `catalog` command, including structured process filters on `catalog search` and `catalog similar` |
202
+ | `member` | All viewer commands, plus `price-index`, `procurement`, `inventory`, `roast`, `sales`, and `tasting` through the scoped key created by `purvey auth login` |
204
203
 
205
204
  The `reference-profile` commands also require Studio access; the API enforces this entitlement.
206
205
 
207
- `catalog similar` checks for member access when it uses the key stored by `purvey auth login`. An API key in `PURVEYORS_API_KEY` or `PARCHMENT_API_KEY` works on any API plan when it has the `catalog:read` scope.
206
+ `catalog similar` needs a sign-in (`purvey auth login`) or any API key with `catalog:read`. The free Green API plan includes it within its monthly quota. Parchment decides access and the CLI maps its 401 and 403 responses to exit code 3 with Parchment's message.
208
207
 
209
208
  Market Index teaser slices are public. Filtered `market signals`, origin/process/wholesale `market stats`, non-public `market metadata`, `market evidence`, `price-index comparisons`, `price-index comparison`, and `price-index history` windows over 90 days require Parchment Intelligence access; API-key denial is enforced by the canonical API. The stored login key carries `catalog:read`, which is also the canonical read scope for Market Index, Price Index, and procurement.
210
209
 
@@ -317,7 +316,7 @@ Notes:
317
316
  - `auth login --headless` prints the approval URL without trying to open a local browser. Approve it from any browser; nothing is pasted back.
318
317
  - `auth status --json` is the safest mode for scripts.
319
318
  - `auth status --csv` is supported for spreadsheet-style checks, but JSON remains the better integration format.
320
- - `auth whoami` prints Parchment's `GET /v1/me` response unchanged for the credential the CLI would send: roles, API plan, scopes, Price Index access, and capabilities such as `capabilities.profileStudio`. Like the rest of `auth`, it needs no existing credential; without one it prints Parchment's anonymous principal (`authenticated: false`).
319
+ - `auth whoami` prints Parchment's `GET /v1/me` response unchanged for the credential the CLI would send: roles, API plan, scopes, Price Index access, and capabilities such as `capabilities.profileStudio`. Like the rest of `auth`, it needs no existing credential; without one it prints a signed-out result (`authenticated: false`).
321
320
 
322
321
  ### catalog
323
322
 
@@ -331,6 +330,9 @@ Notes:
331
330
  - `purvey catalog supplier-detail <supplier>`
332
331
  - `purvey catalog supplier-rank`
333
332
  - `purvey catalog similar <id>`
333
+ - `purvey catalog compare <ids...>`
334
+ - `purvey catalog price-history <id>`
335
+ - `purvey catalog grades [codes...]`
334
336
 
335
337
  `catalog search` filters:
336
338
 
@@ -356,6 +358,31 @@ Notes:
356
358
  - `--limit <n>`; default `10`, min `1`, max `1000`
357
359
  - `--include-proof`; request canonical proof summaries from `/v1/catalog?include=proof`
358
360
 
361
+ Grading filters (results then carry a `grading` object):
362
+
363
+ - `--elevation-min <masl>`, `--elevation-max <masl>`; disclosed elevation range overlap
364
+ - `--screen-min <n>`, `--screen-max <n>`; disclosed screen size, 8 to 20 (an `18+` lot is open-ended)
365
+ - `--grade <codes>`; comma-separated grade codes such as `KE:AA,PREP:EP`, matching any
366
+ - `--grade-kind <size|altitude|defects|cup|preparation>`; any grade of that kind
367
+ - `--peaberry`; peaberry lots only
368
+ - `--lab-analyzed`; lots with lab values only
369
+ - `--moisture-max <pct>`; disclosed moisture at or below this percentage
370
+ - `--score-protocol <sca_2004|cva_affective|q_arabica|coe|supplier_unspecified>`
371
+
372
+ `catalog compare <ids...>` options:
373
+
374
+ - 2 to 6 catalog IDs, space- or comma-separated; viewers compare 2, members and API keys up to 6
375
+ - `--quantity <lb>`; price each coffee at the tier for this quantity (default 1)
376
+
377
+ `catalog price-history <id>` options:
378
+
379
+ - `--days <n>`; `7` to `365`, default `180`
380
+
381
+ `catalog grades [codes...]` options:
382
+
383
+ - `--kind <size|altitude|defects|cup|preparation>`, `--system <system>`, `--include-retired`
384
+ - Explains codes from `/v1/catalog/grades`; unknown codes are listed under `unknownCodes`
385
+
359
386
  `catalog similar <id>` options:
360
387
 
361
388
  - `--threshold <score>`; canonical similarity threshold `0.5` to `0.99`, default `0.7`
@@ -365,8 +392,9 @@ Notes:
365
392
 
366
393
  `catalog facets [field]` options:
367
394
 
368
- - Fields: `supplier`, `country`, `processing_base_method`, `fermentation_type`, `drying_method`, `grade`, `wholesale`
369
- - Without a field, prints the canonical `/v1/catalog/facets` envelope (`values`, `facets`, `meta`) unchanged. With a field, prints `{ field, facet, data, meta }` for that counted facet.
395
+ - Fields: `supplier`, `country`, `processing_base_method`, `fermentation_type`, `drying_method`, `wholesale`
396
+ - Grading fields: `grade_size`, `grade_altitude`, `grade_defects`, `grade_cup`, `grade_preparation`, `screen_size_min`, `elevation_band`
397
+ - Without a field, prints the canonical `/v1/catalog/facets` envelope (`values`, `facets`, `meta`) unchanged; it omits grading facets, so name a grading field to get those counts. With a field, prints `{ field, facet, data, meta }` for that counted facet.
370
398
  - `--all`; use all visible catalog rows instead of the default stocked-only scope.
371
399
 
372
400
  `catalog rank` options:
@@ -428,8 +456,7 @@ purvey catalog get 1182 --include-proof --json
428
456
 
429
457
  Notes:
430
458
 
431
- - Catalog commands require an authenticated `viewer` role by default.
432
- - Structured process filters on `catalog search` require an authenticated `member` role.
459
+ - Catalog commands require an authenticated `viewer` role. Parchment decides access to structured process filters and admits any API key with `catalog:read`, including the key `purvey auth login` stores.
433
460
  - Structured process filters use the canonical `/v1/catalog` query contract names while preserving the legacy `--process` label filter.
434
461
  - `--supplier`, `--drying-method`, and `--flavor` pass through to the canonical `/v1/catalog` `supplier`, `dryingMethod`, and `flavorKeywords` parameters; Parchment applies them, not the CLI.
435
462
  - `--include-proof` is an opt-in API-backed catalog read. It consumes the canonical proof summary returned by `/v1/catalog?include=proof`; the CLI does not compute proof fields locally or duplicate web/API proof logic.
@@ -440,7 +467,7 @@ Notes:
440
467
  - Catalog intelligence responses include `meta.sample_limited`, `meta.sample_order`, `meta.truncated`, and rows-examined style metadata where relevant so agents can distinguish ranked samples from full supplier aggregates. Supplier aggregate responses also include `meta.rows_examined`.
441
468
  - Supplier aggregate commands summarize catalog row counts, stocked counts, Purveyor Score coverage, average score, average confidence, price range, origin/process coverage, and representative top coffees with score qualifiers.
442
469
  - `catalog similar` uses the beta canonical `/v1/catalog/{id}/similar` API contract, not the legacy direct RPC path.
443
- - `catalog similar --json` requires member access with the `purvey auth login` key, or an API key with `catalog:read` on any API plan, and returns the grouped canonical response object: `data.target`, `data.groups.canonical_candidates`, `data.groups.similar_recommendations`, optional `data.matches`, and `meta`.
470
+ - `catalog similar --json` works with the `purvey auth login` key or any API key with `catalog:read`, on any API plan, and returns the grouped canonical response object: `data.target`, `data.groups.canonical_candidates`, `data.groups.similar_recommendations`, optional `data.matches`, and `meta`.
444
471
  - `canonical_candidates` are likely same-lot candidates; `similar_recommendations` are substitutes/profile matches and include blocker reasons when identity gates disagree.
445
472
  - The command preserves `classification_version`, `query_strategy`, score dimensions, proof summaries, pricing metadata, and classification/blocker details supplied by the API.
446
473
  - `catalog stats` returns aggregate catalog metrics, not your personal inventory metrics.
@@ -359,7 +359,7 @@ Notes:
359
359
  primaryAppRole, apiPlan, ppiAccess, apiScopes, and capabilities (for example
360
360
  capabilities.profileStudio for Studio reference-profile access).
361
361
  Uses PARCHMENT_API_KEY or PURVEYORS_API_KEY when set, otherwise the key stored by
362
- 'purvey auth login'. With no credential it prints the anonymous principal
362
+ 'purvey auth login'. With no credential it prints a signed-out result
363
363
  (authenticated: false). Use 'purvey auth status' for a local check.
364
364
  `)
365
365
  .action(withErrorHandling(async (_, cmd) => {
@@ -5,9 +5,9 @@ export type { CatalogItem, CatalogStats };
5
5
  export { sanitizeFilterValue, computeCatalogStats };
6
6
  /**
7
7
  * `purvey catalog` — Browse the coffee catalog.
8
- * Requires an authenticated viewer session. Structured process filters on
9
- * `catalog search` require member access under the current session-authenticated
10
- * CLI path.
8
+ * Requires an authenticated viewer session or an API key. Parchment decides
9
+ * access to structured process filters and similarity; the CLI does not pre-check
10
+ * roles for them.
11
11
  */
12
12
  export declare function buildCatalogCommand(): Command;
13
13
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAYL,mBAAmB,EACnB,mBAAmB,EAOpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAUrF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;AAkEpD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAgqB7C"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAYL,mBAAmB,EACnB,mBAAmB,EAapB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAoB,MAAM,mBAAmB,CAAC;AAUrF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;AAkEpD;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CA03B7C"}
@@ -1,7 +1,7 @@
1
1
  import { Command } from 'commander';
2
2
  import { outputData, info } from '../lib/output.js';
3
3
  import { withErrorHandling, PrvrsError } from '../lib/errors.js';
4
- import { searchCatalog, getCatalog, getCatalogStats, getCatalogSimilarity, getCatalogFacets, listCatalogFacets, rankCatalog, catalogRankPremium, supplierList, supplierDetail, supplierRank, computeCatalogStats, sanitizeFilterValue, catalogSortFields, CATALOG_SEARCH_MAX_LIMIT, SUPPLIER_MIN_COFFEES_MAX, catalogFacetFields, catalogRankObjectives, catalogSimilarityModes, } from '../lib/catalog.js';
4
+ import { searchCatalog, getCatalog, getCatalogStats, getCatalogSimilarity, getCatalogFacets, listCatalogFacets, rankCatalog, catalogRankPremium, supplierList, supplierDetail, supplierRank, computeCatalogStats, sanitizeFilterValue, catalogSortFields, CATALOG_SEARCH_MAX_LIMIT, SUPPLIER_MIN_COFFEES_MAX, catalogFacetFields, catalogRankObjectives, catalogSimilarityModes, compareCatalog, getCatalogPriceHistory, gradeDimensions, listCatalogGrades, scoreProtocols, } from '../lib/catalog.js';
5
5
  import { CLI_NUMERIC_BOUNDS } from '../lib/numeric-contracts.js';
6
6
  import { parseStrictInt4Id, parseStrictOffset, parseStrictPositiveCount, } from '../lib/strict-number.js';
7
7
  export { sanitizeFilterValue, computeCatalogStats };
@@ -47,9 +47,9 @@ function parseNonNegativeIntegerArg(rawValue, message) {
47
47
  // ─── Command builder ──────────────────────────────────────────────────────────
48
48
  /**
49
49
  * `purvey catalog` — Browse the coffee catalog.
50
- * Requires an authenticated viewer session. Structured process filters on
51
- * `catalog search` require member access under the current session-authenticated
52
- * CLI path.
50
+ * Requires an authenticated viewer session or an API key. Parchment decides
51
+ * access to structured process filters and similarity; the CLI does not pre-check
52
+ * roles for them.
53
53
  */
54
54
  export function buildCatalogCommand() {
55
55
  const catalog = new Command('catalog').description('Browse the coffee catalog');
@@ -78,6 +78,16 @@ export function buildCatalogCommand() {
78
78
  .option('--offset <n>', '', '0')
79
79
  .option('--limit <n>', '', '10')
80
80
  .option('--include-proof')
81
+ .option('--elevation-min <masl>')
82
+ .option('--elevation-max <masl>')
83
+ .option('--screen-min <n>')
84
+ .option('--screen-max <n>')
85
+ .option('--grade <codes>')
86
+ .option('--grade-kind <kind>')
87
+ .option('--peaberry')
88
+ .option('--lab-analyzed')
89
+ .option('--moisture-max <pct>')
90
+ .option('--score-protocol <protocol>')
81
91
  .addHelpText('after', `
82
92
  Examples:
83
93
  purvey catalog search --origin "Ethiopia" --pretty
@@ -96,6 +106,9 @@ Examples:
96
106
  purvey catalog search --supplier "Royal" --stocked --pretty
97
107
  purvey catalog search --flavor "blueberry,jasmine" --drying-method "raised bed" --pretty
98
108
  purvey catalog search --origin "Ethiopia" --include-proof --json
109
+ purvey catalog search --grade KE:AA,KE:AB --screen-min 17 --stocked --pretty
110
+ purvey catalog search --grade-kind altitude --elevation-min 1600 --pretty
111
+ purvey catalog search --lab-analyzed --moisture-max 11 --pretty
99
112
 
100
113
  Sort fields:
101
114
  price cheapest first
@@ -107,9 +120,6 @@ Notes:
107
120
  All filters are optional. Without flags, returns up to --limit results.
108
121
  --origin accepts partial matches (e.g. "Ethiopia" matches "Ethiopia Guji").
109
122
  --process matches the broad processing label.
110
- --processing-base-method, --fermentation-type, --process-additive,
111
- --processing-disclosure-level, and --processing-confidence-min require member
112
- access.
113
123
  --processing-base-method, --fermentation-type, --process-additive, and
114
124
  --processing-disclosure-level require exact structured metadata matches.
115
125
  --processing-confidence-min accepts a decimal from 0 to 1.
@@ -119,7 +129,10 @@ Notes:
119
129
  --offset + --limit enables pagination through large result sets.
120
130
  --include-proof adds a proof summary to each coffee; without it the output shape
121
131
  is unchanged.
122
- Requires an authenticated viewer session.
132
+ Grading filters (--elevation-*, --screen-*, --grade, --grade-kind, --peaberry,
133
+ --lab-analyzed, --moisture-max, --score-protocol) add a grading object to each
134
+ result. List codes with 'purvey catalog grades'.
135
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
123
136
  `)
124
137
  .action(withErrorHandling(async (opts, cmd) => {
125
138
  const globalOpts = cmd.optsWithGlobals();
@@ -171,6 +184,45 @@ Notes:
171
184
  throw new PrvrsError('INVALID_ARGUMENT', `Invalid --flavor: "${String(opts.flavor)}". Provide at least one keyword.`);
172
185
  }
173
186
  }
187
+ const intOption = (flag, value, min, max) => {
188
+ if (value === undefined)
189
+ return undefined;
190
+ const parsed = parsePositiveIntegerArg(String(value), `Invalid ${flag}: "${String(value)}". Must be a whole number from ${min} to ${max}.`);
191
+ if (parsed < min || parsed > max) {
192
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid ${flag}: "${String(value)}". Must be a whole number from ${min} to ${max}.`);
193
+ }
194
+ return parsed;
195
+ };
196
+ const elevationMin = intOption('--elevation-min', opts.elevationMin, 1, 6000);
197
+ const elevationMax = intOption('--elevation-max', opts.elevationMax, 1, 6000);
198
+ const screenMin = intOption('--screen-min', opts.screenMin, 8, 20);
199
+ const screenMax = intOption('--screen-max', opts.screenMax, 8, 20);
200
+ let gradeCodes;
201
+ if (opts.grade !== undefined) {
202
+ gradeCodes = String(opts.grade)
203
+ .split(',')
204
+ .map((code) => code.trim().toUpperCase())
205
+ .filter(Boolean);
206
+ const invalid = gradeCodes.find((code) => !/^[A-Z][A-Z0-9_]*:[A-Z0-9][A-Z0-9_]*$/.test(code));
207
+ if (gradeCodes.length === 0 || invalid) {
208
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --grade: "${String(opts.grade)}". Use comma-separated codes like KE:AA,PREP:EP (see 'purvey catalog grades').`);
209
+ }
210
+ }
211
+ const gradeKind = opts.gradeKind;
212
+ if (gradeKind !== undefined && !gradeDimensions.includes(gradeKind)) {
213
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --grade-kind: "${gradeKind}". Must be one of: ${gradeDimensions.join(', ')}.`);
214
+ }
215
+ const moistureMax = opts.moistureMax !== undefined
216
+ ? parseFiniteNumberArg(opts.moistureMax, `Invalid --moisture-max: "${String(opts.moistureMax)}". Must be a number from 0 to 20.`)
217
+ : undefined;
218
+ if (moistureMax !== undefined && (moistureMax < 0 || moistureMax > 20)) {
219
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --moisture-max: "${String(opts.moistureMax)}". Must be a number from 0 to 20.`);
220
+ }
221
+ const scoreProtocol = opts.scoreProtocol;
222
+ if (scoreProtocol !== undefined &&
223
+ !scoreProtocols.includes(scoreProtocol)) {
224
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --score-protocol: "${scoreProtocol}". Must be one of: ${scoreProtocols.join(', ')}.`);
225
+ }
174
226
  const includeProof = opts.includeProof ? true : undefined;
175
227
  const data = await searchCatalog({
176
228
  origin: opts.origin,
@@ -194,6 +246,16 @@ Notes:
194
246
  offset,
195
247
  limit,
196
248
  includeProof,
249
+ elevationMin,
250
+ elevationMax,
251
+ screenMin,
252
+ screenMax,
253
+ gradeCodes,
254
+ gradeDimension: gradeKind,
255
+ peaberry: opts.peaberry ? true : undefined,
256
+ labAnalyzed: opts.labAnalyzed ? true : undefined,
257
+ moistureMax,
258
+ scoreProtocol: scoreProtocol,
197
259
  });
198
260
  if (data.length === 0) {
199
261
  info('No coffees found matching your criteria.');
@@ -217,7 +279,7 @@ Notes:
217
279
  <id> is the catalog ID (integer).
218
280
  Use 'purvey catalog search' to find IDs.
219
281
  --include-proof adds the coffee's proof summary.
220
- Requires an authenticated viewer session.
282
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
221
283
  `)
222
284
  .action(withErrorHandling(async (id, opts, cmd) => {
223
285
  const globalOpts = cmd.optsWithGlobals();
@@ -241,7 +303,7 @@ Examples:
241
303
  Notes:
242
304
  Returns aggregated data: total count, average price, unique origins,
243
305
  processing method breakdown, and stocked count.
244
- Requires an authenticated viewer session.
306
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
245
307
  `)
246
308
  .action(withErrorHandling(async (_opts, cmd) => {
247
309
  const globalOpts = cmd.optsWithGlobals();
@@ -257,18 +319,22 @@ Notes:
257
319
  Examples:
258
320
  purvey catalog facets supplier --pretty
259
321
  purvey catalog facets country --all --json
260
- purvey catalog facets --pretty # every counted facet
322
+ purvey catalog facets --pretty # every non-grading facet
323
+ purvey catalog facets grade_altitude --pretty
261
324
 
262
325
  Fields:
263
- supplier, country, processing_base_method, fermentation_type, drying_method, grade, wholesale
326
+ supplier, country, processing_base_method, fermentation_type, drying_method, wholesale
327
+ Grading: grade_size, grade_altitude, grade_defects,
328
+ grade_cup, grade_preparation, screen_size_min, elevation_band
264
329
 
265
330
  Notes:
266
- Without a field, prints every facet with its counted values and meta (values, facets, meta).
331
+ Without a field, prints every non-grading facet with its counted values and
332
+ meta (values, facets, meta); name a grading field to get its counts.
267
333
  With a field, prints { field, facet, data, meta }: that facet's counted values and meta.
268
334
  Counts include only coffees you can see; counts for multi-valued dimensions can
269
335
  overlap, so do not sum them.
270
336
  By default only currently stocked catalog rows are included; use --all for all visible rows.
271
- Requires an authenticated viewer session.
337
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
272
338
  `)
273
339
  .action(withErrorHandling(async (field, opts, cmd) => {
274
340
  const globalOpts = cmd.optsWithGlobals();
@@ -289,7 +355,7 @@ Notes:
289
355
  // ── catalog rank ─────────────────────────────────────────────────────────
290
356
  catalog
291
357
  .command('rank')
292
- .description('Rank catalog candidates by a deterministic objective')
358
+ .description('Rank catalog coffees for a goal: premium, value, fresh arrivals, or rare origins')
293
359
  .option('--objective <objective>', '', 'premium')
294
360
  .option('--supplier <name>')
295
361
  .option('--country <country>')
@@ -313,7 +379,7 @@ Notes:
313
379
  Uses the Purveyor Score as the quality signal.
314
380
  Generic ranking samples catalog rows ordered by id before deterministic ranking;
315
381
  meta.stocked_only/scope, sample_size, and truncated describe that scope, which matters for rare_origin.
316
- Requires an authenticated viewer session.
382
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
317
383
  `)
318
384
  .action(withErrorHandling(async (opts, cmd) => {
319
385
  const globalOpts = cmd.optsWithGlobals();
@@ -360,7 +426,7 @@ Examples:
360
426
  Notes:
361
427
  Ranks by Purveyor Score (purveyor_score in output) and adds transparent ranking
362
428
  signals for agents.
363
- Requires an authenticated viewer session.
429
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
364
430
  `)
365
431
  .action(withErrorHandling(async (opts, cmd) => {
366
432
  const globalOpts = cmd.optsWithGlobals();
@@ -384,7 +450,7 @@ Notes:
384
450
  // ── catalog supplier aggregates ──────────────────────────────────────────
385
451
  catalog
386
452
  .command('supplier-list')
387
- .description('List supplier aggregates from catalog rows')
453
+ .description('Summarize suppliers from the catalog coffees they list')
388
454
  .option('--country <country>')
389
455
  .option('--stocked')
390
456
  .option('--non-wholesale-only')
@@ -399,7 +465,7 @@ Examples:
399
465
  Notes:
400
466
  Aggregates supplier count, stocked count, Purveyor Score coverage, average score,
401
467
  price range, origin coverage, process coverage, and representative top coffees.
402
- Requires an authenticated viewer session.
468
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
403
469
  `)
404
470
  .action(withErrorHandling(async (opts, cmd) => {
405
471
  const globalOpts = cmd.optsWithGlobals();
@@ -428,7 +494,7 @@ Examples:
428
494
 
429
495
  Notes:
430
496
  Supplier matching is case-insensitive and partial, mirroring catalog search.
431
- Requires an authenticated viewer session.
497
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
432
498
  `)
433
499
  .action(withErrorHandling(async (supplier, opts, cmd) => {
434
500
  const globalOpts = cmd.optsWithGlobals();
@@ -459,7 +525,7 @@ Examples:
459
525
 
460
526
  Notes:
461
527
  Ranks suppliers by average Purveyor Score, then currently stocked count.
462
- Requires an authenticated viewer session.
528
+ Requires a sign-in ('purvey auth login') or an API key with catalog:read.
463
529
  `)
464
530
  .action(withErrorHandling(async (opts, cmd) => {
465
531
  const globalOpts = cmd.optsWithGlobals();
@@ -497,9 +563,8 @@ Notes:
497
563
  Blockers, proof summaries, score dimensions, classification_version,
498
564
  query_strategy, and pricing metadata are kept as returned.
499
565
  Default output is compact JSON. Use --pretty for formatted JSON.
500
- Signed in with 'purvey auth login', your account needs member access. An API key
501
- in PURVEYORS_API_KEY or PARCHMENT_API_KEY works on any API plan when it has the
502
- catalog:read scope.
566
+ Needs a sign-in ('purvey auth login') or any API key with catalog:read. The free
567
+ Green API plan includes it within its monthly quota.
503
568
  `)
504
569
  .action(withErrorHandling(async (id, opts, cmd) => {
505
570
  const globalOpts = cmd.optsWithGlobals();
@@ -526,6 +591,97 @@ Notes:
526
591
  });
527
592
  outputData(response, globalOpts);
528
593
  }));
594
+ // ── catalog compare <ids...> ──────────────────────────────────────────────
595
+ catalog
596
+ .command('compare <ids...>')
597
+ .description('Compare 2 to 6 coffees side by side, priced at your quantity')
598
+ .option('--quantity <lb>')
599
+ .addHelpText('after', `
600
+ Examples:
601
+ purvey catalog compare 416 8806 --pretty
602
+ purvey catalog compare 416 8806 1182 --quantity 5 --json | jq '.data.bestPriceLotIds'
603
+
604
+ Notes:
605
+ Rows are grouped (Price, Availability, Origin, Process, Coffee, Grading, Taste,
606
+ Listing) and marked same, partial, or different; price rows name the cheapest
607
+ lots. Grading rows never carry best marks.
608
+ Viewer accounts compare 2 coffees; member accounts and API keys compare up to 6.
609
+ `)
610
+ .action(withErrorHandling(async (ids, opts, cmd) => {
611
+ const globalOpts = cmd.optsWithGlobals();
612
+ const parsedIds = ids
613
+ .flatMap((token) => token.split(','))
614
+ .map((token) => token.trim())
615
+ .filter(Boolean)
616
+ .map((token) => parseInt4IdArg(token, `Invalid ID: "${token}". Each ID must be a positive integer.`));
617
+ if (parsedIds.length < 2 || parsedIds.length > 6) {
618
+ throw new PrvrsError('INVALID_ARGUMENT', 'Compare takes 2 to 6 catalog IDs.');
619
+ }
620
+ const quantityLbs = opts.quantity !== undefined
621
+ ? parseFiniteNumberArg(opts.quantity, `Invalid --quantity: "${String(opts.quantity)}". Must be a positive number of pounds.`)
622
+ : undefined;
623
+ if (quantityLbs !== undefined && (quantityLbs <= 0 || quantityLbs > 10000)) {
624
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --quantity: "${String(opts.quantity)}". Must be a positive number of pounds up to 10000.`);
625
+ }
626
+ outputData(await compareCatalog({ ids: parsedIds, quantityLbs }), globalOpts);
627
+ }));
628
+ // ── catalog price-history <id> ────────────────────────────────────────────
629
+ catalog
630
+ .command('price-history <id>')
631
+ .description('Daily smallest-tier price history for one coffee')
632
+ .option('--days <n>', '', '180')
633
+ .addHelpText('after', `
634
+ Examples:
635
+ purvey catalog price-history 1182 --pretty
636
+ purvey catalog price-history 1182 --days 90 --json | jq '.data.summary'
637
+
638
+ Notes:
639
+ Prices track the smallest order tier. Events flag days when the smallest
640
+ tier's quantity changed, which makes prices before and after not directly
641
+ comparable. Parchment decides access; the key 'purvey auth login' stores works.
642
+ `)
643
+ .action(withErrorHandling(async (id, opts, cmd) => {
644
+ const globalOpts = cmd.optsWithGlobals();
645
+ const coffeeId = parseInt4IdArg(id, `Invalid ID: "${id}". Please provide a numeric catalog ID.`);
646
+ const days = parseBoundedPositiveIntegerArg(opts.days, '--days', 7, 365);
647
+ outputData(await getCatalogPriceHistory({ id: coffeeId, days }), globalOpts);
648
+ }));
649
+ // ── catalog grades [codes...] ─────────────────────────────────────────────
650
+ catalog
651
+ .command('grades [codes...]')
652
+ .description('Explain green grade codes such as KE:AA, ET:G1, GT:SHB, or PREP:EP')
653
+ .option('--kind <kind>')
654
+ .option('--system <system>')
655
+ .option('--include-retired')
656
+ .addHelpText('after', `
657
+ Examples:
658
+ purvey catalog grades --pretty
659
+ purvey catalog grades KE:AA ET:G1 --pretty
660
+ purvey catalog grades --kind altitude --json | jq '.data[].code'
661
+ purvey catalog grades --system BR --pretty
662
+
663
+ Notes:
664
+ Codes are <system>:<token>. Kinds are size, altitude, defects, cup, and
665
+ preparation; composite grades such as ET:G1 carry more than one. Implied
666
+ ranges come from the published definition, not from any lot's disclosure.
667
+ Unknown codes are listed under unknownCodes.
668
+ `)
669
+ .action(withErrorHandling(async (codes, opts, cmd) => {
670
+ const globalOpts = cmd.optsWithGlobals();
671
+ const kind = opts.kind;
672
+ if (kind !== undefined && !gradeDimensions.includes(kind)) {
673
+ throw new PrvrsError('INVALID_ARGUMENT', `Invalid --kind: "${kind}". Must be one of: ${gradeDimensions.join(', ')}.`);
674
+ }
675
+ outputData(await listCatalogGrades({
676
+ codes: codes
677
+ .flatMap((code) => code.split(','))
678
+ .map((code) => code.trim())
679
+ .filter(Boolean),
680
+ dimension: kind,
681
+ system: opts.system,
682
+ includeRetired: opts.includeRetired ? true : undefined,
683
+ }), globalOpts);
684
+ }));
529
685
  return catalog;
530
686
  }
531
687
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/commands/catalog.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ Examples:
37
37
  // procurement get <id>
38
38
  procurement
39
39
  .command('get <id>')
40
- .description('Get a single saved sourcing brief by id')
40
+ .description('Get a single saved sourcing brief by ID')
41
41
  .addHelpText('after', `
42
42
  Examples:
43
43
  purvey procurement get 3f9a2c10-... --pretty`)