@horizon36596/zenith-schema 0.1.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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +18 -0
  3. package/README.md +24 -0
  4. package/dist/auto.d.ts +1882 -0
  5. package/dist/auto.d.ts.map +1 -0
  6. package/dist/auto.js +236 -0
  7. package/dist/auto.js.map +1 -0
  8. package/dist/common.d.ts +76 -0
  9. package/dist/common.d.ts.map +1 -0
  10. package/dist/common.js +30 -0
  11. package/dist/common.js.map +1 -0
  12. package/dist/expr.d.ts +56 -0
  13. package/dist/expr.d.ts.map +1 -0
  14. package/dist/expr.js +245 -0
  15. package/dist/expr.js.map +1 -0
  16. package/dist/field.d.ts +719 -0
  17. package/dist/field.d.ts.map +1 -0
  18. package/dist/field.js +158 -0
  19. package/dist/field.js.map +1 -0
  20. package/dist/ids.d.ts +62 -0
  21. package/dist/ids.d.ts.map +1 -0
  22. package/dist/ids.js +79 -0
  23. package/dist/ids.js.map +1 -0
  24. package/dist/index.d.ts +17 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +17 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/jsonschema.d.ts +14 -0
  29. package/dist/jsonschema.d.ts.map +1 -0
  30. package/dist/jsonschema.js +31 -0
  31. package/dist/jsonschema.js.map +1 -0
  32. package/dist/link.d.ts +117 -0
  33. package/dist/link.d.ts.map +1 -0
  34. package/dist/link.js +58 -0
  35. package/dist/link.js.map +1 -0
  36. package/dist/migrate.d.ts +2699 -0
  37. package/dist/migrate.d.ts.map +1 -0
  38. package/dist/migrate.js +109 -0
  39. package/dist/migrate.js.map +1 -0
  40. package/dist/parse.d.ts +28 -0
  41. package/dist/parse.d.ts.map +1 -0
  42. package/dist/parse.js +46 -0
  43. package/dist/parse.js.map +1 -0
  44. package/dist/robot.d.ts +2935 -0
  45. package/dist/robot.d.ts.map +1 -0
  46. package/dist/robot.js +231 -0
  47. package/dist/robot.js.map +1 -0
  48. package/dist/waypoints.d.ts +63 -0
  49. package/dist/waypoints.d.ts.map +1 -0
  50. package/dist/waypoints.js +20 -0
  51. package/dist/waypoints.js.map +1 -0
  52. package/json/auto.json +683 -0
  53. package/json/field.json +457 -0
  54. package/json/link.json +110 -0
  55. package/json/robot.json +664 -0
  56. package/json/waypoints.json +50 -0
  57. package/package.json +65 -0
@@ -0,0 +1,2699 @@
1
+ import { type Kind } from "./ids.js";
2
+ export declare const schemaByKind: {
3
+ readonly link: import("zod").ZodObject<{
4
+ $schema: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
5
+ formatVersion: import("zod").ZodLiteral<1>;
6
+ autosDir: import("zod").ZodString;
7
+ robot: import("zod").ZodString;
8
+ field: import("zod").ZodString;
9
+ waypoints: import("zod").ZodOptional<import("zod").ZodString>;
10
+ deploy: import("zod").ZodOptional<import("zod").ZodObject<{
11
+ kind: import("zod").ZodEnum<["androidAssets", "directory"]>;
12
+ dir: import("zod").ZodString;
13
+ commandLibrary: import("zod").ZodOptional<import("zod").ZodEnum<["solverslib", "ivy"]>>;
14
+ robotClass: import("zod").ZodOptional<import("zod").ZodString>;
15
+ preselectTeleOp: import("zod").ZodOptional<import("zod").ZodString>;
16
+ }, "strip", import("zod").ZodTypeAny, {
17
+ kind: "androidAssets" | "directory";
18
+ dir: string;
19
+ commandLibrary?: "solverslib" | "ivy" | undefined;
20
+ robotClass?: string | undefined;
21
+ preselectTeleOp?: string | undefined;
22
+ }, {
23
+ kind: "androidAssets" | "directory";
24
+ dir: string;
25
+ commandLibrary?: "solverslib" | "ivy" | undefined;
26
+ robotClass?: string | undefined;
27
+ preselectTeleOp?: string | undefined;
28
+ }>>;
29
+ sim: import("zod").ZodOptional<import("zod").ZodObject<{
30
+ command: import("zod").ZodString;
31
+ trace: import("zod").ZodString;
32
+ }, "strip", import("zod").ZodTypeAny, {
33
+ command: string;
34
+ trace: string;
35
+ }, {
36
+ command: string;
37
+ trace: string;
38
+ }>>;
39
+ codegen: import("zod").ZodOptional<import("zod").ZodObject<{
40
+ package: import("zod").ZodString;
41
+ dir: import("zod").ZodString;
42
+ }, "strip", import("zod").ZodTypeAny, {
43
+ dir: string;
44
+ package: string;
45
+ }, {
46
+ dir: string;
47
+ package: string;
48
+ }>>;
49
+ }, "strip", import("zod").ZodTypeAny, {
50
+ robot: string;
51
+ field: string;
52
+ formatVersion: 1;
53
+ autosDir: string;
54
+ waypoints?: string | undefined;
55
+ $schema?: string | undefined;
56
+ deploy?: {
57
+ kind: "androidAssets" | "directory";
58
+ dir: string;
59
+ commandLibrary?: "solverslib" | "ivy" | undefined;
60
+ robotClass?: string | undefined;
61
+ preselectTeleOp?: string | undefined;
62
+ } | undefined;
63
+ sim?: {
64
+ command: string;
65
+ trace: string;
66
+ } | undefined;
67
+ codegen?: {
68
+ dir: string;
69
+ package: string;
70
+ } | undefined;
71
+ }, {
72
+ robot: string;
73
+ field: string;
74
+ formatVersion: 1;
75
+ autosDir: string;
76
+ waypoints?: string | undefined;
77
+ $schema?: string | undefined;
78
+ deploy?: {
79
+ kind: "androidAssets" | "directory";
80
+ dir: string;
81
+ commandLibrary?: "solverslib" | "ivy" | undefined;
82
+ robotClass?: string | undefined;
83
+ preselectTeleOp?: string | undefined;
84
+ } | undefined;
85
+ sim?: {
86
+ command: string;
87
+ trace: string;
88
+ } | undefined;
89
+ codegen?: {
90
+ dir: string;
91
+ package: string;
92
+ } | undefined;
93
+ }>;
94
+ readonly robot: import("zod").ZodObject<{
95
+ $schema: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
96
+ formatVersion: import("zod").ZodLiteral<1>;
97
+ name: import("zod").ZodString;
98
+ frame: import("zod").ZodObject<{
99
+ forward: import("zod").ZodEnum<["+x", "-x", "+y", "-y"]>;
100
+ left: import("zod").ZodEnum<["+x", "-x", "+y", "-y"]>;
101
+ headingZero: import("zod").ZodEnum<["+x", "+y"]>;
102
+ headingPositive: import("zod").ZodEnum<["ccw", "cw"]>;
103
+ }, "strip", import("zod").ZodTypeAny, {
104
+ left: "+x" | "+y" | "-x" | "-y";
105
+ headingZero: "+x" | "+y";
106
+ headingPositive: "ccw" | "cw";
107
+ forward: "+x" | "+y" | "-x" | "-y";
108
+ }, {
109
+ left: "+x" | "+y" | "-x" | "-y";
110
+ headingZero: "+x" | "+y";
111
+ headingPositive: "ccw" | "cw";
112
+ forward: "+x" | "+y" | "-x" | "-y";
113
+ }>;
114
+ footprint: import("zod").ZodObject<{
115
+ startIn: import("zod").ZodObject<{
116
+ lengthIn: import("zod").ZodNumber;
117
+ widthIn: import("zod").ZodNumber;
118
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
119
+ }, "strip", import("zod").ZodTypeAny, {
120
+ lengthIn: number;
121
+ widthIn: number;
122
+ provenance?: string | undefined;
123
+ }, {
124
+ lengthIn: number;
125
+ widthIn: number;
126
+ provenance?: string | undefined;
127
+ }>;
128
+ expandedIn: import("zod").ZodObject<{
129
+ lengthIn: import("zod").ZodNumber;
130
+ widthIn: import("zod").ZodNumber;
131
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
132
+ }, "strip", import("zod").ZodTypeAny, {
133
+ lengthIn: number;
134
+ widthIn: number;
135
+ provenance?: string | undefined;
136
+ }, {
137
+ lengthIn: number;
138
+ widthIn: number;
139
+ provenance?: string | undefined;
140
+ }>;
141
+ centreOfRotationIn: import("zod").ZodObject<{
142
+ xIn: import("zod").ZodNumber;
143
+ yIn: import("zod").ZodNumber;
144
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
145
+ }, "strip", import("zod").ZodTypeAny, {
146
+ xIn: number;
147
+ yIn: number;
148
+ provenance?: string | undefined;
149
+ }, {
150
+ xIn: number;
151
+ yIn: number;
152
+ provenance?: string | undefined;
153
+ }>;
154
+ heightIn: import("zod").ZodOptional<import("zod").ZodObject<{
155
+ value: import("zod").ZodNumber;
156
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
157
+ }, "strip", import("zod").ZodTypeAny, {
158
+ value: number;
159
+ provenance?: string | undefined;
160
+ }, {
161
+ value: number;
162
+ provenance?: string | undefined;
163
+ }>>;
164
+ }, "strip", import("zod").ZodTypeAny, {
165
+ startIn: {
166
+ lengthIn: number;
167
+ widthIn: number;
168
+ provenance?: string | undefined;
169
+ };
170
+ expandedIn: {
171
+ lengthIn: number;
172
+ widthIn: number;
173
+ provenance?: string | undefined;
174
+ };
175
+ centreOfRotationIn: {
176
+ xIn: number;
177
+ yIn: number;
178
+ provenance?: string | undefined;
179
+ };
180
+ heightIn?: {
181
+ value: number;
182
+ provenance?: string | undefined;
183
+ } | undefined;
184
+ }, {
185
+ startIn: {
186
+ lengthIn: number;
187
+ widthIn: number;
188
+ provenance?: string | undefined;
189
+ };
190
+ expandedIn: {
191
+ lengthIn: number;
192
+ widthIn: number;
193
+ provenance?: string | undefined;
194
+ };
195
+ centreOfRotationIn: {
196
+ xIn: number;
197
+ yIn: number;
198
+ provenance?: string | undefined;
199
+ };
200
+ heightIn?: {
201
+ value: number;
202
+ provenance?: string | undefined;
203
+ } | undefined;
204
+ }>;
205
+ heightIn: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodObject<{
206
+ value: import("zod").ZodNumber;
207
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
208
+ }, "strip", import("zod").ZodTypeAny, {
209
+ value: number;
210
+ provenance?: string | undefined;
211
+ }, {
212
+ value: number;
213
+ provenance?: string | undefined;
214
+ }>, import("zod").ZodNumber]>, {
215
+ value: number;
216
+ provenance?: string | undefined;
217
+ }, number | {
218
+ value: number;
219
+ provenance?: string | undefined;
220
+ }>>;
221
+ kinematics: import("zod").ZodObject<{
222
+ maxForwardVelInPerS: import("zod").ZodObject<{
223
+ value: import("zod").ZodNumber;
224
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
225
+ }, "strip", import("zod").ZodTypeAny, {
226
+ value: number;
227
+ provenance?: string | undefined;
228
+ }, {
229
+ value: number;
230
+ provenance?: string | undefined;
231
+ }>;
232
+ maxStrafeVelInPerS: import("zod").ZodObject<{
233
+ value: import("zod").ZodNumber;
234
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
235
+ }, "strip", import("zod").ZodTypeAny, {
236
+ value: number;
237
+ provenance?: string | undefined;
238
+ }, {
239
+ value: number;
240
+ provenance?: string | undefined;
241
+ }>;
242
+ forwardDecelInPerS2: import("zod").ZodObject<{
243
+ value: import("zod").ZodNumber;
244
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
245
+ }, "strip", import("zod").ZodTypeAny, {
246
+ value: number;
247
+ provenance?: string | undefined;
248
+ }, {
249
+ value: number;
250
+ provenance?: string | undefined;
251
+ }>;
252
+ strafeDecelInPerS2: import("zod").ZodObject<{
253
+ value: import("zod").ZodNumber;
254
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
255
+ }, "strip", import("zod").ZodTypeAny, {
256
+ value: number;
257
+ provenance?: string | undefined;
258
+ }, {
259
+ value: number;
260
+ provenance?: string | undefined;
261
+ }>;
262
+ accelInPerS2: import("zod").ZodObject<{
263
+ value: import("zod").ZodNumber;
264
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
265
+ }, "strip", import("zod").ZodTypeAny, {
266
+ value: number;
267
+ provenance?: string | undefined;
268
+ }, {
269
+ value: number;
270
+ provenance?: string | undefined;
271
+ }>;
272
+ maxAngularVelRadPerS: import("zod").ZodObject<{
273
+ value: import("zod").ZodNumber;
274
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
275
+ }, "strip", import("zod").ZodTypeAny, {
276
+ value: number;
277
+ provenance?: string | undefined;
278
+ }, {
279
+ value: number;
280
+ provenance?: string | undefined;
281
+ }>;
282
+ defaultPathSpeedFraction: import("zod").ZodObject<{
283
+ value: import("zod").ZodNumber;
284
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
285
+ }, "strip", import("zod").ZodTypeAny, {
286
+ value: number;
287
+ provenance?: string | undefined;
288
+ }, {
289
+ value: number;
290
+ provenance?: string | undefined;
291
+ }>;
292
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
293
+ value: import("zod").ZodNumber;
294
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
295
+ }, "strip", import("zod").ZodTypeAny, {
296
+ value: number;
297
+ provenance?: string | undefined;
298
+ }, {
299
+ value: number;
300
+ provenance?: string | undefined;
301
+ }>>;
302
+ strafeFractionWarn: import("zod").ZodOptional<import("zod").ZodObject<{
303
+ value: import("zod").ZodNumber;
304
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
305
+ }, "strip", import("zod").ZodTypeAny, {
306
+ value: number;
307
+ provenance?: string | undefined;
308
+ }, {
309
+ value: number;
310
+ provenance?: string | undefined;
311
+ }>>;
312
+ strafeFractionThreshold: import("zod").ZodOptional<import("zod").ZodObject<{
313
+ value: import("zod").ZodNumber;
314
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
315
+ }, "strip", import("zod").ZodTypeAny, {
316
+ value: number;
317
+ provenance?: string | undefined;
318
+ }, {
319
+ value: number;
320
+ provenance?: string | undefined;
321
+ }>>;
322
+ sweepSpeedFraction: import("zod").ZodOptional<import("zod").ZodObject<{
323
+ value: import("zod").ZodNumber;
324
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
325
+ }, "strip", import("zod").ZodTypeAny, {
326
+ value: number;
327
+ provenance?: string | undefined;
328
+ }, {
329
+ value: number;
330
+ provenance?: string | undefined;
331
+ }>>;
332
+ calibration: import("zod").ZodOptional<import("zod").ZodObject<{
333
+ band: import("zod").ZodNumber;
334
+ samples: import("zod").ZodOptional<import("zod").ZodNumber>;
335
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
336
+ }, "strip", import("zod").ZodTypeAny, {
337
+ band: number;
338
+ provenance?: string | undefined;
339
+ samples?: number | undefined;
340
+ }, {
341
+ band: number;
342
+ provenance?: string | undefined;
343
+ samples?: number | undefined;
344
+ }>>;
345
+ follower: import("zod").ZodObject<{
346
+ cosineScale: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodBoolean, import("zod").ZodObject<{
347
+ value: import("zod").ZodBoolean;
348
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
349
+ }, "strip", import("zod").ZodTypeAny, {
350
+ value: boolean;
351
+ provenance?: string | undefined;
352
+ }, {
353
+ value: boolean;
354
+ provenance?: string | undefined;
355
+ }>]>>;
356
+ turnBeforeDriving: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodBoolean, import("zod").ZodObject<{
357
+ value: import("zod").ZodBoolean;
358
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
359
+ }, "strip", import("zod").ZodTypeAny, {
360
+ value: boolean;
361
+ provenance?: string | undefined;
362
+ }, {
363
+ value: boolean;
364
+ provenance?: string | undefined;
365
+ }>]>>;
366
+ forwardTranslationalPowerPerIn: import("zod").ZodOptional<import("zod").ZodObject<{
367
+ value: import("zod").ZodNumber;
368
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
369
+ }, "strip", import("zod").ZodTypeAny, {
370
+ value: number;
371
+ provenance?: string | undefined;
372
+ }, {
373
+ value: number;
374
+ provenance?: string | undefined;
375
+ }>>;
376
+ strafeTranslationalPowerPerIn: import("zod").ZodOptional<import("zod").ZodObject<{
377
+ value: import("zod").ZodNumber;
378
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
379
+ }, "strip", import("zod").ZodTypeAny, {
380
+ value: number;
381
+ provenance?: string | undefined;
382
+ }, {
383
+ value: number;
384
+ provenance?: string | undefined;
385
+ }>>;
386
+ headingPowerPerRad: import("zod").ZodOptional<import("zod").ZodObject<{
387
+ value: import("zod").ZodNumber;
388
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
389
+ }, "strip", import("zod").ZodTypeAny, {
390
+ value: number;
391
+ provenance?: string | undefined;
392
+ }, {
393
+ value: number;
394
+ provenance?: string | undefined;
395
+ }>>;
396
+ headingStaticPower: import("zod").ZodOptional<import("zod").ZodObject<{
397
+ value: import("zod").ZodNumber;
398
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
399
+ }, "strip", import("zod").ZodTypeAny, {
400
+ value: number;
401
+ provenance?: string | undefined;
402
+ }, {
403
+ value: number;
404
+ provenance?: string | undefined;
405
+ }>>;
406
+ coastPowerPerInPerS: import("zod").ZodOptional<import("zod").ZodObject<{
407
+ value: import("zod").ZodNumber;
408
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
409
+ }, "strip", import("zod").ZodTypeAny, {
410
+ value: number;
411
+ provenance?: string | undefined;
412
+ }, {
413
+ value: number;
414
+ provenance?: string | undefined;
415
+ }>>;
416
+ coastFeedforwardPowerPerInPerS: import("zod").ZodOptional<import("zod").ZodObject<{
417
+ value: import("zod").ZodNumber;
418
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
419
+ }, "strip", import("zod").ZodTypeAny, {
420
+ value: number;
421
+ provenance?: string | undefined;
422
+ }, {
423
+ value: number;
424
+ provenance?: string | undefined;
425
+ }>>;
426
+ brakeFeedforwardPowerPerInPerS: import("zod").ZodOptional<import("zod").ZodObject<{
427
+ value: import("zod").ZodNumber;
428
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
429
+ }, "strip", import("zod").ZodTypeAny, {
430
+ value: number;
431
+ provenance?: string | undefined;
432
+ }, {
433
+ value: number;
434
+ provenance?: string | undefined;
435
+ }>>;
436
+ maxBrakingPower: import("zod").ZodOptional<import("zod").ZodObject<{
437
+ value: import("zod").ZodNumber;
438
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
439
+ }, "strip", import("zod").ZodTypeAny, {
440
+ value: number;
441
+ provenance?: string | undefined;
442
+ }, {
443
+ value: number;
444
+ provenance?: string | undefined;
445
+ }>>;
446
+ headingDriveRatio: import("zod").ZodOptional<import("zod").ZodObject<{
447
+ value: import("zod").ZodNumber;
448
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
449
+ }, "strip", import("zod").ZodTypeAny, {
450
+ value: number;
451
+ provenance?: string | undefined;
452
+ }, {
453
+ value: number;
454
+ provenance?: string | undefined;
455
+ }>>;
456
+ brakeAggression: import("zod").ZodOptional<import("zod").ZodObject<{
457
+ value: import("zod").ZodNumber;
458
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
459
+ }, "strip", import("zod").ZodTypeAny, {
460
+ value: number;
461
+ provenance?: string | undefined;
462
+ }, {
463
+ value: number;
464
+ provenance?: string | undefined;
465
+ }>>;
466
+ brakeLinearForwardS: import("zod").ZodOptional<import("zod").ZodObject<{
467
+ value: import("zod").ZodNumber;
468
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
469
+ }, "strip", import("zod").ZodTypeAny, {
470
+ value: number;
471
+ provenance?: string | undefined;
472
+ }, {
473
+ value: number;
474
+ provenance?: string | undefined;
475
+ }>>;
476
+ brakeQuadraticForwardS2PerIn: import("zod").ZodOptional<import("zod").ZodObject<{
477
+ value: import("zod").ZodNumber;
478
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
479
+ }, "strip", import("zod").ZodTypeAny, {
480
+ value: number;
481
+ provenance?: string | undefined;
482
+ }, {
483
+ value: number;
484
+ provenance?: string | undefined;
485
+ }>>;
486
+ brakeLinearStrafeS: import("zod").ZodOptional<import("zod").ZodObject<{
487
+ value: import("zod").ZodNumber;
488
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
489
+ }, "strip", import("zod").ZodTypeAny, {
490
+ value: number;
491
+ provenance?: string | undefined;
492
+ }, {
493
+ value: number;
494
+ provenance?: string | undefined;
495
+ }>>;
496
+ brakeQuadraticStrafeS2PerIn: import("zod").ZodOptional<import("zod").ZodObject<{
497
+ value: import("zod").ZodNumber;
498
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
499
+ }, "strip", import("zod").ZodTypeAny, {
500
+ value: number;
501
+ provenance?: string | undefined;
502
+ }, {
503
+ value: number;
504
+ provenance?: string | undefined;
505
+ }>>;
506
+ headingBrakeLinearS: import("zod").ZodOptional<import("zod").ZodObject<{
507
+ value: import("zod").ZodNumber;
508
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
509
+ }, "strip", import("zod").ZodTypeAny, {
510
+ value: number;
511
+ provenance?: string | undefined;
512
+ }, {
513
+ value: number;
514
+ provenance?: string | undefined;
515
+ }>>;
516
+ headingBrakeQuadraticS2PerRad: import("zod").ZodOptional<import("zod").ZodObject<{
517
+ value: import("zod").ZodNumber;
518
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
519
+ }, "strip", import("zod").ZodTypeAny, {
520
+ value: number;
521
+ provenance?: string | undefined;
522
+ }, {
523
+ value: number;
524
+ provenance?: string | undefined;
525
+ }>>;
526
+ endParametricT: import("zod").ZodOptional<import("zod").ZodObject<{
527
+ value: import("zod").ZodNumber;
528
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
529
+ }, "strip", import("zod").ZodTypeAny, {
530
+ value: number;
531
+ provenance?: string | undefined;
532
+ }, {
533
+ value: number;
534
+ provenance?: string | undefined;
535
+ }>>;
536
+ endHeadingToleranceRad: import("zod").ZodOptional<import("zod").ZodObject<{
537
+ value: import("zod").ZodNumber;
538
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
539
+ }, "strip", import("zod").ZodTypeAny, {
540
+ value: number;
541
+ provenance?: string | undefined;
542
+ }, {
543
+ value: number;
544
+ provenance?: string | undefined;
545
+ }>>;
546
+ endTranslationalToleranceIn: import("zod").ZodOptional<import("zod").ZodObject<{
547
+ value: import("zod").ZodNumber;
548
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
549
+ }, "strip", import("zod").ZodTypeAny, {
550
+ value: number;
551
+ provenance?: string | undefined;
552
+ }, {
553
+ value: number;
554
+ provenance?: string | undefined;
555
+ }>>;
556
+ endVelocityToleranceInPerS: import("zod").ZodOptional<import("zod").ZodObject<{
557
+ value: import("zod").ZodNumber;
558
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
559
+ }, "strip", import("zod").ZodTypeAny, {
560
+ value: number;
561
+ provenance?: string | undefined;
562
+ }, {
563
+ value: number;
564
+ provenance?: string | undefined;
565
+ }>>;
566
+ holdTimeoutS: import("zod").ZodOptional<import("zod").ZodObject<{
567
+ value: import("zod").ZodNumber;
568
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
569
+ }, "strip", import("zod").ZodTypeAny, {
570
+ value: number;
571
+ provenance?: string | undefined;
572
+ }, {
573
+ value: number;
574
+ provenance?: string | undefined;
575
+ }>>;
576
+ headingDeviationToleranceRad: import("zod").ZodOptional<import("zod").ZodObject<{
577
+ value: import("zod").ZodNumber;
578
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
579
+ }, "strip", import("zod").ZodTypeAny, {
580
+ value: number;
581
+ provenance?: string | undefined;
582
+ }, {
583
+ value: number;
584
+ provenance?: string | undefined;
585
+ }>>;
586
+ translationalDeviationToleranceIn: import("zod").ZodOptional<import("zod").ZodObject<{
587
+ value: import("zod").ZodNumber;
588
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
589
+ }, "strip", import("zod").ZodTypeAny, {
590
+ value: number;
591
+ provenance?: string | undefined;
592
+ }, {
593
+ value: number;
594
+ provenance?: string | undefined;
595
+ }>>;
596
+ minCorrectionDistanceIn: import("zod").ZodOptional<import("zod").ZodObject<{
597
+ value: import("zod").ZodNumber;
598
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
599
+ }, "strip", import("zod").ZodTypeAny, {
600
+ value: number;
601
+ provenance?: string | undefined;
602
+ }, {
603
+ value: number;
604
+ provenance?: string | undefined;
605
+ }>>;
606
+ library: import("zod").ZodEnum<["pedro"]>;
607
+ version: import("zod").ZodString;
608
+ holdEnd: import("zod").ZodBoolean;
609
+ }, "strip", import("zod").ZodTypeAny, {
610
+ library: "pedro";
611
+ version: string;
612
+ holdEnd: boolean;
613
+ forwardTranslationalPowerPerIn?: {
614
+ value: number;
615
+ provenance?: string | undefined;
616
+ } | undefined;
617
+ strafeTranslationalPowerPerIn?: {
618
+ value: number;
619
+ provenance?: string | undefined;
620
+ } | undefined;
621
+ headingPowerPerRad?: {
622
+ value: number;
623
+ provenance?: string | undefined;
624
+ } | undefined;
625
+ headingStaticPower?: {
626
+ value: number;
627
+ provenance?: string | undefined;
628
+ } | undefined;
629
+ coastPowerPerInPerS?: {
630
+ value: number;
631
+ provenance?: string | undefined;
632
+ } | undefined;
633
+ coastFeedforwardPowerPerInPerS?: {
634
+ value: number;
635
+ provenance?: string | undefined;
636
+ } | undefined;
637
+ brakeFeedforwardPowerPerInPerS?: {
638
+ value: number;
639
+ provenance?: string | undefined;
640
+ } | undefined;
641
+ maxBrakingPower?: {
642
+ value: number;
643
+ provenance?: string | undefined;
644
+ } | undefined;
645
+ headingDriveRatio?: {
646
+ value: number;
647
+ provenance?: string | undefined;
648
+ } | undefined;
649
+ brakeAggression?: {
650
+ value: number;
651
+ provenance?: string | undefined;
652
+ } | undefined;
653
+ brakeLinearForwardS?: {
654
+ value: number;
655
+ provenance?: string | undefined;
656
+ } | undefined;
657
+ brakeQuadraticForwardS2PerIn?: {
658
+ value: number;
659
+ provenance?: string | undefined;
660
+ } | undefined;
661
+ brakeLinearStrafeS?: {
662
+ value: number;
663
+ provenance?: string | undefined;
664
+ } | undefined;
665
+ brakeQuadraticStrafeS2PerIn?: {
666
+ value: number;
667
+ provenance?: string | undefined;
668
+ } | undefined;
669
+ headingBrakeLinearS?: {
670
+ value: number;
671
+ provenance?: string | undefined;
672
+ } | undefined;
673
+ headingBrakeQuadraticS2PerRad?: {
674
+ value: number;
675
+ provenance?: string | undefined;
676
+ } | undefined;
677
+ endParametricT?: {
678
+ value: number;
679
+ provenance?: string | undefined;
680
+ } | undefined;
681
+ endHeadingToleranceRad?: {
682
+ value: number;
683
+ provenance?: string | undefined;
684
+ } | undefined;
685
+ endTranslationalToleranceIn?: {
686
+ value: number;
687
+ provenance?: string | undefined;
688
+ } | undefined;
689
+ endVelocityToleranceInPerS?: {
690
+ value: number;
691
+ provenance?: string | undefined;
692
+ } | undefined;
693
+ holdTimeoutS?: {
694
+ value: number;
695
+ provenance?: string | undefined;
696
+ } | undefined;
697
+ headingDeviationToleranceRad?: {
698
+ value: number;
699
+ provenance?: string | undefined;
700
+ } | undefined;
701
+ translationalDeviationToleranceIn?: {
702
+ value: number;
703
+ provenance?: string | undefined;
704
+ } | undefined;
705
+ minCorrectionDistanceIn?: {
706
+ value: number;
707
+ provenance?: string | undefined;
708
+ } | undefined;
709
+ cosineScale?: boolean | {
710
+ value: boolean;
711
+ provenance?: string | undefined;
712
+ } | undefined;
713
+ turnBeforeDriving?: boolean | {
714
+ value: boolean;
715
+ provenance?: string | undefined;
716
+ } | undefined;
717
+ }, {
718
+ library: "pedro";
719
+ version: string;
720
+ holdEnd: boolean;
721
+ forwardTranslationalPowerPerIn?: {
722
+ value: number;
723
+ provenance?: string | undefined;
724
+ } | undefined;
725
+ strafeTranslationalPowerPerIn?: {
726
+ value: number;
727
+ provenance?: string | undefined;
728
+ } | undefined;
729
+ headingPowerPerRad?: {
730
+ value: number;
731
+ provenance?: string | undefined;
732
+ } | undefined;
733
+ headingStaticPower?: {
734
+ value: number;
735
+ provenance?: string | undefined;
736
+ } | undefined;
737
+ coastPowerPerInPerS?: {
738
+ value: number;
739
+ provenance?: string | undefined;
740
+ } | undefined;
741
+ coastFeedforwardPowerPerInPerS?: {
742
+ value: number;
743
+ provenance?: string | undefined;
744
+ } | undefined;
745
+ brakeFeedforwardPowerPerInPerS?: {
746
+ value: number;
747
+ provenance?: string | undefined;
748
+ } | undefined;
749
+ maxBrakingPower?: {
750
+ value: number;
751
+ provenance?: string | undefined;
752
+ } | undefined;
753
+ headingDriveRatio?: {
754
+ value: number;
755
+ provenance?: string | undefined;
756
+ } | undefined;
757
+ brakeAggression?: {
758
+ value: number;
759
+ provenance?: string | undefined;
760
+ } | undefined;
761
+ brakeLinearForwardS?: {
762
+ value: number;
763
+ provenance?: string | undefined;
764
+ } | undefined;
765
+ brakeQuadraticForwardS2PerIn?: {
766
+ value: number;
767
+ provenance?: string | undefined;
768
+ } | undefined;
769
+ brakeLinearStrafeS?: {
770
+ value: number;
771
+ provenance?: string | undefined;
772
+ } | undefined;
773
+ brakeQuadraticStrafeS2PerIn?: {
774
+ value: number;
775
+ provenance?: string | undefined;
776
+ } | undefined;
777
+ headingBrakeLinearS?: {
778
+ value: number;
779
+ provenance?: string | undefined;
780
+ } | undefined;
781
+ headingBrakeQuadraticS2PerRad?: {
782
+ value: number;
783
+ provenance?: string | undefined;
784
+ } | undefined;
785
+ endParametricT?: {
786
+ value: number;
787
+ provenance?: string | undefined;
788
+ } | undefined;
789
+ endHeadingToleranceRad?: {
790
+ value: number;
791
+ provenance?: string | undefined;
792
+ } | undefined;
793
+ endTranslationalToleranceIn?: {
794
+ value: number;
795
+ provenance?: string | undefined;
796
+ } | undefined;
797
+ endVelocityToleranceInPerS?: {
798
+ value: number;
799
+ provenance?: string | undefined;
800
+ } | undefined;
801
+ holdTimeoutS?: {
802
+ value: number;
803
+ provenance?: string | undefined;
804
+ } | undefined;
805
+ headingDeviationToleranceRad?: {
806
+ value: number;
807
+ provenance?: string | undefined;
808
+ } | undefined;
809
+ translationalDeviationToleranceIn?: {
810
+ value: number;
811
+ provenance?: string | undefined;
812
+ } | undefined;
813
+ minCorrectionDistanceIn?: {
814
+ value: number;
815
+ provenance?: string | undefined;
816
+ } | undefined;
817
+ cosineScale?: boolean | {
818
+ value: boolean;
819
+ provenance?: string | undefined;
820
+ } | undefined;
821
+ turnBeforeDriving?: boolean | {
822
+ value: boolean;
823
+ provenance?: string | undefined;
824
+ } | undefined;
825
+ }>;
826
+ drivetrain: import("zod").ZodOptional<import("zod").ZodObject<{
827
+ trackWidthIn: import("zod").ZodOptional<import("zod").ZodObject<{
828
+ value: import("zod").ZodNumber;
829
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
830
+ }, "strip", import("zod").ZodTypeAny, {
831
+ value: number;
832
+ provenance?: string | undefined;
833
+ }, {
834
+ value: number;
835
+ provenance?: string | undefined;
836
+ }>>;
837
+ wheelBaseIn: import("zod").ZodOptional<import("zod").ZodObject<{
838
+ value: import("zod").ZodNumber;
839
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
840
+ }, "strip", import("zod").ZodTypeAny, {
841
+ value: number;
842
+ provenance?: string | undefined;
843
+ }, {
844
+ value: number;
845
+ provenance?: string | undefined;
846
+ }>>;
847
+ wheelResponseRatePerS: import("zod").ZodOptional<import("zod").ZodObject<{
848
+ value: import("zod").ZodNumber;
849
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
850
+ }, "strip", import("zod").ZodTypeAny, {
851
+ value: number;
852
+ provenance?: string | undefined;
853
+ }, {
854
+ value: number;
855
+ provenance?: string | undefined;
856
+ }>>;
857
+ }, "strip", import("zod").ZodTypeAny, {
858
+ trackWidthIn?: {
859
+ value: number;
860
+ provenance?: string | undefined;
861
+ } | undefined;
862
+ wheelBaseIn?: {
863
+ value: number;
864
+ provenance?: string | undefined;
865
+ } | undefined;
866
+ wheelResponseRatePerS?: {
867
+ value: number;
868
+ provenance?: string | undefined;
869
+ } | undefined;
870
+ }, {
871
+ trackWidthIn?: {
872
+ value: number;
873
+ provenance?: string | undefined;
874
+ } | undefined;
875
+ wheelBaseIn?: {
876
+ value: number;
877
+ provenance?: string | undefined;
878
+ } | undefined;
879
+ wheelResponseRatePerS?: {
880
+ value: number;
881
+ provenance?: string | undefined;
882
+ } | undefined;
883
+ }>>;
884
+ }, "strip", import("zod").ZodTypeAny, {
885
+ maxForwardVelInPerS: {
886
+ value: number;
887
+ provenance?: string | undefined;
888
+ };
889
+ maxStrafeVelInPerS: {
890
+ value: number;
891
+ provenance?: string | undefined;
892
+ };
893
+ forwardDecelInPerS2: {
894
+ value: number;
895
+ provenance?: string | undefined;
896
+ };
897
+ strafeDecelInPerS2: {
898
+ value: number;
899
+ provenance?: string | undefined;
900
+ };
901
+ accelInPerS2: {
902
+ value: number;
903
+ provenance?: string | undefined;
904
+ };
905
+ maxAngularVelRadPerS: {
906
+ value: number;
907
+ provenance?: string | undefined;
908
+ };
909
+ defaultPathSpeedFraction: {
910
+ value: number;
911
+ provenance?: string | undefined;
912
+ };
913
+ follower: {
914
+ library: "pedro";
915
+ version: string;
916
+ holdEnd: boolean;
917
+ forwardTranslationalPowerPerIn?: {
918
+ value: number;
919
+ provenance?: string | undefined;
920
+ } | undefined;
921
+ strafeTranslationalPowerPerIn?: {
922
+ value: number;
923
+ provenance?: string | undefined;
924
+ } | undefined;
925
+ headingPowerPerRad?: {
926
+ value: number;
927
+ provenance?: string | undefined;
928
+ } | undefined;
929
+ headingStaticPower?: {
930
+ value: number;
931
+ provenance?: string | undefined;
932
+ } | undefined;
933
+ coastPowerPerInPerS?: {
934
+ value: number;
935
+ provenance?: string | undefined;
936
+ } | undefined;
937
+ coastFeedforwardPowerPerInPerS?: {
938
+ value: number;
939
+ provenance?: string | undefined;
940
+ } | undefined;
941
+ brakeFeedforwardPowerPerInPerS?: {
942
+ value: number;
943
+ provenance?: string | undefined;
944
+ } | undefined;
945
+ maxBrakingPower?: {
946
+ value: number;
947
+ provenance?: string | undefined;
948
+ } | undefined;
949
+ headingDriveRatio?: {
950
+ value: number;
951
+ provenance?: string | undefined;
952
+ } | undefined;
953
+ brakeAggression?: {
954
+ value: number;
955
+ provenance?: string | undefined;
956
+ } | undefined;
957
+ brakeLinearForwardS?: {
958
+ value: number;
959
+ provenance?: string | undefined;
960
+ } | undefined;
961
+ brakeQuadraticForwardS2PerIn?: {
962
+ value: number;
963
+ provenance?: string | undefined;
964
+ } | undefined;
965
+ brakeLinearStrafeS?: {
966
+ value: number;
967
+ provenance?: string | undefined;
968
+ } | undefined;
969
+ brakeQuadraticStrafeS2PerIn?: {
970
+ value: number;
971
+ provenance?: string | undefined;
972
+ } | undefined;
973
+ headingBrakeLinearS?: {
974
+ value: number;
975
+ provenance?: string | undefined;
976
+ } | undefined;
977
+ headingBrakeQuadraticS2PerRad?: {
978
+ value: number;
979
+ provenance?: string | undefined;
980
+ } | undefined;
981
+ endParametricT?: {
982
+ value: number;
983
+ provenance?: string | undefined;
984
+ } | undefined;
985
+ endHeadingToleranceRad?: {
986
+ value: number;
987
+ provenance?: string | undefined;
988
+ } | undefined;
989
+ endTranslationalToleranceIn?: {
990
+ value: number;
991
+ provenance?: string | undefined;
992
+ } | undefined;
993
+ endVelocityToleranceInPerS?: {
994
+ value: number;
995
+ provenance?: string | undefined;
996
+ } | undefined;
997
+ holdTimeoutS?: {
998
+ value: number;
999
+ provenance?: string | undefined;
1000
+ } | undefined;
1001
+ headingDeviationToleranceRad?: {
1002
+ value: number;
1003
+ provenance?: string | undefined;
1004
+ } | undefined;
1005
+ translationalDeviationToleranceIn?: {
1006
+ value: number;
1007
+ provenance?: string | undefined;
1008
+ } | undefined;
1009
+ minCorrectionDistanceIn?: {
1010
+ value: number;
1011
+ provenance?: string | undefined;
1012
+ } | undefined;
1013
+ cosineScale?: boolean | {
1014
+ value: boolean;
1015
+ provenance?: string | undefined;
1016
+ } | undefined;
1017
+ turnBeforeDriving?: boolean | {
1018
+ value: boolean;
1019
+ provenance?: string | undefined;
1020
+ } | undefined;
1021
+ };
1022
+ settleS?: {
1023
+ value: number;
1024
+ provenance?: string | undefined;
1025
+ } | undefined;
1026
+ strafeFractionWarn?: {
1027
+ value: number;
1028
+ provenance?: string | undefined;
1029
+ } | undefined;
1030
+ strafeFractionThreshold?: {
1031
+ value: number;
1032
+ provenance?: string | undefined;
1033
+ } | undefined;
1034
+ sweepSpeedFraction?: {
1035
+ value: number;
1036
+ provenance?: string | undefined;
1037
+ } | undefined;
1038
+ calibration?: {
1039
+ band: number;
1040
+ provenance?: string | undefined;
1041
+ samples?: number | undefined;
1042
+ } | undefined;
1043
+ drivetrain?: {
1044
+ trackWidthIn?: {
1045
+ value: number;
1046
+ provenance?: string | undefined;
1047
+ } | undefined;
1048
+ wheelBaseIn?: {
1049
+ value: number;
1050
+ provenance?: string | undefined;
1051
+ } | undefined;
1052
+ wheelResponseRatePerS?: {
1053
+ value: number;
1054
+ provenance?: string | undefined;
1055
+ } | undefined;
1056
+ } | undefined;
1057
+ }, {
1058
+ maxForwardVelInPerS: {
1059
+ value: number;
1060
+ provenance?: string | undefined;
1061
+ };
1062
+ maxStrafeVelInPerS: {
1063
+ value: number;
1064
+ provenance?: string | undefined;
1065
+ };
1066
+ forwardDecelInPerS2: {
1067
+ value: number;
1068
+ provenance?: string | undefined;
1069
+ };
1070
+ strafeDecelInPerS2: {
1071
+ value: number;
1072
+ provenance?: string | undefined;
1073
+ };
1074
+ accelInPerS2: {
1075
+ value: number;
1076
+ provenance?: string | undefined;
1077
+ };
1078
+ maxAngularVelRadPerS: {
1079
+ value: number;
1080
+ provenance?: string | undefined;
1081
+ };
1082
+ defaultPathSpeedFraction: {
1083
+ value: number;
1084
+ provenance?: string | undefined;
1085
+ };
1086
+ follower: {
1087
+ library: "pedro";
1088
+ version: string;
1089
+ holdEnd: boolean;
1090
+ forwardTranslationalPowerPerIn?: {
1091
+ value: number;
1092
+ provenance?: string | undefined;
1093
+ } | undefined;
1094
+ strafeTranslationalPowerPerIn?: {
1095
+ value: number;
1096
+ provenance?: string | undefined;
1097
+ } | undefined;
1098
+ headingPowerPerRad?: {
1099
+ value: number;
1100
+ provenance?: string | undefined;
1101
+ } | undefined;
1102
+ headingStaticPower?: {
1103
+ value: number;
1104
+ provenance?: string | undefined;
1105
+ } | undefined;
1106
+ coastPowerPerInPerS?: {
1107
+ value: number;
1108
+ provenance?: string | undefined;
1109
+ } | undefined;
1110
+ coastFeedforwardPowerPerInPerS?: {
1111
+ value: number;
1112
+ provenance?: string | undefined;
1113
+ } | undefined;
1114
+ brakeFeedforwardPowerPerInPerS?: {
1115
+ value: number;
1116
+ provenance?: string | undefined;
1117
+ } | undefined;
1118
+ maxBrakingPower?: {
1119
+ value: number;
1120
+ provenance?: string | undefined;
1121
+ } | undefined;
1122
+ headingDriveRatio?: {
1123
+ value: number;
1124
+ provenance?: string | undefined;
1125
+ } | undefined;
1126
+ brakeAggression?: {
1127
+ value: number;
1128
+ provenance?: string | undefined;
1129
+ } | undefined;
1130
+ brakeLinearForwardS?: {
1131
+ value: number;
1132
+ provenance?: string | undefined;
1133
+ } | undefined;
1134
+ brakeQuadraticForwardS2PerIn?: {
1135
+ value: number;
1136
+ provenance?: string | undefined;
1137
+ } | undefined;
1138
+ brakeLinearStrafeS?: {
1139
+ value: number;
1140
+ provenance?: string | undefined;
1141
+ } | undefined;
1142
+ brakeQuadraticStrafeS2PerIn?: {
1143
+ value: number;
1144
+ provenance?: string | undefined;
1145
+ } | undefined;
1146
+ headingBrakeLinearS?: {
1147
+ value: number;
1148
+ provenance?: string | undefined;
1149
+ } | undefined;
1150
+ headingBrakeQuadraticS2PerRad?: {
1151
+ value: number;
1152
+ provenance?: string | undefined;
1153
+ } | undefined;
1154
+ endParametricT?: {
1155
+ value: number;
1156
+ provenance?: string | undefined;
1157
+ } | undefined;
1158
+ endHeadingToleranceRad?: {
1159
+ value: number;
1160
+ provenance?: string | undefined;
1161
+ } | undefined;
1162
+ endTranslationalToleranceIn?: {
1163
+ value: number;
1164
+ provenance?: string | undefined;
1165
+ } | undefined;
1166
+ endVelocityToleranceInPerS?: {
1167
+ value: number;
1168
+ provenance?: string | undefined;
1169
+ } | undefined;
1170
+ holdTimeoutS?: {
1171
+ value: number;
1172
+ provenance?: string | undefined;
1173
+ } | undefined;
1174
+ headingDeviationToleranceRad?: {
1175
+ value: number;
1176
+ provenance?: string | undefined;
1177
+ } | undefined;
1178
+ translationalDeviationToleranceIn?: {
1179
+ value: number;
1180
+ provenance?: string | undefined;
1181
+ } | undefined;
1182
+ minCorrectionDistanceIn?: {
1183
+ value: number;
1184
+ provenance?: string | undefined;
1185
+ } | undefined;
1186
+ cosineScale?: boolean | {
1187
+ value: boolean;
1188
+ provenance?: string | undefined;
1189
+ } | undefined;
1190
+ turnBeforeDriving?: boolean | {
1191
+ value: boolean;
1192
+ provenance?: string | undefined;
1193
+ } | undefined;
1194
+ };
1195
+ settleS?: {
1196
+ value: number;
1197
+ provenance?: string | undefined;
1198
+ } | undefined;
1199
+ strafeFractionWarn?: {
1200
+ value: number;
1201
+ provenance?: string | undefined;
1202
+ } | undefined;
1203
+ strafeFractionThreshold?: {
1204
+ value: number;
1205
+ provenance?: string | undefined;
1206
+ } | undefined;
1207
+ sweepSpeedFraction?: {
1208
+ value: number;
1209
+ provenance?: string | undefined;
1210
+ } | undefined;
1211
+ calibration?: {
1212
+ band: number;
1213
+ provenance?: string | undefined;
1214
+ samples?: number | undefined;
1215
+ } | undefined;
1216
+ drivetrain?: {
1217
+ trackWidthIn?: {
1218
+ value: number;
1219
+ provenance?: string | undefined;
1220
+ } | undefined;
1221
+ wheelBaseIn?: {
1222
+ value: number;
1223
+ provenance?: string | undefined;
1224
+ } | undefined;
1225
+ wheelResponseRatePerS?: {
1226
+ value: number;
1227
+ provenance?: string | undefined;
1228
+ } | undefined;
1229
+ } | undefined;
1230
+ }>;
1231
+ mouths: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1232
+ id: import("zod").ZodString;
1233
+ side: import("zod").ZodEnum<["FRONT", "BACK", "LEFT", "RIGHT"]>;
1234
+ offsetIn: import("zod").ZodObject<{
1235
+ xIn: import("zod").ZodNumber;
1236
+ yIn: import("zod").ZodNumber;
1237
+ }, "strip", import("zod").ZodTypeAny, {
1238
+ xIn: number;
1239
+ yIn: number;
1240
+ }, {
1241
+ xIn: number;
1242
+ yIn: number;
1243
+ }>;
1244
+ widthIn: import("zod").ZodNumber;
1245
+ depthIn: import("zod").ZodNumber;
1246
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1247
+ }, "strip", import("zod").ZodTypeAny, {
1248
+ id: string;
1249
+ widthIn: number;
1250
+ side: "FRONT" | "BACK" | "LEFT" | "RIGHT";
1251
+ offsetIn: {
1252
+ xIn: number;
1253
+ yIn: number;
1254
+ };
1255
+ depthIn: number;
1256
+ provenance?: string | undefined;
1257
+ }, {
1258
+ id: string;
1259
+ widthIn: number;
1260
+ side: "FRONT" | "BACK" | "LEFT" | "RIGHT";
1261
+ offsetIn: {
1262
+ xIn: number;
1263
+ yIn: number;
1264
+ };
1265
+ depthIn: number;
1266
+ provenance?: string | undefined;
1267
+ }>, "many">>;
1268
+ capacity: import("zod").ZodOptional<import("zod").ZodObject<{
1269
+ elementKind: import("zod").ZodString;
1270
+ max: import("zod").ZodNumber;
1271
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1272
+ }, "strip", import("zod").ZodTypeAny, {
1273
+ max: number;
1274
+ elementKind: string;
1275
+ provenance?: string | undefined;
1276
+ }, {
1277
+ max: number;
1278
+ elementKind: string;
1279
+ provenance?: string | undefined;
1280
+ }>>;
1281
+ shooter: import("zod").ZodOptional<import("zod").ZodObject<{
1282
+ kind: import("zod").ZodString;
1283
+ turretRangeRad: import("zod").ZodOptional<import("zod").ZodObject<{
1284
+ minRad: import("zod").ZodNumber;
1285
+ maxRad: import("zod").ZodNumber;
1286
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1287
+ }, "strip", import("zod").ZodTypeAny, {
1288
+ minRad: number;
1289
+ maxRad: number;
1290
+ provenance?: string | undefined;
1291
+ }, {
1292
+ minRad: number;
1293
+ maxRad: number;
1294
+ provenance?: string | undefined;
1295
+ }>>;
1296
+ cadenceS: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodNumber, import("zod").ZodString]>>>;
1297
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
1298
+ value: import("zod").ZodNumber;
1299
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1300
+ }, "strip", import("zod").ZodTypeAny, {
1301
+ value: number;
1302
+ provenance?: string | undefined;
1303
+ }, {
1304
+ value: number;
1305
+ provenance?: string | undefined;
1306
+ }>>;
1307
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
1308
+ kind: import("zod").ZodString;
1309
+ turretRangeRad: import("zod").ZodOptional<import("zod").ZodObject<{
1310
+ minRad: import("zod").ZodNumber;
1311
+ maxRad: import("zod").ZodNumber;
1312
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1313
+ }, "strip", import("zod").ZodTypeAny, {
1314
+ minRad: number;
1315
+ maxRad: number;
1316
+ provenance?: string | undefined;
1317
+ }, {
1318
+ minRad: number;
1319
+ maxRad: number;
1320
+ provenance?: string | undefined;
1321
+ }>>;
1322
+ cadenceS: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodNumber, import("zod").ZodString]>>>;
1323
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
1324
+ value: import("zod").ZodNumber;
1325
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1326
+ }, "strip", import("zod").ZodTypeAny, {
1327
+ value: number;
1328
+ provenance?: string | undefined;
1329
+ }, {
1330
+ value: number;
1331
+ provenance?: string | undefined;
1332
+ }>>;
1333
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
1334
+ kind: import("zod").ZodString;
1335
+ turretRangeRad: import("zod").ZodOptional<import("zod").ZodObject<{
1336
+ minRad: import("zod").ZodNumber;
1337
+ maxRad: import("zod").ZodNumber;
1338
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1339
+ }, "strip", import("zod").ZodTypeAny, {
1340
+ minRad: number;
1341
+ maxRad: number;
1342
+ provenance?: string | undefined;
1343
+ }, {
1344
+ minRad: number;
1345
+ maxRad: number;
1346
+ provenance?: string | undefined;
1347
+ }>>;
1348
+ cadenceS: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodNumber, import("zod").ZodString]>>>;
1349
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
1350
+ value: import("zod").ZodNumber;
1351
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1352
+ }, "strip", import("zod").ZodTypeAny, {
1353
+ value: number;
1354
+ provenance?: string | undefined;
1355
+ }, {
1356
+ value: number;
1357
+ provenance?: string | undefined;
1358
+ }>>;
1359
+ }, import("zod").ZodTypeAny, "passthrough">>>;
1360
+ commands: import("zod").ZodArray<import("zod").ZodObject<{
1361
+ name: import("zod").ZodString;
1362
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
1363
+ params: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodDiscriminatedUnion<"type", [import("zod").ZodObject<{
1364
+ type: import("zod").ZodLiteral<"integer">;
1365
+ min: import("zod").ZodOptional<import("zod").ZodNumber>;
1366
+ max: import("zod").ZodOptional<import("zod").ZodNumber>;
1367
+ default: import("zod").ZodOptional<import("zod").ZodNumber>;
1368
+ }, "strip", import("zod").ZodTypeAny, {
1369
+ type: "integer";
1370
+ min?: number | undefined;
1371
+ max?: number | undefined;
1372
+ default?: number | undefined;
1373
+ }, {
1374
+ type: "integer";
1375
+ min?: number | undefined;
1376
+ max?: number | undefined;
1377
+ default?: number | undefined;
1378
+ }>, import("zod").ZodObject<{
1379
+ type: import("zod").ZodLiteral<"number">;
1380
+ min: import("zod").ZodOptional<import("zod").ZodNumber>;
1381
+ max: import("zod").ZodOptional<import("zod").ZodNumber>;
1382
+ default: import("zod").ZodOptional<import("zod").ZodNumber>;
1383
+ }, "strip", import("zod").ZodTypeAny, {
1384
+ type: "number";
1385
+ min?: number | undefined;
1386
+ max?: number | undefined;
1387
+ default?: number | undefined;
1388
+ }, {
1389
+ type: "number";
1390
+ min?: number | undefined;
1391
+ max?: number | undefined;
1392
+ default?: number | undefined;
1393
+ }>, import("zod").ZodObject<{
1394
+ type: import("zod").ZodLiteral<"enum">;
1395
+ values: import("zod").ZodArray<import("zod").ZodString, "many">;
1396
+ default: import("zod").ZodOptional<import("zod").ZodString>;
1397
+ }, "strip", import("zod").ZodTypeAny, {
1398
+ type: "enum";
1399
+ values: string[];
1400
+ default?: string | undefined;
1401
+ }, {
1402
+ type: "enum";
1403
+ values: string[];
1404
+ default?: string | undefined;
1405
+ }>, import("zod").ZodObject<{
1406
+ type: import("zod").ZodLiteral<"boolean">;
1407
+ default: import("zod").ZodOptional<import("zod").ZodBoolean>;
1408
+ }, "strip", import("zod").ZodTypeAny, {
1409
+ type: "boolean";
1410
+ default?: boolean | undefined;
1411
+ }, {
1412
+ type: "boolean";
1413
+ default?: boolean | undefined;
1414
+ }>, import("zod").ZodObject<{
1415
+ type: import("zod").ZodLiteral<"string">;
1416
+ default: import("zod").ZodOptional<import("zod").ZodString>;
1417
+ }, "strip", import("zod").ZodTypeAny, {
1418
+ type: "string";
1419
+ default?: string | undefined;
1420
+ }, {
1421
+ type: "string";
1422
+ default?: string | undefined;
1423
+ }>]>>>;
1424
+ estimateS: import("zod").ZodEffects<import("zod").ZodString, string, string>;
1425
+ requires: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
1426
+ stationary: import("zod").ZodOptional<import("zod").ZodBoolean>;
1427
+ movesRobot: import("zod").ZodOptional<import("zod").ZodBoolean>;
1428
+ ledger: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNumber]>>>;
1429
+ }, "strip", import("zod").ZodTypeAny, {
1430
+ name: string;
1431
+ estimateS: string;
1432
+ params?: Record<string, {
1433
+ type: "integer";
1434
+ min?: number | undefined;
1435
+ max?: number | undefined;
1436
+ default?: number | undefined;
1437
+ } | {
1438
+ type: "number";
1439
+ min?: number | undefined;
1440
+ max?: number | undefined;
1441
+ default?: number | undefined;
1442
+ } | {
1443
+ type: "enum";
1444
+ values: string[];
1445
+ default?: string | undefined;
1446
+ } | {
1447
+ type: "boolean";
1448
+ default?: boolean | undefined;
1449
+ } | {
1450
+ type: "string";
1451
+ default?: string | undefined;
1452
+ }> | undefined;
1453
+ summary?: string | undefined;
1454
+ requires?: string[] | undefined;
1455
+ stationary?: boolean | undefined;
1456
+ movesRobot?: boolean | undefined;
1457
+ ledger?: Record<string, string | number> | undefined;
1458
+ }, {
1459
+ name: string;
1460
+ estimateS: string;
1461
+ params?: Record<string, {
1462
+ type: "integer";
1463
+ min?: number | undefined;
1464
+ max?: number | undefined;
1465
+ default?: number | undefined;
1466
+ } | {
1467
+ type: "number";
1468
+ min?: number | undefined;
1469
+ max?: number | undefined;
1470
+ default?: number | undefined;
1471
+ } | {
1472
+ type: "enum";
1473
+ values: string[];
1474
+ default?: string | undefined;
1475
+ } | {
1476
+ type: "boolean";
1477
+ default?: boolean | undefined;
1478
+ } | {
1479
+ type: "string";
1480
+ default?: string | undefined;
1481
+ }> | undefined;
1482
+ summary?: string | undefined;
1483
+ requires?: string[] | undefined;
1484
+ stationary?: boolean | undefined;
1485
+ movesRobot?: boolean | undefined;
1486
+ ledger?: Record<string, string | number> | undefined;
1487
+ }>, "many">;
1488
+ conditions: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
1489
+ name: import("zod").ZodString;
1490
+ summary: import("zod").ZodOptional<import("zod").ZodString>;
1491
+ ledger: import("zod").ZodOptional<import("zod").ZodEnum<["full", "empty"]>>;
1492
+ }, "strip", import("zod").ZodTypeAny, {
1493
+ name: string;
1494
+ summary?: string | undefined;
1495
+ ledger?: "full" | "empty" | undefined;
1496
+ }, {
1497
+ name: string;
1498
+ summary?: string | undefined;
1499
+ ledger?: "full" | "empty" | undefined;
1500
+ }>, "many">>;
1501
+ }, "strip", import("zod").ZodTypeAny, {
1502
+ name: string;
1503
+ formatVersion: 1;
1504
+ frame: {
1505
+ left: "+x" | "+y" | "-x" | "-y";
1506
+ headingZero: "+x" | "+y";
1507
+ headingPositive: "ccw" | "cw";
1508
+ forward: "+x" | "+y" | "-x" | "-y";
1509
+ };
1510
+ footprint: {
1511
+ startIn: {
1512
+ lengthIn: number;
1513
+ widthIn: number;
1514
+ provenance?: string | undefined;
1515
+ };
1516
+ expandedIn: {
1517
+ lengthIn: number;
1518
+ widthIn: number;
1519
+ provenance?: string | undefined;
1520
+ };
1521
+ centreOfRotationIn: {
1522
+ xIn: number;
1523
+ yIn: number;
1524
+ provenance?: string | undefined;
1525
+ };
1526
+ heightIn?: {
1527
+ value: number;
1528
+ provenance?: string | undefined;
1529
+ } | undefined;
1530
+ };
1531
+ kinematics: {
1532
+ maxForwardVelInPerS: {
1533
+ value: number;
1534
+ provenance?: string | undefined;
1535
+ };
1536
+ maxStrafeVelInPerS: {
1537
+ value: number;
1538
+ provenance?: string | undefined;
1539
+ };
1540
+ forwardDecelInPerS2: {
1541
+ value: number;
1542
+ provenance?: string | undefined;
1543
+ };
1544
+ strafeDecelInPerS2: {
1545
+ value: number;
1546
+ provenance?: string | undefined;
1547
+ };
1548
+ accelInPerS2: {
1549
+ value: number;
1550
+ provenance?: string | undefined;
1551
+ };
1552
+ maxAngularVelRadPerS: {
1553
+ value: number;
1554
+ provenance?: string | undefined;
1555
+ };
1556
+ defaultPathSpeedFraction: {
1557
+ value: number;
1558
+ provenance?: string | undefined;
1559
+ };
1560
+ follower: {
1561
+ library: "pedro";
1562
+ version: string;
1563
+ holdEnd: boolean;
1564
+ forwardTranslationalPowerPerIn?: {
1565
+ value: number;
1566
+ provenance?: string | undefined;
1567
+ } | undefined;
1568
+ strafeTranslationalPowerPerIn?: {
1569
+ value: number;
1570
+ provenance?: string | undefined;
1571
+ } | undefined;
1572
+ headingPowerPerRad?: {
1573
+ value: number;
1574
+ provenance?: string | undefined;
1575
+ } | undefined;
1576
+ headingStaticPower?: {
1577
+ value: number;
1578
+ provenance?: string | undefined;
1579
+ } | undefined;
1580
+ coastPowerPerInPerS?: {
1581
+ value: number;
1582
+ provenance?: string | undefined;
1583
+ } | undefined;
1584
+ coastFeedforwardPowerPerInPerS?: {
1585
+ value: number;
1586
+ provenance?: string | undefined;
1587
+ } | undefined;
1588
+ brakeFeedforwardPowerPerInPerS?: {
1589
+ value: number;
1590
+ provenance?: string | undefined;
1591
+ } | undefined;
1592
+ maxBrakingPower?: {
1593
+ value: number;
1594
+ provenance?: string | undefined;
1595
+ } | undefined;
1596
+ headingDriveRatio?: {
1597
+ value: number;
1598
+ provenance?: string | undefined;
1599
+ } | undefined;
1600
+ brakeAggression?: {
1601
+ value: number;
1602
+ provenance?: string | undefined;
1603
+ } | undefined;
1604
+ brakeLinearForwardS?: {
1605
+ value: number;
1606
+ provenance?: string | undefined;
1607
+ } | undefined;
1608
+ brakeQuadraticForwardS2PerIn?: {
1609
+ value: number;
1610
+ provenance?: string | undefined;
1611
+ } | undefined;
1612
+ brakeLinearStrafeS?: {
1613
+ value: number;
1614
+ provenance?: string | undefined;
1615
+ } | undefined;
1616
+ brakeQuadraticStrafeS2PerIn?: {
1617
+ value: number;
1618
+ provenance?: string | undefined;
1619
+ } | undefined;
1620
+ headingBrakeLinearS?: {
1621
+ value: number;
1622
+ provenance?: string | undefined;
1623
+ } | undefined;
1624
+ headingBrakeQuadraticS2PerRad?: {
1625
+ value: number;
1626
+ provenance?: string | undefined;
1627
+ } | undefined;
1628
+ endParametricT?: {
1629
+ value: number;
1630
+ provenance?: string | undefined;
1631
+ } | undefined;
1632
+ endHeadingToleranceRad?: {
1633
+ value: number;
1634
+ provenance?: string | undefined;
1635
+ } | undefined;
1636
+ endTranslationalToleranceIn?: {
1637
+ value: number;
1638
+ provenance?: string | undefined;
1639
+ } | undefined;
1640
+ endVelocityToleranceInPerS?: {
1641
+ value: number;
1642
+ provenance?: string | undefined;
1643
+ } | undefined;
1644
+ holdTimeoutS?: {
1645
+ value: number;
1646
+ provenance?: string | undefined;
1647
+ } | undefined;
1648
+ headingDeviationToleranceRad?: {
1649
+ value: number;
1650
+ provenance?: string | undefined;
1651
+ } | undefined;
1652
+ translationalDeviationToleranceIn?: {
1653
+ value: number;
1654
+ provenance?: string | undefined;
1655
+ } | undefined;
1656
+ minCorrectionDistanceIn?: {
1657
+ value: number;
1658
+ provenance?: string | undefined;
1659
+ } | undefined;
1660
+ cosineScale?: boolean | {
1661
+ value: boolean;
1662
+ provenance?: string | undefined;
1663
+ } | undefined;
1664
+ turnBeforeDriving?: boolean | {
1665
+ value: boolean;
1666
+ provenance?: string | undefined;
1667
+ } | undefined;
1668
+ };
1669
+ settleS?: {
1670
+ value: number;
1671
+ provenance?: string | undefined;
1672
+ } | undefined;
1673
+ strafeFractionWarn?: {
1674
+ value: number;
1675
+ provenance?: string | undefined;
1676
+ } | undefined;
1677
+ strafeFractionThreshold?: {
1678
+ value: number;
1679
+ provenance?: string | undefined;
1680
+ } | undefined;
1681
+ sweepSpeedFraction?: {
1682
+ value: number;
1683
+ provenance?: string | undefined;
1684
+ } | undefined;
1685
+ calibration?: {
1686
+ band: number;
1687
+ provenance?: string | undefined;
1688
+ samples?: number | undefined;
1689
+ } | undefined;
1690
+ drivetrain?: {
1691
+ trackWidthIn?: {
1692
+ value: number;
1693
+ provenance?: string | undefined;
1694
+ } | undefined;
1695
+ wheelBaseIn?: {
1696
+ value: number;
1697
+ provenance?: string | undefined;
1698
+ } | undefined;
1699
+ wheelResponseRatePerS?: {
1700
+ value: number;
1701
+ provenance?: string | undefined;
1702
+ } | undefined;
1703
+ } | undefined;
1704
+ };
1705
+ commands: {
1706
+ name: string;
1707
+ estimateS: string;
1708
+ params?: Record<string, {
1709
+ type: "integer";
1710
+ min?: number | undefined;
1711
+ max?: number | undefined;
1712
+ default?: number | undefined;
1713
+ } | {
1714
+ type: "number";
1715
+ min?: number | undefined;
1716
+ max?: number | undefined;
1717
+ default?: number | undefined;
1718
+ } | {
1719
+ type: "enum";
1720
+ values: string[];
1721
+ default?: string | undefined;
1722
+ } | {
1723
+ type: "boolean";
1724
+ default?: boolean | undefined;
1725
+ } | {
1726
+ type: "string";
1727
+ default?: string | undefined;
1728
+ }> | undefined;
1729
+ summary?: string | undefined;
1730
+ requires?: string[] | undefined;
1731
+ stationary?: boolean | undefined;
1732
+ movesRobot?: boolean | undefined;
1733
+ ledger?: Record<string, string | number> | undefined;
1734
+ }[];
1735
+ $schema?: string | undefined;
1736
+ heightIn?: {
1737
+ value: number;
1738
+ provenance?: string | undefined;
1739
+ } | undefined;
1740
+ mouths?: {
1741
+ id: string;
1742
+ widthIn: number;
1743
+ side: "FRONT" | "BACK" | "LEFT" | "RIGHT";
1744
+ offsetIn: {
1745
+ xIn: number;
1746
+ yIn: number;
1747
+ };
1748
+ depthIn: number;
1749
+ provenance?: string | undefined;
1750
+ }[] | undefined;
1751
+ capacity?: {
1752
+ max: number;
1753
+ elementKind: string;
1754
+ provenance?: string | undefined;
1755
+ } | undefined;
1756
+ shooter?: import("zod").objectOutputType<{
1757
+ kind: import("zod").ZodString;
1758
+ turretRangeRad: import("zod").ZodOptional<import("zod").ZodObject<{
1759
+ minRad: import("zod").ZodNumber;
1760
+ maxRad: import("zod").ZodNumber;
1761
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1762
+ }, "strip", import("zod").ZodTypeAny, {
1763
+ minRad: number;
1764
+ maxRad: number;
1765
+ provenance?: string | undefined;
1766
+ }, {
1767
+ minRad: number;
1768
+ maxRad: number;
1769
+ provenance?: string | undefined;
1770
+ }>>;
1771
+ cadenceS: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodNumber, import("zod").ZodString]>>>;
1772
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
1773
+ value: import("zod").ZodNumber;
1774
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
1775
+ }, "strip", import("zod").ZodTypeAny, {
1776
+ value: number;
1777
+ provenance?: string | undefined;
1778
+ }, {
1779
+ value: number;
1780
+ provenance?: string | undefined;
1781
+ }>>;
1782
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
1783
+ conditions?: {
1784
+ name: string;
1785
+ summary?: string | undefined;
1786
+ ledger?: "full" | "empty" | undefined;
1787
+ }[] | undefined;
1788
+ }, {
1789
+ name: string;
1790
+ formatVersion: 1;
1791
+ frame: {
1792
+ left: "+x" | "+y" | "-x" | "-y";
1793
+ headingZero: "+x" | "+y";
1794
+ headingPositive: "ccw" | "cw";
1795
+ forward: "+x" | "+y" | "-x" | "-y";
1796
+ };
1797
+ footprint: {
1798
+ startIn: {
1799
+ lengthIn: number;
1800
+ widthIn: number;
1801
+ provenance?: string | undefined;
1802
+ };
1803
+ expandedIn: {
1804
+ lengthIn: number;
1805
+ widthIn: number;
1806
+ provenance?: string | undefined;
1807
+ };
1808
+ centreOfRotationIn: {
1809
+ xIn: number;
1810
+ yIn: number;
1811
+ provenance?: string | undefined;
1812
+ };
1813
+ heightIn?: {
1814
+ value: number;
1815
+ provenance?: string | undefined;
1816
+ } | undefined;
1817
+ };
1818
+ kinematics: {
1819
+ maxForwardVelInPerS: {
1820
+ value: number;
1821
+ provenance?: string | undefined;
1822
+ };
1823
+ maxStrafeVelInPerS: {
1824
+ value: number;
1825
+ provenance?: string | undefined;
1826
+ };
1827
+ forwardDecelInPerS2: {
1828
+ value: number;
1829
+ provenance?: string | undefined;
1830
+ };
1831
+ strafeDecelInPerS2: {
1832
+ value: number;
1833
+ provenance?: string | undefined;
1834
+ };
1835
+ accelInPerS2: {
1836
+ value: number;
1837
+ provenance?: string | undefined;
1838
+ };
1839
+ maxAngularVelRadPerS: {
1840
+ value: number;
1841
+ provenance?: string | undefined;
1842
+ };
1843
+ defaultPathSpeedFraction: {
1844
+ value: number;
1845
+ provenance?: string | undefined;
1846
+ };
1847
+ follower: {
1848
+ library: "pedro";
1849
+ version: string;
1850
+ holdEnd: boolean;
1851
+ forwardTranslationalPowerPerIn?: {
1852
+ value: number;
1853
+ provenance?: string | undefined;
1854
+ } | undefined;
1855
+ strafeTranslationalPowerPerIn?: {
1856
+ value: number;
1857
+ provenance?: string | undefined;
1858
+ } | undefined;
1859
+ headingPowerPerRad?: {
1860
+ value: number;
1861
+ provenance?: string | undefined;
1862
+ } | undefined;
1863
+ headingStaticPower?: {
1864
+ value: number;
1865
+ provenance?: string | undefined;
1866
+ } | undefined;
1867
+ coastPowerPerInPerS?: {
1868
+ value: number;
1869
+ provenance?: string | undefined;
1870
+ } | undefined;
1871
+ coastFeedforwardPowerPerInPerS?: {
1872
+ value: number;
1873
+ provenance?: string | undefined;
1874
+ } | undefined;
1875
+ brakeFeedforwardPowerPerInPerS?: {
1876
+ value: number;
1877
+ provenance?: string | undefined;
1878
+ } | undefined;
1879
+ maxBrakingPower?: {
1880
+ value: number;
1881
+ provenance?: string | undefined;
1882
+ } | undefined;
1883
+ headingDriveRatio?: {
1884
+ value: number;
1885
+ provenance?: string | undefined;
1886
+ } | undefined;
1887
+ brakeAggression?: {
1888
+ value: number;
1889
+ provenance?: string | undefined;
1890
+ } | undefined;
1891
+ brakeLinearForwardS?: {
1892
+ value: number;
1893
+ provenance?: string | undefined;
1894
+ } | undefined;
1895
+ brakeQuadraticForwardS2PerIn?: {
1896
+ value: number;
1897
+ provenance?: string | undefined;
1898
+ } | undefined;
1899
+ brakeLinearStrafeS?: {
1900
+ value: number;
1901
+ provenance?: string | undefined;
1902
+ } | undefined;
1903
+ brakeQuadraticStrafeS2PerIn?: {
1904
+ value: number;
1905
+ provenance?: string | undefined;
1906
+ } | undefined;
1907
+ headingBrakeLinearS?: {
1908
+ value: number;
1909
+ provenance?: string | undefined;
1910
+ } | undefined;
1911
+ headingBrakeQuadraticS2PerRad?: {
1912
+ value: number;
1913
+ provenance?: string | undefined;
1914
+ } | undefined;
1915
+ endParametricT?: {
1916
+ value: number;
1917
+ provenance?: string | undefined;
1918
+ } | undefined;
1919
+ endHeadingToleranceRad?: {
1920
+ value: number;
1921
+ provenance?: string | undefined;
1922
+ } | undefined;
1923
+ endTranslationalToleranceIn?: {
1924
+ value: number;
1925
+ provenance?: string | undefined;
1926
+ } | undefined;
1927
+ endVelocityToleranceInPerS?: {
1928
+ value: number;
1929
+ provenance?: string | undefined;
1930
+ } | undefined;
1931
+ holdTimeoutS?: {
1932
+ value: number;
1933
+ provenance?: string | undefined;
1934
+ } | undefined;
1935
+ headingDeviationToleranceRad?: {
1936
+ value: number;
1937
+ provenance?: string | undefined;
1938
+ } | undefined;
1939
+ translationalDeviationToleranceIn?: {
1940
+ value: number;
1941
+ provenance?: string | undefined;
1942
+ } | undefined;
1943
+ minCorrectionDistanceIn?: {
1944
+ value: number;
1945
+ provenance?: string | undefined;
1946
+ } | undefined;
1947
+ cosineScale?: boolean | {
1948
+ value: boolean;
1949
+ provenance?: string | undefined;
1950
+ } | undefined;
1951
+ turnBeforeDriving?: boolean | {
1952
+ value: boolean;
1953
+ provenance?: string | undefined;
1954
+ } | undefined;
1955
+ };
1956
+ settleS?: {
1957
+ value: number;
1958
+ provenance?: string | undefined;
1959
+ } | undefined;
1960
+ strafeFractionWarn?: {
1961
+ value: number;
1962
+ provenance?: string | undefined;
1963
+ } | undefined;
1964
+ strafeFractionThreshold?: {
1965
+ value: number;
1966
+ provenance?: string | undefined;
1967
+ } | undefined;
1968
+ sweepSpeedFraction?: {
1969
+ value: number;
1970
+ provenance?: string | undefined;
1971
+ } | undefined;
1972
+ calibration?: {
1973
+ band: number;
1974
+ provenance?: string | undefined;
1975
+ samples?: number | undefined;
1976
+ } | undefined;
1977
+ drivetrain?: {
1978
+ trackWidthIn?: {
1979
+ value: number;
1980
+ provenance?: string | undefined;
1981
+ } | undefined;
1982
+ wheelBaseIn?: {
1983
+ value: number;
1984
+ provenance?: string | undefined;
1985
+ } | undefined;
1986
+ wheelResponseRatePerS?: {
1987
+ value: number;
1988
+ provenance?: string | undefined;
1989
+ } | undefined;
1990
+ } | undefined;
1991
+ };
1992
+ commands: {
1993
+ name: string;
1994
+ estimateS: string;
1995
+ params?: Record<string, {
1996
+ type: "integer";
1997
+ min?: number | undefined;
1998
+ max?: number | undefined;
1999
+ default?: number | undefined;
2000
+ } | {
2001
+ type: "number";
2002
+ min?: number | undefined;
2003
+ max?: number | undefined;
2004
+ default?: number | undefined;
2005
+ } | {
2006
+ type: "enum";
2007
+ values: string[];
2008
+ default?: string | undefined;
2009
+ } | {
2010
+ type: "boolean";
2011
+ default?: boolean | undefined;
2012
+ } | {
2013
+ type: "string";
2014
+ default?: string | undefined;
2015
+ }> | undefined;
2016
+ summary?: string | undefined;
2017
+ requires?: string[] | undefined;
2018
+ stationary?: boolean | undefined;
2019
+ movesRobot?: boolean | undefined;
2020
+ ledger?: Record<string, string | number> | undefined;
2021
+ }[];
2022
+ $schema?: string | undefined;
2023
+ heightIn?: number | {
2024
+ value: number;
2025
+ provenance?: string | undefined;
2026
+ } | undefined;
2027
+ mouths?: {
2028
+ id: string;
2029
+ widthIn: number;
2030
+ side: "FRONT" | "BACK" | "LEFT" | "RIGHT";
2031
+ offsetIn: {
2032
+ xIn: number;
2033
+ yIn: number;
2034
+ };
2035
+ depthIn: number;
2036
+ provenance?: string | undefined;
2037
+ }[] | undefined;
2038
+ capacity?: {
2039
+ max: number;
2040
+ elementKind: string;
2041
+ provenance?: string | undefined;
2042
+ } | undefined;
2043
+ shooter?: import("zod").objectInputType<{
2044
+ kind: import("zod").ZodString;
2045
+ turretRangeRad: import("zod").ZodOptional<import("zod").ZodObject<{
2046
+ minRad: import("zod").ZodNumber;
2047
+ maxRad: import("zod").ZodNumber;
2048
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2049
+ }, "strip", import("zod").ZodTypeAny, {
2050
+ minRad: number;
2051
+ maxRad: number;
2052
+ provenance?: string | undefined;
2053
+ }, {
2054
+ minRad: number;
2055
+ maxRad: number;
2056
+ provenance?: string | undefined;
2057
+ }>>;
2058
+ cadenceS: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<[import("zod").ZodNumber, import("zod").ZodString]>>>;
2059
+ settleS: import("zod").ZodOptional<import("zod").ZodObject<{
2060
+ value: import("zod").ZodNumber;
2061
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2062
+ }, "strip", import("zod").ZodTypeAny, {
2063
+ value: number;
2064
+ provenance?: string | undefined;
2065
+ }, {
2066
+ value: number;
2067
+ provenance?: string | undefined;
2068
+ }>>;
2069
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
2070
+ conditions?: {
2071
+ name: string;
2072
+ summary?: string | undefined;
2073
+ ledger?: "full" | "empty" | undefined;
2074
+ }[] | undefined;
2075
+ }>;
2076
+ readonly field: import("zod").ZodObject<{
2077
+ $schema: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
2078
+ formatVersion: import("zod").ZodLiteral<2>;
2079
+ season: import("zod").ZodString;
2080
+ name: import("zod").ZodString;
2081
+ frame: import("zod").ZodObject<{
2082
+ origin: import("zod").ZodEnum<["centre", "corner"]>;
2083
+ xAxis: import("zod").ZodString;
2084
+ yAxis: import("zod").ZodString;
2085
+ headingZero: import("zod").ZodEnum<["+x", "+y"]>;
2086
+ headingPositive: import("zod").ZodEnum<["ccw", "cw"]>;
2087
+ units: import("zod").ZodEnum<["in"]>;
2088
+ canonicalAlliance: import("zod").ZodEnum<["RED", "BLUE"]>;
2089
+ mirror: import("zod").ZodEnum<["pointSymmetry", "mirrorX", "mirrorY", "none"]>;
2090
+ view: import("zod").ZodOptional<import("zod").ZodObject<{
2091
+ audienceAt: import("zod").ZodEnum<["bottom", "top", "left", "right"]>;
2092
+ }, "strip", import("zod").ZodTypeAny, {
2093
+ audienceAt: "left" | "top" | "right" | "bottom";
2094
+ }, {
2095
+ audienceAt: "left" | "top" | "right" | "bottom";
2096
+ }>>;
2097
+ }, "strip", import("zod").ZodTypeAny, {
2098
+ origin: "centre" | "corner";
2099
+ xAxis: string;
2100
+ yAxis: string;
2101
+ headingZero: "+x" | "+y";
2102
+ headingPositive: "ccw" | "cw";
2103
+ units: "in";
2104
+ canonicalAlliance: "RED" | "BLUE";
2105
+ mirror: "pointSymmetry" | "mirrorX" | "mirrorY" | "none";
2106
+ view?: {
2107
+ audienceAt: "left" | "top" | "right" | "bottom";
2108
+ } | undefined;
2109
+ }, {
2110
+ origin: "centre" | "corner";
2111
+ xAxis: string;
2112
+ yAxis: string;
2113
+ headingZero: "+x" | "+y";
2114
+ headingPositive: "ccw" | "cw";
2115
+ units: "in";
2116
+ canonicalAlliance: "RED" | "BLUE";
2117
+ mirror: "pointSymmetry" | "mirrorX" | "mirrorY" | "none";
2118
+ view?: {
2119
+ audienceAt: "left" | "top" | "right" | "bottom";
2120
+ } | undefined;
2121
+ }>;
2122
+ sizeIn: import("zod").ZodObject<{
2123
+ xIn: import("zod").ZodNumber;
2124
+ yIn: import("zod").ZodNumber;
2125
+ }, "strip", import("zod").ZodTypeAny, {
2126
+ xIn: number;
2127
+ yIn: number;
2128
+ }, {
2129
+ xIn: number;
2130
+ yIn: number;
2131
+ }>;
2132
+ image: import("zod").ZodOptional<import("zod").ZodObject<{
2133
+ src: import("zod").ZodString;
2134
+ credit: import("zod").ZodString;
2135
+ pxBoundsIn: import("zod").ZodUnion<[import("zod").ZodLiteral<"fullBleed">, import("zod").ZodEffects<import("zod").ZodObject<{
2136
+ left: import("zod").ZodNumber;
2137
+ top: import("zod").ZodNumber;
2138
+ right: import("zod").ZodNumber;
2139
+ bottom: import("zod").ZodNumber;
2140
+ }, "strip", import("zod").ZodTypeAny, {
2141
+ left: number;
2142
+ top: number;
2143
+ right: number;
2144
+ bottom: number;
2145
+ }, {
2146
+ left: number;
2147
+ top: number;
2148
+ right: number;
2149
+ bottom: number;
2150
+ }>, {
2151
+ left: number;
2152
+ top: number;
2153
+ right: number;
2154
+ bottom: number;
2155
+ }, {
2156
+ left: number;
2157
+ top: number;
2158
+ right: number;
2159
+ bottom: number;
2160
+ }>]>;
2161
+ rotationDeg: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodLiteral<0>, import("zod").ZodLiteral<90>, import("zod").ZodLiteral<180>, import("zod").ZodLiteral<270>]>>;
2162
+ variants: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodArray<import("zod").ZodObject<{
2163
+ name: import("zod").ZodString;
2164
+ src: import("zod").ZodString;
2165
+ }, "strip", import("zod").ZodTypeAny, {
2166
+ name: string;
2167
+ src: string;
2168
+ }, {
2169
+ name: string;
2170
+ src: string;
2171
+ }>, "many">, {
2172
+ name: string;
2173
+ src: string;
2174
+ }[], {
2175
+ name: string;
2176
+ src: string;
2177
+ }[]>>;
2178
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2179
+ }, "strip", import("zod").ZodTypeAny, {
2180
+ src: string;
2181
+ credit: string;
2182
+ pxBoundsIn: {
2183
+ left: number;
2184
+ top: number;
2185
+ right: number;
2186
+ bottom: number;
2187
+ } | "fullBleed";
2188
+ provenance?: string | undefined;
2189
+ rotationDeg?: 0 | 90 | 180 | 270 | undefined;
2190
+ variants?: {
2191
+ name: string;
2192
+ src: string;
2193
+ }[] | undefined;
2194
+ }, {
2195
+ src: string;
2196
+ credit: string;
2197
+ pxBoundsIn: {
2198
+ left: number;
2199
+ top: number;
2200
+ right: number;
2201
+ bottom: number;
2202
+ } | "fullBleed";
2203
+ provenance?: string | undefined;
2204
+ rotationDeg?: 0 | 90 | 180 | 270 | undefined;
2205
+ variants?: {
2206
+ name: string;
2207
+ src: string;
2208
+ }[] | undefined;
2209
+ }>>;
2210
+ periods: import("zod").ZodOptional<import("zod").ZodObject<{
2211
+ autoS: import("zod").ZodNumber;
2212
+ teleopS: import("zod").ZodNumber;
2213
+ }, "strip", import("zod").ZodTypeAny, {
2214
+ autoS: number;
2215
+ teleopS: number;
2216
+ }, {
2217
+ autoS: number;
2218
+ teleopS: number;
2219
+ }>>;
2220
+ obstacles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2221
+ id: import("zod").ZodString;
2222
+ kind: import("zod").ZodLiteral<"box">;
2223
+ minXIn: import("zod").ZodNumber;
2224
+ maxXIn: import("zod").ZodNumber;
2225
+ minYIn: import("zod").ZodNumber;
2226
+ maxYIn: import("zod").ZodNumber;
2227
+ minZIn: import("zod").ZodNumber;
2228
+ maxZIn: import("zod").ZodNumber;
2229
+ solidToRobot: import("zod").ZodOptional<import("zod").ZodBoolean>;
2230
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2231
+ }, "strip", import("zod").ZodTypeAny, {
2232
+ kind: "box";
2233
+ id: string;
2234
+ minXIn: number;
2235
+ maxXIn: number;
2236
+ minYIn: number;
2237
+ maxYIn: number;
2238
+ minZIn: number;
2239
+ maxZIn: number;
2240
+ provenance?: string | undefined;
2241
+ solidToRobot?: boolean | undefined;
2242
+ }, {
2243
+ kind: "box";
2244
+ id: string;
2245
+ minXIn: number;
2246
+ maxXIn: number;
2247
+ minYIn: number;
2248
+ maxYIn: number;
2249
+ minZIn: number;
2250
+ maxZIn: number;
2251
+ provenance?: string | undefined;
2252
+ solidToRobot?: boolean | undefined;
2253
+ }>, "many">>;
2254
+ zones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2255
+ id: import("zod").ZodString;
2256
+ kind: import("zod").ZodLiteral<"rect">;
2257
+ minXIn: import("zod").ZodNumber;
2258
+ maxXIn: import("zod").ZodNumber;
2259
+ minYIn: import("zod").ZodNumber;
2260
+ maxYIn: import("zod").ZodNumber;
2261
+ rule: import("zod").ZodOptional<import("zod").ZodString>;
2262
+ appliesInAuto: import("zod").ZodOptional<import("zod").ZodBoolean>;
2263
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2264
+ }, "strip", import("zod").ZodTypeAny, {
2265
+ kind: "rect";
2266
+ id: string;
2267
+ minXIn: number;
2268
+ maxXIn: number;
2269
+ minYIn: number;
2270
+ maxYIn: number;
2271
+ provenance?: string | undefined;
2272
+ rule?: string | undefined;
2273
+ appliesInAuto?: boolean | undefined;
2274
+ }, {
2275
+ kind: "rect";
2276
+ id: string;
2277
+ minXIn: number;
2278
+ maxXIn: number;
2279
+ minYIn: number;
2280
+ maxYIn: number;
2281
+ provenance?: string | undefined;
2282
+ rule?: string | undefined;
2283
+ appliesInAuto?: boolean | undefined;
2284
+ }>, "many">>;
2285
+ elements: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2286
+ id: import("zod").ZodString;
2287
+ kind: import("zod").ZodString;
2288
+ container: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNull]>>;
2289
+ xIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2290
+ yIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2291
+ radiusIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2292
+ holds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2293
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2294
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
2295
+ id: import("zod").ZodString;
2296
+ kind: import("zod").ZodString;
2297
+ container: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNull]>>;
2298
+ xIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2299
+ yIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2300
+ radiusIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2301
+ holds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2302
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2303
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
2304
+ id: import("zod").ZodString;
2305
+ kind: import("zod").ZodString;
2306
+ container: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNull]>>;
2307
+ xIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2308
+ yIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2309
+ radiusIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2310
+ holds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2311
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2312
+ }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
2313
+ targets: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
2314
+ id: import("zod").ZodString;
2315
+ kind: import("zod").ZodString;
2316
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2317
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
2318
+ id: import("zod").ZodString;
2319
+ kind: import("zod").ZodString;
2320
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2321
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
2322
+ id: import("zod").ZodString;
2323
+ kind: import("zod").ZodString;
2324
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2325
+ }, import("zod").ZodTypeAny, "passthrough">>, "many">>;
2326
+ startRules: import("zod").ZodOptional<import("zod").ZodObject<{
2327
+ touchingWall: import("zod").ZodOptional<import("zod").ZodBoolean>;
2328
+ ownHalf: import("zod").ZodOptional<import("zod").ZodBoolean>;
2329
+ notInZones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2330
+ notTouchingContainers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2331
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2332
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
2333
+ touchingWall: import("zod").ZodOptional<import("zod").ZodBoolean>;
2334
+ ownHalf: import("zod").ZodOptional<import("zod").ZodBoolean>;
2335
+ notInZones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2336
+ notTouchingContainers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2337
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2338
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
2339
+ touchingWall: import("zod").ZodOptional<import("zod").ZodBoolean>;
2340
+ ownHalf: import("zod").ZodOptional<import("zod").ZodBoolean>;
2341
+ notInZones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2342
+ notTouchingContainers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2343
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2344
+ }, import("zod").ZodTypeAny, "passthrough">>>;
2345
+ rules: import("zod").ZodOptional<import("zod").ZodObject<{
2346
+ plugin: import("zod").ZodString;
2347
+ }, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
2348
+ plugin: import("zod").ZodString;
2349
+ }, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
2350
+ plugin: import("zod").ZodString;
2351
+ }, import("zod").ZodTypeAny, "passthrough">>>;
2352
+ }, "strip", import("zod").ZodTypeAny, {
2353
+ name: string;
2354
+ formatVersion: 2;
2355
+ season: string;
2356
+ frame: {
2357
+ origin: "centre" | "corner";
2358
+ xAxis: string;
2359
+ yAxis: string;
2360
+ headingZero: "+x" | "+y";
2361
+ headingPositive: "ccw" | "cw";
2362
+ units: "in";
2363
+ canonicalAlliance: "RED" | "BLUE";
2364
+ mirror: "pointSymmetry" | "mirrorX" | "mirrorY" | "none";
2365
+ view?: {
2366
+ audienceAt: "left" | "top" | "right" | "bottom";
2367
+ } | undefined;
2368
+ };
2369
+ sizeIn: {
2370
+ xIn: number;
2371
+ yIn: number;
2372
+ };
2373
+ $schema?: string | undefined;
2374
+ image?: {
2375
+ src: string;
2376
+ credit: string;
2377
+ pxBoundsIn: {
2378
+ left: number;
2379
+ top: number;
2380
+ right: number;
2381
+ bottom: number;
2382
+ } | "fullBleed";
2383
+ provenance?: string | undefined;
2384
+ rotationDeg?: 0 | 90 | 180 | 270 | undefined;
2385
+ variants?: {
2386
+ name: string;
2387
+ src: string;
2388
+ }[] | undefined;
2389
+ } | undefined;
2390
+ periods?: {
2391
+ autoS: number;
2392
+ teleopS: number;
2393
+ } | undefined;
2394
+ obstacles?: {
2395
+ kind: "box";
2396
+ id: string;
2397
+ minXIn: number;
2398
+ maxXIn: number;
2399
+ minYIn: number;
2400
+ maxYIn: number;
2401
+ minZIn: number;
2402
+ maxZIn: number;
2403
+ provenance?: string | undefined;
2404
+ solidToRobot?: boolean | undefined;
2405
+ }[] | undefined;
2406
+ zones?: {
2407
+ kind: "rect";
2408
+ id: string;
2409
+ minXIn: number;
2410
+ maxXIn: number;
2411
+ minYIn: number;
2412
+ maxYIn: number;
2413
+ provenance?: string | undefined;
2414
+ rule?: string | undefined;
2415
+ appliesInAuto?: boolean | undefined;
2416
+ }[] | undefined;
2417
+ elements?: import("zod").objectOutputType<{
2418
+ id: import("zod").ZodString;
2419
+ kind: import("zod").ZodString;
2420
+ container: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNull]>>;
2421
+ xIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2422
+ yIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2423
+ radiusIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2424
+ holds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2425
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2426
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
2427
+ targets?: import("zod").objectOutputType<{
2428
+ id: import("zod").ZodString;
2429
+ kind: import("zod").ZodString;
2430
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2431
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
2432
+ startRules?: import("zod").objectOutputType<{
2433
+ touchingWall: import("zod").ZodOptional<import("zod").ZodBoolean>;
2434
+ ownHalf: import("zod").ZodOptional<import("zod").ZodBoolean>;
2435
+ notInZones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2436
+ notTouchingContainers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2437
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2438
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
2439
+ rules?: import("zod").objectOutputType<{
2440
+ plugin: import("zod").ZodString;
2441
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
2442
+ }, {
2443
+ name: string;
2444
+ formatVersion: 2;
2445
+ season: string;
2446
+ frame: {
2447
+ origin: "centre" | "corner";
2448
+ xAxis: string;
2449
+ yAxis: string;
2450
+ headingZero: "+x" | "+y";
2451
+ headingPositive: "ccw" | "cw";
2452
+ units: "in";
2453
+ canonicalAlliance: "RED" | "BLUE";
2454
+ mirror: "pointSymmetry" | "mirrorX" | "mirrorY" | "none";
2455
+ view?: {
2456
+ audienceAt: "left" | "top" | "right" | "bottom";
2457
+ } | undefined;
2458
+ };
2459
+ sizeIn: {
2460
+ xIn: number;
2461
+ yIn: number;
2462
+ };
2463
+ $schema?: string | undefined;
2464
+ image?: {
2465
+ src: string;
2466
+ credit: string;
2467
+ pxBoundsIn: {
2468
+ left: number;
2469
+ top: number;
2470
+ right: number;
2471
+ bottom: number;
2472
+ } | "fullBleed";
2473
+ provenance?: string | undefined;
2474
+ rotationDeg?: 0 | 90 | 180 | 270 | undefined;
2475
+ variants?: {
2476
+ name: string;
2477
+ src: string;
2478
+ }[] | undefined;
2479
+ } | undefined;
2480
+ periods?: {
2481
+ autoS: number;
2482
+ teleopS: number;
2483
+ } | undefined;
2484
+ obstacles?: {
2485
+ kind: "box";
2486
+ id: string;
2487
+ minXIn: number;
2488
+ maxXIn: number;
2489
+ minYIn: number;
2490
+ maxYIn: number;
2491
+ minZIn: number;
2492
+ maxZIn: number;
2493
+ provenance?: string | undefined;
2494
+ solidToRobot?: boolean | undefined;
2495
+ }[] | undefined;
2496
+ zones?: {
2497
+ kind: "rect";
2498
+ id: string;
2499
+ minXIn: number;
2500
+ maxXIn: number;
2501
+ minYIn: number;
2502
+ maxYIn: number;
2503
+ provenance?: string | undefined;
2504
+ rule?: string | undefined;
2505
+ appliesInAuto?: boolean | undefined;
2506
+ }[] | undefined;
2507
+ elements?: import("zod").objectInputType<{
2508
+ id: import("zod").ZodString;
2509
+ kind: import("zod").ZodString;
2510
+ container: import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodNull]>>;
2511
+ xIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2512
+ yIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2513
+ radiusIn: import("zod").ZodOptional<import("zod").ZodNumber>;
2514
+ holds: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2515
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2516
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
2517
+ targets?: import("zod").objectInputType<{
2518
+ id: import("zod").ZodString;
2519
+ kind: import("zod").ZodString;
2520
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2521
+ }, import("zod").ZodTypeAny, "passthrough">[] | undefined;
2522
+ startRules?: import("zod").objectInputType<{
2523
+ touchingWall: import("zod").ZodOptional<import("zod").ZodBoolean>;
2524
+ ownHalf: import("zod").ZodOptional<import("zod").ZodBoolean>;
2525
+ notInZones: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2526
+ notTouchingContainers: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2527
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2528
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
2529
+ rules?: import("zod").objectInputType<{
2530
+ plugin: import("zod").ZodString;
2531
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
2532
+ }>;
2533
+ readonly waypoints: import("zod").ZodObject<{
2534
+ $schema: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
2535
+ formatVersion: import("zod").ZodLiteral<1>;
2536
+ waypoints: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodObject<{
2537
+ xIn: import("zod").ZodNumber;
2538
+ yIn: import("zod").ZodNumber;
2539
+ headingRad: import("zod").ZodNumber;
2540
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2541
+ }, "strip", import("zod").ZodTypeAny, {
2542
+ xIn: number;
2543
+ yIn: number;
2544
+ headingRad: number;
2545
+ provenance?: string | undefined;
2546
+ }, {
2547
+ xIn: number;
2548
+ yIn: number;
2549
+ headingRad: number;
2550
+ provenance?: string | undefined;
2551
+ }>>;
2552
+ }, "strip", import("zod").ZodTypeAny, {
2553
+ waypoints: Record<string, {
2554
+ xIn: number;
2555
+ yIn: number;
2556
+ headingRad: number;
2557
+ provenance?: string | undefined;
2558
+ }>;
2559
+ formatVersion: 1;
2560
+ $schema?: string | undefined;
2561
+ }, {
2562
+ waypoints: Record<string, {
2563
+ xIn: number;
2564
+ yIn: number;
2565
+ headingRad: number;
2566
+ provenance?: string | undefined;
2567
+ }>;
2568
+ formatVersion: 1;
2569
+ $schema?: string | undefined;
2570
+ }>;
2571
+ readonly auto: import("zod").ZodObject<{
2572
+ $schema: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodString, string, string>>;
2573
+ formatVersion: import("zod").ZodLiteral<3>;
2574
+ name: import("zod").ZodString;
2575
+ title: import("zod").ZodOptional<import("zod").ZodString>;
2576
+ description: import("zod").ZodOptional<import("zod").ZodString>;
2577
+ robot: import("zod").ZodOptional<import("zod").ZodString>;
2578
+ field: import("zod").ZodOptional<import("zod").ZodString>;
2579
+ alliance: import("zod").ZodEnum<["RED", "BLUE"]>;
2580
+ authors: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
2581
+ created: import("zod").ZodOptional<import("zod").ZodString>;
2582
+ start: import("zod").ZodObject<{
2583
+ pose: import("zod").ZodUnion<[import("zod").ZodObject<{
2584
+ ref: import("zod").ZodString;
2585
+ }, "strip", import("zod").ZodTypeAny, {
2586
+ ref: string;
2587
+ }, {
2588
+ ref: string;
2589
+ }>, import("zod").ZodObject<{
2590
+ xIn: import("zod").ZodNumber;
2591
+ yIn: import("zod").ZodNumber;
2592
+ headingRad: import("zod").ZodOptional<import("zod").ZodNumber>;
2593
+ provenance: import("zod").ZodOptional<import("zod").ZodString>;
2594
+ }, "strip", import("zod").ZodTypeAny, {
2595
+ xIn: number;
2596
+ yIn: number;
2597
+ provenance?: string | undefined;
2598
+ headingRad?: number | undefined;
2599
+ }, {
2600
+ xIn: number;
2601
+ yIn: number;
2602
+ provenance?: string | undefined;
2603
+ headingRad?: number | undefined;
2604
+ }>]>;
2605
+ holds: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodNumber>>;
2606
+ }, "strip", import("zod").ZodTypeAny, {
2607
+ pose: {
2608
+ xIn: number;
2609
+ yIn: number;
2610
+ provenance?: string | undefined;
2611
+ headingRad?: number | undefined;
2612
+ } | {
2613
+ ref: string;
2614
+ };
2615
+ holds?: Record<string, number> | undefined;
2616
+ }, {
2617
+ pose: {
2618
+ xIn: number;
2619
+ yIn: number;
2620
+ provenance?: string | undefined;
2621
+ headingRad?: number | undefined;
2622
+ } | {
2623
+ ref: string;
2624
+ };
2625
+ holds?: Record<string, number> | undefined;
2626
+ }>;
2627
+ steps: import("zod").ZodArray<import("zod").ZodType<import("./auto.js").Step, import("zod").ZodTypeDef, import("./auto.js").Step>, "many">;
2628
+ }, "strip", import("zod").ZodTypeAny, {
2629
+ name: string;
2630
+ steps: import("./auto.js").Step[];
2631
+ formatVersion: 3;
2632
+ alliance: "RED" | "BLUE";
2633
+ start: {
2634
+ pose: {
2635
+ xIn: number;
2636
+ yIn: number;
2637
+ provenance?: string | undefined;
2638
+ headingRad?: number | undefined;
2639
+ } | {
2640
+ ref: string;
2641
+ };
2642
+ holds?: Record<string, number> | undefined;
2643
+ };
2644
+ robot?: string | undefined;
2645
+ field?: string | undefined;
2646
+ $schema?: string | undefined;
2647
+ title?: string | undefined;
2648
+ description?: string | undefined;
2649
+ authors?: string[] | undefined;
2650
+ created?: string | undefined;
2651
+ }, {
2652
+ name: string;
2653
+ steps: import("./auto.js").Step[];
2654
+ formatVersion: 3;
2655
+ alliance: "RED" | "BLUE";
2656
+ start: {
2657
+ pose: {
2658
+ xIn: number;
2659
+ yIn: number;
2660
+ provenance?: string | undefined;
2661
+ headingRad?: number | undefined;
2662
+ } | {
2663
+ ref: string;
2664
+ };
2665
+ holds?: Record<string, number> | undefined;
2666
+ };
2667
+ robot?: string | undefined;
2668
+ field?: string | undefined;
2669
+ $schema?: string | undefined;
2670
+ title?: string | undefined;
2671
+ description?: string | undefined;
2672
+ authors?: string[] | undefined;
2673
+ created?: string | undefined;
2674
+ }>;
2675
+ };
2676
+ export declare class MigrationError extends Error {
2677
+ constructor(message: string);
2678
+ }
2679
+ /**
2680
+ * Works out which of the five files this is: from `$schema` when it is there, otherwise from the
2681
+ * keys that only one kind has. Returns null when nothing identifies it.
2682
+ */
2683
+ export declare function detectKind(json: unknown): Kind | null;
2684
+ export interface Migrated {
2685
+ kind: Kind;
2686
+ /** The version the data is now at, which is always `FORMAT_VERSIONS[kind]`. */
2687
+ formatVersion: number;
2688
+ /** The version the file was written at, before migration. */
2689
+ fromVersion: number;
2690
+ data: unknown;
2691
+ }
2692
+ /**
2693
+ * Brings a document up to its kind's current `formatVersion` (`FORMAT_VERSIONS`), one version at a
2694
+ * time. A file from the future is refused by name and number, the same way the robot runtime
2695
+ * refuses it (site/docs/file-format.md, Versioning). A legacy `$schema` alias comes back as the
2696
+ * current id, so whatever writes the result writes the current one. The input is never mutated.
2697
+ */
2698
+ export declare function migrate(json: unknown, kindHint?: Kind): Migrated;
2699
+ //# sourceMappingURL=migrate.d.ts.map