@purveyors/cli 0.33.2 → 0.35.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 +176 -13
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +21 -0
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/catalog.d.ts.map +1 -1
- package/dist/commands/catalog.js +40 -13
- package/dist/commands/catalog.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +2 -0
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +34 -11
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/manifest.d.ts.map +1 -1
- package/dist/commands/manifest.js +2 -0
- package/dist/commands/manifest.js.map +1 -1
- package/dist/commands/market.d.ts.map +1 -1
- package/dist/commands/market.js +40 -2
- package/dist/commands/market.js.map +1 -1
- package/dist/commands/price-index.d.ts +4 -2
- package/dist/commands/price-index.d.ts.map +1 -1
- package/dist/commands/price-index.js +148 -5
- package/dist/commands/price-index.js.map +1 -1
- package/dist/commands/reference-profile.d.ts +4 -0
- package/dist/commands/reference-profile.d.ts.map +1 -0
- package/dist/commands/reference-profile.js +200 -0
- package/dist/commands/reference-profile.js.map +1 -0
- package/dist/commands/roast.d.ts.map +1 -1
- package/dist/commands/roast.js +42 -1
- package/dist/commands/roast.js.map +1 -1
- package/dist/lib/catalog.d.ts +26 -18
- package/dist/lib/catalog.d.ts.map +1 -1
- package/dist/lib/catalog.js +38 -46
- package/dist/lib/catalog.js.map +1 -1
- package/dist/lib/cherry.d.ts +2 -16
- package/dist/lib/cherry.d.ts.map +1 -1
- package/dist/lib/cherry.js +19 -5
- package/dist/lib/cherry.js.map +1 -1
- package/dist/lib/interactive/watch.d.ts +2 -3
- package/dist/lib/interactive/watch.d.ts.map +1 -1
- package/dist/lib/interactive/watch.js +4 -26
- package/dist/lib/interactive/watch.js.map +1 -1
- package/dist/lib/inventory.d.ts +8 -1
- package/dist/lib/inventory.d.ts.map +1 -1
- package/dist/lib/inventory.js +19 -5
- package/dist/lib/inventory.js.map +1 -1
- package/dist/lib/manifest.d.ts +13 -0
- package/dist/lib/manifest.d.ts.map +1 -1
- package/dist/lib/manifest.js +498 -18
- package/dist/lib/manifest.js.map +1 -1
- package/dist/lib/market.d.ts.map +1 -1
- package/dist/lib/numeric-contracts.d.ts +8 -0
- package/dist/lib/numeric-contracts.d.ts.map +1 -1
- package/dist/lib/numeric-contracts.js +2 -0
- package/dist/lib/numeric-contracts.js.map +1 -1
- package/dist/lib/parchment.d.ts +10 -1
- package/dist/lib/parchment.d.ts.map +1 -1
- package/dist/lib/parchment.js +11 -1
- package/dist/lib/parchment.js.map +1 -1
- package/dist/lib/reference-profiles.d.ts +182 -0
- package/dist/lib/reference-profiles.d.ts.map +1 -0
- package/dist/lib/reference-profiles.js +236 -0
- package/dist/lib/reference-profiles.js.map +1 -0
- package/dist/lib/roast.d.ts +36 -2
- package/dist/lib/roast.d.ts.map +1 -1
- package/dist/lib/roast.js +23 -0
- package/dist/lib/roast.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +23 -0
- package/dist/program.js.map +1 -1
- package/package.json +2 -2
- package/dist/lib/artisan/parser.d.ts +0 -19
- package/dist/lib/artisan/parser.d.ts.map +0 -1
- package/dist/lib/artisan/parser.js +0 -376
- package/dist/lib/artisan/parser.js.map +0 -1
- package/dist/lib/artisan/temperature.d.ts +0 -52
- package/dist/lib/artisan/temperature.d.ts.map +0 -1
- package/dist/lib/artisan/temperature.js +0 -101
- package/dist/lib/artisan/temperature.js.map +0 -1
- package/dist/lib/artisan/types.d.ts +0 -195
- package/dist/lib/artisan/types.d.ts.map +0 -1
- package/dist/lib/artisan/types.js +0 -35
- package/dist/lib/artisan/types.js.map +0 -1
- package/dist/lib/artisan/validator.d.ts +0 -14
- package/dist/lib/artisan/validator.d.ts.map +0 -1
- package/dist/lib/artisan/validator.js +0 -228
- package/dist/lib/artisan/validator.js.map +0 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { PrvrsError } from './errors.js';
|
|
6
|
+
import { createParchmentClient, unwrapParchment } from './parchment.js';
|
|
7
|
+
import { normalizePathInput } from './path-input.js';
|
|
8
|
+
import { POSTGRES_INT4_MAX } from './strict-number.js';
|
|
9
|
+
export const REFERENCE_PROFILE_SOURCE_MAX_BYTES = 10_000_000;
|
|
10
|
+
/** Bounds and default published by Parchment for `POST /v1/profile-comparisons`. */
|
|
11
|
+
export const PROFILE_COMPARISON_TARGET_POINTS = {
|
|
12
|
+
minimum: 50,
|
|
13
|
+
maximum: 1000,
|
|
14
|
+
default: 400,
|
|
15
|
+
};
|
|
16
|
+
export const profileComparisonUnits = ['F', 'C'];
|
|
17
|
+
const referenceProfileUuidSchema = z.string().uuid();
|
|
18
|
+
const idempotencyKeySchema = z.string().trim().min(1).max(255);
|
|
19
|
+
const temperatureAdjustmentSchema = z
|
|
20
|
+
.object({
|
|
21
|
+
kind: z.enum(['bean_temperature', 'environmental_temperature']),
|
|
22
|
+
startMilliseconds: z.number().finite().nonnegative(),
|
|
23
|
+
endMilliseconds: z.number().finite().positive(),
|
|
24
|
+
delta: z
|
|
25
|
+
.number()
|
|
26
|
+
.finite()
|
|
27
|
+
.min(-20)
|
|
28
|
+
.max(20)
|
|
29
|
+
.refine((value) => value !== 0),
|
|
30
|
+
})
|
|
31
|
+
.strict()
|
|
32
|
+
.refine((adjustment) => adjustment.endMilliseconds > adjustment.startMilliseconds, {
|
|
33
|
+
path: ['endMilliseconds'],
|
|
34
|
+
message: 'must be later than startMilliseconds',
|
|
35
|
+
});
|
|
36
|
+
const generationRequestSchema = z
|
|
37
|
+
.object({
|
|
38
|
+
title: z.string().trim().min(1).max(200),
|
|
39
|
+
notes: z.string().max(4000).optional(),
|
|
40
|
+
userGoal: z.string().trim().min(1).max(600).optional(),
|
|
41
|
+
modelRecommendation: z.string().trim().min(1).max(800).optional(),
|
|
42
|
+
userEdits: z.string().trim().min(1).max(800).optional(),
|
|
43
|
+
changes: z
|
|
44
|
+
.object({
|
|
45
|
+
temperatureAdjustments: z.array(temperatureAdjustmentSchema).min(1).max(12),
|
|
46
|
+
})
|
|
47
|
+
.strict(),
|
|
48
|
+
})
|
|
49
|
+
.strict();
|
|
50
|
+
const importRequestSchema = z
|
|
51
|
+
.object({
|
|
52
|
+
title: z.string().trim().min(1).max(200).optional(),
|
|
53
|
+
notes: z.string().max(4000).optional(),
|
|
54
|
+
fileName: z.string().min(1).max(255),
|
|
55
|
+
fileContent: z.string().min(1).max(REFERENCE_PROFILE_SOURCE_MAX_BYTES),
|
|
56
|
+
fileSize: z.number().int().positive().max(REFERENCE_PROFILE_SOURCE_MAX_BYTES),
|
|
57
|
+
})
|
|
58
|
+
.strict();
|
|
59
|
+
/** Validate a canonical UUID before making an owner-scoped API call. */
|
|
60
|
+
export function parseReferenceProfileId(value, label) {
|
|
61
|
+
const parsed = referenceProfileUuidSchema.safeParse(value);
|
|
62
|
+
if (!parsed.success) {
|
|
63
|
+
throw new PrvrsError('INVALID_ARGUMENT', `Invalid ${label}: expected a UUID.`);
|
|
64
|
+
}
|
|
65
|
+
return parsed.data;
|
|
66
|
+
}
|
|
67
|
+
/** Use one stable non-secret key per immutable write, matching Parchment's header contract. */
|
|
68
|
+
export function resolveReferenceProfileIdempotencyKey(value) {
|
|
69
|
+
return value === undefined ? randomUUID() : idempotencyKeySchema.parse(value);
|
|
70
|
+
}
|
|
71
|
+
/** Validate the bounded temperature-edit request locally; Parchment remains authoritative. */
|
|
72
|
+
export function parseReferenceProfileGenerationRequest(value) {
|
|
73
|
+
return generationRequestSchema.parse(value);
|
|
74
|
+
}
|
|
75
|
+
export function parseReferenceProfileImportRequest(value) {
|
|
76
|
+
return importRequestSchema.parse(value);
|
|
77
|
+
}
|
|
78
|
+
/** Write a returned plan without replacing a local file unless explicitly requested. */
|
|
79
|
+
export async function writeGeneratedReferenceFile(fileContent, destination, overwrite = false) {
|
|
80
|
+
const filePath = normalizePathInput(destination);
|
|
81
|
+
if (!filePath) {
|
|
82
|
+
throw new PrvrsError('INVALID_ARGUMENT', 'The export destination path cannot be blank.');
|
|
83
|
+
}
|
|
84
|
+
const outputPath = resolve(filePath);
|
|
85
|
+
try {
|
|
86
|
+
await writeFile(outputPath, fileContent, {
|
|
87
|
+
encoding: 'utf8',
|
|
88
|
+
flag: overwrite ? 'w' : 'wx',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (error && typeof error === 'object' && 'code' in error && error.code === 'EEXIST') {
|
|
93
|
+
throw new PrvrsError('INVALID_ARGUMENT', `The destination "${outputPath}" already exists. Pass --force to overwrite it.`);
|
|
94
|
+
}
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
return outputPath;
|
|
98
|
+
}
|
|
99
|
+
/** Read the JSON edit set used by preview and save without interpreting profile data. */
|
|
100
|
+
export async function readReferenceProfileGenerationRequest(inputPath) {
|
|
101
|
+
const filePath = normalizePathInput(inputPath);
|
|
102
|
+
if (!filePath) {
|
|
103
|
+
throw new PrvrsError('INVALID_ARGUMENT', 'The request file path cannot be blank.');
|
|
104
|
+
}
|
|
105
|
+
const raw = await readFile(filePath, 'utf8');
|
|
106
|
+
let parsed;
|
|
107
|
+
try {
|
|
108
|
+
parsed = JSON.parse(raw);
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
throw new PrvrsError('INVALID_ARGUMENT', `The request file "${filePath}" must contain valid JSON.`);
|
|
112
|
+
}
|
|
113
|
+
return parseReferenceProfileGenerationRequest(parsed);
|
|
114
|
+
}
|
|
115
|
+
export async function listReferenceProfiles(includeArchived = false) {
|
|
116
|
+
const client = await createParchmentClient('member');
|
|
117
|
+
return unwrapParchment(await client.referenceProfiles.list(includeArchived), 'reference-profile list');
|
|
118
|
+
}
|
|
119
|
+
export async function getReferenceProfile(id) {
|
|
120
|
+
const profileId = parseReferenceProfileId(id, 'profile id');
|
|
121
|
+
const client = await createParchmentClient('member');
|
|
122
|
+
return unwrapParchment(await client.referenceProfiles.get(profileId), 'reference-profile get');
|
|
123
|
+
}
|
|
124
|
+
export async function getReferenceProfileChart(id, revisionId) {
|
|
125
|
+
const profileId = parseReferenceProfileId(id, 'profile id');
|
|
126
|
+
const parentRevisionId = parseReferenceProfileId(revisionId, 'revision id');
|
|
127
|
+
const client = await createParchmentClient('member');
|
|
128
|
+
return unwrapParchment(await client.referenceProfiles.chart(profileId, parentRevisionId), 'reference-profile chart');
|
|
129
|
+
}
|
|
130
|
+
export async function importReferenceProfile(body, idempotencyKey) {
|
|
131
|
+
const key = resolveReferenceProfileIdempotencyKey(idempotencyKey);
|
|
132
|
+
const client = await createParchmentClient('member');
|
|
133
|
+
return unwrapParchment(await client.referenceProfiles.import(body, key), 'reference-profile import');
|
|
134
|
+
}
|
|
135
|
+
export async function previewReferenceProfile(id, revisionId, body) {
|
|
136
|
+
const profileId = parseReferenceProfileId(id, 'profile id');
|
|
137
|
+
const parentRevisionId = parseReferenceProfileId(revisionId, 'revision id');
|
|
138
|
+
const request = parseReferenceProfileGenerationRequest(body);
|
|
139
|
+
const client = await createParchmentClient('member');
|
|
140
|
+
return unwrapParchment(await client.referenceProfiles.preview(profileId, parentRevisionId, request), 'reference-profile preview');
|
|
141
|
+
}
|
|
142
|
+
export async function saveGeneratedReferenceProfile(id, revisionId, body, idempotencyKey) {
|
|
143
|
+
const profileId = parseReferenceProfileId(id, 'profile id');
|
|
144
|
+
const parentRevisionId = parseReferenceProfileId(revisionId, 'revision id');
|
|
145
|
+
const request = parseReferenceProfileGenerationRequest(body);
|
|
146
|
+
const key = resolveReferenceProfileIdempotencyKey(idempotencyKey);
|
|
147
|
+
const client = await createParchmentClient('member');
|
|
148
|
+
return unwrapParchment(await client.referenceProfiles.generate(profileId, parentRevisionId, request, key), 'reference-profile save');
|
|
149
|
+
}
|
|
150
|
+
export async function exportGeneratedReferenceProfile(id, revisionId) {
|
|
151
|
+
const profileId = parseReferenceProfileId(id, 'profile id');
|
|
152
|
+
const generatedRevisionId = parseReferenceProfileId(revisionId, 'revision id');
|
|
153
|
+
const client = await createParchmentClient('member');
|
|
154
|
+
return unwrapParchment(await client.referenceProfiles.exportGenerated(profileId, generatedRevisionId), 'reference-profile export');
|
|
155
|
+
}
|
|
156
|
+
const ROAST_SELECTOR_PATTERN = /^roast:([1-9]\d{0,9})(?:@(.+))?$/;
|
|
157
|
+
/** Parse `revision:<uuid>`, `profile:<uuid>`, `roast:<id>`, or `roast:<id>@<revision>`. */
|
|
158
|
+
export function parseProfileComparisonSelector(value, label) {
|
|
159
|
+
const trimmed = value.trim();
|
|
160
|
+
const usage = `Invalid ${label} selector: "${value}". Use revision:<reference-revision-uuid>, profile:<reference-profile-uuid>, roast:<roast-id>, or roast:<roast-id>@<chart-revision>.`;
|
|
161
|
+
if (trimmed.startsWith('revision:')) {
|
|
162
|
+
const parsed = referenceProfileUuidSchema.safeParse(trimmed.slice('revision:'.length));
|
|
163
|
+
if (!parsed.success)
|
|
164
|
+
throw new PrvrsError('INVALID_ARGUMENT', usage);
|
|
165
|
+
return { kind: 'revision', revisionId: parsed.data };
|
|
166
|
+
}
|
|
167
|
+
if (trimmed.startsWith('profile:')) {
|
|
168
|
+
const parsed = referenceProfileUuidSchema.safeParse(trimmed.slice('profile:'.length));
|
|
169
|
+
if (!parsed.success)
|
|
170
|
+
throw new PrvrsError('INVALID_ARGUMENT', usage);
|
|
171
|
+
return { kind: 'profile', profileId: parsed.data };
|
|
172
|
+
}
|
|
173
|
+
const roast = ROAST_SELECTOR_PATTERN.exec(trimmed);
|
|
174
|
+
if (roast) {
|
|
175
|
+
const roastId = Number(roast[1]);
|
|
176
|
+
if (!Number.isSafeInteger(roastId) || roastId > POSTGRES_INT4_MAX) {
|
|
177
|
+
throw new PrvrsError('INVALID_ARGUMENT', usage);
|
|
178
|
+
}
|
|
179
|
+
const roastRevision = roast[2]?.trim();
|
|
180
|
+
if (roast[2] !== undefined && !roastRevision) {
|
|
181
|
+
throw new PrvrsError('INVALID_ARGUMENT', usage);
|
|
182
|
+
}
|
|
183
|
+
return roastRevision ? { kind: 'roast', roastId, roastRevision } : { kind: 'roast', roastId };
|
|
184
|
+
}
|
|
185
|
+
throw new PrvrsError('INVALID_ARGUMENT', usage);
|
|
186
|
+
}
|
|
187
|
+
async function resolveProfileComparisonInput(client, selector) {
|
|
188
|
+
if (selector.kind === 'revision') {
|
|
189
|
+
return { type: 'reference_revision', revisionId: selector.revisionId };
|
|
190
|
+
}
|
|
191
|
+
if (selector.kind === 'profile') {
|
|
192
|
+
const profile = unwrapParchment(await client.referenceProfiles.get(selector.profileId), 'reference-profile compare');
|
|
193
|
+
return { type: 'reference_revision', revisionId: profile.data.currentRevisionId };
|
|
194
|
+
}
|
|
195
|
+
if (selector.roastRevision) {
|
|
196
|
+
return {
|
|
197
|
+
type: 'executed_roast',
|
|
198
|
+
roastId: selector.roastId,
|
|
199
|
+
roastRevision: selector.roastRevision,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
const chart = unwrapParchment(await client.roasts.chartData(String(selector.roastId)), `Roast ${selector.roastId} chart data`);
|
|
203
|
+
const roastRevision = chart.data.metadata.revision;
|
|
204
|
+
if (!roastRevision) {
|
|
205
|
+
throw new PrvrsError('INVALID_ARGUMENT', `Roast ${selector.roastId} does not have an immutable chart revision and cannot be compared yet.`);
|
|
206
|
+
}
|
|
207
|
+
return { type: 'executed_roast', roastId: selector.roastId, roastRevision };
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Compare two immutable revisions with Parchment's charge-aligned measured deltas.
|
|
211
|
+
* The canonical comparison envelope is returned unchanged.
|
|
212
|
+
*/
|
|
213
|
+
export async function compareProfiles(input) {
|
|
214
|
+
const targetPoints = input.targetPoints ?? PROFILE_COMPARISON_TARGET_POINTS.default;
|
|
215
|
+
if (!Number.isInteger(targetPoints) ||
|
|
216
|
+
targetPoints < PROFILE_COMPARISON_TARGET_POINTS.minimum ||
|
|
217
|
+
targetPoints > PROFILE_COMPARISON_TARGET_POINTS.maximum) {
|
|
218
|
+
throw new PrvrsError('INVALID_ARGUMENT', `Invalid target points: ${targetPoints}. Must be an integer between ${PROFILE_COMPARISON_TARGET_POINTS.minimum} and ${PROFILE_COMPARISON_TARGET_POINTS.maximum}.`);
|
|
219
|
+
}
|
|
220
|
+
if (!profileComparisonUnits.includes(input.targetUnit)) {
|
|
221
|
+
throw new PrvrsError('INVALID_ARGUMENT', `Invalid unit: "${input.targetUnit}". Must be one of: ${profileComparisonUnits.join(', ')}.`);
|
|
222
|
+
}
|
|
223
|
+
const client = await createParchmentClient('member');
|
|
224
|
+
const [left, right] = await Promise.all([
|
|
225
|
+
resolveProfileComparisonInput(client, input.left),
|
|
226
|
+
resolveProfileComparisonInput(client, input.right),
|
|
227
|
+
]);
|
|
228
|
+
return unwrapParchment(await client.referenceProfiles.compare({
|
|
229
|
+
left,
|
|
230
|
+
right,
|
|
231
|
+
alignment: 'charge',
|
|
232
|
+
targetUnit: input.targetUnit,
|
|
233
|
+
targetPoints,
|
|
234
|
+
}), 'reference-profile compare');
|
|
235
|
+
}
|
|
236
|
+
//# sourceMappingURL=reference-profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference-profiles.js","sourceRoot":"","sources":["../../src/lib/reference-profiles.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/roast.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { components } from '@purveyors/sdk';
|
|
3
|
-
import type { MilestoneData, ProcessedRoastData } from './artisan/types.js';
|
|
4
3
|
export type RoastListProfile = components['schemas']['RoastListResource'];
|
|
5
4
|
export type RoastDetailProfile = components['schemas']['RoastDetailResource'];
|
|
6
5
|
/** Backward-compatible detail-shaped alias for existing CLI consumers. */
|
|
7
6
|
export type RoastProfile = RoastDetailProfile;
|
|
8
7
|
export type TemperatureEntry = components['schemas']['RoastTemperature'];
|
|
9
8
|
export type RoastEventEntry = components['schemas']['RoastEvent'];
|
|
9
|
+
export type RoastChartDataResponse = components['schemas']['RoastChartDataResponse'];
|
|
10
10
|
export declare const listRoastsSchema: z.ZodObject<{
|
|
11
11
|
coffee_id: z.ZodOptional<z.ZodNumber>;
|
|
12
12
|
roast_id: z.ZodOptional<z.ZodNumber>;
|
|
@@ -26,6 +26,16 @@ export declare const getRoastSchema: z.ZodObject<{
|
|
|
26
26
|
includeEvents: z.ZodOptional<z.ZodBoolean>;
|
|
27
27
|
}, z.core.$strip>;
|
|
28
28
|
export type GetRoastInput = z.input<typeof getRoastSchema>;
|
|
29
|
+
/** Bounds published by Parchment for `/v1/roasts/{id}/chart-data?target_points=`. */
|
|
30
|
+
export declare const ROAST_CHART_TARGET_POINTS: {
|
|
31
|
+
readonly minimum: 50;
|
|
32
|
+
readonly maximum: 1000;
|
|
33
|
+
};
|
|
34
|
+
export declare const getRoastChartDataSchema: z.ZodObject<{
|
|
35
|
+
id: z.ZodNumber;
|
|
36
|
+
targetPoints: z.ZodOptional<z.ZodNumber>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type GetRoastChartDataInput = z.input<typeof getRoastChartDataSchema>;
|
|
29
39
|
export declare const createRoastSchema: z.ZodObject<{
|
|
30
40
|
coffeeId: z.ZodNumber;
|
|
31
41
|
batchName: z.ZodOptional<z.ZodString>;
|
|
@@ -33,6 +43,8 @@ export declare const createRoastSchema: z.ZodObject<{
|
|
|
33
43
|
ozOut: z.ZodOptional<z.ZodNumber>;
|
|
34
44
|
roastDate: z.ZodOptional<z.ZodString>;
|
|
35
45
|
notes: z.ZodOptional<z.ZodString>;
|
|
46
|
+
targets: z.ZodOptional<z.ZodString>;
|
|
47
|
+
roasterType: z.ZodOptional<z.ZodString>;
|
|
36
48
|
}, z.core.$strip>;
|
|
37
49
|
export type CreateRoastInput = z.input<typeof createRoastSchema>;
|
|
38
50
|
export declare const deleteRoastSchema: z.ZodObject<{
|
|
@@ -51,6 +63,12 @@ export declare function getRoast(id: number, opts?: {
|
|
|
51
63
|
includeTemps?: boolean;
|
|
52
64
|
includeEvents?: boolean;
|
|
53
65
|
}, tokenOverride?: string): Promise<RoastDetailProfile>;
|
|
66
|
+
/**
|
|
67
|
+
* Fetch Parchment's sampled chart model for one owned roast. The canonical
|
|
68
|
+
* envelope is returned unchanged: series, events, and metadata (including the
|
|
69
|
+
* immutable `metadata.revision` used by profile comparisons).
|
|
70
|
+
*/
|
|
71
|
+
export declare function getRoastChartData(input: GetRoastChartDataInput, tokenOverride?: string): Promise<RoastChartDataResponse>;
|
|
54
72
|
export declare function createRoast(input: CreateRoastInput, tokenOverride?: string): Promise<RoastDetailProfile>;
|
|
55
73
|
export declare function deleteRoast(id: number, tokenOverride?: string): Promise<void>;
|
|
56
74
|
export declare function updateRoast(id: number, input: UpdateRoastInput, tokenOverride?: string): Promise<RoastDetailProfile>;
|
|
@@ -74,11 +92,27 @@ export declare const importRoastSchema: z.ZodObject<{
|
|
|
74
92
|
roastTargets: z.ZodOptional<z.ZodString>;
|
|
75
93
|
}, z.core.$strip>;
|
|
76
94
|
export type ImportRoastInput = z.input<typeof importRoastSchema>;
|
|
95
|
+
export interface MilestoneData {
|
|
96
|
+
charge?: number;
|
|
97
|
+
dry_end?: number;
|
|
98
|
+
fc_start?: number;
|
|
99
|
+
fc_end?: number;
|
|
100
|
+
sc_start?: number;
|
|
101
|
+
sc_end?: number;
|
|
102
|
+
drop?: number;
|
|
103
|
+
cool?: number;
|
|
104
|
+
}
|
|
105
|
+
export interface RoastPhaseSummary {
|
|
106
|
+
drying_percent: number;
|
|
107
|
+
maillard_percent: number;
|
|
108
|
+
development_percent: number;
|
|
109
|
+
total_time_seconds: number;
|
|
110
|
+
}
|
|
77
111
|
export interface ImportRoastResult {
|
|
78
112
|
success: boolean;
|
|
79
113
|
message: string;
|
|
80
114
|
milestones: MilestoneData;
|
|
81
|
-
phases:
|
|
115
|
+
phases: RoastPhaseSummary;
|
|
82
116
|
total_time: number;
|
|
83
117
|
temperature_unit: 'F' | 'C';
|
|
84
118
|
milestone_events: number;
|
package/dist/lib/roast.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roast.d.ts","sourceRoot":"","sources":["../../src/lib/roast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"roast.d.ts","sourceRoot":"","sources":["../../src/lib/roast.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/roast.js
CHANGED
|
@@ -53,6 +53,17 @@ export const getRoastSchema = z.object({
|
|
|
53
53
|
includeTemps: z.boolean().optional(),
|
|
54
54
|
includeEvents: z.boolean().optional(),
|
|
55
55
|
});
|
|
56
|
+
/** Bounds published by Parchment for `/v1/roasts/{id}/chart-data?target_points=`. */
|
|
57
|
+
export const ROAST_CHART_TARGET_POINTS = { minimum: 50, maximum: 1000 };
|
|
58
|
+
export const getRoastChartDataSchema = z.object({
|
|
59
|
+
id: z.number().int().min(1).max(POSTGRES_INT4_MAX),
|
|
60
|
+
targetPoints: z
|
|
61
|
+
.number()
|
|
62
|
+
.int()
|
|
63
|
+
.min(ROAST_CHART_TARGET_POINTS.minimum)
|
|
64
|
+
.max(ROAST_CHART_TARGET_POINTS.maximum)
|
|
65
|
+
.optional(),
|
|
66
|
+
});
|
|
56
67
|
export const createRoastSchema = z.object({
|
|
57
68
|
coffeeId: z.number().int().min(1).max(POSTGRES_INT4_MAX),
|
|
58
69
|
batchName: z.string().optional(),
|
|
@@ -60,6 +71,8 @@ export const createRoastSchema = z.object({
|
|
|
60
71
|
ozOut: z.number().positive().optional(),
|
|
61
72
|
roastDate: z.string().optional(),
|
|
62
73
|
notes: z.string().optional(),
|
|
74
|
+
targets: z.string().optional(),
|
|
75
|
+
roasterType: z.string().optional(),
|
|
63
76
|
});
|
|
64
77
|
export const deleteRoastSchema = z.object({
|
|
65
78
|
id: z.number().int().min(1).max(POSTGRES_INT4_MAX),
|
|
@@ -87,6 +100,16 @@ export async function getRoast(id, opts = {}, tokenOverride) {
|
|
|
87
100
|
const envelope = unwrapParchment(await client.roasts.get(String(id), opts), `Roast ${id}`);
|
|
88
101
|
return envelope.data;
|
|
89
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Fetch Parchment's sampled chart model for one owned roast. The canonical
|
|
105
|
+
* envelope is returned unchanged: series, events, and metadata (including the
|
|
106
|
+
* immutable `metadata.revision` used by profile comparisons).
|
|
107
|
+
*/
|
|
108
|
+
export async function getRoastChartData(input, tokenOverride) {
|
|
109
|
+
const parsed = getRoastChartDataSchema.parse(input);
|
|
110
|
+
const client = await createParchmentClient('member', tokenOverride);
|
|
111
|
+
return unwrapParchment(await client.roasts.chartData(String(parsed.id), parsed.targetPoints === undefined ? undefined : { target_points: parsed.targetPoints }), `Roast ${parsed.id} chart data`);
|
|
112
|
+
}
|
|
90
113
|
export async function createRoast(input, tokenOverride) {
|
|
91
114
|
const parsed = createRoastSchema.parse(input);
|
|
92
115
|
const client = await createParchmentClient('member', tokenOverride);
|
package/dist/lib/roast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roast.js","sourceRoot":"","sources":["../../src/lib/roast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"roast.js","sourceRoot":"","sources":["../../src/lib/roast.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,WAAW,CAAC;AA0CzD,wBAAgB,aAAa,IAAI,MAAM,CAatC;AAED,wBAAgB,aAAa,CAAC,OAAO,SAAkB,GAAG,OAAO,CAuIhE"}
|
package/dist/program.js
CHANGED
|
@@ -11,6 +11,7 @@ import { buildManifestCommand } from './commands/manifest.js';
|
|
|
11
11
|
import { buildMarketCommand } from './commands/market.js';
|
|
12
12
|
import { buildPriceIndexCommand } from './commands/price-index.js';
|
|
13
13
|
import { buildProcurementCommand } from './commands/procurement.js';
|
|
14
|
+
import { buildReferenceProfileCommand } from './commands/reference-profile.js';
|
|
14
15
|
import { buildRoastCommand } from './commands/roast.js';
|
|
15
16
|
import { buildSalesCommand } from './commands/sales.js';
|
|
16
17
|
import { buildTastingCommand } from './commands/tasting.js';
|
|
@@ -57,12 +58,15 @@ export function createProgram(version = getCliVersion()) {
|
|
|
57
58
|
Authentication:
|
|
58
59
|
auth login Log in to purveyors.io (--headless for agents)
|
|
59
60
|
auth status Show current login status and role
|
|
61
|
+
auth whoami Show canonical identity, plan, scopes, and capabilities
|
|
60
62
|
auth logout Clear stored credentials
|
|
61
63
|
|
|
62
64
|
Catalog (viewer role required, member role required for structured process filters):
|
|
63
65
|
catalog search Search the coffee catalog with filters
|
|
64
66
|
catalog get Get details for a specific coffee by ID
|
|
65
67
|
catalog stats Aggregate statistics for the catalog
|
|
68
|
+
catalog facets Counted facet values for filter discovery
|
|
69
|
+
catalog rank Rank catalog candidates by a deterministic objective
|
|
66
70
|
catalog rank-premium Rank premium catalog candidates by Purveyor Score
|
|
67
71
|
catalog supplier-rank Rank suppliers by average Purveyor Score
|
|
68
72
|
catalog similar Fetch canonical candidates and similar recommendations by catalog ID
|
|
@@ -75,6 +79,7 @@ Personal Data (member role required):
|
|
|
75
79
|
inventory delete Delete an inventory item
|
|
76
80
|
roast list List your roast profiles
|
|
77
81
|
roast get Get a single roast profile
|
|
82
|
+
roast chart Get sampled chart data and the chart revision for a roast
|
|
78
83
|
roast create Create a new roast profile
|
|
79
84
|
roast update Update a roast profile
|
|
80
85
|
roast delete Delete a roast profile
|
|
@@ -91,11 +96,26 @@ Market intelligence (canonical API; entitled slices require Parchment Intelligen
|
|
|
91
96
|
market signals Actionable value signals (public summary via --summary)
|
|
92
97
|
market stats Price movement-significance stats (public retail summary)
|
|
93
98
|
market metadata Metadata-trend index (public process/retail/month slice)
|
|
99
|
+
market overview Aggregate market overview (any signed-in session or API key)
|
|
100
|
+
market evidence Named lots and supplier evidence (Intelligence access)
|
|
94
101
|
price-index Parchment Price Index aggregate snapshots
|
|
102
|
+
price-index comparisons Available 30-day matched comparisons with significance
|
|
103
|
+
price-index comparison Matched comparison for one origin between two dates
|
|
104
|
+
price-index history Chart history (public up to 90 days)
|
|
95
105
|
procurement list List your saved sourcing briefs
|
|
96
106
|
procurement get Get a saved sourcing brief by id
|
|
97
107
|
procurement matches Page through catalog matches for a brief
|
|
98
108
|
|
|
109
|
+
Studio reference profiles (member credential plus Studio access):
|
|
110
|
+
reference-profile list List your saved reference profiles
|
|
111
|
+
reference-profile get Get a profile and its current revision
|
|
112
|
+
reference-profile chart Get a typed chart for a revision
|
|
113
|
+
reference-profile compare Compare two roast or reference revisions
|
|
114
|
+
reference-profile import Upload an Artisan file as a reference profile
|
|
115
|
+
reference-profile preview Preview bounded temperature adjustments
|
|
116
|
+
reference-profile save Save an immutable generated plan
|
|
117
|
+
reference-profile export Download a saved plan as an unsigned .alog
|
|
118
|
+
|
|
99
119
|
Local and reference commands (no pre-existing credentials required):
|
|
100
120
|
config list Show all config values
|
|
101
121
|
config get Get a config value
|
|
@@ -119,6 +139,8 @@ Examples:
|
|
|
119
139
|
$ purvey catalog similar 1182 --threshold 0.85 --stocked-only --json | jq '.data.groups'
|
|
120
140
|
$ purvey inventory list --stocked --pretty
|
|
121
141
|
$ purvey roast import my-roast.alog --coffee-id 7
|
|
142
|
+
$ purvey reference-profile list --pretty
|
|
143
|
+
$ purvey reference-profile preview 5ea1af6f-234c-43a9-9bf8-5678dd24f854 8d2c41e0-7b9a-4f3e-a6d1-2c9e5f07b3a4 --request changes.json --pretty
|
|
122
144
|
$ purvey roast watch ~/artisan/ --auto-match
|
|
123
145
|
$ purvey tasting rate 42 --aroma 4 --body 3 --acidity 5 --sweetness 4 --aftertaste 4
|
|
124
146
|
$ purvey --help
|
|
@@ -145,6 +167,7 @@ Module import: @purveyors/cli/manifest
|
|
|
145
167
|
program.addCommand(buildMarketCommand());
|
|
146
168
|
program.addCommand(buildPriceIndexCommand());
|
|
147
169
|
program.addCommand(buildProcurementCommand());
|
|
170
|
+
program.addCommand(buildReferenceProfileCommand());
|
|
148
171
|
program.addCommand(buildRoastCommand());
|
|
149
172
|
program.addCommand(buildSalesCommand());
|
|
150
173
|
program.addCommand(buildTastingCommand());
|
package/dist/program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,SAAS,4BAA4B,CAAC,OAAgB;IACpD,OAAO,CAAC,eAAe,CAAC;QACtB,WAAW,EAAE,GAAG,EAAE;YAChB,wEAAwE;YACxE,6DAA6D;QAC/D,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,YAAY,CAAC,CAAC,KAAqB,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC1C,4BAA4B,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,OAAO,GAAG,OAAO,CAAC;IAEtB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAElF,CAAC;QACF,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAO,GAAG,aAAa,EAAE;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,2EAA2E,CAAC;SACxF,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC;SAClD,MAAM,CAAC,QAAQ,EAAE,sDAAsD,CAAC;SACxE,MAAM,CAAC,UAAU,EAAE,sCAAsC,CAAC;SAC1D,MAAM,CAAC,OAAO,EAAE,uCAAuC,CAAC;SACxD,WAAW,CACV,OAAO,EACP
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@purveyors/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "The official CLI for purveyors.io — coffee intelligence from your terminal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@clack/prompts": "^1.1.0",
|
|
60
|
-
"@purveyors/sdk": "^0.
|
|
60
|
+
"@purveyors/sdk": "^0.47.0",
|
|
61
61
|
"chalk": "^5.4.1",
|
|
62
62
|
"commander": "^13.1.0",
|
|
63
63
|
"ora": "^8.2.0",
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parser for Artisan .alog files which use Python literal syntax
|
|
3
|
-
* Converts Python literals to JSON format for processing
|
|
4
|
-
*/
|
|
5
|
-
export declare function parseAlogFile(alogContent: string): unknown;
|
|
6
|
-
/**
|
|
7
|
-
* Validate that a file is likely an Artisan .alog file
|
|
8
|
-
*/
|
|
9
|
-
export declare function isValidAlogFile(content: string): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Clean up common .alog file formatting issues
|
|
12
|
-
*/
|
|
13
|
-
export declare function preprocessAlogContent(content: string): string;
|
|
14
|
-
/**
|
|
15
|
-
* Main entry point for .alog file processing (formerly processAlogFile).
|
|
16
|
-
* Preprocesses, validates, and parses Artisan .alog files.
|
|
17
|
-
*/
|
|
18
|
-
export declare function processAlogFile(fileContent: string): unknown;
|
|
19
|
-
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/lib/artisan/parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAoE1D;AA+OD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAgCxD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW7D;AAwED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CA4B5D"}
|