@meterapp/car-image-sdk 1.1.0 → 1.3.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.
@@ -13,9 +13,27 @@ import * as z from "zod";
13
13
  export declare const MCP_SERVER_INFO: {
14
14
  readonly name: "car-image-api";
15
15
  readonly title: "Car Image API";
16
- readonly version: "1.1.0";
16
+ readonly version: "1.3.0";
17
17
  readonly websiteUrl: "https://carimage.dev";
18
18
  };
19
+ /**
20
+ * Which tools a server exposes. `core` is what an agent needs to find, render
21
+ * and embed a car; the request board and the two "about you" tools live in
22
+ * `all`, for hosts that opt in (`?toolset=all` on the remote URL,
23
+ * `car-image mcp --toolset all` locally). Fewer, sharper tools cost less
24
+ * context and make the right one easier to pick.
25
+ */
26
+ export declare const MCP_TOOLSETS: {
27
+ readonly core: readonly ["get_car_image", "create_car_image_urls", "search_vehicles", "resolve_vehicle", "list_image_options", "get_account", "rate_image", "describe_api"];
28
+ readonly all: readonly ["get_car_image", "create_car_image_urls", "search_vehicles", "resolve_vehicle", "list_image_options", "get_account", "rate_image", "describe_api", "list_requests", "request_vehicle", "request_feature", "get_request", "upvote_request", "comment_on_request", "share_building", "share_referral"];
29
+ };
30
+ export type McpToolset = keyof typeof MCP_TOOLSETS;
31
+ export declare const DEFAULT_MCP_TOOLSET: McpToolset;
32
+ export declare const MCP_TOOLSET_NAMES: McpToolset[];
33
+ export declare function isMcpToolset(value: unknown): value is McpToolset;
34
+ /** The server instructions for a toolset; `all` includes the request board paragraph. */
35
+ export declare function mcpInstructions(toolset?: McpToolset): string;
36
+ /** Instructions for the full toolset; kept for callers that predate toolsets. */
19
37
  export declare const MCP_INSTRUCTIONS: string;
20
38
  export declare const imageInputSchema: z.ZodObject<{
21
39
  make: z.ZodString;
@@ -54,6 +72,14 @@ export declare const imageInputSchema: z.ZodObject<{
54
72
  }>>;
55
73
  width: z.ZodOptional<z.ZodNumber>;
56
74
  height: z.ZodOptional<z.ZodNumber>;
75
+ fit: z.ZodOptional<z.ZodEnum<{
76
+ contain: "contain";
77
+ cover: "cover";
78
+ inside: "inside";
79
+ }>>;
80
+ background: z.ZodOptional<z.ZodString>;
81
+ trim: z.ZodOptional<z.ZodBoolean>;
82
+ padding: z.ZodOptional<z.ZodNumber>;
57
83
  format: z.ZodDefault<z.ZodEnum<{
58
84
  png: "png";
59
85
  webp: "webp";
@@ -99,6 +125,14 @@ export declare const MCP_TOOL_SCHEMAS: {
99
125
  }>>;
100
126
  width: z.ZodOptional<z.ZodNumber>;
101
127
  height: z.ZodOptional<z.ZodNumber>;
128
+ fit: z.ZodOptional<z.ZodEnum<{
129
+ contain: "contain";
130
+ cover: "cover";
131
+ inside: "inside";
132
+ }>>;
133
+ background: z.ZodOptional<z.ZodString>;
134
+ trim: z.ZodOptional<z.ZodBoolean>;
135
+ padding: z.ZodOptional<z.ZodNumber>;
102
136
  format: z.ZodDefault<z.ZodEnum<{
103
137
  png: "png";
104
138
  webp: "webp";
@@ -143,6 +177,14 @@ export declare const MCP_TOOL_SCHEMAS: {
143
177
  }>>;
144
178
  width: z.ZodOptional<z.ZodNumber>;
145
179
  height: z.ZodOptional<z.ZodNumber>;
180
+ fit: z.ZodOptional<z.ZodEnum<{
181
+ contain: "contain";
182
+ cover: "cover";
183
+ inside: "inside";
184
+ }>>;
185
+ background: z.ZodOptional<z.ZodString>;
186
+ trim: z.ZodOptional<z.ZodBoolean>;
187
+ padding: z.ZodOptional<z.ZodNumber>;
146
188
  format: z.ZodDefault<z.ZodEnum<{
147
189
  png: "png";
148
190
  webp: "webp";
@@ -151,6 +193,8 @@ export declare const MCP_TOOL_SCHEMAS: {
151
193
  }, z.core.$strip>>;
152
194
  ttl_seconds: z.ZodOptional<z.ZodNumber>;
153
195
  max_uses: z.ZodOptional<z.ZodNumber>;
196
+ renew: z.ZodOptional<z.ZodBoolean>;
197
+ renew_days: z.ZodOptional<z.ZodNumber>;
154
198
  }, z.core.$strip>;
155
199
  readonly search_vehicles: z.ZodObject<{
156
200
  query: z.ZodString;
@@ -264,6 +308,554 @@ export declare const MCP_TOOL_SCHEMAS: {
264
308
  };
265
309
  export type McpToolName = keyof typeof MCP_TOOL_SCHEMAS;
266
310
  export type McpToolInput<N extends McpToolName> = z.infer<(typeof MCP_TOOL_SCHEMAS)[N]>;
311
+ export declare const MCP_TOOL_OUTPUT_SCHEMAS: {
312
+ readonly get_car_image: z.ZodObject<{
313
+ credits_charged: z.ZodNullable<z.ZodNumber>;
314
+ credits_remaining: z.ZodNullable<z.ZodNumber>;
315
+ source: z.ZodNullable<z.ZodEnum<{
316
+ cache: "cache";
317
+ generated: "generated";
318
+ }>>;
319
+ width: z.ZodNullable<z.ZodNumber>;
320
+ height: z.ZodNullable<z.ZodNumber>;
321
+ content_type: z.ZodString;
322
+ etag: z.ZodNullable<z.ZodString>;
323
+ request_id: z.ZodNullable<z.ZodString>;
324
+ vehicle: z.ZodObject<{
325
+ make: z.ZodString;
326
+ model: z.ZodString;
327
+ year: z.ZodNumber;
328
+ view: z.ZodEnum<{
329
+ front: "front";
330
+ "front-3-4": "front-3-4";
331
+ side: "side";
332
+ "side-right": "side-right";
333
+ rear: "rear";
334
+ "rear-3-4": "rear-3-4";
335
+ }>;
336
+ color: z.ZodEnum<{
337
+ white: "white";
338
+ black: "black";
339
+ gray: "gray";
340
+ silver: "silver";
341
+ blue: "blue";
342
+ red: "red";
343
+ green: "green";
344
+ brown: "brown";
345
+ beige: "beige";
346
+ tan: "tan";
347
+ orange: "orange";
348
+ yellow: "yellow";
349
+ gold: "gold";
350
+ burgundy: "burgundy";
351
+ purple: "purple";
352
+ }>;
353
+ width: z.ZodOptional<z.ZodNumber>;
354
+ height: z.ZodOptional<z.ZodNumber>;
355
+ fit: z.ZodOptional<z.ZodEnum<{
356
+ contain: "contain";
357
+ cover: "cover";
358
+ inside: "inside";
359
+ }>>;
360
+ background: z.ZodOptional<z.ZodString>;
361
+ trim: z.ZodOptional<z.ZodBoolean>;
362
+ padding: z.ZodOptional<z.ZodNumber>;
363
+ format: z.ZodEnum<{
364
+ png: "png";
365
+ webp: "webp";
366
+ jpg: "jpg";
367
+ auto: "auto";
368
+ }>;
369
+ }, z.core.$loose>;
370
+ }, z.core.$loose>;
371
+ readonly create_car_image_urls: z.ZodObject<{
372
+ data: z.ZodArray<z.ZodObject<{
373
+ id: z.ZodString;
374
+ url: z.ZodString;
375
+ expires_at: z.ZodString;
376
+ max_uses: z.ZodNumber;
377
+ renews_until: z.ZodOptional<z.ZodNullable<z.ZodString>>;
378
+ vehicle: z.ZodObject<{
379
+ make: z.ZodString;
380
+ model: z.ZodString;
381
+ year: z.ZodNumber;
382
+ view: z.ZodEnum<{
383
+ front: "front";
384
+ "front-3-4": "front-3-4";
385
+ side: "side";
386
+ "side-right": "side-right";
387
+ rear: "rear";
388
+ "rear-3-4": "rear-3-4";
389
+ }>;
390
+ color: z.ZodEnum<{
391
+ white: "white";
392
+ black: "black";
393
+ gray: "gray";
394
+ silver: "silver";
395
+ blue: "blue";
396
+ red: "red";
397
+ green: "green";
398
+ brown: "brown";
399
+ beige: "beige";
400
+ tan: "tan";
401
+ orange: "orange";
402
+ yellow: "yellow";
403
+ gold: "gold";
404
+ burgundy: "burgundy";
405
+ purple: "purple";
406
+ }>;
407
+ width: z.ZodOptional<z.ZodNumber>;
408
+ height: z.ZodOptional<z.ZodNumber>;
409
+ fit: z.ZodOptional<z.ZodEnum<{
410
+ contain: "contain";
411
+ cover: "cover";
412
+ inside: "inside";
413
+ }>>;
414
+ background: z.ZodOptional<z.ZodString>;
415
+ trim: z.ZodOptional<z.ZodBoolean>;
416
+ padding: z.ZodOptional<z.ZodNumber>;
417
+ format: z.ZodEnum<{
418
+ png: "png";
419
+ webp: "webp";
420
+ jpg: "jpg";
421
+ auto: "auto";
422
+ }>;
423
+ }, z.core.$loose>;
424
+ }, z.core.$loose>>;
425
+ billing: z.ZodObject<{
426
+ charged_on: z.ZodLiteral<"creation">;
427
+ credits_charged: z.ZodNumber;
428
+ credits_remaining: z.ZodNumber;
429
+ renewal: z.ZodOptional<z.ZodNullable<z.ZodObject<{
430
+ window_seconds: z.ZodNumber;
431
+ credits_per_window: z.ZodNumber;
432
+ until: z.ZodString;
433
+ }, z.core.$loose>>>;
434
+ }, z.core.$loose>;
435
+ request_id: z.ZodString;
436
+ }, z.core.$loose>;
437
+ readonly search_vehicles: z.ZodObject<{
438
+ data: z.ZodObject<{
439
+ query: z.ZodString;
440
+ results: z.ZodArray<z.ZodObject<{
441
+ kind: z.ZodEnum<{
442
+ make: "make";
443
+ model: "model";
444
+ }>;
445
+ make: z.ZodString;
446
+ make_slug: z.ZodString;
447
+ model: z.ZodNullable<z.ZodString>;
448
+ model_slug: z.ZodNullable<z.ZodString>;
449
+ vehicle_type: z.ZodNullable<z.ZodString>;
450
+ years: z.ZodArray<z.ZodNumber>;
451
+ match_kind: z.ZodNullable<z.ZodString>;
452
+ }, z.core.$loose>>;
453
+ }, z.core.$loose>;
454
+ }, z.core.$loose>;
455
+ readonly resolve_vehicle: z.ZodObject<{
456
+ data: z.ZodObject<{
457
+ params: z.ZodObject<{
458
+ make: z.ZodString;
459
+ model: z.ZodString;
460
+ year: z.ZodNumber;
461
+ view: z.ZodEnum<{
462
+ front: "front";
463
+ "front-3-4": "front-3-4";
464
+ side: "side";
465
+ "side-right": "side-right";
466
+ rear: "rear";
467
+ "rear-3-4": "rear-3-4";
468
+ }>;
469
+ color: z.ZodEnum<{
470
+ white: "white";
471
+ black: "black";
472
+ gray: "gray";
473
+ silver: "silver";
474
+ blue: "blue";
475
+ red: "red";
476
+ green: "green";
477
+ brown: "brown";
478
+ beige: "beige";
479
+ tan: "tan";
480
+ orange: "orange";
481
+ yellow: "yellow";
482
+ gold: "gold";
483
+ burgundy: "burgundy";
484
+ purple: "purple";
485
+ }>;
486
+ }, z.core.$loose>;
487
+ display: z.ZodOptional<z.ZodObject<{
488
+ make_name: z.ZodString;
489
+ model_name: z.ZodString;
490
+ }, z.core.$loose>>;
491
+ candidates: z.ZodArray<z.ZodObject<{
492
+ make_name: z.ZodOptional<z.ZodString>;
493
+ make_slug: z.ZodOptional<z.ZodString>;
494
+ model_name: z.ZodOptional<z.ZodString>;
495
+ model_slug: z.ZodOptional<z.ZodString>;
496
+ years: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
497
+ match_kind: z.ZodOptional<z.ZodString>;
498
+ }, z.core.$loose>>;
499
+ confidence: z.ZodEnum<{
500
+ medium: "medium";
501
+ high: "high";
502
+ low: "low";
503
+ }>;
504
+ image_path: z.ZodOptional<z.ZodString>;
505
+ extracted: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
506
+ }, z.core.$loose>;
507
+ cli: z.ZodString;
508
+ }, z.core.$loose>;
509
+ readonly list_image_options: z.ZodObject<{
510
+ data: z.ZodObject<{
511
+ views: z.ZodArray<z.ZodObject<{
512
+ id: z.ZodEnum<{
513
+ front: "front";
514
+ "front-3-4": "front-3-4";
515
+ side: "side";
516
+ "side-right": "side-right";
517
+ rear: "rear";
518
+ "rear-3-4": "rear-3-4";
519
+ }>;
520
+ label: z.ZodString;
521
+ yaw_degrees: z.ZodNumber;
522
+ description: z.ZodString;
523
+ aliases: z.ZodArray<z.ZodString>;
524
+ }, z.core.$loose>>;
525
+ colors: z.ZodArray<z.ZodObject<{
526
+ name: z.ZodEnum<{
527
+ white: "white";
528
+ black: "black";
529
+ gray: "gray";
530
+ silver: "silver";
531
+ blue: "blue";
532
+ red: "red";
533
+ green: "green";
534
+ brown: "brown";
535
+ beige: "beige";
536
+ tan: "tan";
537
+ orange: "orange";
538
+ yellow: "yellow";
539
+ gold: "gold";
540
+ burgundy: "burgundy";
541
+ purple: "purple";
542
+ }>;
543
+ hex: z.ZodString;
544
+ }, z.core.$loose>>;
545
+ sizes: z.ZodObject<{
546
+ presets: z.ZodRecord<z.ZodString, z.ZodNumber>;
547
+ max: z.ZodNumber;
548
+ }, z.core.$loose>;
549
+ formats: z.ZodArray<z.ZodEnum<{
550
+ png: "png";
551
+ webp: "webp";
552
+ jpg: "jpg";
553
+ }>>;
554
+ pricing: z.ZodObject<{
555
+ credits_per_image: z.ZodNumber;
556
+ credits_per_dollar: z.ZodNumber;
557
+ free_credits: z.ZodOptional<z.ZodNumber>;
558
+ packs: z.ZodOptional<z.ZodArray<z.ZodObject<{
559
+ credits: z.ZodNumber;
560
+ cents: z.ZodNumber;
561
+ label: z.ZodOptional<z.ZodString>;
562
+ }, z.core.$loose>>>;
563
+ }, z.core.$loose>;
564
+ catalog: z.ZodObject<{
565
+ makes: z.ZodNumber;
566
+ models: z.ZodNumber;
567
+ years: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
568
+ sources: z.ZodArray<z.ZodString>;
569
+ }, z.core.$loose>;
570
+ }, z.core.$loose>;
571
+ }, z.core.$loose>;
572
+ readonly get_account: z.ZodObject<{
573
+ data: z.ZodObject<{
574
+ credits: z.ZodNumber;
575
+ credits_usd: z.ZodNumber;
576
+ auto_reload: z.ZodBoolean;
577
+ has_payment_method: z.ZodBoolean;
578
+ pricing: z.ZodObject<{
579
+ credits_per_image: z.ZodNumber;
580
+ credits_per_dollar: z.ZodNumber;
581
+ free_credits: z.ZodOptional<z.ZodNumber>;
582
+ packs: z.ZodOptional<z.ZodArray<z.ZodObject<{
583
+ credits: z.ZodNumber;
584
+ cents: z.ZodNumber;
585
+ label: z.ZodOptional<z.ZodString>;
586
+ }, z.core.$loose>>>;
587
+ }, z.core.$loose>;
588
+ key: z.ZodOptional<z.ZodObject<{
589
+ id: z.ZodOptional<z.ZodString>;
590
+ scopes: z.ZodArray<z.ZodString>;
591
+ }, z.core.$loose>>;
592
+ }, z.core.$loose>;
593
+ links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
594
+ request_id: z.ZodOptional<z.ZodString>;
595
+ }, z.core.$loose>;
596
+ readonly rate_image: z.ZodObject<{
597
+ data: z.ZodObject<{
598
+ asset_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
599
+ flagged: z.ZodBoolean;
600
+ rating: z.ZodOptional<z.ZodNumber>;
601
+ verdict: z.ZodOptional<z.ZodEnum<{
602
+ good: "good";
603
+ bad: "bad";
604
+ }>>;
605
+ }, z.core.$loose>;
606
+ request_id: z.ZodString;
607
+ }, z.core.$loose>;
608
+ readonly list_requests: z.ZodObject<{
609
+ data: z.ZodArray<z.ZodObject<{
610
+ comments: z.ZodNumber;
611
+ id: z.ZodString;
612
+ kind: z.ZodEnum<{
613
+ vehicle: "vehicle";
614
+ feature: "feature";
615
+ }>;
616
+ title: z.ZodString;
617
+ body: z.ZodNullable<z.ZodString>;
618
+ vehicle: z.ZodNullable<z.ZodObject<{
619
+ make: z.ZodString;
620
+ model: z.ZodString;
621
+ year: z.ZodNullable<z.ZodNumber>;
622
+ }, z.core.$loose>>;
623
+ status: z.ZodEnum<{
624
+ open: "open";
625
+ planned: "planned";
626
+ in_progress: "in_progress";
627
+ done: "done";
628
+ declined: "declined";
629
+ }>;
630
+ votes: z.ZodNumber;
631
+ author: z.ZodString;
632
+ url: z.ZodString;
633
+ created_at: z.ZodString;
634
+ updated_at: z.ZodString;
635
+ viewer: z.ZodOptional<z.ZodObject<{
636
+ voted: z.ZodBoolean;
637
+ }, z.core.$loose>>;
638
+ }, z.core.$loose>>;
639
+ next_cursor: z.ZodNullable<z.ZodString>;
640
+ request_id: z.ZodString;
641
+ }, z.core.$loose>;
642
+ readonly request_vehicle: z.ZodObject<{
643
+ data: z.ZodObject<{
644
+ comments: z.ZodNumber;
645
+ id: z.ZodString;
646
+ kind: z.ZodEnum<{
647
+ vehicle: "vehicle";
648
+ feature: "feature";
649
+ }>;
650
+ title: z.ZodString;
651
+ body: z.ZodNullable<z.ZodString>;
652
+ vehicle: z.ZodNullable<z.ZodObject<{
653
+ make: z.ZodString;
654
+ model: z.ZodString;
655
+ year: z.ZodNullable<z.ZodNumber>;
656
+ }, z.core.$loose>>;
657
+ status: z.ZodEnum<{
658
+ open: "open";
659
+ planned: "planned";
660
+ in_progress: "in_progress";
661
+ done: "done";
662
+ declined: "declined";
663
+ }>;
664
+ votes: z.ZodNumber;
665
+ author: z.ZodString;
666
+ url: z.ZodString;
667
+ created_at: z.ZodString;
668
+ updated_at: z.ZodString;
669
+ viewer: z.ZodOptional<z.ZodObject<{
670
+ voted: z.ZodBoolean;
671
+ }, z.core.$loose>>;
672
+ }, z.core.$loose>;
673
+ deduplicated: z.ZodBoolean;
674
+ request_id: z.ZodString;
675
+ }, z.core.$loose>;
676
+ readonly request_feature: z.ZodObject<{
677
+ data: z.ZodObject<{
678
+ comments: z.ZodNumber;
679
+ id: z.ZodString;
680
+ kind: z.ZodEnum<{
681
+ vehicle: "vehicle";
682
+ feature: "feature";
683
+ }>;
684
+ title: z.ZodString;
685
+ body: z.ZodNullable<z.ZodString>;
686
+ vehicle: z.ZodNullable<z.ZodObject<{
687
+ make: z.ZodString;
688
+ model: z.ZodString;
689
+ year: z.ZodNullable<z.ZodNumber>;
690
+ }, z.core.$loose>>;
691
+ status: z.ZodEnum<{
692
+ open: "open";
693
+ planned: "planned";
694
+ in_progress: "in_progress";
695
+ done: "done";
696
+ declined: "declined";
697
+ }>;
698
+ votes: z.ZodNumber;
699
+ author: z.ZodString;
700
+ url: z.ZodString;
701
+ created_at: z.ZodString;
702
+ updated_at: z.ZodString;
703
+ viewer: z.ZodOptional<z.ZodObject<{
704
+ voted: z.ZodBoolean;
705
+ }, z.core.$loose>>;
706
+ }, z.core.$loose>;
707
+ deduplicated: z.ZodBoolean;
708
+ request_id: z.ZodString;
709
+ }, z.core.$loose>;
710
+ readonly get_request: z.ZodObject<{
711
+ data: z.ZodObject<{
712
+ comment_count: z.ZodNumber;
713
+ comments: z.ZodArray<z.ZodObject<{
714
+ id: z.ZodString;
715
+ request_id: z.ZodString;
716
+ body: z.ZodString;
717
+ author: z.ZodString;
718
+ created_at: z.ZodString;
719
+ }, z.core.$loose>>;
720
+ id: z.ZodString;
721
+ kind: z.ZodEnum<{
722
+ vehicle: "vehicle";
723
+ feature: "feature";
724
+ }>;
725
+ title: z.ZodString;
726
+ body: z.ZodNullable<z.ZodString>;
727
+ vehicle: z.ZodNullable<z.ZodObject<{
728
+ make: z.ZodString;
729
+ model: z.ZodString;
730
+ year: z.ZodNullable<z.ZodNumber>;
731
+ }, z.core.$loose>>;
732
+ status: z.ZodEnum<{
733
+ open: "open";
734
+ planned: "planned";
735
+ in_progress: "in_progress";
736
+ done: "done";
737
+ declined: "declined";
738
+ }>;
739
+ votes: z.ZodNumber;
740
+ author: z.ZodString;
741
+ url: z.ZodString;
742
+ created_at: z.ZodString;
743
+ updated_at: z.ZodString;
744
+ viewer: z.ZodOptional<z.ZodObject<{
745
+ voted: z.ZodBoolean;
746
+ }, z.core.$loose>>;
747
+ }, z.core.$loose>;
748
+ request_id: z.ZodString;
749
+ }, z.core.$loose>;
750
+ readonly upvote_request: z.ZodObject<{
751
+ data: z.ZodObject<{
752
+ comments: z.ZodNumber;
753
+ id: z.ZodString;
754
+ kind: z.ZodEnum<{
755
+ vehicle: "vehicle";
756
+ feature: "feature";
757
+ }>;
758
+ title: z.ZodString;
759
+ body: z.ZodNullable<z.ZodString>;
760
+ vehicle: z.ZodNullable<z.ZodObject<{
761
+ make: z.ZodString;
762
+ model: z.ZodString;
763
+ year: z.ZodNullable<z.ZodNumber>;
764
+ }, z.core.$loose>>;
765
+ status: z.ZodEnum<{
766
+ open: "open";
767
+ planned: "planned";
768
+ in_progress: "in_progress";
769
+ done: "done";
770
+ declined: "declined";
771
+ }>;
772
+ votes: z.ZodNumber;
773
+ author: z.ZodString;
774
+ url: z.ZodString;
775
+ created_at: z.ZodString;
776
+ updated_at: z.ZodString;
777
+ viewer: z.ZodOptional<z.ZodObject<{
778
+ voted: z.ZodBoolean;
779
+ }, z.core.$loose>>;
780
+ }, z.core.$loose>;
781
+ request_id: z.ZodString;
782
+ }, z.core.$loose>;
783
+ readonly comment_on_request: z.ZodObject<{
784
+ data: z.ZodObject<{
785
+ id: z.ZodString;
786
+ request_id: z.ZodString;
787
+ body: z.ZodString;
788
+ author: z.ZodString;
789
+ created_at: z.ZodString;
790
+ }, z.core.$loose>;
791
+ request_id: z.ZodString;
792
+ }, z.core.$loose>;
793
+ readonly share_building: z.ZodObject<{
794
+ data: z.ZodObject<{
795
+ building: z.ZodString;
796
+ updated_at: z.ZodString;
797
+ }, z.core.$loose>;
798
+ request_id: z.ZodString;
799
+ }, z.core.$loose>;
800
+ readonly share_referral: z.ZodObject<{
801
+ data: z.ZodObject<{
802
+ source: z.ZodEnum<{
803
+ search: "search";
804
+ ai_assistant: "ai_assistant";
805
+ github: "github";
806
+ npm: "npm";
807
+ twitter_x: "twitter_x";
808
+ linkedin: "linkedin";
809
+ reddit: "reddit";
810
+ hacker_news: "hacker_news";
811
+ youtube: "youtube";
812
+ friend_or_colleague: "friend_or_colleague";
813
+ blog_or_article: "blog_or_article";
814
+ other: "other";
815
+ }>;
816
+ detail: z.ZodNullable<z.ZodString>;
817
+ updated_at: z.ZodString;
818
+ }, z.core.$loose>;
819
+ request_id: z.ZodString;
820
+ }, z.core.$loose>;
821
+ };
822
+ /** The tools that promise structured content, i.e. everything but `describe_api`. */
823
+ export type McpToolWithOutput = keyof typeof MCP_TOOL_OUTPUT_SCHEMAS;
824
+ export type McpToolOutput<N extends McpToolWithOutput> = z.infer<(typeof MCP_TOOL_OUTPUT_SCHEMAS)[N]>;
825
+ /** A catalog hit as either server holds it: the library's camelCase or the REST spelling. */
826
+ export interface VehicleMatchSource {
827
+ kind: "make" | "model";
828
+ makeName?: string;
829
+ makeSlug?: string;
830
+ modelName?: string;
831
+ modelSlug?: string;
832
+ vehicleType?: string;
833
+ matchKind?: string;
834
+ make_name?: string;
835
+ make_slug?: string;
836
+ model_name?: string;
837
+ model_slug?: string;
838
+ vehicle_type?: string;
839
+ match_kind?: string;
840
+ years?: number[];
841
+ }
842
+ /**
843
+ * Normalizes a catalog hit into the one shape `search_vehicles` promises.
844
+ *
845
+ * The remote server reads the catalog library (camelCase) and the stdio one
846
+ * reads `GET /api/v1/vehicles?q=` (snake_case, and it omits `model_name`
847
+ * entirely on a make hit rather than sending null). Agents pass these straight
848
+ * to get_car_image, so both are mapped onto `make`/`model` with explicit nulls.
849
+ */
850
+ export declare function toVehicleMatch(source: VehicleMatchSource): McpToolOutput<"search_vehicles">["data"]["results"][number];
851
+ /**
852
+ * Normalizes the options payload into the one shape `list_image_options`
853
+ * promises. `GET /api/v1/images/options` describes formats and catalog sources
854
+ * as objects and the year span as `{from, to}`; agents want bare ids and a
855
+ * `[from, to]` pair, so both that shape and an already-flat one are accepted.
856
+ * Anything else in the payload (`limits`, `sizes.source`) rides along untouched.
857
+ */
858
+ export declare function toImageOptions(data: unknown): McpToolOutput<"list_image_options">["data"];
267
859
  export interface McpToolAnnotations {
268
860
  title?: string;
269
861
  readOnlyHint?: boolean;
@@ -276,6 +868,8 @@ export interface McpToolDefinition<N extends McpToolName = McpToolName> {
276
868
  title: string;
277
869
  description: string;
278
870
  inputSchema: (typeof MCP_TOOL_SCHEMAS)[N];
871
+ /** What `structuredContent` will hold; absent only on `describe_api`, which answers in prose. */
872
+ outputSchema?: N extends McpToolWithOutput ? (typeof MCP_TOOL_OUTPUT_SCHEMAS)[N] : undefined;
279
873
  annotations: McpToolAnnotations;
280
874
  }
281
875
  export declare const MCP_TOOLS: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"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"}