@meterapp/car-image-sdk 1.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type ImageParams, type ImageRequestBody, type Year } from "./types.js";
2
+ /** Coerces a year to an integer, throwing a `TypeError` for anything else. */
3
+ export declare function normalizeYear(year: Year): number;
4
+ /** Client-side sanity checks; enums are validated by the server (which accepts aliases). */
5
+ export declare function assertImageParams(params: ImageParams): void;
6
+ /** Query string for GET /api/v1/images/car. */
7
+ export declare function imageSearchParams(params: ImageParams): URLSearchParams;
8
+ /** JSON image object for POST /api/v1/image-urls and POST /api/v1/feedback. */
9
+ export declare function imageRequestBody(params: ImageParams): ImageRequestBody;
10
+ /** A tidy default file name such as `2024-porsche-911-front-3-4-red.png`. */
11
+ export declare function suggestedFileName(params: ImageParams): string;
12
+ //# sourceMappingURL=params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.d.ts","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAEtG,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAMhD;AASD,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAO3D;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CActE;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,gBAAgB,CActE;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAY7D"}
package/dist/params.js ADDED
@@ -0,0 +1,87 @@
1
+ import { MAX_DIMENSION, SIZES } from "./types.js";
2
+ /** Coerces a year to an integer, throwing a `TypeError` for anything else. */
3
+ export function normalizeYear(year) {
4
+ const value = typeof year === "number" ? year : Number(String(year).trim());
5
+ if (!Number.isInteger(value) || value < 1000 || value > 9999) {
6
+ throw new TypeError(`Invalid year "${String(year)}": expected a four-digit model year such as 2024`);
7
+ }
8
+ return value;
9
+ }
10
+ function assertDimension(value, name) {
11
+ if (value === undefined)
12
+ return;
13
+ if (!Number.isInteger(value) || value < 1 || value > MAX_DIMENSION) {
14
+ throw new RangeError(`Invalid ${name} ${String(value)}: expected an integer between 1 and ${MAX_DIMENSION}`);
15
+ }
16
+ }
17
+ /** Client-side sanity checks; enums are validated by the server (which accepts aliases). */
18
+ export function assertImageParams(params) {
19
+ if (!params || typeof params !== "object")
20
+ throw new TypeError("Image params must be an object");
21
+ if (typeof params.make !== "string" || !params.make.trim())
22
+ throw new TypeError("make is required");
23
+ if (typeof params.model !== "string" || !params.model.trim())
24
+ throw new TypeError("model is required");
25
+ normalizeYear(params.year);
26
+ assertDimension(params.width, "width");
27
+ assertDimension(params.height, "height");
28
+ }
29
+ /** Query string for GET /api/v1/images/car. */
30
+ export function imageSearchParams(params) {
31
+ assertImageParams(params);
32
+ const search = new URLSearchParams({
33
+ make: params.make.trim(),
34
+ model: params.model.trim(),
35
+ year: String(normalizeYear(params.year)),
36
+ });
37
+ if (params.view)
38
+ search.set("view", params.view);
39
+ if (params.color)
40
+ search.set("color", params.color);
41
+ if (params.size)
42
+ search.set("size", params.size);
43
+ if (params.width !== undefined)
44
+ search.set("w", String(params.width));
45
+ if (params.height !== undefined)
46
+ search.set("h", String(params.height));
47
+ if (params.format)
48
+ search.set("format", params.format);
49
+ return search;
50
+ }
51
+ /** JSON image object for POST /api/v1/image-urls and POST /api/v1/feedback. */
52
+ export function imageRequestBody(params) {
53
+ assertImageParams(params);
54
+ const body = {
55
+ make: params.make.trim(),
56
+ model: params.model.trim(),
57
+ year: normalizeYear(params.year),
58
+ };
59
+ if (params.view)
60
+ body.view = params.view;
61
+ if (params.color)
62
+ body.color = params.color;
63
+ if (params.width !== undefined)
64
+ body.width = params.width;
65
+ else if (params.size && params.height === undefined)
66
+ body.width = SIZES[params.size];
67
+ if (params.height !== undefined)
68
+ body.height = params.height;
69
+ if (params.format)
70
+ body.format = params.format;
71
+ return body;
72
+ }
73
+ /** A tidy default file name such as `2024-porsche-911-front-3-4-red.png`. */
74
+ export function suggestedFileName(params) {
75
+ const slug = (value) => value
76
+ .normalize("NFD")
77
+ .replace(/[̀-ͯ]/g, "")
78
+ .toLowerCase()
79
+ .replace(/[^a-z0-9]+/g, "-")
80
+ .replace(/^-+|-+$/g, "");
81
+ const parts = [String(normalizeYear(params.year)), slug(params.make), slug(params.model), params.view ?? "front-3-4"];
82
+ if (params.color && params.color !== "silver")
83
+ parts.push(params.color);
84
+ const extension = params.format ?? "png";
85
+ return `${parts.filter(Boolean).join("-")}.${extension}`;
86
+ }
87
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../src/params.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /** Statuses that mean "the server did not process this; try again shortly". */
2
+ export declare const RETRYABLE_STATUSES: ReadonlySet<number>;
3
+ /**
4
+ * Parses a `Retry-After` header into seconds. Accepts delay-seconds or an
5
+ * HTTP-date. Returns `null` when absent or unparsable.
6
+ */
7
+ export declare function parseRetryAfter(value: string | null | undefined, nowMs?: number): number | null;
8
+ /**
9
+ * Full-jitter exponential backoff: a random delay in `[0, min(max, base * 2^attempt)]`.
10
+ * `attempt` is zero-based.
11
+ */
12
+ export declare function backoffDelayMs(attempt: number, baseMs: number, maxMs: number, random?: () => number): number;
13
+ /** Delay before the next attempt, honoring `Retry-After` when the server sent one. */
14
+ export declare function retryDelayMs(retryAfterHeader: string | null | undefined, attempt: number, options: {
15
+ baseMs: number;
16
+ maxMs: number;
17
+ nowMs?: number;
18
+ random?: () => number;
19
+ }): number;
20
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAuB,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,SAAa,GAAG,MAAM,GAAG,IAAI,CAOnG;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAM,MAAoB,GACjC,MAAM,CAGR;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;CAAE,GAChF,MAAM,CAIR"}
package/dist/retry.js ADDED
@@ -0,0 +1,33 @@
1
+ /** Statuses that mean "the server did not process this; try again shortly". */
2
+ export const RETRYABLE_STATUSES = new Set([429, 503]);
3
+ /**
4
+ * Parses a `Retry-After` header into seconds. Accepts delay-seconds or an
5
+ * HTTP-date. Returns `null` when absent or unparsable.
6
+ */
7
+ export function parseRetryAfter(value, nowMs = Date.now()) {
8
+ if (!value)
9
+ return null;
10
+ const trimmed = value.trim();
11
+ if (/^\d+$/.test(trimmed))
12
+ return Number(trimmed);
13
+ const date = Date.parse(trimmed);
14
+ if (Number.isNaN(date))
15
+ return null;
16
+ return Math.max(0, Math.ceil((date - nowMs) / 1000));
17
+ }
18
+ /**
19
+ * Full-jitter exponential backoff: a random delay in `[0, min(max, base * 2^attempt)]`.
20
+ * `attempt` is zero-based.
21
+ */
22
+ export function backoffDelayMs(attempt, baseMs, maxMs, random = Math.random) {
23
+ const ceiling = Math.min(maxMs, baseMs * 2 ** Math.max(0, attempt));
24
+ return Math.round(random() * ceiling);
25
+ }
26
+ /** Delay before the next attempt, honoring `Retry-After` when the server sent one. */
27
+ export function retryDelayMs(retryAfterHeader, attempt, options) {
28
+ const retryAfter = parseRetryAfter(retryAfterHeader, options.nowMs);
29
+ if (retryAfter !== null)
30
+ return Math.min(retryAfter * 1000, options.maxMs);
31
+ return backoffDelayMs(attempt, options.baseMs, options.maxMs, options.random);
32
+ }
33
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAgC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAClF,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,MAAc,EACd,KAAa,EACb,SAAuB,IAAI,CAAC,MAAM;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,YAAY,CAC1B,gBAA2C,EAC3C,OAAe,EACf,OAAiF;IAEjF,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3E,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC"}
@@ -0,0 +1,353 @@
1
+ /**
2
+ * Public types for the Car Image API (https://car-imgs.vercel.app).
3
+ *
4
+ * Wire shapes mirror the REST contract documented at /openapi.json. Field
5
+ * names on responses are snake_case exactly as the server sends them; method
6
+ * options on the client are camelCase.
7
+ */
8
+ export declare const DEFAULT_BASE_URL = "https://car-imgs.vercel.app";
9
+ /** The six camera angles. `front-3-4` is the classic hero shot. */
10
+ export declare const VIEWS: readonly ["front", "front-3-4", "side", "side-right", "rear", "rear-3-4"];
11
+ export type View = (typeof VIEWS)[number];
12
+ /** The fifteen preset paint colors (free-text colors are rejected by the API). */
13
+ export declare const COLORS: readonly ["white", "black", "gray", "silver", "blue", "red", "green", "brown", "beige", "tan", "orange", "yellow", "gold", "burgundy", "purple"];
14
+ export type Color = (typeof COLORS)[number];
15
+ /** Square size presets in pixels; `size` is shorthand for `width`. */
16
+ export declare const SIZES: {
17
+ readonly thumb: 256;
18
+ readonly small: 512;
19
+ readonly medium: 768;
20
+ readonly large: 1024;
21
+ };
22
+ export type Size = keyof typeof SIZES;
23
+ export declare const FORMATS: readonly ["png", "webp", "jpg"];
24
+ export type Format = (typeof FORMATS)[number];
25
+ export declare const MAX_DIMENSION = 1024;
26
+ export declare const MIN_YEAR = 1990;
27
+ /** Pricing invariants: $1 = 1,000 credits; every delivered image costs 1 credit. */
28
+ export declare const CREDITS_PER_IMAGE = 1;
29
+ export declare const CREDITS_PER_DOLLAR = 1000;
30
+ export declare const FREE_CREDITS = 100;
31
+ export type Make = string;
32
+ export type Model = string;
33
+ /** Model year, e.g. `2024` or `"2024"`. */
34
+ export type Year = number | string;
35
+ export interface ImageParams {
36
+ make: Make;
37
+ model: Model;
38
+ year: Year;
39
+ /** Defaults to `front-3-4`. */
40
+ view?: View;
41
+ /** Defaults to `silver`. */
42
+ color?: Color;
43
+ /** Preset shorthand for `width`; ignored when `width`/`height` are given. */
44
+ size?: Size;
45
+ /** 1–1024 px. Output is always square (fit inside). */
46
+ width?: number;
47
+ /** 1–1024 px. */
48
+ height?: number;
49
+ /** Defaults to `png` (transparent background). */
50
+ format?: Format;
51
+ }
52
+ /** JSON body accepted by POST endpoints (`image-urls`, `feedback`). */
53
+ export interface ImageRequestBody {
54
+ make: string;
55
+ model: string;
56
+ year: number;
57
+ view?: View;
58
+ color?: Color;
59
+ width?: number;
60
+ height?: number;
61
+ format?: Format;
62
+ }
63
+ export type ImageSource = "cache" | "generated";
64
+ export interface ImageResult {
65
+ bytes: Uint8Array;
66
+ /** `image/png`, `image/webp` or `image/jpeg`. */
67
+ contentType: string;
68
+ width: number | null;
69
+ height: number | null;
70
+ creditsCharged: number | null;
71
+ creditsRemaining: number | null;
72
+ source: ImageSource | null;
73
+ etag: string | null;
74
+ requestId: string | null;
75
+ }
76
+ export interface VehicleDescriptor {
77
+ make: string;
78
+ model: string;
79
+ year: number;
80
+ view: View;
81
+ color: Color;
82
+ width?: number;
83
+ height?: number;
84
+ format: Format;
85
+ }
86
+ export interface BillingSummary {
87
+ credits_charged: number;
88
+ credits_remaining: number;
89
+ }
90
+ export interface ImageUrlResponse {
91
+ data: {
92
+ url: string;
93
+ expires_at: string;
94
+ vehicle: VehicleDescriptor;
95
+ width: number;
96
+ height: number;
97
+ format: Format;
98
+ };
99
+ billing: BillingSummary;
100
+ request_id: string;
101
+ }
102
+ export interface DeliveryUrl {
103
+ id: string;
104
+ url: string;
105
+ expires_at: string;
106
+ /** 0 = unlimited redemptions until expiry. */
107
+ max_uses: number;
108
+ vehicle: VehicleDescriptor;
109
+ }
110
+ export interface CreateImageUrlsOptions {
111
+ /** 60–604800 seconds; server default 3600. */
112
+ ttlSeconds?: number;
113
+ /** 0 (default) = unlimited until expiry. */
114
+ maxUses?: number;
115
+ }
116
+ export interface CreateImageUrlsResponse {
117
+ data: DeliveryUrl[];
118
+ billing: BillingSummary & {
119
+ charged_on: "creation";
120
+ };
121
+ request_id: string;
122
+ }
123
+ export interface ViewOption {
124
+ id: View;
125
+ label: string;
126
+ yaw_degrees: number;
127
+ description: string;
128
+ aliases: string[];
129
+ }
130
+ export interface ColorOption {
131
+ name: Color;
132
+ hex: string;
133
+ }
134
+ export interface PricingInfo {
135
+ credits_per_image: number;
136
+ credits_per_dollar: number;
137
+ free_credits: number;
138
+ }
139
+ export interface OptionsResponse {
140
+ data: {
141
+ views: ViewOption[];
142
+ colors: ColorOption[];
143
+ sizes: {
144
+ presets: Record<Size, number>;
145
+ max: number;
146
+ };
147
+ formats: Format[];
148
+ pricing: PricingInfo;
149
+ catalog: {
150
+ makes: number;
151
+ models: number;
152
+ years: [number, number];
153
+ sources: string[];
154
+ };
155
+ };
156
+ request_id?: string;
157
+ }
158
+ export interface ResolvedParams {
159
+ make: string;
160
+ model: string;
161
+ year: number;
162
+ view: View;
163
+ color: Color;
164
+ }
165
+ export interface ResolveCandidate {
166
+ make_name?: string;
167
+ make_slug?: string;
168
+ model_name?: string;
169
+ model_slug?: string;
170
+ years?: number[];
171
+ match_kind?: string;
172
+ [key: string]: unknown;
173
+ }
174
+ export type ResolveConfidence = "high" | "medium" | "low" | number;
175
+ export interface ResolveResponse {
176
+ data: {
177
+ params: ResolvedParams & {
178
+ size?: Size;
179
+ width?: number;
180
+ format?: Format;
181
+ };
182
+ display?: {
183
+ make_name: string;
184
+ model_name: string;
185
+ };
186
+ candidates: ResolveCandidate[];
187
+ /** `high` | `medium` | `low` (or a 0–1 score). */
188
+ confidence: ResolveConfidence;
189
+ image_path?: string;
190
+ [key: string]: unknown;
191
+ };
192
+ request_id: string;
193
+ }
194
+ export interface VehicleYearsResponse {
195
+ data: {
196
+ years: number[];
197
+ };
198
+ }
199
+ export interface VehicleMake {
200
+ id: number;
201
+ name: string;
202
+ }
203
+ export interface VehicleMakesResponse {
204
+ data: {
205
+ year: number;
206
+ makes: VehicleMake[];
207
+ };
208
+ }
209
+ export interface VehicleModel {
210
+ id: number;
211
+ name: string;
212
+ make_id?: number;
213
+ type?: string;
214
+ [key: string]: unknown;
215
+ }
216
+ export interface VehicleModelsResponse {
217
+ data: {
218
+ year: number;
219
+ make_id: number;
220
+ models: VehicleModel[];
221
+ };
222
+ }
223
+ export type VehiclesResponse = VehicleYearsResponse | VehicleMakesResponse | VehicleModelsResponse;
224
+ export interface VehicleSearchResult {
225
+ kind: "make" | "model";
226
+ /** Catalog-library spelling. */
227
+ makeId?: number;
228
+ makeName?: string;
229
+ modelName?: string;
230
+ matchKind?: string;
231
+ vehicleType?: string;
232
+ /** REST spelling. */
233
+ make_id?: number;
234
+ make_name?: string;
235
+ make_slug?: string;
236
+ model_name?: string;
237
+ model_slug?: string;
238
+ match_kind?: string;
239
+ vehicle_type?: string;
240
+ years: number[];
241
+ [key: string]: unknown;
242
+ }
243
+ export interface VehicleSearchResponse {
244
+ data: {
245
+ query?: string;
246
+ results: VehicleSearchResult[];
247
+ };
248
+ }
249
+ export type FeedbackTarget = {
250
+ requestId: string;
251
+ } | {
252
+ make: Make;
253
+ model: Model;
254
+ year: Year;
255
+ view?: View;
256
+ color?: Color;
257
+ };
258
+ export type FeedbackInput = FeedbackTarget & {
259
+ rating?: 1 | 2 | 3 | 4 | 5;
260
+ verdict?: "good" | "bad";
261
+ reason?: string;
262
+ };
263
+ export interface FeedbackResponse {
264
+ data: Record<string, unknown>;
265
+ request_id: string;
266
+ }
267
+ export interface AccountResponse {
268
+ data: {
269
+ credits: number;
270
+ auto_reload: boolean;
271
+ has_payment_method: boolean;
272
+ pricing: PricingInfo & {
273
+ packs?: Array<{
274
+ credits: number;
275
+ cents: number;
276
+ label?: string;
277
+ }>;
278
+ };
279
+ usage_30d?: {
280
+ requests: number;
281
+ images: number;
282
+ cache_hit_rate: number;
283
+ };
284
+ key?: {
285
+ prefix?: string;
286
+ scopes: string[];
287
+ };
288
+ };
289
+ links?: Record<string, string>;
290
+ request_id: string;
291
+ }
292
+ export interface CheckoutResponse {
293
+ data: {
294
+ url: string;
295
+ credits: number;
296
+ amount_cents: number;
297
+ };
298
+ request_id?: string;
299
+ }
300
+ export interface PortalResponse {
301
+ data: {
302
+ url: string;
303
+ };
304
+ request_id?: string;
305
+ }
306
+ export interface HealthResponse {
307
+ status: "ok" | "degraded";
308
+ checks: Record<string, unknown>;
309
+ version?: string;
310
+ }
311
+ export interface DeviceCodeResponse {
312
+ device_code: string;
313
+ user_code: string;
314
+ verification_uri: string;
315
+ verification_uri_complete: string;
316
+ expires_in: number;
317
+ interval: number;
318
+ }
319
+ export type DeviceTokenResult = {
320
+ status: "approved";
321
+ accessToken: string;
322
+ tokenType: string;
323
+ scope: string;
324
+ } | {
325
+ status: "pending";
326
+ } | {
327
+ status: "expired";
328
+ };
329
+ export interface TelemetryEvent {
330
+ event: string;
331
+ anonymous_id: string;
332
+ source: "cli" | "mcp" | "sdk";
333
+ properties?: Record<string, unknown>;
334
+ }
335
+ /** Loosely typed OpenAPI 3.1 document served at /openapi.json. */
336
+ export interface OpenApiDocument {
337
+ openapi: string;
338
+ info: {
339
+ title: string;
340
+ version: string;
341
+ description?: string;
342
+ [key: string]: unknown;
343
+ };
344
+ servers?: Array<{
345
+ url: string;
346
+ description?: string;
347
+ }>;
348
+ paths: Record<string, Record<string, unknown>>;
349
+ components?: Record<string, Record<string, unknown>>;
350
+ [key: string]: unknown;
351
+ }
352
+ export type FetchLike = (input: string | URL | Request, init?: RequestInit) => Promise<Response>;
353
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Public types for the Car Image API (https://car-imgs.vercel.app).
3
+ *
4
+ * Wire shapes mirror the REST contract documented at /openapi.json. Field
5
+ * names on responses are snake_case exactly as the server sends them; method
6
+ * options on the client are camelCase.
7
+ */
8
+ export const DEFAULT_BASE_URL = "https://car-imgs.vercel.app";
9
+ /** The six camera angles. `front-3-4` is the classic hero shot. */
10
+ export const VIEWS = ["front", "front-3-4", "side", "side-right", "rear", "rear-3-4"];
11
+ /** The fifteen preset paint colors (free-text colors are rejected by the API). */
12
+ export const COLORS = [
13
+ "white",
14
+ "black",
15
+ "gray",
16
+ "silver",
17
+ "blue",
18
+ "red",
19
+ "green",
20
+ "brown",
21
+ "beige",
22
+ "tan",
23
+ "orange",
24
+ "yellow",
25
+ "gold",
26
+ "burgundy",
27
+ "purple",
28
+ ];
29
+ /** Square size presets in pixels; `size` is shorthand for `width`. */
30
+ export const SIZES = { thumb: 256, small: 512, medium: 768, large: 1024 };
31
+ export const FORMATS = ["png", "webp", "jpg"];
32
+ export const MAX_DIMENSION = 1024;
33
+ export const MIN_YEAR = 1990;
34
+ /** Pricing invariants: $1 = 1,000 credits; every delivered image costs 1 credit. */
35
+ export const CREDITS_PER_IMAGE = 1;
36
+ export const CREDITS_PER_DOLLAR = 1000;
37
+ export const FREE_CREDITS = 100;
38
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAE9D,mEAAmE;AACnE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAG/F,kFAAkF;AAClF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO;IACP,OAAO;IACP,MAAM;IACN,QAAQ;IACR,MAAM;IACN,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,UAAU;IACV,QAAQ;CACA,CAAC;AAGX,sEAAsE;AACtE,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAW,CAAC;AAGnF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AACnC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Kept in sync with package.json by `src/version.test.ts`. */
2
+ export declare const SDK_VERSION = "1.0.0";
3
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,eAAO,MAAM,WAAW,UAAU,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Kept in sync with package.json by `src/version.test.ts`. */
2
+ export const SDK_VERSION = "1.0.0";
3
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC"}