@withinfocus/tba-mcp-server 0.2.6 → 0.3.1

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/tools.js ADDED
@@ -0,0 +1,996 @@
1
+ export const tools = [
2
+ {
3
+ name: 'get_team',
4
+ description: 'Get detailed information about a specific FRC team',
5
+ inputSchema: {
6
+ type: 'object',
7
+ properties: {
8
+ team_key: {
9
+ type: 'string',
10
+ description: 'Team key in format frcXXXX (e.g., frc86)',
11
+ pattern: '^frc\\d+$',
12
+ },
13
+ },
14
+ required: ['team_key'],
15
+ },
16
+ },
17
+ {
18
+ name: 'get_team_events',
19
+ description: 'Get events that a team has participated in for a given year',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ team_key: {
24
+ type: 'string',
25
+ description: 'Team key in format frcXXXX (e.g., frc86)',
26
+ pattern: '^frc\\d+$',
27
+ },
28
+ year: {
29
+ type: 'number',
30
+ description: 'Competition year',
31
+ minimum: 1992,
32
+ maximum: new Date().getFullYear() + 1,
33
+ },
34
+ },
35
+ required: ['team_key', 'year'],
36
+ },
37
+ },
38
+ {
39
+ name: 'get_team_awards',
40
+ description: 'Get awards won by a team in a specific year',
41
+ inputSchema: {
42
+ type: 'object',
43
+ properties: {
44
+ team_key: {
45
+ type: 'string',
46
+ description: 'Team key in format frcXXXX (e.g., frc86)',
47
+ pattern: '^frc\\d+$',
48
+ },
49
+ year: {
50
+ type: 'number',
51
+ description: 'Competition year',
52
+ minimum: 1992,
53
+ maximum: new Date().getFullYear() + 1,
54
+ },
55
+ },
56
+ required: ['team_key', 'year'],
57
+ },
58
+ },
59
+ {
60
+ name: 'get_team_matches',
61
+ description: 'Get matches played by a team in a specific year',
62
+ inputSchema: {
63
+ type: 'object',
64
+ properties: {
65
+ team_key: {
66
+ type: 'string',
67
+ description: 'Team key in format frcXXXX (e.g., frc86)',
68
+ pattern: '^frc\\d+$',
69
+ },
70
+ year: {
71
+ type: 'number',
72
+ description: 'Competition year',
73
+ minimum: 1992,
74
+ maximum: new Date().getFullYear() + 1,
75
+ },
76
+ },
77
+ required: ['team_key', 'year'],
78
+ },
79
+ },
80
+ {
81
+ name: 'get_events',
82
+ description: 'Get all FRC events for a specific year',
83
+ inputSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ year: {
87
+ type: 'number',
88
+ description: 'Competition year',
89
+ minimum: 1992,
90
+ maximum: new Date().getFullYear() + 1,
91
+ },
92
+ },
93
+ required: ['year'],
94
+ },
95
+ },
96
+ {
97
+ name: 'get_event',
98
+ description: 'Get detailed information about a specific event',
99
+ inputSchema: {
100
+ type: 'object',
101
+ properties: {
102
+ event_key: {
103
+ type: 'string',
104
+ description: 'Event key (e.g., 2023casj)',
105
+ },
106
+ },
107
+ required: ['event_key'],
108
+ },
109
+ },
110
+ {
111
+ name: 'get_event_teams',
112
+ description: 'Get teams participating in a specific event',
113
+ inputSchema: {
114
+ type: 'object',
115
+ properties: {
116
+ event_key: {
117
+ type: 'string',
118
+ description: 'Event key (e.g., 2023casj)',
119
+ },
120
+ },
121
+ required: ['event_key'],
122
+ },
123
+ },
124
+ {
125
+ name: 'get_event_rankings',
126
+ description: 'Get team rankings for a specific event',
127
+ inputSchema: {
128
+ type: 'object',
129
+ properties: {
130
+ event_key: {
131
+ type: 'string',
132
+ description: 'Event key (e.g., 2023casj)',
133
+ },
134
+ },
135
+ required: ['event_key'],
136
+ },
137
+ },
138
+ {
139
+ name: 'get_event_matches',
140
+ description: 'Get matches for a specific event',
141
+ inputSchema: {
142
+ type: 'object',
143
+ properties: {
144
+ event_key: {
145
+ type: 'string',
146
+ description: 'Event key (e.g., 2023casj)',
147
+ },
148
+ },
149
+ required: ['event_key'],
150
+ },
151
+ },
152
+ {
153
+ name: 'get_event_alliances',
154
+ description: 'Get elimination alliances for a specific event',
155
+ inputSchema: {
156
+ type: 'object',
157
+ properties: {
158
+ event_key: {
159
+ type: 'string',
160
+ description: 'Event key (e.g., 2023casj)',
161
+ },
162
+ },
163
+ required: ['event_key'],
164
+ },
165
+ },
166
+ {
167
+ name: 'get_event_insights',
168
+ description: 'Get event-specific insights and statistics',
169
+ inputSchema: {
170
+ type: 'object',
171
+ properties: {
172
+ event_key: {
173
+ type: 'string',
174
+ description: 'Event key (e.g., 2023casj)',
175
+ },
176
+ },
177
+ required: ['event_key'],
178
+ },
179
+ },
180
+ {
181
+ name: 'get_event_district_points',
182
+ description: 'Get district points for teams at an event',
183
+ inputSchema: {
184
+ type: 'object',
185
+ properties: {
186
+ event_key: {
187
+ type: 'string',
188
+ description: 'Event key (e.g., 2023casj)',
189
+ },
190
+ },
191
+ required: ['event_key'],
192
+ },
193
+ },
194
+ {
195
+ name: 'get_team_years_participated',
196
+ description: 'Get years that a team has participated in competition',
197
+ inputSchema: {
198
+ type: 'object',
199
+ properties: {
200
+ team_key: {
201
+ type: 'string',
202
+ description: 'Team key in format frcXXXX (e.g., frc86)',
203
+ pattern: '^frc\\d+$',
204
+ },
205
+ },
206
+ required: ['team_key'],
207
+ },
208
+ },
209
+ {
210
+ name: 'get_team_districts',
211
+ description: 'Get district history for a team',
212
+ inputSchema: {
213
+ type: 'object',
214
+ properties: {
215
+ team_key: {
216
+ type: 'string',
217
+ description: 'Team key in format frcXXXX (e.g., frc86)',
218
+ pattern: '^frc\\d+$',
219
+ },
220
+ },
221
+ required: ['team_key'],
222
+ },
223
+ },
224
+ {
225
+ name: 'get_team_robots',
226
+ description: 'Get robot names for a team by year',
227
+ inputSchema: {
228
+ type: 'object',
229
+ properties: {
230
+ team_key: {
231
+ type: 'string',
232
+ description: 'Team key in format frcXXXX (e.g., frc86)',
233
+ pattern: '^frc\\d+$',
234
+ },
235
+ },
236
+ required: ['team_key'],
237
+ },
238
+ },
239
+ {
240
+ name: 'get_team_media',
241
+ description: 'Get media for a team in a specific year',
242
+ inputSchema: {
243
+ type: 'object',
244
+ properties: {
245
+ team_key: {
246
+ type: 'string',
247
+ description: 'Team key in format frcXXXX (e.g., frc86)',
248
+ pattern: '^frc\\d+$',
249
+ },
250
+ year: {
251
+ type: 'number',
252
+ description: 'Competition year',
253
+ minimum: 1992,
254
+ maximum: new Date().getFullYear() + 1,
255
+ },
256
+ },
257
+ required: ['team_key', 'year'],
258
+ },
259
+ },
260
+ {
261
+ name: 'get_team_event_matches',
262
+ description: 'Get matches for a team at a specific event',
263
+ inputSchema: {
264
+ type: 'object',
265
+ properties: {
266
+ team_key: {
267
+ type: 'string',
268
+ description: 'Team key in format frcXXXX (e.g., frc86)',
269
+ pattern: '^frc\\d+$',
270
+ },
271
+ event_key: {
272
+ type: 'string',
273
+ description: 'Event key (e.g., 2023casj)',
274
+ },
275
+ },
276
+ required: ['team_key', 'event_key'],
277
+ },
278
+ },
279
+ {
280
+ name: 'get_teams',
281
+ description: 'Get list of teams with pagination',
282
+ inputSchema: {
283
+ type: 'object',
284
+ properties: {
285
+ page_num: {
286
+ type: 'number',
287
+ description: 'Page number (0-indexed)',
288
+ minimum: 0,
289
+ },
290
+ },
291
+ required: ['page_num'],
292
+ },
293
+ },
294
+ {
295
+ name: 'get_status',
296
+ description: 'Get TBA API status information',
297
+ inputSchema: {
298
+ type: 'object',
299
+ properties: {},
300
+ },
301
+ },
302
+ {
303
+ name: 'get_match',
304
+ description: 'Get detailed information about a specific match',
305
+ inputSchema: {
306
+ type: 'object',
307
+ properties: {
308
+ match_key: {
309
+ type: 'string',
310
+ description: 'Match key (e.g., 2023casj_qm1)',
311
+ },
312
+ },
313
+ required: ['match_key'],
314
+ },
315
+ },
316
+ {
317
+ name: 'get_event_oprs',
318
+ description: 'Get OPR, DPR, and CCWM ratings for teams at an event',
319
+ inputSchema: {
320
+ type: 'object',
321
+ properties: {
322
+ event_key: {
323
+ type: 'string',
324
+ description: 'Event key (e.g., 2023casj)',
325
+ },
326
+ },
327
+ required: ['event_key'],
328
+ },
329
+ },
330
+ {
331
+ name: 'get_event_awards',
332
+ description: 'Get awards from a specific event',
333
+ inputSchema: {
334
+ type: 'object',
335
+ properties: {
336
+ event_key: {
337
+ type: 'string',
338
+ description: 'Event key (e.g., 2023casj)',
339
+ },
340
+ },
341
+ required: ['event_key'],
342
+ },
343
+ },
344
+ {
345
+ name: 'get_team_awards_all',
346
+ description: 'Get all awards won by a team across all years',
347
+ inputSchema: {
348
+ type: 'object',
349
+ properties: {
350
+ team_key: {
351
+ type: 'string',
352
+ description: 'Team key in format frcXXXX (e.g., frc86)',
353
+ pattern: '^frc\\d+$',
354
+ },
355
+ },
356
+ required: ['team_key'],
357
+ },
358
+ },
359
+ {
360
+ name: 'get_team_events_all',
361
+ description: 'Get all events a team has participated in across all years',
362
+ inputSchema: {
363
+ type: 'object',
364
+ properties: {
365
+ team_key: {
366
+ type: 'string',
367
+ description: 'Team key in format frcXXXX (e.g., frc86)',
368
+ pattern: '^frc\\d+$',
369
+ },
370
+ },
371
+ required: ['team_key'],
372
+ },
373
+ },
374
+ {
375
+ name: 'get_team_event_status',
376
+ description: 'Get team competition rank and status at a specific event',
377
+ inputSchema: {
378
+ type: 'object',
379
+ properties: {
380
+ team_key: {
381
+ type: 'string',
382
+ description: 'Team key in format frcXXXX (e.g., frc86)',
383
+ pattern: '^frc\\d+$',
384
+ },
385
+ event_key: {
386
+ type: 'string',
387
+ description: 'Event key (e.g., 2023casj)',
388
+ },
389
+ },
390
+ required: ['team_key', 'event_key'],
391
+ },
392
+ },
393
+ {
394
+ name: 'get_districts',
395
+ description: 'Get all districts for a specific year',
396
+ inputSchema: {
397
+ type: 'object',
398
+ properties: {
399
+ year: {
400
+ type: 'number',
401
+ description: 'Competition year',
402
+ minimum: 1992,
403
+ maximum: new Date().getFullYear() + 1,
404
+ },
405
+ },
406
+ required: ['year'],
407
+ },
408
+ },
409
+ {
410
+ name: 'get_district_rankings',
411
+ description: 'Get team rankings within a district',
412
+ inputSchema: {
413
+ type: 'object',
414
+ properties: {
415
+ district_key: {
416
+ type: 'string',
417
+ description: 'District key (e.g., 2023fim)',
418
+ },
419
+ },
420
+ required: ['district_key'],
421
+ },
422
+ },
423
+ {
424
+ name: 'get_teams_simple',
425
+ description: 'Get simplified list of teams with pagination',
426
+ inputSchema: {
427
+ type: 'object',
428
+ properties: {
429
+ page_num: {
430
+ type: 'number',
431
+ description: 'Page number (0-indexed)',
432
+ minimum: 0,
433
+ },
434
+ },
435
+ required: ['page_num'],
436
+ },
437
+ },
438
+ {
439
+ name: 'get_teams_keys',
440
+ description: 'Get list of team keys with pagination',
441
+ inputSchema: {
442
+ type: 'object',
443
+ properties: {
444
+ page_num: {
445
+ type: 'number',
446
+ description: 'Page number (0-indexed)',
447
+ minimum: 0,
448
+ },
449
+ },
450
+ required: ['page_num'],
451
+ },
452
+ },
453
+ {
454
+ name: 'get_teams_by_year',
455
+ description: 'Get teams that competed in a specific year',
456
+ inputSchema: {
457
+ type: 'object',
458
+ properties: {
459
+ year: {
460
+ type: 'number',
461
+ description: 'Competition year',
462
+ minimum: 1992,
463
+ maximum: new Date().getFullYear() + 1,
464
+ },
465
+ page_num: {
466
+ type: 'number',
467
+ description: 'Page number (0-indexed)',
468
+ minimum: 0,
469
+ },
470
+ },
471
+ required: ['year', 'page_num'],
472
+ },
473
+ },
474
+ {
475
+ name: 'get_teams_by_year_simple',
476
+ description: 'Get simplified teams that competed in a specific year',
477
+ inputSchema: {
478
+ type: 'object',
479
+ properties: {
480
+ year: {
481
+ type: 'number',
482
+ description: 'Competition year',
483
+ minimum: 1992,
484
+ maximum: new Date().getFullYear() + 1,
485
+ },
486
+ page_num: {
487
+ type: 'number',
488
+ description: 'Page number (0-indexed)',
489
+ minimum: 0,
490
+ },
491
+ },
492
+ required: ['year', 'page_num'],
493
+ },
494
+ },
495
+ {
496
+ name: 'get_teams_by_year_keys',
497
+ description: 'Get team keys that competed in a specific year',
498
+ inputSchema: {
499
+ type: 'object',
500
+ properties: {
501
+ year: {
502
+ type: 'number',
503
+ description: 'Competition year',
504
+ minimum: 1992,
505
+ maximum: new Date().getFullYear() + 1,
506
+ },
507
+ page_num: {
508
+ type: 'number',
509
+ description: 'Page number (0-indexed)',
510
+ minimum: 0,
511
+ },
512
+ },
513
+ required: ['year', 'page_num'],
514
+ },
515
+ },
516
+ {
517
+ name: 'get_team_simple',
518
+ description: 'Get simplified information about a specific team',
519
+ inputSchema: {
520
+ type: 'object',
521
+ properties: {
522
+ team_key: {
523
+ type: 'string',
524
+ description: 'Team key in format frcXXXX (e.g., frc86)',
525
+ pattern: '^frc\\d+$',
526
+ },
527
+ },
528
+ required: ['team_key'],
529
+ },
530
+ },
531
+ {
532
+ name: 'get_event_simple',
533
+ description: 'Get simplified information about a specific event',
534
+ inputSchema: {
535
+ type: 'object',
536
+ properties: {
537
+ event_key: {
538
+ type: 'string',
539
+ description: 'Event key (e.g., 2023casj)',
540
+ },
541
+ },
542
+ required: ['event_key'],
543
+ },
544
+ },
545
+ {
546
+ name: 'get_events_simple',
547
+ description: 'Get simplified list of events for a year',
548
+ inputSchema: {
549
+ type: 'object',
550
+ properties: {
551
+ year: {
552
+ type: 'number',
553
+ description: 'Competition year',
554
+ minimum: 1992,
555
+ maximum: new Date().getFullYear() + 1,
556
+ },
557
+ },
558
+ required: ['year'],
559
+ },
560
+ },
561
+ {
562
+ name: 'get_events_keys',
563
+ description: 'Get list of event keys for a year',
564
+ inputSchema: {
565
+ type: 'object',
566
+ properties: {
567
+ year: {
568
+ type: 'number',
569
+ description: 'Competition year',
570
+ minimum: 1992,
571
+ maximum: new Date().getFullYear() + 1,
572
+ },
573
+ },
574
+ required: ['year'],
575
+ },
576
+ },
577
+ {
578
+ name: 'get_match_simple',
579
+ description: 'Get simplified information about a specific match',
580
+ inputSchema: {
581
+ type: 'object',
582
+ properties: {
583
+ match_key: {
584
+ type: 'string',
585
+ description: 'Match key (e.g., 2023casj_qm1)',
586
+ },
587
+ },
588
+ required: ['match_key'],
589
+ },
590
+ },
591
+ {
592
+ name: 'get_team_events_simple',
593
+ description: 'Get simplified events for a team in a specific year',
594
+ inputSchema: {
595
+ type: 'object',
596
+ properties: {
597
+ team_key: {
598
+ type: 'string',
599
+ description: 'Team key in format frcXXXX (e.g., frc86)',
600
+ pattern: '^frc\\d+$',
601
+ },
602
+ year: {
603
+ type: 'number',
604
+ description: 'Competition year',
605
+ minimum: 1992,
606
+ maximum: new Date().getFullYear() + 1,
607
+ },
608
+ },
609
+ required: ['team_key', 'year'],
610
+ },
611
+ },
612
+ {
613
+ name: 'get_team_events_keys',
614
+ description: 'Get event keys for a team in a specific year',
615
+ inputSchema: {
616
+ type: 'object',
617
+ properties: {
618
+ team_key: {
619
+ type: 'string',
620
+ description: 'Team key in format frcXXXX (e.g., frc86)',
621
+ pattern: '^frc\\d+$',
622
+ },
623
+ year: {
624
+ type: 'number',
625
+ description: 'Competition year',
626
+ minimum: 1992,
627
+ maximum: new Date().getFullYear() + 1,
628
+ },
629
+ },
630
+ required: ['team_key', 'year'],
631
+ },
632
+ },
633
+ {
634
+ name: 'get_team_event_awards',
635
+ description: 'Get awards won by a team at a specific event',
636
+ inputSchema: {
637
+ type: 'object',
638
+ properties: {
639
+ team_key: {
640
+ type: 'string',
641
+ description: 'Team key in format frcXXXX (e.g., frc86)',
642
+ pattern: '^frc\\d+$',
643
+ },
644
+ event_key: {
645
+ type: 'string',
646
+ description: 'Event key (e.g., 2023casj)',
647
+ },
648
+ },
649
+ required: ['team_key', 'event_key'],
650
+ },
651
+ },
652
+ {
653
+ name: 'get_team_matches_simple',
654
+ description: 'Get simplified matches for a team in a specific year',
655
+ inputSchema: {
656
+ type: 'object',
657
+ properties: {
658
+ team_key: {
659
+ type: 'string',
660
+ description: 'Team key in format frcXXXX (e.g., frc86)',
661
+ pattern: '^frc\\d+$',
662
+ },
663
+ year: {
664
+ type: 'number',
665
+ description: 'Competition year',
666
+ minimum: 1992,
667
+ maximum: new Date().getFullYear() + 1,
668
+ },
669
+ },
670
+ required: ['team_key', 'year'],
671
+ },
672
+ },
673
+ {
674
+ name: 'get_team_matches_keys',
675
+ description: 'Get match keys for a team in a specific year',
676
+ inputSchema: {
677
+ type: 'object',
678
+ properties: {
679
+ team_key: {
680
+ type: 'string',
681
+ description: 'Team key in format frcXXXX (e.g., frc86)',
682
+ pattern: '^frc\\d+$',
683
+ },
684
+ year: {
685
+ type: 'number',
686
+ description: 'Competition year',
687
+ minimum: 1992,
688
+ maximum: new Date().getFullYear() + 1,
689
+ },
690
+ },
691
+ required: ['team_key', 'year'],
692
+ },
693
+ },
694
+ {
695
+ name: 'get_team_social_media',
696
+ description: 'Get social media information for a team',
697
+ inputSchema: {
698
+ type: 'object',
699
+ properties: {
700
+ team_key: {
701
+ type: 'string',
702
+ description: 'Team key in format frcXXXX (e.g., frc86)',
703
+ pattern: '^frc\\d+$',
704
+ },
705
+ },
706
+ required: ['team_key'],
707
+ },
708
+ },
709
+ {
710
+ name: 'get_team_media_by_tag',
711
+ description: 'Get media for a team filtered by tag',
712
+ inputSchema: {
713
+ type: 'object',
714
+ properties: {
715
+ team_key: {
716
+ type: 'string',
717
+ description: 'Team key in format frcXXXX (e.g., frc86)',
718
+ pattern: '^frc\\d+$',
719
+ },
720
+ media_tag: {
721
+ type: 'string',
722
+ description: 'Media tag to filter by',
723
+ },
724
+ },
725
+ required: ['team_key', 'media_tag'],
726
+ },
727
+ },
728
+ {
729
+ name: 'get_team_media_by_tag_year',
730
+ description: 'Get media for a team filtered by tag and year',
731
+ inputSchema: {
732
+ type: 'object',
733
+ properties: {
734
+ team_key: {
735
+ type: 'string',
736
+ description: 'Team key in format frcXXXX (e.g., frc86)',
737
+ pattern: '^frc\\d+$',
738
+ },
739
+ media_tag: {
740
+ type: 'string',
741
+ description: 'Media tag to filter by',
742
+ },
743
+ year: {
744
+ type: 'number',
745
+ description: 'Competition year',
746
+ minimum: 1992,
747
+ maximum: new Date().getFullYear() + 1,
748
+ },
749
+ },
750
+ required: ['team_key', 'media_tag', 'year'],
751
+ },
752
+ },
753
+ {
754
+ name: 'get_event_teams_simple',
755
+ description: 'Get simplified teams participating in an event',
756
+ inputSchema: {
757
+ type: 'object',
758
+ properties: {
759
+ event_key: {
760
+ type: 'string',
761
+ description: 'Event key (e.g., 2023casj)',
762
+ },
763
+ },
764
+ required: ['event_key'],
765
+ },
766
+ },
767
+ {
768
+ name: 'get_event_teams_keys',
769
+ description: 'Get team keys participating in an event',
770
+ inputSchema: {
771
+ type: 'object',
772
+ properties: {
773
+ event_key: {
774
+ type: 'string',
775
+ description: 'Event key (e.g., 2023casj)',
776
+ },
777
+ },
778
+ required: ['event_key'],
779
+ },
780
+ },
781
+ {
782
+ name: 'get_event_matches_simple',
783
+ description: 'Get simplified matches for an event',
784
+ inputSchema: {
785
+ type: 'object',
786
+ properties: {
787
+ event_key: {
788
+ type: 'string',
789
+ description: 'Event key (e.g., 2023casj)',
790
+ },
791
+ },
792
+ required: ['event_key'],
793
+ },
794
+ },
795
+ {
796
+ name: 'get_event_matches_keys',
797
+ description: 'Get match keys for an event',
798
+ inputSchema: {
799
+ type: 'object',
800
+ properties: {
801
+ event_key: {
802
+ type: 'string',
803
+ description: 'Event key (e.g., 2023casj)',
804
+ },
805
+ },
806
+ required: ['event_key'],
807
+ },
808
+ },
809
+ {
810
+ name: 'get_event_predictions',
811
+ description: 'Get TBA-generated predictions for an event',
812
+ inputSchema: {
813
+ type: 'object',
814
+ properties: {
815
+ event_key: {
816
+ type: 'string',
817
+ description: 'Event key (e.g., 2023casj)',
818
+ },
819
+ },
820
+ required: ['event_key'],
821
+ },
822
+ },
823
+ {
824
+ name: 'get_match_zebra',
825
+ description: 'Get Zebra MotionWorks data for a match',
826
+ inputSchema: {
827
+ type: 'object',
828
+ properties: {
829
+ match_key: {
830
+ type: 'string',
831
+ description: 'Match key (e.g., 2023casj_qm1)',
832
+ },
833
+ },
834
+ required: ['match_key'],
835
+ },
836
+ },
837
+ {
838
+ name: 'get_team_history',
839
+ description: 'Get historical data for a team across all years',
840
+ inputSchema: {
841
+ type: 'object',
842
+ properties: {
843
+ team_key: {
844
+ type: 'string',
845
+ description: 'Team key in format frcXXXX (e.g., frc86)',
846
+ pattern: '^frc\\d+$',
847
+ },
848
+ },
849
+ required: ['team_key'],
850
+ },
851
+ },
852
+ {
853
+ name: 'get_team_event_statuses',
854
+ description: 'Get team event statuses for all events in a year',
855
+ inputSchema: {
856
+ type: 'object',
857
+ properties: {
858
+ team_key: {
859
+ type: 'string',
860
+ description: 'Team key in format frcXXXX (e.g., frc86)',
861
+ pattern: '^frc\\d+$',
862
+ },
863
+ year: {
864
+ type: 'number',
865
+ description: 'Competition year',
866
+ minimum: 1992,
867
+ maximum: new Date().getFullYear() + 1,
868
+ },
869
+ },
870
+ required: ['team_key', 'year'],
871
+ },
872
+ },
873
+ {
874
+ name: 'get_team_event_matches_simple',
875
+ description: 'Get simplified matches for a team at a specific event',
876
+ inputSchema: {
877
+ type: 'object',
878
+ properties: {
879
+ team_key: {
880
+ type: 'string',
881
+ description: 'Team key in format frcXXXX (e.g., frc86)',
882
+ pattern: '^frc\\d+$',
883
+ },
884
+ event_key: {
885
+ type: 'string',
886
+ description: 'Event key (e.g., 2023casj)',
887
+ },
888
+ },
889
+ required: ['team_key', 'event_key'],
890
+ },
891
+ },
892
+ {
893
+ name: 'get_team_event_matches_keys',
894
+ description: 'Get match keys for a team at a specific event',
895
+ inputSchema: {
896
+ type: 'object',
897
+ properties: {
898
+ team_key: {
899
+ type: 'string',
900
+ description: 'Team key in format frcXXXX (e.g., frc86)',
901
+ pattern: '^frc\\d+$',
902
+ },
903
+ event_key: {
904
+ type: 'string',
905
+ description: 'Event key (e.g., 2023casj)',
906
+ },
907
+ },
908
+ required: ['team_key', 'event_key'],
909
+ },
910
+ },
911
+ {
912
+ name: 'get_district_events',
913
+ description: 'Get events in a specific district',
914
+ inputSchema: {
915
+ type: 'object',
916
+ properties: {
917
+ district_key: {
918
+ type: 'string',
919
+ description: 'District key (e.g., 2023fim)',
920
+ },
921
+ },
922
+ required: ['district_key'],
923
+ },
924
+ },
925
+ {
926
+ name: 'get_district_events_simple',
927
+ description: 'Get simplified events in a specific district',
928
+ inputSchema: {
929
+ type: 'object',
930
+ properties: {
931
+ district_key: {
932
+ type: 'string',
933
+ description: 'District key (e.g., 2023fim)',
934
+ },
935
+ },
936
+ required: ['district_key'],
937
+ },
938
+ },
939
+ {
940
+ name: 'get_district_events_keys',
941
+ description: 'Get event keys in a specific district',
942
+ inputSchema: {
943
+ type: 'object',
944
+ properties: {
945
+ district_key: {
946
+ type: 'string',
947
+ description: 'District key (e.g., 2023fim)',
948
+ },
949
+ },
950
+ required: ['district_key'],
951
+ },
952
+ },
953
+ {
954
+ name: 'get_district_teams',
955
+ description: 'Get teams in a specific district',
956
+ inputSchema: {
957
+ type: 'object',
958
+ properties: {
959
+ district_key: {
960
+ type: 'string',
961
+ description: 'District key (e.g., 2023fim)',
962
+ },
963
+ },
964
+ required: ['district_key'],
965
+ },
966
+ },
967
+ {
968
+ name: 'get_district_teams_simple',
969
+ description: 'Get simplified teams in a specific district',
970
+ inputSchema: {
971
+ type: 'object',
972
+ properties: {
973
+ district_key: {
974
+ type: 'string',
975
+ description: 'District key (e.g., 2023fim)',
976
+ },
977
+ },
978
+ required: ['district_key'],
979
+ },
980
+ },
981
+ {
982
+ name: 'get_district_teams_keys',
983
+ description: 'Get team keys in a specific district',
984
+ inputSchema: {
985
+ type: 'object',
986
+ properties: {
987
+ district_key: {
988
+ type: 'string',
989
+ description: 'District key (e.g., 2023fim)',
990
+ },
991
+ },
992
+ required: ['district_key'],
993
+ },
994
+ },
995
+ ];
996
+ //# sourceMappingURL=tools.js.map