@meterapp/car-image-sdk 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -9,9 +9,18 @@ export declare const DEFAULT_BASE_URL = "https://carimage.dev";
9
9
  /** The six camera angles. `front-3-4` is the classic hero shot. */
10
10
  export declare const VIEWS: readonly ["front", "front-3-4", "side", "side-right", "rear", "rear-3-4"];
11
11
  export type View = (typeof VIEWS)[number];
12
- /** The fifteen preset paint colors (free-text colors are rejected by the API). */
12
+ /** The fifteen preset paint colors. Any other paint is a hex color; see {@link Color}. */
13
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];
14
+ export type PresetColor = (typeof COLORS)[number];
15
+ /**
16
+ * A paint color: one of the presets, or any hex as `#rrggbb`, `rrggbb`,
17
+ * `#rgb` or `rgb` (the `string & Record<never, never>` keeps the preset names
18
+ * in autocomplete). Query strings carry a hex bare (`color=1a2b3c`), JSON
19
+ * bodies take either spelling, and responses echo a hex paint as `#1a2b3c`.
20
+ */
21
+ export type Color = PresetColor | (string & Record<never, never>);
22
+ /** The hex spellings a `Color` accepts: three or six hex digits, `#` optional. */
23
+ export declare const HEX_COLOR_PATTERN: RegExp;
15
24
  /** Square size presets in pixels; `size` is shorthand for `width`. */
16
25
  export declare const SIZES: {
17
26
  readonly thumb: 256;
@@ -71,17 +80,39 @@ export declare const CATALOG: {
71
80
  export declare const CREDITS_PER_IMAGE = 1;
72
81
  export declare const CREDITS_PER_DOLLAR = 1000;
73
82
  export declare const FREE_CREDITS = 100;
83
+ /** A 3D model costs this many credits at launch; `list3dModels()` reports the live figure. */
84
+ export declare const CREDITS_PER_3D_MODEL = 1000;
74
85
  export type Make = string;
75
86
  export type Model = string;
76
87
  /** Model year, e.g. `2024` or `"2024"`. */
77
88
  export type Year = number | string;
78
- export interface ImageParams {
89
+ /**
90
+ * The stable id of one catalog vehicle (make, model and year), such as
91
+ * `veh_395yw8tn73ff8`. Every catalog response carries them, `client.vehicle(id)`
92
+ * looks one up, and `vehicle` names the car wherever make, model and year do.
93
+ */
94
+ export type VehicleId = string;
95
+ export declare const VEHICLE_ID_PATTERN: RegExp;
96
+ /**
97
+ * Which vehicle an image or 3D request is about: make, model and year, or the
98
+ * vehicle's stable id. The two are exclusive; the server answers 400 to both.
99
+ */
100
+ export type VehicleSelector = {
79
101
  make: Make;
80
102
  model: Model;
81
103
  year: Year;
104
+ vehicle?: undefined;
105
+ } | {
106
+ vehicle: VehicleId;
107
+ make?: undefined;
108
+ model?: undefined;
109
+ year?: undefined;
110
+ };
111
+ /** Everything about an image but the vehicle: camera, paint, size and delivery options. */
112
+ export interface ImageOptions {
82
113
  /** Defaults to `front-3-4`. */
83
114
  view?: View;
84
- /** Defaults to `silver`. */
115
+ /** A preset name or a hex paint such as `#1a2b3c`; defaults to `silver`. */
85
116
  color?: Color;
86
117
  /** Preset shorthand for `width`; ignored when `width`/`height` are given. */
87
118
  size?: Size;
@@ -103,11 +134,14 @@ export interface ImageParams {
103
134
  /** Defaults to `png` (transparent background). `auto` negotiates WebP or PNG per client. */
104
135
  format?: RequestFormat;
105
136
  }
106
- /** JSON body accepted by POST endpoints (`image-urls`, `feedback`). */
137
+ /** One image request: `{ make, model, year }` or `{ vehicle }`, plus the options. */
138
+ export type ImageParams = VehicleSelector & ImageOptions;
139
+ /** JSON image object accepted by POST endpoints (`image-urls`, `feedback`). */
107
140
  export interface ImageRequestBody {
108
- make: string;
109
- model: string;
110
- year: number;
141
+ vehicle?: VehicleId;
142
+ make?: string;
143
+ model?: string;
144
+ year?: number;
111
145
  view?: View;
112
146
  color?: Color;
113
147
  width?: number;
@@ -132,10 +166,13 @@ export interface ImageResult {
132
166
  requestId: string | null;
133
167
  }
134
168
  export interface VehicleDescriptor {
169
+ /** Stable id of the catalog vehicle; null when the catalog cannot name one. */
170
+ vehicle_id: VehicleId | null;
135
171
  make: string;
136
172
  model: string;
137
173
  year: number;
138
174
  view: View;
175
+ /** A preset name, or a hex paint echoed as `#rrggbb`. */
139
176
  color: Color;
140
177
  width?: number;
141
178
  height?: number;
@@ -230,7 +267,7 @@ export interface ViewOption {
230
267
  aliases: string[];
231
268
  }
232
269
  export interface ColorOption {
233
- name: Color;
270
+ name: PresetColor;
234
271
  hex: string;
235
272
  }
236
273
  export interface PricingInfo {
@@ -264,7 +301,14 @@ export interface CatalogSource {
264
301
  export interface OptionsResponse {
265
302
  data: {
266
303
  views: ViewOption[];
304
+ /** The fifteen presets with their swatches; any other paint is a hex (`paint`). */
267
305
  colors: ColorOption[];
306
+ /** How custom paint is spelled: any six-digit hex on the `color` parameter. */
307
+ paint?: {
308
+ parameter: string;
309
+ custom: string;
310
+ example: string;
311
+ };
268
312
  sizes: {
269
313
  presets: Record<Size, number>;
270
314
  max: number;
@@ -294,6 +338,13 @@ export interface OptionsResponse {
294
338
  };
295
339
  sources: CatalogSource[];
296
340
  };
341
+ /** Stable vehicle ids: what they look like, where to get one and the parameter that takes it. */
342
+ vehicle_ids?: {
343
+ description: string;
344
+ example: string;
345
+ lookup: string;
346
+ parameter: string;
347
+ };
297
348
  limits: {
298
349
  rate_limit_per_minute_default: number;
299
350
  max_batch_urls: number;
@@ -308,6 +359,8 @@ export interface OptionsResponse {
308
359
  request_id?: string;
309
360
  }
310
361
  export interface ResolvedParams {
362
+ /** Stable id of the resolved catalog vehicle; `{ vehicle }` renders it again. */
363
+ vehicle_id: VehicleId | null;
311
364
  make: string;
312
365
  model: string;
313
366
  year: number;
@@ -344,6 +397,11 @@ export interface ResolveResponse {
344
397
  };
345
398
  request_id: string;
346
399
  }
400
+ /** A contiguous run of model years, as the catalog endpoints compact them. */
401
+ export interface YearRange {
402
+ year_from: number;
403
+ year_to: number;
404
+ }
347
405
  export interface VehicleYearsResponse {
348
406
  data: {
349
407
  years: number[];
@@ -352,6 +410,7 @@ export interface VehicleYearsResponse {
352
410
  export interface VehicleMake {
353
411
  id: number;
354
412
  name: string;
413
+ slug?: string;
355
414
  }
356
415
  export interface VehicleMakesResponse {
357
416
  data: {
@@ -360,10 +419,11 @@ export interface VehicleMakesResponse {
360
419
  };
361
420
  }
362
421
  export interface VehicleModel {
363
- id: number;
364
422
  name: string;
365
- make_id?: number;
366
- type?: string;
423
+ slug: string;
424
+ vehicle_type?: string;
425
+ /** The vehicle id of this model in the listed year; absent when no year was given. */
426
+ id?: VehicleId;
367
427
  [key: string]: unknown;
368
428
  }
369
429
  export interface VehicleModelsResponse {
@@ -373,6 +433,31 @@ export interface VehicleModelsResponse {
373
433
  models: VehicleModel[];
374
434
  };
375
435
  }
436
+ /** `GET /api/v1/vehicles?make=<slug>[&year=]`: one make's models by slug. */
437
+ export interface VehicleMakeModelsResponse {
438
+ data: {
439
+ make: Required<VehicleMake>;
440
+ year?: number;
441
+ models: VehicleModel[];
442
+ };
443
+ }
444
+ /** `GET /api/v1/vehicles?make=<slug>&model=<slug>`: one model's years, each with its vehicle id. */
445
+ export interface VehicleModelLookupResponse {
446
+ data: {
447
+ make: Required<VehicleMake>;
448
+ model: {
449
+ name: string;
450
+ slug: string;
451
+ vehicle_type: string;
452
+ };
453
+ years: number[];
454
+ year_ranges: YearRange[];
455
+ vehicles: Array<{
456
+ year: number;
457
+ id: VehicleId;
458
+ }>;
459
+ };
460
+ }
376
461
  export type VehiclesResponse = VehicleYearsResponse | VehicleMakesResponse | VehicleModelsResponse;
377
462
  export interface VehicleSearchResult {
378
463
  kind: "make" | "model";
@@ -391,23 +476,50 @@ export interface VehicleSearchResult {
391
476
  match_kind?: string;
392
477
  vehicle_type?: string;
393
478
  years: number[];
479
+ year_ranges?: YearRange[];
480
+ /** The vehicle id for the one year the query named (in the text or `year`), when the model has it. */
481
+ id?: VehicleId;
482
+ /** On a model hit: `{ "<year>": "veh_…" }` for every year it is offered. */
483
+ ids?: Record<string, VehicleId>;
394
484
  [key: string]: unknown;
395
485
  }
396
486
  export interface VehicleSearchResponse {
397
487
  data: {
398
488
  query?: string;
489
+ year?: number;
399
490
  results: VehicleSearchResult[];
400
491
  };
401
492
  }
493
+ /** `GET /api/v1/vehicles/{id}`: the vehicle a stable id names, and the URLs that render it. */
494
+ export interface VehicleResponse {
495
+ data: {
496
+ id: VehicleId;
497
+ make: {
498
+ id: number;
499
+ name: string;
500
+ slug: string;
501
+ };
502
+ model: {
503
+ name: string;
504
+ slug: string;
505
+ vehicle_type: string;
506
+ };
507
+ year: number;
508
+ /** Every model year of this model, and the same as ranges. */
509
+ years: number[];
510
+ year_ranges: YearRange[];
511
+ /** `/api/v1/images/car?vehicle=<id>` (default view) and one path per camera. */
512
+ image_path: string;
513
+ images: Record<View, string>;
514
+ };
515
+ request_id: string;
516
+ }
402
517
  export type FeedbackTarget = {
403
518
  requestId: string;
404
- } | {
405
- make: Make;
406
- model: Model;
407
- year: Year;
519
+ } | (VehicleSelector & {
408
520
  view?: View;
409
521
  color?: Color;
410
- };
522
+ });
411
523
  export type FeedbackInput = FeedbackTarget & {
412
524
  rating?: 1 | 2 | 3 | 4 | 5;
413
525
  verdict?: "good" | "bad";
@@ -417,6 +529,231 @@ export interface FeedbackResponse {
417
529
  data: Record<string, unknown>;
418
530
  request_id: string;
419
531
  }
532
+ /** Which decoder answered: the vPIC database, or NHTSA's API when it could not. */
533
+ export type VinSource = "vpic-db" | "vpic-api";
534
+ /** One NHTSA decoder diagnostic (code 0, "decoded clean", is never listed). */
535
+ export interface VinError {
536
+ code: number;
537
+ text: string;
538
+ }
539
+ /**
540
+ * `GET /api/v1/vin/{vin}`: a decoded VIN. Every key is present; unknown values
541
+ * are null. `vehicle` is the catalog vehicle the VIN maps to, with the id and
542
+ * image path that render it, or null when the catalog does not carry it.
543
+ */
544
+ export interface VinResult {
545
+ /** The VIN as decoded: uppercased, spaces and dashes removed. */
546
+ vin: string;
547
+ /** False when the decoder reported a problem (see `errors`, `suggested_vin`). */
548
+ valid: boolean;
549
+ errors: VinError[];
550
+ suggested_vin: string | null;
551
+ year: number | null;
552
+ make: string | null;
553
+ model: string | null;
554
+ trim: string | null;
555
+ series: string | null;
556
+ body_class: string | null;
557
+ vehicle_type: string | null;
558
+ doors: number | null;
559
+ drive_type: string | null;
560
+ fuel_type: string | null;
561
+ engine: {
562
+ cylinders: number | null;
563
+ displacement_l: number | null;
564
+ hp: number | null;
565
+ model: string | null;
566
+ };
567
+ transmission: {
568
+ style: string | null;
569
+ speeds: number | null;
570
+ };
571
+ manufacturer: string | null;
572
+ plant: {
573
+ city: string | null;
574
+ state: string | null;
575
+ country: string | null;
576
+ };
577
+ gvwr: string | null;
578
+ /** Every decoded vPIC variable verbatim (minus the diagnostics above). */
579
+ attributes: Record<string, string>;
580
+ vehicle: {
581
+ id: VehicleId;
582
+ make: string;
583
+ model: string;
584
+ year: number;
585
+ image_path: string;
586
+ } | null;
587
+ source: VinSource;
588
+ }
589
+ export interface VinResponse {
590
+ data: VinResult;
591
+ request_id: string;
592
+ }
593
+ export interface DecodeVinOptions {
594
+ /** Model-year hint for the decoder; flags a mismatch with the VIN's own year position. */
595
+ year?: Year;
596
+ }
597
+ /** The files a ready model offers; `glb_web` is the GLB rebuilt for browsers (meshopt, WebP textures, about a tenth of the bytes). */
598
+ export declare const MODEL_3D_FILE_KINDS: readonly ["glb", "glb_web", "usdz", "fbx", "thumbnail"];
599
+ export type Model3dFileKind = (typeof MODEL_3D_FILE_KINDS)[number];
600
+ export type Model3dStatus = "queued" | "processing" | "ready" | "failed";
601
+ /** One downloadable file; `url` is an API URL that redirects to a short-lived signed object. */
602
+ export interface Model3dFile {
603
+ url: string;
604
+ bytes: number;
605
+ content_type: string;
606
+ }
607
+ /** The copies a published model serves without a key: the web GLB, the USDZ and the transparent poster. */
608
+ export declare const MODEL_3D_PUBLIC_FILE_KINDS: readonly ["glb", "usdz", "poster"];
609
+ export type Model3dPublicFileKind = (typeof MODEL_3D_PUBLIC_FILE_KINDS)[number];
610
+ /** One key-free file of a published model: a stable URL that redirects to the CDN. */
611
+ export interface Model3dPublicFile {
612
+ url: string;
613
+ bytes: number;
614
+ content_type: string;
615
+ }
616
+ /**
617
+ * The hosted side of a published request (`publish3dModel`, or `publish: true`
618
+ * on creation): key-free URLs any page may load, and the two-line embed.
619
+ */
620
+ export interface Model3dPublic {
621
+ /** The public id, `m3d_…`; the URLs and the embed carry it. */
622
+ id: string;
623
+ /** `GET /api/v1/3d/public/{id}`: the model as a viewer sees it, no key. */
624
+ url: string;
625
+ /** Null until the model is ready and its copies were made; the URLs are stable either way. */
626
+ files: Record<Model3dPublicFileKind, Model3dPublicFile> | null;
627
+ embed: {
628
+ /** The embed script (`/embed/3d.js`), once per page. */
629
+ script: string;
630
+ /** `<script …></script>` and `<car-3d model="m3d_…"></car-3d>`: paste into any HTML. */
631
+ html: string;
632
+ };
633
+ published_at: string;
634
+ }
635
+ /** What `GET /api/v1/3d/public/{id}` answers: enough for a viewer, nothing about the account. */
636
+ export interface Model3dPublicView {
637
+ id: string;
638
+ object: "3d_model_public";
639
+ status: Model3dStatus;
640
+ progress: number;
641
+ estimated_seconds_remaining: number | null;
642
+ vehicle: {
643
+ id: VehicleId | null;
644
+ make: string;
645
+ model: string;
646
+ year: number;
647
+ name: string;
648
+ };
649
+ color: Color;
650
+ /** The paint as `#rrggbb`. */
651
+ color_hex: string;
652
+ /** The alt text the embed uses when the page gives none. */
653
+ alt: string;
654
+ files: Record<Model3dPublicFileKind, Model3dPublicFile> | null;
655
+ embed: {
656
+ script: string;
657
+ html: string;
658
+ model_viewer: string;
659
+ };
660
+ published_at: string;
661
+ updated_at: string;
662
+ }
663
+ /** A 3D request as `POST /api/v1/3d`, `GET /api/v1/3d/{id}` and the list return it. */
664
+ export interface Model3d {
665
+ /** The caller's request id; the shared model behind it is never exposed. */
666
+ id: string;
667
+ object: "3d_model";
668
+ status: Model3dStatus;
669
+ /** 0–100. */
670
+ progress: number;
671
+ /** `views`, `geometry`, `texture`, `download`, `done`, or null before work starts. */
672
+ stage: string | null;
673
+ vehicle: {
674
+ id: VehicleId | null;
675
+ make: string;
676
+ model: string;
677
+ year: number;
678
+ };
679
+ /** A preset name, or a hex paint echoed as `#rrggbb`. */
680
+ color: Color;
681
+ generator: string;
682
+ /** Present once `status` is `ready`. */
683
+ files: Partial<Record<Model3dFileKind, Model3dFile>> | null;
684
+ polycount: number | null;
685
+ /** Set when `status` is `failed`; the request was refunded. */
686
+ error: {
687
+ code: string;
688
+ message: string;
689
+ } | null;
690
+ estimated_seconds_remaining: number | null;
691
+ webhook: {
692
+ url: string;
693
+ status: string | null;
694
+ attempts: number;
695
+ last_status: number | null;
696
+ delivered_at: string | null;
697
+ } | null;
698
+ /** The key-free URLs and embed once published; null until then. */
699
+ public: Model3dPublic | null;
700
+ created_at: string;
701
+ updated_at: string;
702
+ ready_at: string | null;
703
+ }
704
+ export interface Model3dResponse {
705
+ data: Model3d;
706
+ request_id: string;
707
+ }
708
+ /**
709
+ * `POST /api/v1/3d`: 202 while the model is being made, 200 when it was
710
+ * already ready. `already_owned` is true, and `credits_charged` 0, when the
711
+ * account already held a live request for this vehicle in this color.
712
+ */
713
+ export interface CreateModel3dResponse {
714
+ data: Model3d;
715
+ billing: BillingSummary & {
716
+ charged_on: "creation";
717
+ already_owned: boolean;
718
+ };
719
+ request_id: string;
720
+ }
721
+ export interface Model3dListResponse {
722
+ data: Model3d[];
723
+ pricing: {
724
+ credits_per_model: number;
725
+ };
726
+ request_id: string;
727
+ }
728
+ export interface CreateModel3dOptions {
729
+ /** A preset name or a hex paint such as `#1a2b3c`; defaults to `silver`. */
730
+ color?: Color;
731
+ /** Public https URL that receives one POST when the model is ready or failed. */
732
+ webhookUrl?: string;
733
+ /** With `webhookUrl`: the body is signed as `X-CarImage-Signature: sha256=<hex HMAC>`. */
734
+ webhookSecret?: string;
735
+ /** Publish at once: `data.public` carries key-free URLs and the embed, files following when the model is ready. */
736
+ publish?: boolean;
737
+ /** Sent as `Idempotency-Key`; generated per call when omitted (see `CreateImageUrlsOptions`). */
738
+ idempotencyKey?: string;
739
+ }
740
+ export interface WaitModel3dOptions {
741
+ /** Time between polls; default 5000 ms. */
742
+ intervalMs?: number;
743
+ /** Give up after this long; default 600000 ms (10 minutes). */
744
+ timeoutMs?: number;
745
+ /** Called after every poll with the current state. */
746
+ onProgress?: (model: Model3d) => void;
747
+ signal?: AbortSignal;
748
+ }
749
+ /** The bytes of one model file, fetched through the signed storage redirect. */
750
+ export interface Model3dFileResult {
751
+ kind: Model3dFileKind;
752
+ bytes: Uint8Array;
753
+ /** `model/gltf-binary`, `model/vnd.usdz+zip`, `application/octet-stream` (FBX) or `image/png`. */
754
+ contentType: string;
755
+ requestId: string | null;
756
+ }
420
757
  /** A public request board entry: a missing vehicle or a feature idea. */
421
758
  export type RequestKind = "vehicle" | "feature";
422
759
  export declare const REQUEST_KINDS: readonly ["vehicle", "feature"];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -8,7 +8,7 @@
8
8
  export const DEFAULT_BASE_URL = "https://carimage.dev";
9
9
  /** The six camera angles. `front-3-4` is the classic hero shot. */
10
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). */
11
+ /** The fifteen preset paint colors. Any other paint is a hex color; see {@link Color}. */
12
12
  export const COLORS = [
13
13
  "white",
14
14
  "black",
@@ -26,6 +26,8 @@ export const COLORS = [
26
26
  "burgundy",
27
27
  "purple",
28
28
  ];
29
+ /** The hex spellings a `Color` accepts: three or six hex digits, `#` optional. */
30
+ export const HEX_COLOR_PATTERN = /^#?[0-9a-fA-F]{3}([0-9a-fA-F]{3})?$/;
29
31
  /** Square size presets in pixels; `size` is shorthand for `width`. */
30
32
  export const SIZES = { thumb: 256, small: 512, medium: 768, large: 1024 };
31
33
  /** The encodings an image is delivered in. */
@@ -76,6 +78,14 @@ export const CATALOG = {
76
78
  export const CREDITS_PER_IMAGE = 1;
77
79
  export const CREDITS_PER_DOLLAR = 1000;
78
80
  export const FREE_CREDITS = 100;
81
+ /** A 3D model costs this many credits at launch; `list3dModels()` reports the live figure. */
82
+ export const CREDITS_PER_3D_MODEL = 1000;
83
+ export const VEHICLE_ID_PATTERN = /^veh_[0-9a-hjkmnp-tv-z]{13}$/;
84
+ // ------------------------------------------------------------- 3D models
85
+ /** The files a ready model offers; `glb_web` is the GLB rebuilt for browsers (meshopt, WebP textures, about a tenth of the bytes). */
86
+ export const MODEL_3D_FILE_KINDS = ["glb", "glb_web", "usdz", "fbx", "thumbnail"];
87
+ /** The copies a published model serves without a key: the web GLB, the USDZ and the transparent poster. */
88
+ export const MODEL_3D_PUBLIC_FILE_KINDS = ["glb", "usdz", "poster"];
79
89
  export const REQUEST_KINDS = ["vehicle", "feature"];
80
90
  export const REQUEST_STATUSES = ["open", "planned", "in_progress", "done", "declined"];
81
91
  export const REQUEST_SORTS = ["top", "new"];
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEvD,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,8CAA8C;AAC9C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAU,CAAC;AAG7D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAC;AAG5D,gFAAgF;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,QAAQ;IAClB,MAAM,EAAE,IAAI;CACJ,CAAC;AAEX,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;AA6UhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,CAAU,CAAC;AAG7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAGhG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,CAAU,CAAC;AA4FrD,0EAA0E;AAE1E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,QAAQ;IACR,cAAc;IACd,QAAQ;IACR,KAAK;IACL,WAAW;IACX,UAAU;IACV,QAAQ;IACR,aAAa;IACb,SAAS;IACT,qBAAqB;IACrB,iBAAiB;IACjB,OAAO;CACC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Kept in sync with package.json by `src/version.test.ts`. */
2
- export declare const SDK_VERSION = "1.4.0";
2
+ export declare const SDK_VERSION = "1.6.0";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Kept in sync with package.json by `src/version.test.ts`. */
2
- export const SDK_VERSION = "1.4.0";
2
+ export const SDK_VERSION = "1.6.0";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@meterapp/car-image-sdk",
3
- "version": "1.4.0",
4
- "description": "TypeScript SDK for the Car Image API by Meter: studio-quality, transparent-background renders of any vehicle in the open @meterapp/vehicle-db catalog. Zero runtime dependencies; works in Node 20+, edge runtimes and browsers.",
3
+ "version": "1.6.0",
4
+ "description": "TypeScript SDK for the Car Image API by Meter: studio-quality, transparent-background renders of any vehicle in the open @meterapp/vehicle-db catalog in any paint color, VIN decoding, stable vehicle ids and textured 3D models. Zero runtime dependencies; works in Node 20+, edge runtimes and browsers.",
5
5
  "license": "MIT",
6
6
  "author": "Meter <hello@meterapp.co> (https://meterapp.co)",
7
7
  "homepage": "https://carimage.dev",