@pulsarinteractive/geniusfitness 0.1.0-beta.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.
@@ -0,0 +1,1621 @@
1
+ // Generated from the reviewed public subset of TypeSpec. Do not edit by hand.
2
+ export default {
3
+ "maxCommandBytes": 131072,
4
+ "commands": {
5
+ "exercise.create": {
6
+ "create": true,
7
+ "fields": [
8
+ "name",
9
+ "catalogKey",
10
+ "defaultRestSeconds",
11
+ "defaultUnit",
12
+ "equipment",
13
+ "exerciseType",
14
+ "icon",
15
+ "muscleGroup",
16
+ "notes",
17
+ "section"
18
+ ],
19
+ "module": "LocalUser/LocalUserElement",
20
+ "permission": "exercises:write"
21
+ },
22
+ "exercise.delete": {
23
+ "delete": true,
24
+ "fields": [],
25
+ "module": "LocalUser/LocalUserElement",
26
+ "permission": "exercises:write"
27
+ },
28
+ "exercise.document.create": {
29
+ "create": true,
30
+ "fields": [
31
+ "element",
32
+ "content"
33
+ ],
34
+ "module": "Project/SportExerciseDocument",
35
+ "permission": "programs:write"
36
+ },
37
+ "exercise.document.delete": {
38
+ "delete": true,
39
+ "fields": [],
40
+ "module": "Project/SportExerciseDocument",
41
+ "permission": "programs:write"
42
+ },
43
+ "exercise.document.update": {
44
+ "fields": [
45
+ "element",
46
+ "content"
47
+ ],
48
+ "module": "Project/SportExerciseDocument",
49
+ "permission": "programs:write"
50
+ },
51
+ "exercise.import": {
52
+ "create": true,
53
+ "fields": [
54
+ "catalogKey",
55
+ "defaultRestSeconds",
56
+ "defaultUnit",
57
+ "notes"
58
+ ],
59
+ "module": "LocalUser/LocalUserElement",
60
+ "permission": "exercises:write",
61
+ "requiredFields": [
62
+ "catalogKey"
63
+ ]
64
+ },
65
+ "exercise.update": {
66
+ "fields": [
67
+ "name",
68
+ "catalogKey",
69
+ "defaultRestSeconds",
70
+ "defaultUnit",
71
+ "equipment",
72
+ "exerciseType",
73
+ "icon",
74
+ "muscleGroup",
75
+ "notes",
76
+ "section"
77
+ ],
78
+ "module": "LocalUser/LocalUserElement",
79
+ "permission": "exercises:write"
80
+ },
81
+ "goal.create": {
82
+ "create": true,
83
+ "fields": [
84
+ "title",
85
+ "isTeamOwner",
86
+ "owner",
87
+ "taskNumber",
88
+ "period",
89
+ "interval",
90
+ "startTime",
91
+ "notification",
92
+ "alertNotification",
93
+ "scheduleTaskOnly"
94
+ ],
95
+ "module": "Project/ProjectMemberGoals",
96
+ "permission": "planning:write"
97
+ },
98
+ "goal.delete": {
99
+ "delete": true,
100
+ "fields": [],
101
+ "module": "Project/ProjectMemberGoals",
102
+ "permission": "planning:write"
103
+ },
104
+ "goal.update": {
105
+ "fields": [
106
+ "title",
107
+ "isTeamOwner",
108
+ "owner",
109
+ "taskNumber",
110
+ "period",
111
+ "interval",
112
+ "startTime",
113
+ "notification",
114
+ "alertNotification",
115
+ "scheduleTaskOnly"
116
+ ],
117
+ "module": "Project/ProjectMemberGoals",
118
+ "permission": "planning:write"
119
+ },
120
+ "health.create": {
121
+ "create": true,
122
+ "fields": [
123
+ "at",
124
+ "kind",
125
+ "value",
126
+ "unit",
127
+ "site",
128
+ "source",
129
+ "sourceId",
130
+ "details"
131
+ ],
132
+ "module": "LocalUser/LocalUserHealthLog",
133
+ "permission": "health:write"
134
+ },
135
+ "health.delete": {
136
+ "delete": true,
137
+ "fields": [],
138
+ "module": "LocalUser/LocalUserHealthLog",
139
+ "permission": "health:write"
140
+ },
141
+ "health.update": {
142
+ "fields": [
143
+ "at",
144
+ "kind",
145
+ "value",
146
+ "unit",
147
+ "site",
148
+ "source",
149
+ "sourceId",
150
+ "details"
151
+ ],
152
+ "module": "LocalUser/LocalUserHealthLog",
153
+ "permission": "health:write"
154
+ },
155
+ "planning.create": {
156
+ "create": true,
157
+ "fields": [
158
+ "title",
159
+ "description",
160
+ "training",
161
+ "owner",
162
+ "status",
163
+ "type",
164
+ "enableDueDate",
165
+ "dueDate",
166
+ "quantity",
167
+ "quantityUnit",
168
+ "archive",
169
+ "autoArchive",
170
+ "autoArchiveDays",
171
+ "autoArchiveHours"
172
+ ],
173
+ "module": "Project/ProjectTask",
174
+ "permission": "planning:write"
175
+ },
176
+ "planning.delete": {
177
+ "delete": true,
178
+ "fields": [],
179
+ "module": "Project/ProjectTask",
180
+ "permission": "planning:write"
181
+ },
182
+ "planning.update": {
183
+ "fields": [
184
+ "title",
185
+ "description",
186
+ "training",
187
+ "owner",
188
+ "status",
189
+ "type",
190
+ "enableDueDate",
191
+ "dueDate",
192
+ "quantity",
193
+ "quantityUnit",
194
+ "archive",
195
+ "autoArchive",
196
+ "autoArchiveDays",
197
+ "autoArchiveHours"
198
+ ],
199
+ "module": "Project/ProjectTask",
200
+ "permission": "planning:write"
201
+ },
202
+ "program.create": {
203
+ "create": true,
204
+ "fields": [
205
+ "title",
206
+ "icon",
207
+ "projectTimeZone"
208
+ ],
209
+ "module": "Project/$",
210
+ "permission": "programs:write"
211
+ },
212
+ "program.delete": {
213
+ "delete": true,
214
+ "fields": [],
215
+ "module": "Project/$",
216
+ "permission": "programs:write"
217
+ },
218
+ "program.update": {
219
+ "fields": [
220
+ "title",
221
+ "icon",
222
+ "projectTimeZone",
223
+ "featureGoals",
224
+ "featureScheduledTasks"
225
+ ],
226
+ "module": "Project/$",
227
+ "permission": "programs:write"
228
+ },
229
+ "run.create": {
230
+ "create": true,
231
+ "fields": [
232
+ "startedAt",
233
+ "endedAt",
234
+ "durationSeconds",
235
+ "elapsedSeconds",
236
+ "distanceMeters",
237
+ "avgPaceSecPerKm",
238
+ "elevationGainMeters",
239
+ "splits",
240
+ "polyline",
241
+ "routeSegments",
242
+ "source",
243
+ "notes",
244
+ "task"
245
+ ],
246
+ "module": "Project/SportRunLog",
247
+ "permission": "metrics:write"
248
+ },
249
+ "run.delete": {
250
+ "delete": true,
251
+ "fields": [],
252
+ "module": "Project/SportRunLog",
253
+ "permission": "metrics:write"
254
+ },
255
+ "run.update": {
256
+ "fields": [
257
+ "startedAt",
258
+ "endedAt",
259
+ "durationSeconds",
260
+ "elapsedSeconds",
261
+ "distanceMeters",
262
+ "avgPaceSecPerKm",
263
+ "elevationGainMeters",
264
+ "splits",
265
+ "polyline",
266
+ "routeSegments",
267
+ "source",
268
+ "notes",
269
+ "task"
270
+ ],
271
+ "module": "Project/SportRunLog",
272
+ "permission": "metrics:write"
273
+ },
274
+ "schedule.create": {
275
+ "create": true,
276
+ "fields": [
277
+ "title",
278
+ "description",
279
+ "training",
280
+ "owner",
281
+ "period",
282
+ "interval",
283
+ "weekDay",
284
+ "startTime",
285
+ "timeZoneId",
286
+ "dueDateEnabled",
287
+ "dueOffsetDays",
288
+ "keepMissedOccurrences",
289
+ "notification",
290
+ "alertNotification",
291
+ "dynamicTitle",
292
+ "autoArchive",
293
+ "autoArchiveDays",
294
+ "autoArchiveHours"
295
+ ],
296
+ "module": "Project/ProjectScheduledTask",
297
+ "permission": "planning:write"
298
+ },
299
+ "schedule.delete": {
300
+ "delete": true,
301
+ "fields": [],
302
+ "module": "Project/ProjectScheduledTask",
303
+ "permission": "planning:write"
304
+ },
305
+ "schedule.update": {
306
+ "fields": [
307
+ "title",
308
+ "description",
309
+ "training",
310
+ "owner",
311
+ "period",
312
+ "interval",
313
+ "weekDay",
314
+ "startTime",
315
+ "timeZoneId",
316
+ "dueDateEnabled",
317
+ "dueOffsetDays",
318
+ "keepMissedOccurrences",
319
+ "notification",
320
+ "alertNotification",
321
+ "dynamicTitle",
322
+ "autoArchive",
323
+ "autoArchiveDays",
324
+ "autoArchiveHours"
325
+ ],
326
+ "module": "Project/ProjectScheduledTask",
327
+ "permission": "planning:write"
328
+ },
329
+ "session.create": {
330
+ "create": true,
331
+ "fields": [
332
+ "startedAt",
333
+ "endedAt",
334
+ "durationSeconds",
335
+ "training",
336
+ "task",
337
+ "performedSets",
338
+ "notes"
339
+ ],
340
+ "module": "Project/SportSessionLog",
341
+ "permission": "metrics:write"
342
+ },
343
+ "session.delete": {
344
+ "delete": true,
345
+ "fields": [],
346
+ "module": "Project/SportSessionLog",
347
+ "permission": "metrics:write"
348
+ },
349
+ "session.update": {
350
+ "fields": [
351
+ "startedAt",
352
+ "endedAt",
353
+ "durationSeconds",
354
+ "training",
355
+ "task",
356
+ "performedSets",
357
+ "notes"
358
+ ],
359
+ "module": "Project/SportSessionLog",
360
+ "permission": "metrics:write"
361
+ },
362
+ "workout.create": {
363
+ "create": true,
364
+ "fields": [
365
+ "name",
366
+ "description",
367
+ "icon",
368
+ "estimatedMinutes",
369
+ "mode",
370
+ "capMinutes"
371
+ ],
372
+ "module": "Project/SportTraining",
373
+ "permission": "programs:write"
374
+ },
375
+ "workout.delete": {
376
+ "delete": true,
377
+ "fields": [],
378
+ "module": "Project/SportTraining",
379
+ "permission": "programs:write"
380
+ },
381
+ "workout.exercise.create": {
382
+ "create": true,
383
+ "fields": [
384
+ "training",
385
+ "element",
386
+ "targetSets",
387
+ "restSeconds",
388
+ "order"
389
+ ],
390
+ "module": "Project/SportTrainingExercise",
391
+ "permission": "programs:write"
392
+ },
393
+ "workout.exercise.delete": {
394
+ "delete": true,
395
+ "fields": [],
396
+ "module": "Project/SportTrainingExercise",
397
+ "permission": "programs:write"
398
+ },
399
+ "workout.exercise.update": {
400
+ "fields": [
401
+ "training",
402
+ "element",
403
+ "targetSets",
404
+ "restSeconds",
405
+ "order"
406
+ ],
407
+ "module": "Project/SportTrainingExercise",
408
+ "permission": "programs:write"
409
+ },
410
+ "workout.update": {
411
+ "fields": [
412
+ "name",
413
+ "description",
414
+ "icon",
415
+ "estimatedMinutes",
416
+ "mode",
417
+ "capMinutes"
418
+ ],
419
+ "module": "Project/SportTraining",
420
+ "permission": "programs:write"
421
+ }
422
+ },
423
+ "collections": {
424
+ "exerciseDocuments": {
425
+ "fields": [
426
+ "element",
427
+ "content",
428
+ "creator",
429
+ "created",
430
+ "updated"
431
+ ],
432
+ "module": "Project/SportExerciseDocument",
433
+ "permission": "programs:read"
434
+ },
435
+ "exercises": {
436
+ "fields": [
437
+ "catalogKey",
438
+ "defaultRestSeconds",
439
+ "defaultUnit",
440
+ "equipment",
441
+ "exerciseType",
442
+ "icon",
443
+ "kind",
444
+ "muscleGroup",
445
+ "name",
446
+ "notes",
447
+ "section",
448
+ "created",
449
+ "updated"
450
+ ],
451
+ "module": "LocalUser/LocalUserElement",
452
+ "permission": "exercises:read"
453
+ },
454
+ "goals": {
455
+ "fields": [
456
+ "title",
457
+ "isTeamOwner",
458
+ "owner",
459
+ "disabled",
460
+ "currentTaskNumber",
461
+ "taskNumber",
462
+ "period",
463
+ "interval",
464
+ "startTime",
465
+ "created",
466
+ "updated"
467
+ ],
468
+ "module": "Project/ProjectMemberGoals",
469
+ "permission": "planning:read"
470
+ },
471
+ "health": {
472
+ "fields": [
473
+ "at",
474
+ "kind",
475
+ "value",
476
+ "unit",
477
+ "site",
478
+ "source",
479
+ "sourceId",
480
+ "details",
481
+ "created",
482
+ "updated"
483
+ ],
484
+ "module": "LocalUser/LocalUserHealthLog",
485
+ "permission": "health:read"
486
+ },
487
+ "members": {
488
+ "fields": [
489
+ "userId",
490
+ "approved",
491
+ "roles",
492
+ "created",
493
+ "updated"
494
+ ],
495
+ "module": "Project/ProjectMember",
496
+ "permission": "programs:read"
497
+ },
498
+ "planning": {
499
+ "fields": [
500
+ "title",
501
+ "description",
502
+ "training",
503
+ "owner",
504
+ "status",
505
+ "type",
506
+ "enableDueDate",
507
+ "dueDate",
508
+ "quantity",
509
+ "quantityUnit",
510
+ "archive",
511
+ "creator",
512
+ "created",
513
+ "updated"
514
+ ],
515
+ "module": "Project/ProjectTask",
516
+ "permission": "planning:read"
517
+ },
518
+ "programs": {
519
+ "fields": [
520
+ "title",
521
+ "icon",
522
+ "projectTimeZone",
523
+ "type",
524
+ "featureGoals",
525
+ "featureScheduledTasks",
526
+ "creator",
527
+ "created",
528
+ "updated"
529
+ ],
530
+ "module": "Project/$",
531
+ "permission": "programs:read"
532
+ },
533
+ "runs": {
534
+ "fields": [
535
+ "startedAt",
536
+ "endedAt",
537
+ "durationSeconds",
538
+ "elapsedSeconds",
539
+ "distanceMeters",
540
+ "avgPaceSecPerKm",
541
+ "elevationGainMeters",
542
+ "splits",
543
+ "polyline",
544
+ "routeSegments",
545
+ "source",
546
+ "notes",
547
+ "task",
548
+ "creator",
549
+ "created",
550
+ "updated"
551
+ ],
552
+ "module": "Project/SportRunLog",
553
+ "permission": "metrics:read"
554
+ },
555
+ "schedules": {
556
+ "fields": [
557
+ "title",
558
+ "description",
559
+ "training",
560
+ "owner",
561
+ "period",
562
+ "interval",
563
+ "weekDay",
564
+ "startTime",
565
+ "timeZoneId",
566
+ "dueDateEnabled",
567
+ "dueOffsetDays",
568
+ "keepMissedOccurrences",
569
+ "creator",
570
+ "created",
571
+ "updated"
572
+ ],
573
+ "module": "Project/ProjectScheduledTask",
574
+ "permission": "planning:read"
575
+ },
576
+ "sessions": {
577
+ "fields": [
578
+ "startedAt",
579
+ "endedAt",
580
+ "durationSeconds",
581
+ "training",
582
+ "task",
583
+ "performedSets",
584
+ "notes",
585
+ "creator",
586
+ "created",
587
+ "updated"
588
+ ],
589
+ "module": "Project/SportSessionLog",
590
+ "permission": "metrics:read"
591
+ },
592
+ "workoutExercises": {
593
+ "fields": [
594
+ "training",
595
+ "element",
596
+ "targetSets",
597
+ "restSeconds",
598
+ "order",
599
+ "creator",
600
+ "created",
601
+ "updated"
602
+ ],
603
+ "module": "Project/SportTrainingExercise",
604
+ "permission": "programs:read"
605
+ },
606
+ "workouts": {
607
+ "fields": [
608
+ "name",
609
+ "description",
610
+ "icon",
611
+ "estimatedMinutes",
612
+ "mode",
613
+ "capMinutes",
614
+ "creator",
615
+ "created",
616
+ "updated"
617
+ ],
618
+ "module": "Project/SportTraining",
619
+ "permission": "programs:read"
620
+ }
621
+ },
622
+ "fieldSchemas": {
623
+ "LocalUser/LocalUserElement": {
624
+ "name": {
625
+ "type": "string",
626
+ "minLength": 2,
627
+ "maxLength": 100
628
+ },
629
+ "catalogKey": {
630
+ "anyOf": [
631
+ {
632
+ "type": "string",
633
+ "minLength": 0,
634
+ "maxLength": 60
635
+ },
636
+ {
637
+ "type": "null"
638
+ }
639
+ ]
640
+ },
641
+ "defaultRestSeconds": {
642
+ "default": 90,
643
+ "format": "int32",
644
+ "type": "integer"
645
+ },
646
+ "defaultUnit": {
647
+ "anyOf": [
648
+ {
649
+ "default": "",
650
+ "type": "string",
651
+ "minLength": 0,
652
+ "maxLength": 20
653
+ },
654
+ {
655
+ "type": "null"
656
+ }
657
+ ],
658
+ "default": ""
659
+ },
660
+ "equipment": {
661
+ "anyOf": [
662
+ {
663
+ "type": "string",
664
+ "minLength": 0,
665
+ "maxLength": 60
666
+ },
667
+ {
668
+ "type": "null"
669
+ }
670
+ ]
671
+ },
672
+ "exerciseType": {
673
+ "anyOf": [
674
+ {
675
+ "enum": [
676
+ "WeightReps",
677
+ "BodyweightReps",
678
+ "WeightedBodyweight",
679
+ "AssistedBodyweight",
680
+ "Duration",
681
+ "DurationWeight",
682
+ "DistanceDuration",
683
+ "WeightDistance"
684
+ ],
685
+ "type": "string"
686
+ },
687
+ {
688
+ "type": "null"
689
+ }
690
+ ]
691
+ },
692
+ "icon": {
693
+ "anyOf": [
694
+ {
695
+ "default": "",
696
+ "type": "string",
697
+ "minLength": 0,
698
+ "maxLength": 80
699
+ },
700
+ {
701
+ "type": "null"
702
+ }
703
+ ],
704
+ "default": ""
705
+ },
706
+ "muscleGroup": {
707
+ "anyOf": [
708
+ {
709
+ "enum": [
710
+ "Chest",
711
+ "Back",
712
+ "Shoulders",
713
+ "Arms",
714
+ "Legs",
715
+ "Core",
716
+ "FullBody",
717
+ "Cardio",
718
+ "Other"
719
+ ],
720
+ "type": "string"
721
+ },
722
+ {
723
+ "type": "null"
724
+ }
725
+ ]
726
+ },
727
+ "notes": {
728
+ "anyOf": [
729
+ {
730
+ "default": "",
731
+ "type": "string",
732
+ "minLength": 0,
733
+ "maxLength": 200
734
+ },
735
+ {
736
+ "type": "null"
737
+ }
738
+ ],
739
+ "default": ""
740
+ },
741
+ "section": {
742
+ "anyOf": [
743
+ {
744
+ "default": "",
745
+ "type": "string",
746
+ "minLength": 0,
747
+ "maxLength": 40
748
+ },
749
+ {
750
+ "type": "null"
751
+ }
752
+ ],
753
+ "default": ""
754
+ }
755
+ },
756
+ "Project/SportExerciseDocument": {
757
+ "element": {
758
+ "anyOf": [
759
+ {
760
+ "type": "string"
761
+ },
762
+ {
763
+ "type": "null"
764
+ }
765
+ ]
766
+ },
767
+ "content": {
768
+ "anyOf": [
769
+ {
770
+ "default": "",
771
+ "type": "string",
772
+ "minLength": 0,
773
+ "maxLength": 32000
774
+ },
775
+ {
776
+ "type": "null"
777
+ }
778
+ ],
779
+ "default": ""
780
+ }
781
+ },
782
+ "Project/ProjectMemberGoals": {
783
+ "title": {
784
+ "type": "string",
785
+ "minLength": 3,
786
+ "maxLength": 100
787
+ },
788
+ "isTeamOwner": {
789
+ "default": true,
790
+ "type": "boolean"
791
+ },
792
+ "owner": {
793
+ "anyOf": [
794
+ {
795
+ "type": "string"
796
+ },
797
+ {
798
+ "type": "null"
799
+ }
800
+ ]
801
+ },
802
+ "taskNumber": {
803
+ "default": 1,
804
+ "format": "int32",
805
+ "type": "integer"
806
+ },
807
+ "period": {
808
+ "anyOf": [
809
+ {
810
+ "enum": [
811
+ "Weekly",
812
+ "Monthly"
813
+ ],
814
+ "type": "string"
815
+ },
816
+ {
817
+ "type": "null"
818
+ }
819
+ ]
820
+ },
821
+ "interval": {
822
+ "default": 28,
823
+ "format": "int32",
824
+ "type": "integer"
825
+ },
826
+ "startTime": {
827
+ "format": "date-time",
828
+ "type": "string"
829
+ },
830
+ "notification": {
831
+ "default": true,
832
+ "type": "boolean"
833
+ },
834
+ "alertNotification": {
835
+ "default": true,
836
+ "type": "boolean"
837
+ },
838
+ "scheduleTaskOnly": {
839
+ "default": false,
840
+ "type": "boolean"
841
+ }
842
+ },
843
+ "LocalUser/LocalUserHealthLog": {
844
+ "at": {
845
+ "anyOf": [
846
+ {
847
+ "format": "date-time",
848
+ "type": "string"
849
+ },
850
+ {
851
+ "type": "null"
852
+ }
853
+ ]
854
+ },
855
+ "kind": {
856
+ "anyOf": [
857
+ {
858
+ "enum": [
859
+ "Weight",
860
+ "BodyFat",
861
+ "Measurement",
862
+ "RestingHeartRate",
863
+ "Steps"
864
+ ],
865
+ "type": "string",
866
+ "default": "Weight"
867
+ },
868
+ {
869
+ "type": "null"
870
+ }
871
+ ],
872
+ "default": "Weight"
873
+ },
874
+ "value": {
875
+ "anyOf": [
876
+ {
877
+ "format": "double",
878
+ "type": "number"
879
+ },
880
+ {
881
+ "type": "null"
882
+ }
883
+ ]
884
+ },
885
+ "unit": {
886
+ "anyOf": [
887
+ {
888
+ "default": "",
889
+ "type": "string",
890
+ "minLength": 0,
891
+ "maxLength": 20
892
+ },
893
+ {
894
+ "type": "null"
895
+ }
896
+ ],
897
+ "default": ""
898
+ },
899
+ "site": {
900
+ "anyOf": [
901
+ {
902
+ "default": "",
903
+ "type": "string",
904
+ "minLength": 0,
905
+ "maxLength": 40
906
+ },
907
+ {
908
+ "type": "null"
909
+ }
910
+ ],
911
+ "default": ""
912
+ },
913
+ "source": {
914
+ "anyOf": [
915
+ {
916
+ "enum": [
917
+ "Manual",
918
+ "HealthKit",
919
+ "HealthConnect"
920
+ ],
921
+ "type": "string",
922
+ "default": "Manual"
923
+ },
924
+ {
925
+ "type": "null"
926
+ }
927
+ ],
928
+ "default": "Manual"
929
+ },
930
+ "sourceId": {
931
+ "anyOf": [
932
+ {
933
+ "default": "",
934
+ "type": "string",
935
+ "minLength": 0,
936
+ "maxLength": 80
937
+ },
938
+ {
939
+ "type": "null"
940
+ }
941
+ ],
942
+ "default": ""
943
+ },
944
+ "details": {
945
+ "anyOf": [
946
+ {
947
+ "default": "",
948
+ "type": "string",
949
+ "minLength": 0,
950
+ "maxLength": 2000
951
+ },
952
+ {
953
+ "type": "null"
954
+ }
955
+ ],
956
+ "default": ""
957
+ }
958
+ },
959
+ "Project/ProjectTask": {
960
+ "title": {
961
+ "type": "string",
962
+ "minLength": 3,
963
+ "maxLength": 200
964
+ },
965
+ "description": {
966
+ "anyOf": [
967
+ {
968
+ "default": "",
969
+ "type": "string",
970
+ "minLength": 0,
971
+ "maxLength": 600
972
+ },
973
+ {
974
+ "type": "null"
975
+ }
976
+ ],
977
+ "default": ""
978
+ },
979
+ "training": {
980
+ "anyOf": [
981
+ {
982
+ "type": "string"
983
+ },
984
+ {
985
+ "type": "null"
986
+ }
987
+ ]
988
+ },
989
+ "owner": {
990
+ "anyOf": [
991
+ {
992
+ "type": "string"
993
+ },
994
+ {
995
+ "type": "null"
996
+ }
997
+ ]
998
+ },
999
+ "status": {
1000
+ "anyOf": [
1001
+ {
1002
+ "enum": [
1003
+ "New",
1004
+ "InProgress",
1005
+ "Done"
1006
+ ],
1007
+ "type": "string",
1008
+ "default": "New"
1009
+ },
1010
+ {
1011
+ "type": "null"
1012
+ }
1013
+ ],
1014
+ "default": "New"
1015
+ },
1016
+ "type": {
1017
+ "anyOf": [
1018
+ {
1019
+ "enum": [
1020
+ "Task",
1021
+ "Critical",
1022
+ "NewFeature",
1023
+ "Question"
1024
+ ],
1025
+ "type": "string",
1026
+ "default": "Task"
1027
+ },
1028
+ {
1029
+ "type": "null"
1030
+ }
1031
+ ],
1032
+ "default": "Task"
1033
+ },
1034
+ "enableDueDate": {
1035
+ "default": false,
1036
+ "type": "boolean"
1037
+ },
1038
+ "dueDate": {
1039
+ "anyOf": [
1040
+ {
1041
+ "format": "date-time",
1042
+ "type": "string"
1043
+ },
1044
+ {
1045
+ "type": "null"
1046
+ }
1047
+ ]
1048
+ },
1049
+ "quantity": {
1050
+ "anyOf": [
1051
+ {
1052
+ "format": "double",
1053
+ "type": "number"
1054
+ },
1055
+ {
1056
+ "type": "null"
1057
+ }
1058
+ ]
1059
+ },
1060
+ "quantityUnit": {
1061
+ "anyOf": [
1062
+ {
1063
+ "type": "string",
1064
+ "minLength": 0,
1065
+ "maxLength": 20
1066
+ },
1067
+ {
1068
+ "type": "null"
1069
+ }
1070
+ ]
1071
+ },
1072
+ "archive": {
1073
+ "anyOf": [
1074
+ {
1075
+ "default": false,
1076
+ "type": "boolean"
1077
+ },
1078
+ {
1079
+ "type": "null"
1080
+ }
1081
+ ],
1082
+ "default": false
1083
+ },
1084
+ "autoArchive": {
1085
+ "default": false,
1086
+ "type": "boolean"
1087
+ },
1088
+ "autoArchiveDays": {
1089
+ "default": 14,
1090
+ "format": "int32",
1091
+ "type": "integer"
1092
+ },
1093
+ "autoArchiveHours": {
1094
+ "default": 0,
1095
+ "format": "int32",
1096
+ "type": "integer"
1097
+ }
1098
+ },
1099
+ "Project/$": {
1100
+ "title": {
1101
+ "type": "string",
1102
+ "minLength": 3,
1103
+ "maxLength": 100
1104
+ },
1105
+ "icon": {
1106
+ "type": "string",
1107
+ "minLength": 3,
1108
+ "maxLength": 512
1109
+ },
1110
+ "projectTimeZone": {
1111
+ "anyOf": [
1112
+ {
1113
+ "type": "string"
1114
+ },
1115
+ {
1116
+ "type": "null"
1117
+ }
1118
+ ]
1119
+ },
1120
+ "featureGoals": {
1121
+ "anyOf": [
1122
+ {
1123
+ "default": true,
1124
+ "type": "boolean"
1125
+ },
1126
+ {
1127
+ "type": "null"
1128
+ }
1129
+ ],
1130
+ "default": true
1131
+ },
1132
+ "featureScheduledTasks": {
1133
+ "anyOf": [
1134
+ {
1135
+ "default": true,
1136
+ "type": "boolean"
1137
+ },
1138
+ {
1139
+ "type": "null"
1140
+ }
1141
+ ],
1142
+ "default": true
1143
+ }
1144
+ },
1145
+ "Project/SportRunLog": {
1146
+ "startedAt": {
1147
+ "anyOf": [
1148
+ {
1149
+ "format": "date-time",
1150
+ "type": "string"
1151
+ },
1152
+ {
1153
+ "type": "null"
1154
+ }
1155
+ ]
1156
+ },
1157
+ "endedAt": {
1158
+ "anyOf": [
1159
+ {
1160
+ "format": "date-time",
1161
+ "type": "string"
1162
+ },
1163
+ {
1164
+ "type": "null"
1165
+ }
1166
+ ]
1167
+ },
1168
+ "durationSeconds": {
1169
+ "default": 0,
1170
+ "format": "int32",
1171
+ "type": "integer"
1172
+ },
1173
+ "elapsedSeconds": {
1174
+ "anyOf": [
1175
+ {
1176
+ "format": "int32",
1177
+ "type": "integer"
1178
+ },
1179
+ {
1180
+ "type": "null"
1181
+ }
1182
+ ]
1183
+ },
1184
+ "distanceMeters": {
1185
+ "default": 0,
1186
+ "format": "int32",
1187
+ "type": "integer"
1188
+ },
1189
+ "avgPaceSecPerKm": {
1190
+ "default": 0,
1191
+ "format": "int32",
1192
+ "type": "integer"
1193
+ },
1194
+ "elevationGainMeters": {
1195
+ "anyOf": [
1196
+ {
1197
+ "format": "int32",
1198
+ "type": "integer"
1199
+ },
1200
+ {
1201
+ "type": "null"
1202
+ }
1203
+ ]
1204
+ },
1205
+ "splits": {
1206
+ "anyOf": [
1207
+ {
1208
+ "default": "",
1209
+ "type": "string",
1210
+ "minLength": 0,
1211
+ "maxLength": 32000
1212
+ },
1213
+ {
1214
+ "type": "null"
1215
+ }
1216
+ ],
1217
+ "default": ""
1218
+ },
1219
+ "polyline": {
1220
+ "anyOf": [
1221
+ {
1222
+ "default": "",
1223
+ "type": "string",
1224
+ "minLength": 0,
1225
+ "maxLength": 16000
1226
+ },
1227
+ {
1228
+ "type": "null"
1229
+ }
1230
+ ],
1231
+ "default": ""
1232
+ },
1233
+ "routeSegments": {
1234
+ "anyOf": [
1235
+ {
1236
+ "default": "",
1237
+ "type": "string",
1238
+ "minLength": 0,
1239
+ "maxLength": 16000
1240
+ },
1241
+ {
1242
+ "type": "null"
1243
+ }
1244
+ ],
1245
+ "default": ""
1246
+ },
1247
+ "source": {
1248
+ "anyOf": [
1249
+ {
1250
+ "enum": [
1251
+ "Gps",
1252
+ "Manual"
1253
+ ],
1254
+ "type": "string",
1255
+ "default": "Gps"
1256
+ },
1257
+ {
1258
+ "type": "null"
1259
+ }
1260
+ ],
1261
+ "default": "Gps"
1262
+ },
1263
+ "notes": {
1264
+ "anyOf": [
1265
+ {
1266
+ "default": "",
1267
+ "type": "string",
1268
+ "minLength": 0,
1269
+ "maxLength": 400
1270
+ },
1271
+ {
1272
+ "type": "null"
1273
+ }
1274
+ ],
1275
+ "default": ""
1276
+ },
1277
+ "task": {
1278
+ "anyOf": [
1279
+ {
1280
+ "type": "string"
1281
+ },
1282
+ {
1283
+ "type": "null"
1284
+ }
1285
+ ]
1286
+ }
1287
+ },
1288
+ "Project/ProjectScheduledTask": {
1289
+ "title": {
1290
+ "type": "string",
1291
+ "minLength": 3,
1292
+ "maxLength": 100
1293
+ },
1294
+ "description": {
1295
+ "anyOf": [
1296
+ {
1297
+ "default": "",
1298
+ "type": "string",
1299
+ "minLength": 0,
1300
+ "maxLength": 400
1301
+ },
1302
+ {
1303
+ "type": "null"
1304
+ }
1305
+ ],
1306
+ "default": ""
1307
+ },
1308
+ "training": {
1309
+ "anyOf": [
1310
+ {
1311
+ "type": "string"
1312
+ },
1313
+ {
1314
+ "type": "null"
1315
+ }
1316
+ ]
1317
+ },
1318
+ "owner": {
1319
+ "anyOf": [
1320
+ {
1321
+ "type": "string"
1322
+ },
1323
+ {
1324
+ "type": "null"
1325
+ }
1326
+ ]
1327
+ },
1328
+ "period": {
1329
+ "anyOf": [
1330
+ {
1331
+ "enum": [
1332
+ "Weekly",
1333
+ "Monthly"
1334
+ ],
1335
+ "type": "string"
1336
+ },
1337
+ {
1338
+ "type": "null"
1339
+ }
1340
+ ]
1341
+ },
1342
+ "interval": {
1343
+ "default": 7,
1344
+ "format": "int32",
1345
+ "type": "integer"
1346
+ },
1347
+ "weekDay": {
1348
+ "anyOf": [
1349
+ {
1350
+ "enum": [
1351
+ "Monday",
1352
+ "Tuesday",
1353
+ "Wednesday",
1354
+ "Thursday",
1355
+ "Friday",
1356
+ "Saturday",
1357
+ "Sunday"
1358
+ ],
1359
+ "type": "string"
1360
+ },
1361
+ {
1362
+ "type": "null"
1363
+ }
1364
+ ]
1365
+ },
1366
+ "startTime": {
1367
+ "format": "date-time",
1368
+ "type": "string"
1369
+ },
1370
+ "timeZoneId": {
1371
+ "anyOf": [
1372
+ {
1373
+ "type": "string",
1374
+ "minLength": 0,
1375
+ "maxLength": 64
1376
+ },
1377
+ {
1378
+ "type": "null"
1379
+ }
1380
+ ]
1381
+ },
1382
+ "dueDateEnabled": {
1383
+ "default": false,
1384
+ "type": "boolean"
1385
+ },
1386
+ "dueOffsetDays": {
1387
+ "default": 0,
1388
+ "format": "int32",
1389
+ "type": "integer"
1390
+ },
1391
+ "keepMissedOccurrences": {
1392
+ "default": false,
1393
+ "type": "boolean"
1394
+ },
1395
+ "notification": {
1396
+ "default": true,
1397
+ "type": "boolean"
1398
+ },
1399
+ "alertNotification": {
1400
+ "default": true,
1401
+ "type": "boolean"
1402
+ },
1403
+ "dynamicTitle": {
1404
+ "default": false,
1405
+ "type": "boolean"
1406
+ },
1407
+ "autoArchive": {
1408
+ "default": true,
1409
+ "type": "boolean"
1410
+ },
1411
+ "autoArchiveDays": {
1412
+ "default": 14,
1413
+ "format": "int32",
1414
+ "type": "integer"
1415
+ },
1416
+ "autoArchiveHours": {
1417
+ "default": 0,
1418
+ "format": "int32",
1419
+ "type": "integer"
1420
+ }
1421
+ },
1422
+ "Project/SportSessionLog": {
1423
+ "startedAt": {
1424
+ "anyOf": [
1425
+ {
1426
+ "format": "date-time",
1427
+ "type": "string"
1428
+ },
1429
+ {
1430
+ "type": "null"
1431
+ }
1432
+ ]
1433
+ },
1434
+ "endedAt": {
1435
+ "anyOf": [
1436
+ {
1437
+ "format": "date-time",
1438
+ "type": "string"
1439
+ },
1440
+ {
1441
+ "type": "null"
1442
+ }
1443
+ ]
1444
+ },
1445
+ "durationSeconds": {
1446
+ "default": 0,
1447
+ "format": "int32",
1448
+ "type": "integer"
1449
+ },
1450
+ "training": {
1451
+ "anyOf": [
1452
+ {
1453
+ "type": "string"
1454
+ },
1455
+ {
1456
+ "type": "null"
1457
+ }
1458
+ ]
1459
+ },
1460
+ "task": {
1461
+ "anyOf": [
1462
+ {
1463
+ "type": "string"
1464
+ },
1465
+ {
1466
+ "type": "null"
1467
+ }
1468
+ ]
1469
+ },
1470
+ "performedSets": {
1471
+ "anyOf": [
1472
+ {
1473
+ "default": "",
1474
+ "type": "string",
1475
+ "minLength": 0,
1476
+ "maxLength": 16000
1477
+ },
1478
+ {
1479
+ "type": "null"
1480
+ }
1481
+ ],
1482
+ "default": ""
1483
+ },
1484
+ "notes": {
1485
+ "anyOf": [
1486
+ {
1487
+ "default": "",
1488
+ "type": "string",
1489
+ "minLength": 0,
1490
+ "maxLength": 400
1491
+ },
1492
+ {
1493
+ "type": "null"
1494
+ }
1495
+ ],
1496
+ "default": ""
1497
+ }
1498
+ },
1499
+ "Project/SportTraining": {
1500
+ "name": {
1501
+ "type": "string",
1502
+ "minLength": 3,
1503
+ "maxLength": 100
1504
+ },
1505
+ "description": {
1506
+ "anyOf": [
1507
+ {
1508
+ "default": "",
1509
+ "type": "string",
1510
+ "minLength": 0,
1511
+ "maxLength": 400
1512
+ },
1513
+ {
1514
+ "type": "null"
1515
+ }
1516
+ ],
1517
+ "default": ""
1518
+ },
1519
+ "icon": {
1520
+ "anyOf": [
1521
+ {
1522
+ "default": "",
1523
+ "type": "string",
1524
+ "minLength": 0,
1525
+ "maxLength": 80
1526
+ },
1527
+ {
1528
+ "type": "null"
1529
+ }
1530
+ ],
1531
+ "default": ""
1532
+ },
1533
+ "estimatedMinutes": {
1534
+ "default": 60,
1535
+ "format": "int32",
1536
+ "type": "integer"
1537
+ },
1538
+ "mode": {
1539
+ "anyOf": [
1540
+ {
1541
+ "enum": [
1542
+ "Sets",
1543
+ "Amrap"
1544
+ ],
1545
+ "type": "string"
1546
+ },
1547
+ {
1548
+ "type": "null"
1549
+ }
1550
+ ]
1551
+ },
1552
+ "capMinutes": {
1553
+ "default": 0,
1554
+ "format": "int32",
1555
+ "type": "integer"
1556
+ }
1557
+ },
1558
+ "Project/SportTrainingExercise": {
1559
+ "training": {
1560
+ "anyOf": [
1561
+ {
1562
+ "type": "string"
1563
+ },
1564
+ {
1565
+ "type": "null"
1566
+ }
1567
+ ]
1568
+ },
1569
+ "element": {
1570
+ "anyOf": [
1571
+ {
1572
+ "default": "",
1573
+ "type": "string",
1574
+ "minLength": 0,
1575
+ "maxLength": 40
1576
+ },
1577
+ {
1578
+ "type": "null"
1579
+ }
1580
+ ],
1581
+ "default": ""
1582
+ },
1583
+ "targetSets": {
1584
+ "type": "string",
1585
+ "minLength": 2,
1586
+ "maxLength": 4000
1587
+ },
1588
+ "restSeconds": {
1589
+ "default": 90,
1590
+ "format": "int32",
1591
+ "type": "integer"
1592
+ },
1593
+ "order": {
1594
+ "default": 0,
1595
+ "format": "int32",
1596
+ "type": "integer"
1597
+ }
1598
+ }
1599
+ },
1600
+ "changes": {
1601
+ "pollIntervalSeconds": 5,
1602
+ "maxWatchSeconds": 60
1603
+ },
1604
+ "grants": {
1605
+ "permissions": [
1606
+ "programs:read",
1607
+ "programs:write",
1608
+ "exercises:read",
1609
+ "exercises:write",
1610
+ "planning:read",
1611
+ "planning:write",
1612
+ "metrics:read",
1613
+ "metrics:write",
1614
+ "health:read",
1615
+ "health:write",
1616
+ "coaching:write"
1617
+ ],
1618
+ "maxResources": 200,
1619
+ "maxProfilesPerConnection": 20
1620
+ }
1621
+ };