@strong-together/shared 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,6 +1,8 @@
1
- import z$1, { z } from 'zod/v4';
1
+ import * as zod_v4 from 'zod/v4';
2
+ import { z } from 'zod/v4';
2
3
  import * as drizzle_zod from 'drizzle-zod';
3
4
  import * as drizzle_orm_pg_core from 'drizzle-orm/pg-core';
5
+ import * as zod_v4_core from 'zod/v4/core';
4
6
 
5
7
  type RequestSchema = z.ZodObject<{
6
8
  body?: z.ZodTypeAny;
@@ -9,9 +11,14 @@ type RequestSchema = z.ZodObject<{
9
11
  }>;
10
12
  type Contract = {
11
13
  request: RequestSchema;
14
+ response?: z.ZodTypeAny;
15
+ } | {
16
+ request?: RequestSchema;
12
17
  response: z.ZodTypeAny;
13
18
  };
14
- type RequestOf<TContract extends Contract> = z.infer<TContract['request']>;
19
+ type RequestOf<TContract extends Contract> = TContract extends {
20
+ request: infer TRequest extends RequestSchema;
21
+ } ? z.infer<TRequest> : never;
15
22
  type BodyOf<TContract extends Contract> = RequestOf<TContract> extends {
16
23
  body: infer TBody;
17
24
  } ? TBody : never;
@@ -21,7 +28,9 @@ type QueryOf<TContract extends Contract> = RequestOf<TContract> extends {
21
28
  type ParamsOf<TContract extends Contract> = RequestOf<TContract> extends {
22
29
  params: infer TParams;
23
30
  } ? TParams : never;
24
- type ResponseOf<TContract extends Contract> = z.infer<TContract['response']>;
31
+ type ResponseOf<TContract extends Contract> = TContract extends {
32
+ response: infer TResponse extends z.ZodTypeAny;
33
+ } ? z.infer<TResponse> : never;
25
34
 
26
35
  /** ISO or PostgreSQL-rendered timestamp transported as JSON text. */
27
36
  declare const serializedDateSchema: z.ZodString;
@@ -2496,8 +2505,8 @@ declare const exerciseToWorkoutSplitExpandedViewDbSchema: drizzle_zod.BuildSchem
2496
2505
  identity: undefined;
2497
2506
  generated: undefined;
2498
2507
  }, {}, {}>;
2499
- setOrderIndex: drizzle_orm_pg_core.PgColumn<{
2500
- name: "set_order_index";
2508
+ setIndex: drizzle_orm_pg_core.PgColumn<{
2509
+ name: "set_index";
2501
2510
  tableName: "v_exercise_to_workout_split_expanded";
2502
2511
  dataType: "number";
2503
2512
  columnType: "PgInteger";
@@ -3347,6 +3356,23 @@ declare const exerciseTrackingExpandedViewDbSchema: drizzle_zod.BuildSchema<"sel
3347
3356
  identity: undefined;
3348
3357
  generated: undefined;
3349
3358
  }, {}, {}>;
3359
+ isAssignedToSplit: drizzle_orm_pg_core.PgColumn<{
3360
+ name: "is_assigned_to_split";
3361
+ tableName: "v_exercise_tracking_expanded";
3362
+ dataType: "boolean";
3363
+ columnType: "PgBoolean";
3364
+ data: boolean;
3365
+ driverParam: boolean;
3366
+ notNull: false;
3367
+ hasDefault: false;
3368
+ isPrimaryKey: false;
3369
+ isAutoincrement: false;
3370
+ hasRuntimeDefault: false;
3371
+ enumValues: undefined;
3372
+ baseColumn: never;
3373
+ identity: undefined;
3374
+ generated: undefined;
3375
+ }, {}, {}>;
3350
3376
  weight: drizzle_orm_pg_core.PgColumn<{
3351
3377
  name: "weight";
3352
3378
  tableName: "v_exercise_tracking_expanded";
@@ -3701,107 +3727,246 @@ type ExerciseToWorkoutSplitRow = typeof exerciseToWorkoutSplit.$inferSelect;
3701
3727
  type WorkoutSummaryRow = typeof workoutSummary.$inferSelect;
3702
3728
  type ExerciseTrackingRow = typeof exerciseTracking.$inferSelect;
3703
3729
 
3704
- declare const addAerobicsRequest: z$1.ZodObject<{
3705
- body: z$1.ZodObject<{
3706
- tz: z$1.ZodString;
3707
- record: z$1.ZodObject<{
3708
- durationMins: z$1.ZodNumber;
3709
- durationSec: z$1.ZodInt;
3710
- type: z$1.ZodString;
3711
- }, z$1.core.$strip>;
3712
- }, z$1.core.$strip>;
3713
- }, z$1.core.$strip>;
3714
- declare const getAerobicsRequest: z$1.ZodObject<{
3715
- query: z$1.ZodObject<{
3716
- tz: z$1.ZodOptional<z$1.ZodString>;
3717
- }, z$1.core.$strip>;
3718
- }, z$1.core.$strip>;
3719
- declare const aerobicsDailyRecordSchema: z$1.ZodObject<{
3720
- type: z$1.ZodString;
3721
- durationSec: z$1.ZodInt;
3722
- durationMins: z$1.ZodInt;
3723
- }, z$1.core.$strip>;
3724
- declare const aerobicsWeeklyRecordSchema: z$1.ZodObject<{
3725
- type: z$1.ZodString;
3726
- durationSec: z$1.ZodInt;
3727
- durationMins: z$1.ZodInt;
3728
- workoutTimeUtc: z$1.ZodString;
3729
- }, z$1.core.$strip>;
3730
- declare const weeklyDataSchema: z$1.ZodObject<{
3731
- records: z$1.ZodArray<z$1.ZodObject<{
3732
- type: z$1.ZodString;
3733
- durationSec: z$1.ZodInt;
3734
- durationMins: z$1.ZodInt;
3735
- workoutTimeUtc: z$1.ZodString;
3736
- }, z$1.core.$strip>>;
3737
- totalDurationSec: z$1.ZodNumber;
3738
- totalDurationMins: z$1.ZodNumber;
3739
- }, z$1.core.$strip>;
3740
- declare const userAerobicsResponseSchema: z$1.ZodObject<{
3741
- daily: z$1.ZodRecord<z$1.ZodString, z$1.ZodArray<z$1.ZodObject<{
3742
- type: z$1.ZodString;
3743
- durationSec: z$1.ZodInt;
3744
- durationMins: z$1.ZodInt;
3745
- }, z$1.core.$strip>>>;
3746
- weekly: z$1.ZodRecord<z$1.ZodString, z$1.ZodObject<{
3747
- records: z$1.ZodArray<z$1.ZodObject<{
3748
- type: z$1.ZodString;
3749
- durationSec: z$1.ZodInt;
3750
- durationMins: z$1.ZodInt;
3751
- workoutTimeUtc: z$1.ZodString;
3752
- }, z$1.core.$strip>>;
3753
- totalDurationSec: z$1.ZodNumber;
3754
- totalDurationMins: z$1.ZodNumber;
3755
- }, z$1.core.$strip>>;
3756
- }, z$1.core.$strip>;
3730
+ declare const addAerobicsRequestSchema: z.ZodObject<{
3731
+ body: z.ZodObject<{
3732
+ tz: z.ZodString;
3733
+ record: z.ZodObject<{
3734
+ durationMins: z.ZodNumber;
3735
+ durationSec: z.ZodInt;
3736
+ type: z.ZodString;
3737
+ }, z.core.$strip>;
3738
+ }, z.core.$strip>;
3739
+ }, z.core.$strip>;
3740
+ declare const addUserAerobicsContract: {
3741
+ request: z.ZodObject<{
3742
+ body: z.ZodObject<{
3743
+ tz: z.ZodString;
3744
+ record: z.ZodObject<{
3745
+ durationMins: z.ZodNumber;
3746
+ durationSec: z.ZodInt;
3747
+ type: z.ZodString;
3748
+ }, z.core.$strip>;
3749
+ }, z.core.$strip>;
3750
+ }, z.core.$strip>;
3751
+ };
3752
+ declare const getAerobicsRequestSchema: z.ZodObject<{
3753
+ query: z.ZodObject<{
3754
+ tz: z.ZodOptional<z.ZodString>;
3755
+ }, z.core.$strip>;
3756
+ }, z.core.$strip>;
3757
+ declare const userAerobicsResponseSchema: z.ZodObject<{
3758
+ daily: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3759
+ type: z.ZodString;
3760
+ durationSec: z.ZodInt;
3761
+ durationMins: z.ZodInt;
3762
+ }, z.core.$strip>>>;
3763
+ weekly: z.ZodRecord<z.ZodString, z.ZodObject<{
3764
+ records: z.ZodArray<z.ZodObject<{
3765
+ type: z.ZodString;
3766
+ durationSec: z.ZodInt;
3767
+ durationMins: z.ZodInt;
3768
+ workoutTimeUtc: z.ZodString;
3769
+ }, z.core.$strip>>;
3770
+ totalDurationSec: z.ZodNumber;
3771
+ totalDurationMins: z.ZodNumber;
3772
+ }, z.core.$strip>>;
3773
+ }, z.core.$strip>;
3774
+ declare const getUserAerobicsContract: {
3775
+ request: z.ZodObject<{
3776
+ query: z.ZodObject<{
3777
+ tz: z.ZodOptional<z.ZodString>;
3778
+ }, z.core.$strip>;
3779
+ }, z.core.$strip>;
3780
+ response: z.ZodObject<{
3781
+ daily: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3782
+ type: z.ZodString;
3783
+ durationSec: z.ZodInt;
3784
+ durationMins: z.ZodInt;
3785
+ }, z.core.$strip>>>;
3786
+ weekly: z.ZodRecord<z.ZodString, z.ZodObject<{
3787
+ records: z.ZodArray<z.ZodObject<{
3788
+ type: z.ZodString;
3789
+ durationSec: z.ZodInt;
3790
+ durationMins: z.ZodInt;
3791
+ workoutTimeUtc: z.ZodString;
3792
+ }, z.core.$strip>>;
3793
+ totalDurationSec: z.ZodNumber;
3794
+ totalDurationMins: z.ZodNumber;
3795
+ }, z.core.$strip>>;
3796
+ }, z.core.$strip>;
3797
+ };
3798
+ type AddUserAerobicsBody = BodyOf<typeof addUserAerobicsContract>;
3799
+ type GetUserAerobicsQuery = QueryOf<typeof getUserAerobicsContract>;
3800
+ type UserAerobicsResponse = ResponseOf<typeof getUserAerobicsContract>;
3757
3801
 
3758
- type AddUserAerobicsBody = z$1.infer<typeof addAerobicsRequest.shape.body>;
3759
- type GetUserAerobicsQuery = z$1.infer<typeof getAerobicsRequest.shape.query>;
3760
- type UserAerobicsResponse = z$1.infer<typeof userAerobicsResponseSchema>;
3802
+ /** Aerobic record accepted by the insert query. */
3803
+ declare const addAerobicInputQueryDtoSchema: z.ZodObject<{
3804
+ durationMins: z.ZodNumber;
3805
+ durationSec: z.ZodInt;
3806
+ type: z.ZodString;
3807
+ }, z.core.$strip>;
3808
+ /** Daily aerobic record produced by the aerobics aggregation query. */
3809
+ declare const aerobicsDailyRecordQueryDtoSchema: z.ZodObject<{
3810
+ type: z.ZodString;
3811
+ durationSec: z.ZodInt;
3812
+ durationMins: z.ZodInt;
3813
+ }, z.core.$strip>;
3814
+ /** Weekly aerobic record with its localized workout timestamp. */
3815
+ declare const aerobicsWeeklyRecordQueryDtoSchema: z.ZodObject<{
3816
+ type: z.ZodString;
3817
+ durationSec: z.ZodInt;
3818
+ durationMins: z.ZodInt;
3819
+ workoutTimeUtc: z.ZodString;
3820
+ }, z.core.$strip>;
3821
+ /** Weekly aerobic aggregation containing records and duration totals. */
3822
+ declare const weeklyDataQueryDtoSchema: z.ZodObject<{
3823
+ records: z.ZodArray<z.ZodObject<{
3824
+ type: z.ZodString;
3825
+ durationSec: z.ZodInt;
3826
+ durationMins: z.ZodInt;
3827
+ workoutTimeUtc: z.ZodString;
3828
+ }, z.core.$strip>>;
3829
+ totalDurationSec: z.ZodNumber;
3830
+ totalDurationMins: z.ZodNumber;
3831
+ }, z.core.$strip>;
3832
+ /** Complete aerobics aggregate returned by the history SQL query. */
3833
+ declare const userAerobicsQueryDtoSchema: z.ZodObject<{
3834
+ daily: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3835
+ type: z.ZodString;
3836
+ durationSec: z.ZodInt;
3837
+ durationMins: z.ZodInt;
3838
+ }, z.core.$strip>>>;
3839
+ weekly: z.ZodRecord<z.ZodString, z.ZodObject<{
3840
+ records: z.ZodArray<z.ZodObject<{
3841
+ type: z.ZodString;
3842
+ durationSec: z.ZodInt;
3843
+ durationMins: z.ZodInt;
3844
+ workoutTimeUtc: z.ZodString;
3845
+ }, z.core.$strip>>;
3846
+ totalDurationSec: z.ZodNumber;
3847
+ totalDurationMins: z.ZodNumber;
3848
+ }, z.core.$strip>>;
3849
+ }, z.core.$strip>;
3850
+ /** SQL row wrapping the aerobics aggregate under the selected `data` alias. */
3851
+ declare const userAerobicsRowQueryDtoSchema: z.ZodObject<{
3852
+ data: z.ZodObject<{
3853
+ daily: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
3854
+ type: z.ZodString;
3855
+ durationSec: z.ZodInt;
3856
+ durationMins: z.ZodInt;
3857
+ }, z.core.$strip>>>;
3858
+ weekly: z.ZodRecord<z.ZodString, z.ZodObject<{
3859
+ records: z.ZodArray<z.ZodObject<{
3860
+ type: z.ZodString;
3861
+ durationSec: z.ZodInt;
3862
+ durationMins: z.ZodInt;
3863
+ workoutTimeUtc: z.ZodString;
3864
+ }, z.core.$strip>>;
3865
+ totalDurationSec: z.ZodNumber;
3866
+ totalDurationMins: z.ZodNumber;
3867
+ }, z.core.$strip>>;
3868
+ }, z.core.$strip>;
3869
+ }, z.core.$strip>;
3870
+ type AddAerobicInputQueryDto = z.infer<typeof addAerobicInputQueryDtoSchema>;
3871
+ type AerobicsDailyRecordQueryDto = z.infer<typeof aerobicsDailyRecordQueryDtoSchema>;
3872
+ type AerobicsWeeklyRecordQueryDto = z.infer<typeof aerobicsWeeklyRecordQueryDtoSchema>;
3873
+ type WeeklyDataQueryDto = z.infer<typeof weeklyDataQueryDtoSchema>;
3874
+ type UserAerobicsQueryDto = z.infer<typeof userAerobicsQueryDtoSchema>;
3875
+ type UserAerobicsRowQueryDto = z.infer<typeof userAerobicsRowQueryDtoSchema>;
3761
3876
 
3762
- type AddAerobicInput = AddUserAerobicsBody['record'];
3763
- type AerobicsDailyRecord = z.infer<typeof aerobicsDailyRecordSchema>;
3764
- type AerobicsWeeklyRecord = z.infer<typeof aerobicsWeeklyRecordSchema>;
3765
- type WeeklyData = z.infer<typeof weeklyDataSchema>;
3877
+ declare const getAnalyticsResponseSchema: z.ZodObject<{
3878
+ oneRepMaxes: z.ZodRecord<z.ZodString, z.ZodObject<{
3879
+ exercise: z.ZodString;
3880
+ prWeight: z.ZodNullable<z.ZodNumber>;
3881
+ prReps: z.ZodNullable<z.ZodInt>;
3882
+ max1Rm: z.ZodNumber;
3883
+ }, z.core.$strip>>;
3884
+ goals: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
3885
+ planned: z.ZodNumber;
3886
+ actual: z.ZodNumber;
3887
+ adherencePct: z.ZodNullable<z.ZodNumber>;
3888
+ }, z.core.$strip>>>;
3889
+ }, z.core.$strip>;
3890
+ declare const getAnalyticsContract: {
3891
+ response: z.ZodObject<{
3892
+ oneRepMaxes: z.ZodRecord<z.ZodString, z.ZodObject<{
3893
+ exercise: z.ZodString;
3894
+ prWeight: z.ZodNullable<z.ZodNumber>;
3895
+ prReps: z.ZodNullable<z.ZodInt>;
3896
+ max1Rm: z.ZodNumber;
3897
+ }, z.core.$strip>>;
3898
+ goals: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
3899
+ planned: z.ZodNumber;
3900
+ actual: z.ZodNumber;
3901
+ adherencePct: z.ZodNullable<z.ZodNumber>;
3902
+ }, z.core.$strip>>>;
3903
+ }, z.core.$strip>;
3904
+ };
3905
+ type GetAnalyticsResponse = ResponseOf<typeof getAnalyticsContract>;
3766
3906
 
3767
- declare const workoutRmRecordSchema: z.ZodObject<{
3907
+ /** One-repetition-maximum record produced for one exercise. */
3908
+ declare const workoutRmRecordQueryDtoSchema: z.ZodObject<{
3768
3909
  exercise: z.ZodString;
3769
3910
  prWeight: z.ZodNullable<z.ZodNumber>;
3770
3911
  prReps: z.ZodNullable<z.ZodInt>;
3771
3912
  max1Rm: z.ZodNumber;
3772
3913
  }, z.core.$strip>;
3773
- declare const adherenceExerciseStatsSchema: z.ZodObject<{
3914
+ /** Planned-versus-actual adherence record produced for one exercise. */
3915
+ declare const adherenceExerciseStatsQueryDtoSchema: z.ZodObject<{
3774
3916
  planned: z.ZodNumber;
3775
3917
  actual: z.ZodNumber;
3776
3918
  adherencePct: z.ZodNullable<z.ZodNumber>;
3777
3919
  }, z.core.$strip>;
3778
- declare const getAnalyticsResponseSchema: z.ZodObject<{
3779
- oneRepMaxes: z.ZodRecord<z.ZodString, z.ZodObject<{
3920
+ /** Complete one-repetition-maximum map returned by its SQL query. */
3921
+ declare const workoutRmsQueryDtoSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
3922
+ exercise: z.ZodString;
3923
+ prWeight: z.ZodNullable<z.ZodNumber>;
3924
+ prReps: z.ZodNullable<z.ZodInt>;
3925
+ max1Rm: z.ZodNumber;
3926
+ }, z.core.$strip>>;
3927
+ /** SQL row wrapping the one-repetition-maximum map under `result`. */
3928
+ declare const workoutRmsRowQueryDtoSchema: z.ZodObject<{
3929
+ result: z.ZodRecord<z.ZodString, z.ZodObject<{
3780
3930
  exercise: z.ZodString;
3781
3931
  prWeight: z.ZodNullable<z.ZodNumber>;
3782
3932
  prReps: z.ZodNullable<z.ZodInt>;
3783
3933
  max1Rm: z.ZodNumber;
3784
3934
  }, z.core.$strip>>;
3785
- goals: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
3935
+ }, z.core.$strip>;
3936
+ /** Complete goal-adherence map returned by its SQL query. */
3937
+ declare const goalAdherenceQueryDtoSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
3938
+ planned: z.ZodNumber;
3939
+ actual: z.ZodNumber;
3940
+ adherencePct: z.ZodNullable<z.ZodNumber>;
3941
+ }, z.core.$strip>>>;
3942
+ /** SQL row wrapping the goal-adherence map under `result`. */
3943
+ declare const goalAdherenceRowQueryDtoSchema: z.ZodObject<{
3944
+ result: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
3786
3945
  planned: z.ZodNumber;
3787
3946
  actual: z.ZodNumber;
3788
3947
  adherencePct: z.ZodNullable<z.ZodNumber>;
3789
3948
  }, z.core.$strip>>>;
3790
3949
  }, z.core.$strip>;
3950
+ type WorkoutRmRecordQueryDto = z.infer<typeof workoutRmRecordQueryDtoSchema>;
3951
+ type WorkoutRmsQueryDto = z.infer<typeof workoutRmsQueryDtoSchema>;
3952
+ type WorkoutRmsRowQueryDto = z.infer<typeof workoutRmsRowQueryDtoSchema>;
3953
+ type AdherenceExerciseStatsQueryDto = z.infer<typeof adherenceExerciseStatsQueryDtoSchema>;
3954
+ type GoalAdherenceQueryDto = z.infer<typeof goalAdherenceQueryDtoSchema>;
3955
+ type GoalAdherenceRowQueryDto = z.infer<typeof goalAdherenceRowQueryDtoSchema>;
3791
3956
 
3792
- type GetAnalyticsResponse = z$1.infer<typeof getAnalyticsResponseSchema>;
3793
-
3794
- type WorkoutRMRecord = z.infer<typeof workoutRmRecordSchema>;
3795
- type WorkoutRMsResponse = z.infer<typeof getAnalyticsResponseSchema.shape.oneRepMaxes>;
3796
- type AdherenceExerciseStats = z.infer<typeof adherenceExerciseStatsSchema>;
3797
- type GoalAdherenceResponse = z.infer<typeof getAnalyticsResponseSchema.shape.goals>;
3798
-
3799
- declare const sendChangePassEmailRequest: z.ZodObject<{
3957
+ declare const sendChangePassEmailRequestSchema: z.ZodObject<{
3800
3958
  body: z.ZodObject<{
3801
3959
  identifier: z.ZodString;
3802
3960
  }, z.core.$strip>;
3803
3961
  }, z.core.$strip>;
3804
- declare const resetPasswordRequest: z.ZodObject<{
3962
+ declare const sendChangePassEmailContract: {
3963
+ request: z.ZodObject<{
3964
+ body: z.ZodObject<{
3965
+ identifier: z.ZodString;
3966
+ }, z.core.$strip>;
3967
+ }, z.core.$strip>;
3968
+ };
3969
+ declare const resetPasswordRequestSchema: z.ZodObject<{
3805
3970
  body: z.ZodObject<{
3806
3971
  newPassword: z.ZodString;
3807
3972
  }, z.core.$strip>;
@@ -3812,22 +3977,35 @@ declare const resetPasswordRequest: z.ZodObject<{
3812
3977
  declare const resetPasswordResponseSchema: z.ZodObject<{
3813
3978
  ok: z.ZodBoolean;
3814
3979
  }, z.core.$strip>;
3980
+ declare const resetPasswordContract: {
3981
+ request: z.ZodObject<{
3982
+ body: z.ZodObject<{
3983
+ newPassword: z.ZodString;
3984
+ }, z.core.$strip>;
3985
+ query: z.ZodObject<{
3986
+ token: z.ZodOptional<z.ZodString>;
3987
+ }, z.core.$strip>;
3988
+ }, z.core.$strip>;
3989
+ response: z.ZodObject<{
3990
+ ok: z.ZodBoolean;
3991
+ }, z.core.$strip>;
3992
+ };
3993
+ type SendChangePassEmailBody = BodyOf<typeof sendChangePassEmailContract>;
3994
+ type ResetPasswordBody = BodyOf<typeof resetPasswordContract>;
3995
+ type ResetPasswordQuery = QueryOf<typeof resetPasswordContract>;
3996
+ type ResetPasswordResponse = ResponseOf<typeof resetPasswordContract>;
3815
3997
 
3816
- type SendChangePassEmailBody = z$1.infer<typeof sendChangePassEmailRequest.shape.body>;
3817
- type ResetPasswordBody = z$1.infer<typeof resetPasswordRequest.shape.body>;
3818
- type ResetPasswordQuery = z$1.infer<typeof resetPasswordRequest.shape.query>;
3819
- type ResetPasswordResponse = z$1.infer<typeof resetPasswordResponseSchema>;
3820
-
3821
- declare const forgotPasswordPayloadSchema: z.ZodObject<{
3998
+ /** Claims carried by a forgot-password token. */
3999
+ declare const forgotPasswordPayloadDtoSchema: z.ZodObject<{
3822
4000
  sub: z.ZodUUID;
3823
4001
  jti: z.ZodString;
3824
4002
  exp: z.ZodNumber;
3825
4003
  iss: z.ZodString;
3826
4004
  typ: z.ZodString;
3827
4005
  }, z.core.$strip>;
3828
- type ForgotPasswordPayload = z.infer<typeof forgotPasswordPayloadSchema>;
4006
+ type ForgotPasswordPayloadDto = z.infer<typeof forgotPasswordPayloadDtoSchema>;
3829
4007
 
3830
- declare const loginRequest: z.ZodObject<{
4008
+ declare const loginRequestSchema: z.ZodObject<{
3831
4009
  body: z.ZodObject<{
3832
4010
  identifier: z.ZodString;
3833
4011
  password: z.ZodString;
@@ -3839,22 +4017,49 @@ declare const loginResponseSchema: z.ZodObject<{
3839
4017
  accessToken: z.ZodString;
3840
4018
  refreshToken: z.ZodString;
3841
4019
  }, z.core.$strip>;
3842
- declare const logoutResponseSchema: z.ZodObject<{
3843
- message: z.ZodString;
3844
- }, z.core.$strip>;
4020
+ declare const loginContract: {
4021
+ request: z.ZodObject<{
4022
+ body: z.ZodObject<{
4023
+ identifier: z.ZodString;
4024
+ password: z.ZodString;
4025
+ }, z.core.$strip>;
4026
+ }, z.core.$strip>;
4027
+ response: z.ZodObject<{
4028
+ message: z.ZodString;
4029
+ user: z.ZodUUID;
4030
+ accessToken: z.ZodString;
4031
+ refreshToken: z.ZodString;
4032
+ }, z.core.$strip>;
4033
+ };
3845
4034
  declare const refreshTokenResponseSchema: z.ZodObject<{
3846
4035
  message: z.ZodString;
3847
4036
  accessToken: z.ZodString;
3848
4037
  refreshToken: z.ZodString;
3849
4038
  userId: z.ZodUUID;
3850
4039
  }, z.core.$strip>;
4040
+ declare const refreshTokenContract: {
4041
+ response: z.ZodObject<{
4042
+ message: z.ZodString;
4043
+ accessToken: z.ZodString;
4044
+ refreshToken: z.ZodString;
4045
+ userId: z.ZodUUID;
4046
+ }, z.core.$strip>;
4047
+ };
4048
+ declare const logoutResponseSchema: z.ZodObject<{
4049
+ message: z.ZodString;
4050
+ }, z.core.$strip>;
4051
+ declare const logoutContract: {
4052
+ response: z.ZodObject<{
4053
+ message: z.ZodString;
4054
+ }, z.core.$strip>;
4055
+ };
4056
+ type LoginRequestBody = BodyOf<typeof loginContract>;
4057
+ type LoginResponse = ResponseOf<typeof loginContract>;
4058
+ type RefreshTokenResponse = ResponseOf<typeof refreshTokenContract>;
4059
+ type LogoutResponse = ResponseOf<typeof logoutContract>;
3851
4060
 
3852
- type LoginRequestBody = z$1.infer<typeof loginRequest.shape.body>;
3853
- type LoginResponse = z$1.infer<typeof loginResponseSchema>;
3854
- type RefreshTokenResponse = z$1.infer<typeof refreshTokenResponseSchema>;
3855
- type LogOutResponse = z$1.infer<typeof logoutResponseSchema>;
3856
-
3857
- declare const accessTokenPayloadSchema: z.ZodObject<{
4061
+ /** Claims carried by an issued access token. */
4062
+ declare const accessTokenPayloadDtoSchema: z.ZodObject<{
3858
4063
  id: z.ZodUUID;
3859
4064
  role: z.ZodString;
3860
4065
  tokenVer: z.ZodInt;
@@ -3864,7 +4069,8 @@ declare const accessTokenPayloadSchema: z.ZodObject<{
3864
4069
  iat: z.ZodOptional<z.ZodNumber>;
3865
4070
  exp: z.ZodOptional<z.ZodNumber>;
3866
4071
  }, z.core.$strip>;
3867
- declare const userAfterBumpSchema: z.ZodObject<{
4072
+ /** User data returned after atomically incrementing the token version. */
4073
+ declare const userAfterBumpQueryDtoSchema: z.ZodObject<{
3868
4074
  tokenVersion: z.ZodInt;
3869
4075
  userData: z.ZodObject<{
3870
4076
  id: z.ZodUUID;
@@ -3874,7 +4080,7 @@ declare const userAfterBumpSchema: z.ZodObject<{
3874
4080
  gender: z.ZodString;
3875
4081
  createdAt: z.ZodString;
3876
4082
  updatedAt: z.ZodString;
3877
- profileImageUrl: z.ZodNullable<z.ZodString>;
4083
+ profilePicPath: z.ZodNullable<z.ZodString>;
3878
4084
  pushToken: z.ZodNullable<z.ZodString>;
3879
4085
  role: z.ZodString;
3880
4086
  isFirstLogin: z.ZodBoolean;
@@ -3884,51 +4090,88 @@ declare const userAfterBumpSchema: z.ZodObject<{
3884
4090
  lastLogin: z.ZodNullable<z.ZodString>;
3885
4091
  }, z.core.$strip>;
3886
4092
  }, z.core.$strip>;
3887
- declare const tokenVersionResultSchema: z.ZodObject<{
4093
+ /** Current token-version row returned by authentication checks. */
4094
+ declare const tokenVersionQueryDtoSchema: z.ZodObject<{
3888
4095
  tokenVersion: z.ZodInt;
3889
4096
  }, z.core.$strip>;
3890
- type AccessTokenPayload = z.infer<typeof accessTokenPayloadSchema>;
3891
- type UserAfterBump = z.infer<typeof userAfterBumpSchema>;
3892
- type TokenVersionResult = z.infer<typeof tokenVersionResultSchema>;
3893
-
3894
- declare const verifyAccountRequest: z$1.ZodObject<{
3895
- query: z$1.ZodObject<{
3896
- token: z$1.ZodOptional<z$1.ZodString>;
3897
- }, z$1.core.$strip>;
3898
- }, z$1.core.$strip>;
3899
- declare const sendVerificationMailRequest: z$1.ZodObject<{
3900
- body: z$1.ZodObject<{
3901
- email: z$1.ZodString;
3902
- }, z$1.core.$strip>;
3903
- }, z$1.core.$strip>;
3904
- declare const changeEmailAndVerifyRequest: z$1.ZodObject<{
3905
- body: z$1.ZodObject<{
3906
- username: z$1.ZodString;
3907
- password: z$1.ZodString;
3908
- newEmail: z$1.ZodString;
3909
- }, z$1.core.$strip>;
3910
- }, z$1.core.$strip>;
3911
- declare const checkUserVerifyRequest: z$1.ZodObject<{
3912
- query: z$1.ZodObject<{
3913
- username: z$1.ZodString;
3914
- }, z$1.core.$strip>;
3915
- }, z$1.core.$strip>;
4097
+ /** Last-login row returned by the session lookup function. */
4098
+ declare const lastLoginQueryDtoSchema: z.ZodObject<{
4099
+ lastLogin: z.ZodNullable<z.ZodDate>;
4100
+ }, z.core.$strip>;
4101
+ type AccessTokenPayloadDto = z.infer<typeof accessTokenPayloadDtoSchema>;
4102
+ type UserAfterBumpQueryDto = z.infer<typeof userAfterBumpQueryDtoSchema>;
4103
+ type TokenVersionQueryDto = z.infer<typeof tokenVersionQueryDtoSchema>;
4104
+ type LastLoginQueryDto = z.infer<typeof lastLoginQueryDtoSchema>;
3916
4105
 
3917
- type VerifyUserAccountQuery = z$1.infer<typeof verifyAccountRequest.shape.query>;
3918
- type SendVerifcationMailBody = z$1.infer<typeof sendVerificationMailRequest.shape.body>;
3919
- type ChangeEmailAndVerifyBody = z$1.infer<typeof changeEmailAndVerifyRequest.shape.body>;
3920
- type CheckUserVerifyQuery = z$1.infer<typeof checkUserVerifyRequest.shape.query>;
4106
+ declare const verifyAccountRequestSchema: z.ZodObject<{
4107
+ query: z.ZodObject<{
4108
+ token: z.ZodOptional<z.ZodString>;
4109
+ }, z.core.$strip>;
4110
+ }, z.core.$strip>;
4111
+ declare const verifyUserAccountContract: {
4112
+ request: z.ZodObject<{
4113
+ query: z.ZodObject<{
4114
+ token: z.ZodOptional<z.ZodString>;
4115
+ }, z.core.$strip>;
4116
+ }, z.core.$strip>;
4117
+ };
4118
+ declare const sendVerificationMailRequestSchema: z.ZodObject<{
4119
+ body: z.ZodObject<{
4120
+ email: z.ZodString;
4121
+ }, z.core.$strip>;
4122
+ }, z.core.$strip>;
4123
+ declare const sendVerificationMailContract: {
4124
+ request: z.ZodObject<{
4125
+ body: z.ZodObject<{
4126
+ email: z.ZodString;
4127
+ }, z.core.$strip>;
4128
+ }, z.core.$strip>;
4129
+ };
4130
+ declare const changeEmailAndVerifyRequestSchema: z.ZodObject<{
4131
+ body: z.ZodObject<{
4132
+ username: z.ZodString;
4133
+ password: z.ZodString;
4134
+ newEmail: z.ZodString;
4135
+ }, z.core.$strip>;
4136
+ }, z.core.$strip>;
4137
+ declare const changeEmailAndVerifyContract: {
4138
+ request: z.ZodObject<{
4139
+ body: z.ZodObject<{
4140
+ username: z.ZodString;
4141
+ password: z.ZodString;
4142
+ newEmail: z.ZodString;
4143
+ }, z.core.$strip>;
4144
+ }, z.core.$strip>;
4145
+ };
4146
+ declare const checkUserVerifyRequestSchema: z.ZodObject<{
4147
+ query: z.ZodObject<{
4148
+ username: z.ZodString;
4149
+ }, z.core.$strip>;
4150
+ }, z.core.$strip>;
4151
+ declare const checkUserVerifyContract: {
4152
+ request: z.ZodObject<{
4153
+ query: z.ZodObject<{
4154
+ username: z.ZodString;
4155
+ }, z.core.$strip>;
4156
+ }, z.core.$strip>;
4157
+ };
4158
+ type VerifyUserAccountQuery = QueryOf<typeof verifyUserAccountContract>;
4159
+ type SendVerificationMailBody = BodyOf<typeof sendVerificationMailContract>;
4160
+ type ChangeEmailAndVerifyBody = BodyOf<typeof changeEmailAndVerifyContract>;
4161
+ type CheckUserVerifyQuery = QueryOf<typeof checkUserVerifyContract>;
3921
4162
 
3922
- declare const emailVerifyPayloadSchema: z.ZodObject<{
4163
+ /** Claims carried by an email-verification token. */
4164
+ declare const emailVerifyPayloadDtoSchema: z.ZodObject<{
3923
4165
  sub: z.ZodUUID;
3924
4166
  jti: z.ZodString;
3925
4167
  exp: z.ZodNumber;
3926
4168
  iss: z.ZodString;
3927
4169
  typ: z.ZodString;
3928
4170
  }, z.core.$strip>;
3929
- type EmailVerifyPayload = z.infer<typeof emailVerifyPayloadSchema>;
4171
+ type EmailVerifyPayloadDto = z.infer<typeof emailVerifyPayloadDtoSchema>;
3930
4172
 
3931
- declare const userByIndetifierSchema: z.ZodObject<{
4173
+ /** Normalized user record returned by identifier-based authentication queries. */
4174
+ declare const userByIdentifierQueryDtoSchema: z.ZodObject<{
3932
4175
  id: z.ZodUUID;
3933
4176
  name: z.ZodString;
3934
4177
  username: z.ZodString;
@@ -3938,10 +4181,61 @@ declare const userByIndetifierSchema: z.ZodObject<{
3938
4181
  isVerified: z.ZodBoolean;
3939
4182
  lastLogin: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3940
4183
  }, z.core.$strip>;
3941
- /** Compatibility name retained for existing backend imports. */
3942
- type UserByIndetifier = z.infer<typeof userByIndetifierSchema>;
4184
+ /** Raw database function payload before snake_case fields are normalized. */
4185
+ declare const userByIdentifierRawQueryDtoSchema: z.ZodObject<{
4186
+ id: z.ZodUUID;
4187
+ name: z.ZodString;
4188
+ username: z.ZodString;
4189
+ email: z.ZodOptional<z.ZodString>;
4190
+ role: z.ZodString;
4191
+ password: z.ZodNullable<z.ZodString>;
4192
+ is_verified: z.ZodBoolean;
4193
+ last_login: z.ZodNullable<z.ZodString>;
4194
+ }, z.core.$strip>;
4195
+ /** SQL row wrapping an identifier lookup result under `userData`. */
4196
+ declare const userByIdentifierRowQueryDtoSchema: z.ZodObject<{
4197
+ userData: z.ZodNullable<z.ZodObject<{
4198
+ id: z.ZodUUID;
4199
+ name: z.ZodString;
4200
+ username: z.ZodString;
4201
+ email: z.ZodOptional<z.ZodString>;
4202
+ role: z.ZodString;
4203
+ password: z.ZodNullable<z.ZodString>;
4204
+ is_verified: z.ZodBoolean;
4205
+ last_login: z.ZodNullable<z.ZodString>;
4206
+ }, z.core.$strip>>;
4207
+ }, z.core.$strip>;
4208
+ /** Raw username lookup payload before `is_verified` is normalized. */
4209
+ declare const userByUsernameRawQueryDtoSchema: z.ZodObject<{
4210
+ id: z.ZodUUID;
4211
+ name: z.ZodString;
4212
+ username: z.ZodString;
4213
+ email: z.ZodOptional<z.ZodString>;
4214
+ role: z.ZodString;
4215
+ lastLogin: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4216
+ password: z.ZodNullable<z.ZodString>;
4217
+ is_verified: z.ZodBoolean;
4218
+ }, z.core.$strip>;
4219
+ /** SQL row wrapping a username lookup result under `userData`. */
4220
+ declare const userByUsernameRowQueryDtoSchema: z.ZodObject<{
4221
+ userData: z.ZodNullable<z.ZodObject<{
4222
+ id: z.ZodUUID;
4223
+ name: z.ZodString;
4224
+ username: z.ZodString;
4225
+ email: z.ZodOptional<z.ZodString>;
4226
+ role: z.ZodString;
4227
+ lastLogin: z.ZodOptional<z.ZodNullable<z.ZodString>>;
4228
+ password: z.ZodNullable<z.ZodString>;
4229
+ is_verified: z.ZodBoolean;
4230
+ }, z.core.$strip>>;
4231
+ }, z.core.$strip>;
4232
+ type UserByIdentifierQueryDto = z.infer<typeof userByIdentifierQueryDtoSchema>;
4233
+ type UserByIdentifierRawQueryDto = z.infer<typeof userByIdentifierRawQueryDtoSchema>;
4234
+ type UserByIdentifierRowQueryDto = z.infer<typeof userByIdentifierRowQueryDtoSchema>;
4235
+ type UserByUsernameRawQueryDto = z.infer<typeof userByUsernameRawQueryDtoSchema>;
4236
+ type UserByUsernameRowQueryDto = z.infer<typeof userByUsernameRowQueryDtoSchema>;
3943
4237
 
3944
- declare const bootstrapRequest: z.ZodObject<{
4238
+ declare const bootstrapRequestSchema: z.ZodObject<{
3945
4239
  query: z.ZodObject<{
3946
4240
  tz: z.ZodOptional<z.ZodString>;
3947
4241
  }, z.core.$strip>;
@@ -3955,7 +4249,7 @@ declare const bootstrapResponseSchema: z.ZodObject<{
3955
4249
  gender: z.ZodString;
3956
4250
  createdAt: z.ZodString;
3957
4251
  updatedAt: z.ZodString;
3958
- profileImageUrl: z.ZodNullable<z.ZodString>;
4252
+ profilePicPath: z.ZodNullable<z.ZodString>;
3959
4253
  pushToken: z.ZodNullable<z.ZodString>;
3960
4254
  role: z.ZodString;
3961
4255
  isFirstLogin: z.ZodBoolean;
@@ -4084,7 +4378,7 @@ declare const bootstrapResponseSchema: z.ZodObject<{
4084
4378
  sentAt: z.ZodString;
4085
4379
  isRead: z.ZodBoolean;
4086
4380
  senderFullName: z.ZodString;
4087
- senderProfileImageUrl: z.ZodNullable<z.ZodString>;
4381
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4088
4382
  }, z.core.$strip>>;
4089
4383
  }, z.core.$strip>;
4090
4384
  aerobics: z.ZodObject<{
@@ -4105,83 +4399,315 @@ declare const bootstrapResponseSchema: z.ZodObject<{
4105
4399
  }, z.core.$strip>>;
4106
4400
  }, z.core.$strip>;
4107
4401
  }, z.core.$strip>;
4108
-
4109
- type BootstrapRequestQuery = z$1.infer<typeof bootstrapRequest.shape.query>;
4110
- type BootstrapResponse = z$1.infer<typeof bootstrapResponseSchema>;
4111
-
4112
- declare const getAllExercisesExerciseSchema: z.ZodObject<{
4113
- id: z.ZodInt;
4114
- name: z.ZodString;
4115
- specificTargetMuscle: z.ZodString;
4116
- }, z.core.$strip>;
4117
- declare const getAllExercisesResponseSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4118
- id: z.ZodInt;
4119
- name: z.ZodString;
4120
- specificTargetMuscle: z.ZodString;
4121
- }, z.core.$strip>>>;
4122
- declare const queryGetExerciseMapByMuscleRowSchema: z.ZodObject<{
4123
- result: z.ZodNullable<z.ZodObject<{
4124
- map: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4125
- id: z.ZodInt;
4126
- name: z.ZodString;
4127
- specificTargetMuscle: z.ZodString;
4128
- }, z.core.$strip>>>>;
4129
- }, z.core.$strip>>;
4130
- }, z.core.$strip>;
4131
-
4132
- type GetAllExercisesResponse = z$1.infer<typeof getAllExercisesResponseSchema>;
4133
-
4134
- type GetAllExercisesExercise = z.infer<typeof getAllExercisesExerciseSchema>;
4135
- type ExercisesMapByMuscle = z.infer<typeof getAllExercisesResponseSchema>;
4136
- type QueryGetExerciseMapByMuscleRow = z.infer<typeof queryGetExerciseMapByMuscleRowSchema>;
4137
-
4138
- declare const getAllMessagesRequest: z.ZodObject<{
4139
- query: z.ZodObject<{
4140
- tz: z.ZodString;
4141
- }, z.core.$strip>;
4142
- }, z.core.$strip>;
4143
- declare const allUserMessageSchema: z.ZodObject<{
4144
- id: z.ZodUUID;
4145
- subject: z.ZodString;
4146
- msg: z.ZodString;
4147
- sentAt: z.ZodString;
4148
- isRead: z.ZodBoolean;
4149
- senderFullName: z.ZodString;
4150
- senderProfileImageUrl: z.ZodNullable<z.ZodString>;
4151
- }, z.core.$strip>;
4152
- declare const getAllUserMessagesResponseSchema: z.ZodObject<{
4153
- messages: z.ZodArray<z.ZodObject<{
4154
- id: z.ZodUUID;
4155
- subject: z.ZodString;
4156
- msg: z.ZodString;
4157
- sentAt: z.ZodString;
4158
- isRead: z.ZodBoolean;
4159
- senderFullName: z.ZodString;
4160
- senderProfileImageUrl: z.ZodNullable<z.ZodString>;
4161
- }, z.core.$strip>>;
4162
- }, z.core.$strip>;
4163
- declare const markMessageAsReadRequest: z.ZodObject<{
4164
- params: z.ZodObject<{
4165
- id: z.ZodUUID;
4402
+ declare const bootstrapContract: {
4403
+ request: z.ZodObject<{
4404
+ query: z.ZodObject<{
4405
+ tz: z.ZodOptional<z.ZodString>;
4406
+ }, z.core.$strip>;
4407
+ }, z.core.$strip>;
4408
+ response: z.ZodObject<{
4409
+ user: z.ZodObject<{
4410
+ id: z.ZodUUID;
4411
+ username: z.ZodString;
4412
+ email: z.ZodString;
4413
+ name: z.ZodString;
4414
+ gender: z.ZodString;
4415
+ createdAt: z.ZodString;
4416
+ updatedAt: z.ZodString;
4417
+ profilePicPath: z.ZodNullable<z.ZodString>;
4418
+ pushToken: z.ZodNullable<z.ZodString>;
4419
+ role: z.ZodString;
4420
+ isFirstLogin: z.ZodBoolean;
4421
+ tokenVersion: z.ZodInt;
4422
+ isVerified: z.ZodBoolean;
4423
+ authProvider: z.ZodString;
4424
+ lastLogin: z.ZodNullable<z.ZodString>;
4425
+ }, z.core.$strip>;
4426
+ workout: z.ZodObject<{
4427
+ workoutPlan: z.ZodNullable<z.ZodObject<{
4428
+ id: z.ZodInt;
4429
+ numberOfSplits: z.ZodNumber;
4430
+ createdAt: z.ZodString;
4431
+ userId: z.ZodUUID;
4432
+ isActive: z.ZodBoolean;
4433
+ updatedAt: z.ZodString;
4434
+ workoutSplits: z.ZodNullable<z.ZodArray<z.ZodObject<{
4435
+ id: z.ZodInt;
4436
+ workoutId: z.ZodInt;
4437
+ name: z.ZodString;
4438
+ createdAt: z.ZodString;
4439
+ muscleGroup: z.ZodNullable<z.ZodString>;
4440
+ isActive: z.ZodBoolean;
4441
+ exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
4442
+ id: z.ZodInt;
4443
+ sets: z.ZodArray<z.ZodInt>;
4444
+ isActive: z.ZodBoolean;
4445
+ targetMuscle: z.ZodString;
4446
+ specificTargetMuscle: z.ZodString;
4447
+ exercise: z.ZodString;
4448
+ workoutSplit: z.ZodString;
4449
+ }, z.core.$strip>>;
4450
+ }, z.core.$strip>>>;
4451
+ }, z.core.$strip>>;
4452
+ workoutPlanForEditWorkout: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4453
+ id: z.ZodInt;
4454
+ name: z.ZodString;
4455
+ sets: z.ZodArray<z.ZodInt>;
4456
+ orderIndex: z.ZodInt;
4457
+ targetMuscle: z.ZodString;
4458
+ specificTargetMuscle: z.ZodString;
4459
+ }, z.core.$strip>>>>;
4460
+ }, z.core.$strip>;
4461
+ tracking: z.ZodObject<{
4462
+ exerciseTrackingAnalysis: z.ZodObject<{
4463
+ uniqueDays: z.ZodNumber;
4464
+ mostFrequentSplit: z.ZodNullable<z.ZodString>;
4465
+ mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
4466
+ lastWorkoutDate: z.ZodNullable<z.ZodString>;
4467
+ splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
4468
+ prs: z.ZodObject<{
4469
+ prMax: z.ZodNullable<z.ZodObject<{
4470
+ exercise: z.ZodString;
4471
+ weight: z.ZodNumber;
4472
+ reps: z.ZodInt;
4473
+ workoutTimeUtc: z.ZodString;
4474
+ }, z.core.$strip>>;
4475
+ }, z.core.$strip>;
4476
+ }, z.core.$strip>;
4477
+ exerciseTrackingMaps: z.ZodObject<{
4478
+ byDate: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4479
+ id: z.ZodInt;
4480
+ exerciseToSplitId: z.ZodInt;
4481
+ orderIndex: z.ZodInt;
4482
+ reps: z.ZodArray<z.ZodInt>;
4483
+ workoutSplitId: z.ZodInt;
4484
+ exerciseId: z.ZodInt;
4485
+ exercise: z.ZodString;
4486
+ exerciseToWorkoutSplit: z.ZodObject<{
4487
+ sets: z.ZodArray<z.ZodInt>;
4488
+ exercises: z.ZodObject<{
4489
+ targetMuscle: z.ZodString;
4490
+ specificTargetMuscle: z.ZodString;
4491
+ }, z.core.$strip>;
4492
+ }, z.core.$strip>;
4493
+ notes: z.ZodNullable<z.ZodString>;
4494
+ weight: z.ZodArray<z.ZodNumber>;
4495
+ splitName: z.ZodString;
4496
+ }, z.core.$strip>>>;
4497
+ byExerciseToSplitId: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4498
+ id: z.ZodInt;
4499
+ exerciseToSplitId: z.ZodInt;
4500
+ weight: z.ZodArray<z.ZodNumber>;
4501
+ reps: z.ZodArray<z.ZodInt>;
4502
+ notes: z.ZodNullable<z.ZodString>;
4503
+ exerciseId: z.ZodInt;
4504
+ workoutSplitId: z.ZodInt;
4505
+ splitName: z.ZodString;
4506
+ exercise: z.ZodString;
4507
+ workoutDate: z.ZodString;
4508
+ orderIndex: z.ZodInt;
4509
+ exerciseToWorkoutSplit: z.ZodObject<{
4510
+ sets: z.ZodArray<z.ZodInt>;
4511
+ exercises: z.ZodObject<{
4512
+ targetMuscle: z.ZodString;
4513
+ specificTargetMuscle: z.ZodString;
4514
+ }, z.core.$strip>;
4515
+ }, z.core.$strip>;
4516
+ }, z.core.$strip>>>;
4517
+ bySplitName: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4518
+ id: z.ZodInt;
4519
+ exerciseToSplitId: z.ZodInt;
4520
+ orderIndex: z.ZodInt;
4521
+ reps: z.ZodArray<z.ZodInt>;
4522
+ workoutSplitId: z.ZodInt;
4523
+ exerciseId: z.ZodInt;
4524
+ exercise: z.ZodString;
4525
+ exerciseToWorkoutSplit: z.ZodObject<{
4526
+ sets: z.ZodArray<z.ZodInt>;
4527
+ exercises: z.ZodObject<{
4528
+ targetMuscle: z.ZodString;
4529
+ specificTargetMuscle: z.ZodString;
4530
+ }, z.core.$strip>;
4531
+ }, z.core.$strip>;
4532
+ notes: z.ZodNullable<z.ZodString>;
4533
+ weight: z.ZodArray<z.ZodNumber>;
4534
+ workoutDate: z.ZodString;
4535
+ }, z.core.$strip>>>;
4536
+ }, z.core.$strip>;
4537
+ }, z.core.$strip>;
4538
+ messages: z.ZodObject<{
4539
+ messages: z.ZodArray<z.ZodObject<{
4540
+ id: z.ZodUUID;
4541
+ subject: z.ZodString;
4542
+ msg: z.ZodString;
4543
+ sentAt: z.ZodString;
4544
+ isRead: z.ZodBoolean;
4545
+ senderFullName: z.ZodString;
4546
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4547
+ }, z.core.$strip>>;
4548
+ }, z.core.$strip>;
4549
+ aerobics: z.ZodObject<{
4550
+ daily: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4551
+ type: z.ZodString;
4552
+ durationSec: z.ZodInt;
4553
+ durationMins: z.ZodInt;
4554
+ }, z.core.$strip>>>;
4555
+ weekly: z.ZodRecord<z.ZodString, z.ZodObject<{
4556
+ records: z.ZodArray<z.ZodObject<{
4557
+ type: z.ZodString;
4558
+ durationSec: z.ZodInt;
4559
+ durationMins: z.ZodInt;
4560
+ workoutTimeUtc: z.ZodString;
4561
+ }, z.core.$strip>>;
4562
+ totalDurationSec: z.ZodNumber;
4563
+ totalDurationMins: z.ZodNumber;
4564
+ }, z.core.$strip>>;
4565
+ }, z.core.$strip>;
4566
+ }, z.core.$strip>;
4567
+ };
4568
+ type BootstrapRequestQuery = QueryOf<typeof bootstrapContract>;
4569
+ type BootstrapResponse = ResponseOf<typeof bootstrapContract>;
4570
+
4571
+ declare const getAllExercisesResponseSchema: zod_v4.ZodRecord<zod_v4.ZodString, zod_v4.ZodArray<zod_v4.ZodObject<{
4572
+ id: zod_v4.ZodInt;
4573
+ name: zod_v4.ZodString;
4574
+ specificTargetMuscle: zod_v4.ZodString;
4575
+ }, zod_v4_core.$strip>>>;
4576
+ declare const getAllExercisesContract: {
4577
+ response: zod_v4.ZodRecord<zod_v4.ZodString, zod_v4.ZodArray<zod_v4.ZodObject<{
4578
+ id: zod_v4.ZodInt;
4579
+ name: zod_v4.ZodString;
4580
+ specificTargetMuscle: zod_v4.ZodString;
4581
+ }, zod_v4_core.$strip>>>;
4582
+ };
4583
+ type GetAllExercisesResponse = ResponseOf<typeof getAllExercisesContract>;
4584
+
4585
+ /** Exercise row included in the muscle-grouped exercise query result. */
4586
+ declare const getAllExercisesExerciseQueryDtoSchema: z.ZodObject<{
4587
+ id: z.ZodInt;
4588
+ name: z.ZodString;
4589
+ specificTargetMuscle: z.ZodString;
4590
+ }, z.core.$strip>;
4591
+ /** Exercise map grouped by target muscle. */
4592
+ declare const exercisesMapByMuscleQueryDtoSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4593
+ id: z.ZodInt;
4594
+ name: z.ZodString;
4595
+ specificTargetMuscle: z.ZodString;
4596
+ }, z.core.$strip>>>;
4597
+ /** SQL row wrapping the exercise map under the `result` alias. */
4598
+ declare const exerciseMapByMuscleRowQueryDtoSchema: z.ZodObject<{
4599
+ result: z.ZodNullable<z.ZodObject<{
4600
+ map: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4601
+ id: z.ZodInt;
4602
+ name: z.ZodString;
4603
+ specificTargetMuscle: z.ZodString;
4604
+ }, z.core.$strip>>>>;
4605
+ }, z.core.$strip>>;
4606
+ }, z.core.$strip>;
4607
+ type GetAllExercisesExerciseQueryDto = z.infer<typeof getAllExercisesExerciseQueryDtoSchema>;
4608
+ type ExercisesMapByMuscleQueryDto = z.infer<typeof exercisesMapByMuscleQueryDtoSchema>;
4609
+ type ExerciseMapByMuscleRowQueryDto = z.infer<typeof exerciseMapByMuscleRowQueryDtoSchema>;
4610
+
4611
+ declare const getAllMessagesRequestSchema: z.ZodObject<{
4612
+ query: z.ZodObject<{
4613
+ tz: z.ZodString;
4614
+ }, z.core.$strip>;
4615
+ }, z.core.$strip>;
4616
+ declare const getAllUserMessagesResponseSchema: z.ZodObject<{
4617
+ messages: z.ZodArray<z.ZodObject<{
4618
+ id: z.ZodUUID;
4619
+ subject: z.ZodString;
4620
+ msg: z.ZodString;
4621
+ sentAt: z.ZodString;
4622
+ isRead: z.ZodBoolean;
4623
+ senderFullName: z.ZodString;
4624
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4625
+ }, z.core.$strip>>;
4626
+ }, z.core.$strip>;
4627
+ declare const getAllUserMessagesContract: {
4628
+ request: z.ZodObject<{
4629
+ query: z.ZodObject<{
4630
+ tz: z.ZodString;
4631
+ }, z.core.$strip>;
4632
+ }, z.core.$strip>;
4633
+ response: z.ZodObject<{
4634
+ messages: z.ZodArray<z.ZodObject<{
4635
+ id: z.ZodUUID;
4636
+ subject: z.ZodString;
4637
+ msg: z.ZodString;
4638
+ sentAt: z.ZodString;
4639
+ isRead: z.ZodBoolean;
4640
+ senderFullName: z.ZodString;
4641
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4642
+ }, z.core.$strip>>;
4643
+ }, z.core.$strip>;
4644
+ };
4645
+ type GetAllUserMessagesQuery = QueryOf<typeof getAllUserMessagesContract>;
4646
+ type GetAllUserMessagesResponse = ResponseOf<typeof getAllUserMessagesContract>;
4647
+ declare const markMessageAsReadRequestSchema: z.ZodObject<{
4648
+ params: z.ZodObject<{
4649
+ id: z.ZodUUID;
4166
4650
  }, z.core.$strip>;
4167
4651
  }, z.core.$strip>;
4168
- declare const messageAsReadSchema: z.ZodObject<{
4169
- id: z.ZodUUID;
4170
- isRead: z.ZodBoolean;
4171
- }, z.core.$strip>;
4172
4652
  declare const markMessageAsReadResponseSchema: z.ZodObject<{
4173
4653
  id: z.ZodUUID;
4174
4654
  isRead: z.ZodBoolean;
4175
4655
  }, z.core.$strip>;
4176
- declare const deleteMessageRequest: z.ZodObject<{
4656
+ declare const markMessageAsReadContract: {
4657
+ request: z.ZodObject<{
4658
+ params: z.ZodObject<{
4659
+ id: z.ZodUUID;
4660
+ }, z.core.$strip>;
4661
+ }, z.core.$strip>;
4662
+ response: z.ZodObject<{
4663
+ id: z.ZodUUID;
4664
+ isRead: z.ZodBoolean;
4665
+ }, z.core.$strip>;
4666
+ };
4667
+ type MarkMessageAsReadParams = ParamsOf<typeof markMessageAsReadContract>;
4668
+ type MarkMessageAsReadResponse = ResponseOf<typeof markMessageAsReadContract>;
4669
+ declare const deleteMessageRequestSchema: z.ZodObject<{
4177
4670
  params: z.ZodObject<{
4178
4671
  id: z.ZodUUID;
4179
4672
  }, z.core.$strip>;
4180
4673
  }, z.core.$strip>;
4181
- declare const deletedMessageSchema: z.ZodObject<{
4674
+ declare const deleteMessageResponseSchema: z.ZodObject<{
4675
+ id: z.ZodUUID;
4676
+ }, z.core.$strip>;
4677
+ declare const deleteMessageContract: {
4678
+ request: z.ZodObject<{
4679
+ params: z.ZodObject<{
4680
+ id: z.ZodUUID;
4681
+ }, z.core.$strip>;
4682
+ }, z.core.$strip>;
4683
+ response: z.ZodObject<{
4684
+ id: z.ZodUUID;
4685
+ }, z.core.$strip>;
4686
+ };
4687
+ type DeleteMessageParams = ParamsOf<typeof deleteMessageContract>;
4688
+ type DeleteMessageResponse = ResponseOf<typeof deleteMessageContract>;
4689
+
4690
+ /** SQL row returned when querying a user's inbox. */
4691
+ declare const allUserMessageQueryDtoSchema: z.ZodObject<{
4692
+ id: z.ZodUUID;
4693
+ subject: z.ZodString;
4694
+ msg: z.ZodString;
4695
+ sentAt: z.ZodString;
4696
+ isRead: z.ZodBoolean;
4697
+ senderFullName: z.ZodString;
4698
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4699
+ }, z.core.$strip>;
4700
+ /** SQL row returned after marking a message as read. */
4701
+ declare const messageAsReadQueryDtoSchema: z.ZodObject<{
4702
+ id: z.ZodUUID;
4703
+ isRead: z.ZodBoolean;
4704
+ }, z.core.$strip>;
4705
+ /** SQL row returned after deleting a message. */
4706
+ declare const deletedMessageQueryDtoSchema: z.ZodObject<{
4182
4707
  id: z.ZodUUID;
4183
4708
  }, z.core.$strip>;
4184
- declare const messageAfterSendResponseSchema: z.ZodObject<{
4709
+ /** SQL row returned after inserting a message. */
4710
+ declare const messageAfterSendQueryDtoSchema: z.ZodObject<{
4185
4711
  id: z.ZodUUID;
4186
4712
  senderId: z.ZodUUID;
4187
4713
  receiverId: z.ZodUUID;
@@ -4191,26 +4717,15 @@ declare const messageAfterSendResponseSchema: z.ZodObject<{
4191
4717
  isRead: z.ZodBoolean;
4192
4718
  senderUsername: z.ZodString;
4193
4719
  senderFullName: z.ZodString;
4194
- senderProfileImageUrl: z.ZodNullable<z.ZodString>;
4720
+ senderProfilePicPath: z.ZodNullable<z.ZodString>;
4195
4721
  senderGender: z.ZodString;
4196
4722
  }, z.core.$strip>;
4197
- declare const deleteMessageResponseSchema: z.ZodObject<{
4198
- id: z.ZodUUID;
4199
- }, z.core.$strip>;
4200
-
4201
- type GetAllUserMessagesQuery = z$1.infer<typeof getAllMessagesRequest.shape.query>;
4202
- type GetAllUserMessagesResponse = z$1.infer<typeof getAllUserMessagesResponseSchema>;
4203
- type MarkMessageAsReadParams = z$1.infer<typeof markMessageAsReadRequest.shape.params>;
4204
- type MarkMessageAsReadResponse = z$1.infer<typeof markMessageAsReadResponseSchema>;
4205
- type DeleteMessageParams = z$1.infer<typeof deleteMessageRequest.shape.params>;
4206
- type DeleteMessageResponse = z$1.infer<typeof deleteMessageResponseSchema>;
4723
+ type AllUserMessageQueryDto = z.infer<typeof allUserMessageQueryDtoSchema>;
4724
+ type MessageAsReadQueryDto = z.infer<typeof messageAsReadQueryDtoSchema>;
4725
+ type DeletedMessageQueryDto = z.infer<typeof deletedMessageQueryDtoSchema>;
4726
+ type MessageAfterSendQueryDto = z.infer<typeof messageAfterSendQueryDtoSchema>;
4207
4727
 
4208
- type AllUserMessages = z.infer<typeof allUserMessageSchema>;
4209
- type MessageAfterSendResponse = z.infer<typeof messageAfterSendResponseSchema>;
4210
- type MessageAsRead = z.infer<typeof messageAsReadSchema>;
4211
- type DeletedMessage = z.infer<typeof deletedMessageSchema>;
4212
-
4213
- declare const appleOAuthRequest: z.ZodObject<{
4728
+ declare const appleOAuthRequestSchema: z.ZodObject<{
4214
4729
  body: z.ZodObject<{
4215
4730
  idToken: z.ZodString;
4216
4731
  rawNonce: z.ZodString;
@@ -4221,32 +4736,52 @@ declare const appleOAuthRequest: z.ZodObject<{
4221
4736
  email: z.ZodNullable<z.ZodString>;
4222
4737
  }, z.core.$strip>;
4223
4738
  }, z.core.$strip>;
4739
+ declare const appleOAuthContract: {
4740
+ request: z.ZodObject<{
4741
+ body: z.ZodObject<{
4742
+ idToken: z.ZodString;
4743
+ rawNonce: z.ZodString;
4744
+ name: z.ZodOptional<z.ZodObject<{
4745
+ givenName: z.ZodNullable<z.ZodString>;
4746
+ familyName: z.ZodNullable<z.ZodString>;
4747
+ }, z.core.$strip>>;
4748
+ email: z.ZodNullable<z.ZodString>;
4749
+ }, z.core.$strip>;
4750
+ }, z.core.$strip>;
4751
+ };
4752
+ type AppleOAuthBody = BodyOf<typeof appleOAuthContract>;
4224
4753
 
4225
- type AppleOAuthBody = z$1.infer<typeof appleOAuthRequest.shape.body>;
4226
-
4227
- declare const appleTokenVerificationResultSchema: z.ZodObject<{
4754
+ /** Normalized verification result extracted from an Apple identity token. */
4755
+ declare const appleTokenVerificationResultDtoSchema: z.ZodObject<{
4228
4756
  appleSub: z.ZodString;
4229
4757
  email: z.ZodNullable<z.ZodString>;
4230
4758
  emailVerified: z.ZodBoolean;
4231
4759
  fullName: z.ZodString;
4232
4760
  }, z.core.$strip>;
4233
- type AppleTokenVerificationResult = z.infer<typeof appleTokenVerificationResultSchema>;
4761
+ type AppleTokenVerificationResultDto = z.infer<typeof appleTokenVerificationResultDtoSchema>;
4234
4762
 
4235
- declare const googleOAuthRequest: z.ZodObject<{
4763
+ declare const googleOAuthRequestSchema: z.ZodObject<{
4236
4764
  body: z.ZodObject<{
4237
4765
  idToken: z.ZodOptional<z.ZodString>;
4238
4766
  }, z.core.$strip>;
4239
4767
  }, z.core.$strip>;
4768
+ declare const googleOAuthContract: {
4769
+ request: z.ZodObject<{
4770
+ body: z.ZodObject<{
4771
+ idToken: z.ZodOptional<z.ZodString>;
4772
+ }, z.core.$strip>;
4773
+ }, z.core.$strip>;
4774
+ };
4775
+ type GoogleOAuthBody = BodyOf<typeof googleOAuthContract>;
4240
4776
 
4241
- type GoogleOAuthBody = z$1.infer<typeof googleOAuthRequest.shape.body>;
4242
-
4243
- declare const googleTokenVerificationResultSchema: z.ZodObject<{
4777
+ /** Normalized verification result extracted from a Google identity token. */
4778
+ declare const googleTokenVerificationResultDtoSchema: z.ZodObject<{
4244
4779
  googleSub: z.ZodString;
4245
4780
  email: z.ZodNullable<z.ZodString>;
4246
4781
  emailVerified: z.ZodBoolean;
4247
4782
  fullName: z.ZodString;
4248
4783
  }, z.core.$strip>;
4249
- type GoogleTokenVerificationResult = z.infer<typeof googleTokenVerificationResultSchema>;
4784
+ type GoogleTokenVerificationResultDto = z.infer<typeof googleTokenVerificationResultDtoSchema>;
4250
4785
 
4251
4786
  declare const oAuthLoginResponseSchema: z.ZodObject<{
4252
4787
  message: z.ZodString;
@@ -4261,10 +4796,72 @@ declare const proceedLoginResponseSchema: z.ZodObject<{
4261
4796
  accessToken: z.ZodString;
4262
4797
  refreshToken: z.ZodString;
4263
4798
  }, z.core.$strip>;
4799
+ declare const oAuthLoginContract: {
4800
+ response: z.ZodObject<{
4801
+ message: z.ZodString;
4802
+ user: z.ZodUUID;
4803
+ accessToken: z.ZodString;
4804
+ refreshToken: z.ZodString;
4805
+ missingFields: z.ZodNullable<z.ZodArray<z.ZodString>>;
4806
+ }, z.core.$strip>;
4807
+ };
4808
+ type OAuthLoginResponse = ResponseOf<typeof oAuthLoginContract>;
4809
+
4810
+ /** Normalized OAuth-account lookup result returned by query adapters. */
4811
+ declare const oAuthLookupQueryDtoSchema: z.ZodObject<{
4812
+ userId: z.ZodNullable<z.ZodUUID>;
4813
+ missingFields: z.ZodNullable<z.ZodString>;
4814
+ }, z.core.$strip>;
4815
+ /** Raw OAuth lookup function payload using database column names. */
4816
+ declare const oAuthLookupRawQueryDtoSchema: z.ZodObject<{
4817
+ user_id: z.ZodUUID;
4818
+ missing_fields: z.ZodNullable<z.ZodString>;
4819
+ }, z.core.$strip>;
4820
+ /** SQL row wrapping the raw OAuth lookup payload under `oauth_data`. */
4821
+ declare const oAuthLookupRowQueryDtoSchema: z.ZodObject<{
4822
+ oauth_data: z.ZodNullable<z.ZodObject<{
4823
+ user_id: z.ZodUUID;
4824
+ missing_fields: z.ZodNullable<z.ZodString>;
4825
+ }, z.core.$strip>>;
4826
+ }, z.core.$strip>;
4827
+ /** Normalized result of attempting to link an OAuth account by email. */
4828
+ declare const oAuthLinkQueryDtoSchema: z.ZodObject<{
4829
+ userId: z.ZodNullable<z.ZodUUID>;
4830
+ }, z.core.$strip>;
4831
+ /** SQL row returned by the OAuth link-by-email function. */
4832
+ declare const oAuthLinkRowQueryDtoSchema: z.ZodObject<{
4833
+ user_id: z.ZodNullable<z.ZodUUID>;
4834
+ }, z.core.$strip>;
4835
+ /** SQL row returned after creating a user through an OAuth provider. */
4836
+ declare const oAuthCreatedUserRowQueryDtoSchema: z.ZodObject<{
4837
+ user_id: z.ZodUUID;
4838
+ }, z.core.$strip>;
4839
+ type OAuthLookupQueryDto = z.infer<typeof oAuthLookupQueryDtoSchema>;
4840
+ type OAuthLookupRawQueryDto = z.infer<typeof oAuthLookupRawQueryDtoSchema>;
4841
+ type OAuthLookupRowQueryDto = z.infer<typeof oAuthLookupRowQueryDtoSchema>;
4842
+ type OAuthLinkQueryDto = z.infer<typeof oAuthLinkQueryDtoSchema>;
4843
+ type OAuthLinkRowQueryDto = z.infer<typeof oAuthLinkRowQueryDtoSchema>;
4844
+ type OAuthCreatedUserRowQueryDto = z.infer<typeof oAuthCreatedUserRowQueryDtoSchema>;
4264
4845
 
4265
- type OAuthLoginResponse = z$1.infer<typeof oAuthLoginResponseSchema>;
4846
+ /** User row returned when selecting all users with push notifications enabled. */
4847
+ declare const userWithNotificationsEnabledQueryDtoSchema: z.ZodObject<{
4848
+ pushToken: z.ZodNullable<z.ZodString>;
4849
+ name: z.ZodString;
4850
+ }, z.core.$strip>;
4851
+ /** Reminder recipient row returned by the hourly reminder selection query. */
4852
+ declare const userToHourlyReminderQueryDtoSchema: z.ZodObject<{
4853
+ userId: z.ZodUUID;
4854
+ name: z.ZodString;
4855
+ pushToken: z.ZodNullable<z.ZodString>;
4856
+ reminderOffsetMinutes: z.ZodNumber;
4857
+ splitId: z.ZodInt;
4858
+ splitName: z.ZodNullable<z.ZodString>;
4859
+ estimatedTimeUtc: z.ZodString;
4860
+ }, z.core.$strip>;
4861
+ type UserWithNotificationsEnabledQueryDto = z.infer<typeof userWithNotificationsEnabledQueryDtoSchema>;
4862
+ type UserToHourlyReminderQueryDto = z.infer<typeof userToHourlyReminderQueryDtoSchema>;
4266
4863
 
4267
- declare const createUserRequest: z.ZodObject<{
4864
+ declare const createUserRequestSchema: z.ZodObject<{
4268
4865
  body: z.ZodObject<{
4269
4866
  username: z.ZodString;
4270
4867
  fullName: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodString>;
@@ -4299,47 +4896,150 @@ declare const createUserResponseSchema: z.ZodObject<{
4299
4896
  createdAt: z.ZodString;
4300
4897
  }, z.core.$strip>;
4301
4898
  }, z.core.$strip>;
4899
+ declare const createUserContract: {
4900
+ request: z.ZodObject<{
4901
+ body: z.ZodObject<{
4902
+ username: z.ZodString;
4903
+ fullName: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodString>;
4904
+ email: z.ZodString;
4905
+ password: z.ZodString;
4906
+ gender: z.ZodPipe<z.ZodTransform<{}, unknown>, z.ZodEnum<{
4907
+ Unknown: "Unknown";
4908
+ Male: "Male";
4909
+ Female: "Female";
4910
+ Other: "Other";
4911
+ }>>;
4912
+ }, z.core.$strip>;
4913
+ }, z.core.$strip>;
4914
+ response: z.ZodObject<{
4915
+ message: z.ZodString;
4916
+ user: z.ZodObject<{
4917
+ id: z.ZodUUID;
4918
+ username: z.ZodString;
4919
+ name: z.ZodString;
4920
+ email: z.ZodString;
4921
+ gender: z.ZodString;
4922
+ role: z.ZodString;
4923
+ createdAt: z.ZodString;
4924
+ }, z.core.$strip>;
4925
+ }, z.core.$strip>;
4926
+ };
4927
+ type CreateUserBody = BodyOf<typeof createUserContract>;
4928
+ type CreateUserResponse = ResponseOf<typeof createUserContract>;
4302
4929
 
4303
- type CreateUserBody = z$1.infer<typeof createUserRequest.shape.body>;
4304
- type CreateUserResponse = z$1.infer<typeof createUserResponseSchema>;
4930
+ /** Normalized user object returned after account creation. */
4931
+ declare const createdUserQueryDtoSchema: z.ZodObject<{
4932
+ id: z.ZodUUID;
4933
+ username: z.ZodString;
4934
+ name: z.ZodString;
4935
+ email: z.ZodString;
4936
+ gender: z.ZodString;
4937
+ role: z.ZodString;
4938
+ createdAt: z.ZodString;
4939
+ }, z.core.$strip>;
4940
+ /** Raw account-creation function payload before `created_at` is normalized. */
4941
+ declare const createdUserRawQueryDtoSchema: z.ZodObject<{
4942
+ id: z.ZodUUID;
4943
+ name: z.ZodString;
4944
+ username: z.ZodString;
4945
+ email: z.ZodString;
4946
+ gender: z.ZodString;
4947
+ role: z.ZodString;
4948
+ created_at: z.ZodString;
4949
+ }, z.core.$strip>;
4950
+ /** SQL row wrapping the raw created user under `userData`. */
4951
+ declare const createdUserRowQueryDtoSchema: z.ZodObject<{
4952
+ userData: z.ZodObject<{
4953
+ id: z.ZodUUID;
4954
+ name: z.ZodString;
4955
+ username: z.ZodString;
4956
+ email: z.ZodString;
4957
+ gender: z.ZodString;
4958
+ role: z.ZodString;
4959
+ created_at: z.ZodString;
4960
+ }, z.core.$strip>;
4961
+ }, z.core.$strip>;
4962
+ /** SQL row returned by the username/email existence function. */
4963
+ declare const userExistsQueryDtoSchema: z.ZodObject<{
4964
+ id: z.ZodNullable<z.ZodUUID>;
4965
+ }, z.core.$strip>;
4966
+ type CreatedUserQueryDto = z.infer<typeof createdUserQueryDtoSchema>;
4967
+ type CreatedUserRawQueryDto = z.infer<typeof createdUserRawQueryDtoSchema>;
4968
+ type CreatedUserRowQueryDto = z.infer<typeof createdUserRowQueryDtoSchema>;
4969
+ type UserExistsQueryDto = z.infer<typeof userExistsQueryDtoSchema>;
4305
4970
 
4306
- declare const saveUserPushTokenRequest: z.ZodObject<{
4971
+ declare const saveUserPushTokenRequestSchema: z.ZodObject<{
4307
4972
  body: z.ZodObject<{
4308
4973
  token: z.ZodString;
4309
4974
  }, z.core.$strip>;
4310
4975
  }, z.core.$strip>;
4976
+ declare const saveUserPushTokenContract: {
4977
+ request: z.ZodObject<{
4978
+ body: z.ZodObject<{
4979
+ token: z.ZodString;
4980
+ }, z.core.$strip>;
4981
+ }, z.core.$strip>;
4982
+ };
4983
+ type SaveUserPushTokenBody = BodyOf<typeof saveUserPushTokenContract>;
4311
4984
 
4312
- type SaveUserPushTokenBody = z$1.infer<typeof saveUserPushTokenRequest.shape.body>;
4313
-
4314
- declare const updateUserRequest: z.ZodObject<{
4985
+ declare const updateUserRequestSchema: z.ZodObject<{
4315
4986
  body: z.ZodObject<{
4316
4987
  username: z.ZodOptional<z.ZodString>;
4317
4988
  fullName: z.ZodOptional<z.ZodString>;
4318
4989
  email: z.ZodOptional<z.ZodString>;
4319
4990
  }, z.core.$strip>;
4320
4991
  }, z.core.$strip>;
4321
- declare const deleteProfilePicRequest: z.ZodObject<{
4322
- body: z.ZodObject<{
4323
- path: z.ZodString;
4992
+ declare const updateAuthenticatedUserResponseSchema: z.ZodObject<{
4993
+ message: z.ZodString;
4994
+ emailChanged: z.ZodBoolean;
4995
+ user: z.ZodObject<{
4996
+ id: z.ZodUUID;
4997
+ username: z.ZodString;
4998
+ email: z.ZodString;
4999
+ name: z.ZodString;
5000
+ gender: z.ZodString;
5001
+ createdAt: z.ZodString;
5002
+ updatedAt: z.ZodString;
5003
+ profilePicPath: z.ZodNullable<z.ZodString>;
5004
+ pushToken: z.ZodNullable<z.ZodString>;
5005
+ role: z.ZodString;
5006
+ isFirstLogin: z.ZodBoolean;
5007
+ tokenVersion: z.ZodInt;
5008
+ isVerified: z.ZodBoolean;
5009
+ authProvider: z.ZodString;
5010
+ lastLogin: z.ZodNullable<z.ZodString>;
4324
5011
  }, z.core.$strip>;
4325
5012
  }, z.core.$strip>;
4326
- declare const userDataSchema: z.ZodObject<{
4327
- id: z.ZodUUID;
4328
- username: z.ZodString;
4329
- email: z.ZodString;
4330
- name: z.ZodString;
4331
- gender: z.ZodString;
4332
- createdAt: z.ZodString;
4333
- updatedAt: z.ZodString;
4334
- profileImageUrl: z.ZodNullable<z.ZodString>;
4335
- pushToken: z.ZodNullable<z.ZodString>;
4336
- role: z.ZodString;
4337
- isFirstLogin: z.ZodBoolean;
4338
- tokenVersion: z.ZodInt;
4339
- isVerified: z.ZodBoolean;
4340
- authProvider: z.ZodString;
4341
- lastLogin: z.ZodNullable<z.ZodString>;
4342
- }, z.core.$strip>;
5013
+ declare const updateAuthenticatedUserContract: {
5014
+ request: z.ZodObject<{
5015
+ body: z.ZodObject<{
5016
+ username: z.ZodOptional<z.ZodString>;
5017
+ fullName: z.ZodOptional<z.ZodString>;
5018
+ email: z.ZodOptional<z.ZodString>;
5019
+ }, z.core.$strip>;
5020
+ }, z.core.$strip>;
5021
+ response: z.ZodObject<{
5022
+ message: z.ZodString;
5023
+ emailChanged: z.ZodBoolean;
5024
+ user: z.ZodObject<{
5025
+ id: z.ZodUUID;
5026
+ username: z.ZodString;
5027
+ email: z.ZodString;
5028
+ name: z.ZodString;
5029
+ gender: z.ZodString;
5030
+ createdAt: z.ZodString;
5031
+ updatedAt: z.ZodString;
5032
+ profilePicPath: z.ZodNullable<z.ZodString>;
5033
+ pushToken: z.ZodNullable<z.ZodString>;
5034
+ role: z.ZodString;
5035
+ isFirstLogin: z.ZodBoolean;
5036
+ tokenVersion: z.ZodInt;
5037
+ isVerified: z.ZodBoolean;
5038
+ authProvider: z.ZodString;
5039
+ lastLogin: z.ZodNullable<z.ZodString>;
5040
+ }, z.core.$strip>;
5041
+ }, z.core.$strip>;
5042
+ };
4343
5043
  declare const userDataResponseSchema: z.ZodObject<{
4344
5044
  userData: z.ZodObject<{
4345
5045
  id: z.ZodUUID;
@@ -4349,7 +5049,7 @@ declare const userDataResponseSchema: z.ZodObject<{
4349
5049
  gender: z.ZodString;
4350
5050
  createdAt: z.ZodString;
4351
5051
  updatedAt: z.ZodString;
4352
- profileImageUrl: z.ZodNullable<z.ZodString>;
5052
+ profilePicPath: z.ZodNullable<z.ZodString>;
4353
5053
  pushToken: z.ZodNullable<z.ZodString>;
4354
5054
  role: z.ZodString;
4355
5055
  isFirstLogin: z.ZodBoolean;
@@ -4359,6 +5059,27 @@ declare const userDataResponseSchema: z.ZodObject<{
4359
5059
  lastLogin: z.ZodNullable<z.ZodString>;
4360
5060
  }, z.core.$strip>;
4361
5061
  }, z.core.$strip>;
5062
+ declare const userDataContract: {
5063
+ response: z.ZodObject<{
5064
+ userData: z.ZodObject<{
5065
+ id: z.ZodUUID;
5066
+ username: z.ZodString;
5067
+ email: z.ZodString;
5068
+ name: z.ZodString;
5069
+ gender: z.ZodString;
5070
+ createdAt: z.ZodString;
5071
+ updatedAt: z.ZodString;
5072
+ profilePicPath: z.ZodNullable<z.ZodString>;
5073
+ pushToken: z.ZodNullable<z.ZodString>;
5074
+ role: z.ZodString;
5075
+ isFirstLogin: z.ZodBoolean;
5076
+ tokenVersion: z.ZodInt;
5077
+ isVerified: z.ZodBoolean;
5078
+ authProvider: z.ZodString;
5079
+ lastLogin: z.ZodNullable<z.ZodString>;
5080
+ }, z.core.$strip>;
5081
+ }, z.core.$strip>;
5082
+ };
4362
5083
  declare const getAuthenticatedUserByIdResponseSchema: z.ZodObject<{
4363
5084
  id: z.ZodUUID;
4364
5085
  username: z.ZodString;
@@ -4367,7 +5088,7 @@ declare const getAuthenticatedUserByIdResponseSchema: z.ZodObject<{
4367
5088
  gender: z.ZodString;
4368
5089
  createdAt: z.ZodString;
4369
5090
  updatedAt: z.ZodString;
4370
- profileImageUrl: z.ZodNullable<z.ZodString>;
5091
+ profilePicPath: z.ZodNullable<z.ZodString>;
4371
5092
  pushToken: z.ZodNullable<z.ZodString>;
4372
5093
  role: z.ZodString;
4373
5094
  isFirstLogin: z.ZodBoolean;
@@ -4376,10 +5097,8 @@ declare const getAuthenticatedUserByIdResponseSchema: z.ZodObject<{
4376
5097
  authProvider: z.ZodString;
4377
5098
  lastLogin: z.ZodNullable<z.ZodString>;
4378
5099
  }, z.core.$strip>;
4379
- declare const updateAuthenticatedUserResponseSchema: z.ZodObject<{
4380
- message: z.ZodString;
4381
- emailChanged: z.ZodBoolean;
4382
- user: z.ZodObject<{
5100
+ declare const getAuthenticatedUserByIdContract: {
5101
+ response: z.ZodObject<{
4383
5102
  id: z.ZodUUID;
4384
5103
  username: z.ZodString;
4385
5104
  email: z.ZodString;
@@ -4387,7 +5106,7 @@ declare const updateAuthenticatedUserResponseSchema: z.ZodObject<{
4387
5106
  gender: z.ZodString;
4388
5107
  createdAt: z.ZodString;
4389
5108
  updatedAt: z.ZodString;
4390
- profileImageUrl: z.ZodNullable<z.ZodString>;
5109
+ profilePicPath: z.ZodNullable<z.ZodString>;
4391
5110
  pushToken: z.ZodNullable<z.ZodString>;
4392
5111
  role: z.ZodString;
4393
5112
  isFirstLogin: z.ZodBoolean;
@@ -4396,32 +5115,116 @@ declare const updateAuthenticatedUserResponseSchema: z.ZodObject<{
4396
5115
  authProvider: z.ZodString;
4397
5116
  lastLogin: z.ZodNullable<z.ZodString>;
4398
5117
  }, z.core.$strip>;
5118
+ };
5119
+ declare const deleteProfilePicRequestSchema: z.ZodObject<{
5120
+ body: z.ZodObject<{
5121
+ profilePicPath: z.ZodString;
5122
+ }, z.core.$strip>;
4399
5123
  }, z.core.$strip>;
5124
+ declare const deleteUserProfilePicContract: {
5125
+ request: z.ZodObject<{
5126
+ body: z.ZodObject<{
5127
+ profilePicPath: z.ZodString;
5128
+ }, z.core.$strip>;
5129
+ }, z.core.$strip>;
5130
+ };
4400
5131
  declare const setProfilePicAndUpdateDBResponseSchema: z.ZodObject<{
4401
- path: z.ZodString;
5132
+ profilePicPath: z.ZodString;
4402
5133
  url: z.ZodString;
4403
5134
  message: z.ZodString;
4404
5135
  }, z.core.$strip>;
5136
+ declare const setProfilePicAndUpdateDBContract: {
5137
+ response: z.ZodObject<{
5138
+ profilePicPath: z.ZodString;
5139
+ url: z.ZodString;
5140
+ message: z.ZodString;
5141
+ }, z.core.$strip>;
5142
+ };
5143
+ type UpdateUserBody = BodyOf<typeof updateAuthenticatedUserContract>;
5144
+ type UpdateAuthenticatedUserResponse = ResponseOf<typeof updateAuthenticatedUserContract>;
5145
+ type UserDataResponse = ResponseOf<typeof userDataContract>;
5146
+ type GetAuthenticatedUserByIdResponse = ResponseOf<typeof getAuthenticatedUserByIdContract>;
5147
+ type DeleteUserProfilePicBody = BodyOf<typeof deleteUserProfilePicContract>;
5148
+ type SetProfilePicAndUpdateDBResponse = ResponseOf<typeof setProfilePicAndUpdateDBContract>;
4405
5149
 
4406
- type UpdateUserBody = z$1.infer<typeof updateUserRequest.shape.body>;
4407
- type UpdateAuthenticatedUserResponse = z$1.infer<typeof updateAuthenticatedUserResponseSchema>;
4408
- type UserDataResponse = z$1.infer<typeof userDataResponseSchema>;
4409
- type GetAuthenticatedUserByIdResponse = z$1.infer<typeof getAuthenticatedUserByIdResponseSchema>;
4410
- type DeleteUserProfilePicBody = z$1.infer<typeof deleteProfilePicRequest.shape.body>;
4411
- type SetProfilePicAndUpdateDBResponse = z$1.infer<typeof setProfilePicAndUpdateDBResponseSchema>;
4412
-
4413
- declare const changeEmailTokenPayloadSchema: z.ZodObject<{
4414
- jti: z.ZodString;
4415
- sub: z.ZodString;
4416
- newEmail: z.ZodString;
5150
+ /** Fields consumed by the authenticated-user update query. */
5151
+ declare const authenticatedUserForUpdateQueryDtoSchema: z.ZodObject<{
5152
+ username: z.ZodOptional<z.ZodString>;
5153
+ fullName: z.ZodOptional<z.ZodString>;
5154
+ email: z.ZodOptional<z.ZodString>;
5155
+ }, z.core.$strip>;
5156
+ /** User JSON object produced by authenticated-user SQL queries. */
5157
+ declare const userDataQueryDtoSchema: z.ZodObject<{
5158
+ id: z.ZodUUID;
5159
+ username: z.ZodString;
5160
+ email: z.ZodString;
5161
+ name: z.ZodString;
5162
+ gender: z.ZodString;
5163
+ createdAt: z.ZodString;
5164
+ updatedAt: z.ZodString;
5165
+ profilePicPath: z.ZodNullable<z.ZodString>;
5166
+ pushToken: z.ZodNullable<z.ZodString>;
5167
+ role: z.ZodString;
5168
+ isFirstLogin: z.ZodBoolean;
5169
+ tokenVersion: z.ZodInt;
5170
+ isVerified: z.ZodBoolean;
5171
+ authProvider: z.ZodString;
5172
+ lastLogin: z.ZodNullable<z.ZodString>;
5173
+ }, z.core.$strip>;
5174
+ /** SQL row wrapping authenticated-user JSON under `userData`. */
5175
+ declare const userDataRowQueryDtoSchema: z.ZodObject<{
5176
+ userData: z.ZodObject<{
5177
+ id: z.ZodUUID;
5178
+ username: z.ZodString;
5179
+ email: z.ZodString;
5180
+ name: z.ZodString;
5181
+ gender: z.ZodString;
5182
+ createdAt: z.ZodString;
5183
+ updatedAt: z.ZodString;
5184
+ profilePicPath: z.ZodNullable<z.ZodString>;
5185
+ pushToken: z.ZodNullable<z.ZodString>;
5186
+ role: z.ZodString;
5187
+ isFirstLogin: z.ZodBoolean;
5188
+ tokenVersion: z.ZodInt;
5189
+ isVerified: z.ZodBoolean;
5190
+ authProvider: z.ZodString;
5191
+ lastLogin: z.ZodNullable<z.ZodString>;
5192
+ }, z.core.$strip>;
5193
+ }, z.core.$strip>;
5194
+ /** SQL row returned by the username/email conflict check. */
5195
+ declare const userConflictQueryDtoSchema: z.ZodObject<{
5196
+ conflict: z.ZodBoolean;
5197
+ }, z.core.$strip>;
5198
+ /** Compact user row used when sending user-related messages. */
5199
+ declare const userMessageIdentityQueryDtoSchema: z.ZodObject<{
5200
+ id: z.ZodUUID;
5201
+ username: z.ZodString;
5202
+ name: z.ZodString;
5203
+ profilePicPath: z.ZodNullable<z.ZodString>;
5204
+ }, z.core.$strip>;
5205
+ /** Profile-picture path returned by profile picture queries. */
5206
+ declare const userProfilePicQueryDtoSchema: z.ZodObject<{
5207
+ profilePicPath: z.ZodNullable<z.ZodString>;
5208
+ }, z.core.$strip>;
5209
+ /** Claims carried by an email-change token. */
5210
+ declare const changeEmailTokenPayloadDtoSchema: z.ZodObject<{
5211
+ jti: z.ZodString;
5212
+ sub: z.ZodString;
5213
+ newEmail: z.ZodString;
4417
5214
  exp: z.ZodNumber;
4418
5215
  iss: z.ZodString;
4419
5216
  typ: z.ZodString;
4420
5217
  }, z.core.$strip>;
4421
- type ChangeEmailTokenPayload = z.infer<typeof changeEmailTokenPayloadSchema>;
4422
- type AuthenticatedUserForUpdate = z.infer<typeof updateUserRequest.shape.body>;
5218
+ type ChangeEmailTokenPayloadDto = z.infer<typeof changeEmailTokenPayloadDtoSchema>;
5219
+ /** Input fields accepted by the authenticated-user update SQL query. */
5220
+ type AuthenticatedUserForUpdateQueryDto = z.infer<typeof authenticatedUserForUpdateQueryDtoSchema>;
5221
+ type UserDataQueryDto = z.infer<typeof userDataQueryDtoSchema>;
5222
+ type UserDataRowQueryDto = z.infer<typeof userDataRowQueryDtoSchema>;
5223
+ type UserConflictQueryDto = z.infer<typeof userConflictQueryDtoSchema>;
5224
+ type UserMessageIdentityQueryDto = z.infer<typeof userMessageIdentityQueryDtoSchema>;
5225
+ type UserProfilePicQueryDto = z.infer<typeof userProfilePicQueryDtoSchema>;
4423
5226
 
4424
- declare const getPresignedUrlS3Request: z.ZodObject<{
5227
+ declare const getPresignedUrlFromS3RequestSchema: z.ZodObject<{
4425
5228
  body: z.ZodObject<{
4426
5229
  exercise: z.ZodString;
4427
5230
  fileType: z.ZodString;
@@ -4433,11 +5236,25 @@ declare const getPresignedUrlFromS3ResponseSchema: z.ZodObject<{
4433
5236
  fileKey: z.ZodString;
4434
5237
  requestId: z.ZodString;
4435
5238
  }, z.core.$strip>;
5239
+ declare const getPresignedUrlFromS3Contract: {
5240
+ request: z.ZodObject<{
5241
+ body: z.ZodObject<{
5242
+ exercise: z.ZodString;
5243
+ fileType: z.ZodString;
5244
+ jobId: z.ZodString;
5245
+ }, z.core.$strip>;
5246
+ }, z.core.$strip>;
5247
+ response: z.ZodObject<{
5248
+ uploadUrl: z.ZodString;
5249
+ fileKey: z.ZodString;
5250
+ requestId: z.ZodString;
5251
+ }, z.core.$strip>;
5252
+ };
5253
+ type GetPresignedUrlFromS3Body = BodyOf<typeof getPresignedUrlFromS3Contract>;
5254
+ type GetPresignedUrlFromS3Response = ResponseOf<typeof getPresignedUrlFromS3Contract>;
4436
5255
 
4437
- type GetPresignedUrlFromS3Body = z$1.infer<typeof getPresignedUrlS3Request.shape.body>;
4438
- type GetPresignedUrlFromS3Response = z$1.infer<typeof getPresignedUrlFromS3ResponseSchema>;
4439
-
4440
- declare const enqueueAanalyzeVideoParamsSchema: z.ZodObject<{
5256
+ /** Parameters used to enqueue a video-analysis job. */
5257
+ declare const enqueueAnalyzeVideoParamsDtoSchema: z.ZodObject<{
4441
5258
  fileKey: z.ZodString;
4442
5259
  exercise: z.ZodString;
4443
5260
  userId: z.ZodUUID;
@@ -4445,7 +5262,8 @@ declare const enqueueAanalyzeVideoParamsSchema: z.ZodObject<{
4445
5262
  sentryTrace: z.ZodOptional<z.ZodString>;
4446
5263
  baggage: z.ZodOptional<z.ZodString>;
4447
5264
  }, z.core.$strip>;
4448
- declare const analyzeVideoPayloadSchema: z.ZodObject<{
5265
+ /** Queue payload containing video-analysis parameters and expiration. */
5266
+ declare const analyzeVideoPayloadDtoSchema: z.ZodObject<{
4449
5267
  fileKey: z.ZodString;
4450
5268
  exercise: z.ZodString;
4451
5269
  userId: z.ZodUUID;
@@ -4454,7 +5272,8 @@ declare const analyzeVideoPayloadSchema: z.ZodObject<{
4454
5272
  baggage: z.ZodOptional<z.ZodString>;
4455
5273
  expiresAt: z.ZodNumber;
4456
5274
  }, z.core.$strip>;
4457
- declare const squatRepetitionSchema: z.ZodObject<{
5275
+ /** Analysis result for one detected squat repetition. */
5276
+ declare const squatRepetitionDtoSchema: z.ZodObject<{
4458
5277
  depth: z.ZodObject<{
4459
5278
  value: z.ZodNumber;
4460
5279
  status: z.ZodString;
@@ -4473,7 +5292,8 @@ declare const squatRepetitionSchema: z.ZodObject<{
4473
5292
  samplingRate: z.ZodString;
4474
5293
  }, z.core.$strip>;
4475
5294
  }, z.core.$strip>;
4476
- declare const analyzeVideoResultPayloadSchema: <TResultSchema extends z.ZodType>(resultSchema: TResultSchema) => z.ZodIntersection<z.ZodObject<{
5295
+ /** Completed-or-failed result payload emitted by a video-analysis worker. */
5296
+ declare const analyzeVideoResultPayloadDtoSchema: <TResultSchema extends z.ZodType>(resultSchema: TResultSchema) => z.ZodIntersection<z.ZodObject<{
4477
5297
  jobId: z.ZodString;
4478
5298
  userId: z.ZodUUID;
4479
5299
  exercise: z.ZodString;
@@ -4487,12 +5307,12 @@ declare const analyzeVideoResultPayloadSchema: <TResultSchema extends z.ZodType>
4487
5307
  result: z.ZodNull;
4488
5308
  error: z.ZodString;
4489
5309
  }, z.core.$strip>]>>;
4490
- type EnqueueAanalyzeVideoParams = z.infer<typeof enqueueAanalyzeVideoParamsSchema>;
4491
- type AnalyzeVideoPayload = z.infer<typeof analyzeVideoPayloadSchema>;
4492
- type SquatRepetition = z.infer<typeof squatRepetitionSchema>;
4493
- type AnalyzeVideoResultPayload<TResult> = z.infer<ReturnType<typeof analyzeVideoResultPayloadSchema<z.ZodType<TResult>>>>;
5310
+ type EnqueueAnalyzeVideoParamsDto = z.infer<typeof enqueueAnalyzeVideoParamsDtoSchema>;
5311
+ type AnalyzeVideoPayloadDto = z.infer<typeof analyzeVideoPayloadDtoSchema>;
5312
+ type SquatRepetitionDto = z.infer<typeof squatRepetitionDtoSchema>;
5313
+ type AnalyzeVideoResultPayloadDto<TResult> = z.infer<ReturnType<typeof analyzeVideoResultPayloadDtoSchema<z.ZodType<TResult>>>>;
4494
5314
 
4495
- declare const generateTicketRequest: z.ZodObject<{
5315
+ declare const generateTicketRequestSchema: z.ZodObject<{
4496
5316
  body: z.ZodObject<{
4497
5317
  username: z.ZodString;
4498
5318
  }, z.core.$strip>;
@@ -4500,91 +5320,26 @@ declare const generateTicketRequest: z.ZodObject<{
4500
5320
  declare const generateTicketResponseSchema: z.ZodObject<{
4501
5321
  ticket: z.ZodString;
4502
5322
  }, z.core.$strip>;
5323
+ declare const generateTicketContract: {
5324
+ request: z.ZodObject<{
5325
+ body: z.ZodObject<{
5326
+ username: z.ZodString;
5327
+ }, z.core.$strip>;
5328
+ }, z.core.$strip>;
5329
+ response: z.ZodObject<{
5330
+ ticket: z.ZodString;
5331
+ }, z.core.$strip>;
5332
+ };
5333
+ type GenerateTicketBody = BodyOf<typeof generateTicketContract>;
5334
+ type GenerateTicketResponse = ResponseOf<typeof generateTicketContract>;
4503
5335
 
4504
- type GenerateTicketBody = z$1.infer<typeof generateTicketRequest.shape.body>;
4505
- type GenerateTicketResponse = z$1.infer<typeof generateTicketResponseSchema>;
4506
-
4507
- declare const exerciseInPlanSchema: z.ZodObject<{
4508
- id: z.ZodInt;
4509
- sets: z.ZodArray<z.ZodInt>;
4510
- isActive: z.ZodBoolean;
4511
- targetMuscle: z.ZodString;
4512
- specificTargetMuscle: z.ZodString;
4513
- exercise: z.ZodString;
4514
- workoutSplit: z.ZodString;
4515
- }, z.core.$strip>;
4516
- declare const workoutSplitSchema: z.ZodObject<{
4517
- id: z.ZodInt;
4518
- workoutId: z.ZodInt;
4519
- name: z.ZodString;
4520
- createdAt: z.ZodString;
4521
- muscleGroup: z.ZodNullable<z.ZodString>;
4522
- isActive: z.ZodBoolean;
4523
- exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
4524
- id: z.ZodInt;
4525
- sets: z.ZodArray<z.ZodInt>;
4526
- isActive: z.ZodBoolean;
4527
- targetMuscle: z.ZodString;
4528
- specificTargetMuscle: z.ZodString;
4529
- exercise: z.ZodString;
4530
- workoutSplit: z.ZodString;
4531
- }, z.core.$strip>>;
4532
- }, z.core.$strip>;
4533
- declare const wholeUserWorkoutPlanSchema: z.ZodObject<{
4534
- id: z.ZodInt;
4535
- numberOfSplits: z.ZodNumber;
4536
- createdAt: z.ZodString;
4537
- userId: z.ZodUUID;
4538
- isActive: z.ZodBoolean;
4539
- updatedAt: z.ZodString;
4540
- workoutSplits: z.ZodNullable<z.ZodArray<z.ZodObject<{
4541
- id: z.ZodInt;
4542
- workoutId: z.ZodInt;
4543
- name: z.ZodString;
4544
- createdAt: z.ZodString;
4545
- muscleGroup: z.ZodNullable<z.ZodString>;
4546
- isActive: z.ZodBoolean;
4547
- exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
4548
- id: z.ZodInt;
4549
- sets: z.ZodArray<z.ZodInt>;
4550
- isActive: z.ZodBoolean;
4551
- targetMuscle: z.ZodString;
4552
- specificTargetMuscle: z.ZodString;
4553
- exercise: z.ZodString;
4554
- workoutSplit: z.ZodString;
4555
- }, z.core.$strip>>;
4556
- }, z.core.$strip>>>;
4557
- }, z.core.$strip>;
4558
- declare const workoutSplitsMapItemSchema: z.ZodObject<{
4559
- id: z.ZodInt;
4560
- name: z.ZodString;
4561
- sets: z.ZodArray<z.ZodInt>;
4562
- orderIndex: z.ZodInt;
4563
- targetMuscle: z.ZodString;
4564
- specificTargetMuscle: z.ZodString;
4565
- }, z.core.$strip>;
4566
- declare const workoutSplitsMapSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4567
- id: z.ZodInt;
4568
- name: z.ZodString;
4569
- sets: z.ZodArray<z.ZodInt>;
4570
- orderIndex: z.ZodInt;
4571
- targetMuscle: z.ZodString;
4572
- specificTargetMuscle: z.ZodString;
4573
- }, z.core.$strip>>>;
4574
- declare const addWorkoutRequest: z.ZodObject<{
4575
- body: z.ZodObject<{
4576
- workoutData: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4577
- id: z.ZodInt;
4578
- sets: z.ZodArray<z.ZodInt>;
4579
- orderIndex: z.ZodInt;
4580
- }, z.core.$strip>>>;
4581
- workoutName: z.ZodOptional<z.ZodString>;
4582
- tz: z.ZodString;
5336
+ declare const getWholeWorkoutPlanRequestSchema: z.ZodObject<{
5337
+ query: z.ZodObject<{
5338
+ tz: z.ZodOptional<z.ZodString>;
4583
5339
  }, z.core.$strip>;
4584
5340
  }, z.core.$strip>;
4585
- declare const addWorkoutResponseSchema: z.ZodObject<{
4586
- message: z.ZodString;
4587
- workoutPlan: z.ZodObject<{
5341
+ declare const getWholeUserWorkoutPlanResponseSchema: z.ZodObject<{
5342
+ workoutPlan: z.ZodNullable<z.ZodObject<{
4588
5343
  id: z.ZodInt;
4589
5344
  numberOfSplits: z.ZodNumber;
4590
5345
  createdAt: z.ZodString;
@@ -4608,23 +5363,72 @@ declare const addWorkoutResponseSchema: z.ZodObject<{
4608
5363
  workoutSplit: z.ZodString;
4609
5364
  }, z.core.$strip>>;
4610
5365
  }, z.core.$strip>>>;
4611
- }, z.core.$strip>;
4612
- workoutPlanForEditWorkout: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5366
+ }, z.core.$strip>>;
5367
+ workoutPlanForEditWorkout: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4613
5368
  id: z.ZodInt;
4614
5369
  name: z.ZodString;
4615
5370
  sets: z.ZodArray<z.ZodInt>;
4616
5371
  orderIndex: z.ZodInt;
4617
5372
  targetMuscle: z.ZodString;
4618
5373
  specificTargetMuscle: z.ZodString;
4619
- }, z.core.$strip>>>;
5374
+ }, z.core.$strip>>>>;
4620
5375
  }, z.core.$strip>;
4621
- declare const getWholeWorkoutPlanRequest: z.ZodObject<{
4622
- query: z.ZodObject<{
4623
- tz: z.ZodOptional<z.ZodString>;
5376
+ declare const getWholeUserWorkoutPlanContract: {
5377
+ request: z.ZodObject<{
5378
+ query: z.ZodObject<{
5379
+ tz: z.ZodOptional<z.ZodString>;
5380
+ }, z.core.$strip>;
5381
+ }, z.core.$strip>;
5382
+ response: z.ZodObject<{
5383
+ workoutPlan: z.ZodNullable<z.ZodObject<{
5384
+ id: z.ZodInt;
5385
+ numberOfSplits: z.ZodNumber;
5386
+ createdAt: z.ZodString;
5387
+ userId: z.ZodUUID;
5388
+ isActive: z.ZodBoolean;
5389
+ updatedAt: z.ZodString;
5390
+ workoutSplits: z.ZodNullable<z.ZodArray<z.ZodObject<{
5391
+ id: z.ZodInt;
5392
+ workoutId: z.ZodInt;
5393
+ name: z.ZodString;
5394
+ createdAt: z.ZodString;
5395
+ muscleGroup: z.ZodNullable<z.ZodString>;
5396
+ isActive: z.ZodBoolean;
5397
+ exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
5398
+ id: z.ZodInt;
5399
+ sets: z.ZodArray<z.ZodInt>;
5400
+ isActive: z.ZodBoolean;
5401
+ targetMuscle: z.ZodString;
5402
+ specificTargetMuscle: z.ZodString;
5403
+ exercise: z.ZodString;
5404
+ workoutSplit: z.ZodString;
5405
+ }, z.core.$strip>>;
5406
+ }, z.core.$strip>>>;
5407
+ }, z.core.$strip>>;
5408
+ workoutPlanForEditWorkout: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5409
+ id: z.ZodInt;
5410
+ name: z.ZodString;
5411
+ sets: z.ZodArray<z.ZodInt>;
5412
+ orderIndex: z.ZodInt;
5413
+ targetMuscle: z.ZodString;
5414
+ specificTargetMuscle: z.ZodString;
5415
+ }, z.core.$strip>>>>;
5416
+ }, z.core.$strip>;
5417
+ };
5418
+ declare const addWorkoutRequestSchema: z.ZodObject<{
5419
+ body: z.ZodObject<{
5420
+ workoutData: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5421
+ id: z.ZodInt;
5422
+ sets: z.ZodArray<z.ZodInt>;
5423
+ orderIndex: z.ZodInt;
5424
+ }, z.core.$strip>>>;
5425
+ workoutName: z.ZodOptional<z.ZodString>;
5426
+ tz: z.ZodString;
4624
5427
  }, z.core.$strip>;
4625
5428
  }, z.core.$strip>;
4626
- declare const getWholeUserWorkoutPlanResponseSchema: z.ZodObject<{
4627
- workoutPlan: z.ZodNullable<z.ZodObject<{
5429
+ declare const addWorkoutResponseSchema: z.ZodObject<{
5430
+ message: z.ZodString;
5431
+ workoutPlan: z.ZodObject<{
4628
5432
  id: z.ZodInt;
4629
5433
  numberOfSplits: z.ZodNumber;
4630
5434
  createdAt: z.ZodString;
@@ -4648,112 +5452,201 @@ declare const getWholeUserWorkoutPlanResponseSchema: z.ZodObject<{
4648
5452
  workoutSplit: z.ZodString;
4649
5453
  }, z.core.$strip>>;
4650
5454
  }, z.core.$strip>>>;
4651
- }, z.core.$strip>>;
4652
- workoutPlanForEditWorkout: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5455
+ }, z.core.$strip>;
5456
+ workoutPlanForEditWorkout: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4653
5457
  id: z.ZodInt;
4654
5458
  name: z.ZodString;
4655
5459
  sets: z.ZodArray<z.ZodInt>;
4656
5460
  orderIndex: z.ZodInt;
4657
5461
  targetMuscle: z.ZodString;
4658
5462
  specificTargetMuscle: z.ZodString;
4659
- }, z.core.$strip>>>>;
5463
+ }, z.core.$strip>>>;
4660
5464
  }, z.core.$strip>;
5465
+ declare const addWorkoutContract: {
5466
+ request: z.ZodObject<{
5467
+ body: z.ZodObject<{
5468
+ workoutData: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5469
+ id: z.ZodInt;
5470
+ sets: z.ZodArray<z.ZodInt>;
5471
+ orderIndex: z.ZodInt;
5472
+ }, z.core.$strip>>>;
5473
+ workoutName: z.ZodOptional<z.ZodString>;
5474
+ tz: z.ZodString;
5475
+ }, z.core.$strip>;
5476
+ }, z.core.$strip>;
5477
+ response: z.ZodObject<{
5478
+ message: z.ZodString;
5479
+ workoutPlan: z.ZodObject<{
5480
+ id: z.ZodInt;
5481
+ numberOfSplits: z.ZodNumber;
5482
+ createdAt: z.ZodString;
5483
+ userId: z.ZodUUID;
5484
+ isActive: z.ZodBoolean;
5485
+ updatedAt: z.ZodString;
5486
+ workoutSplits: z.ZodNullable<z.ZodArray<z.ZodObject<{
5487
+ id: z.ZodInt;
5488
+ workoutId: z.ZodInt;
5489
+ name: z.ZodString;
5490
+ createdAt: z.ZodString;
5491
+ muscleGroup: z.ZodNullable<z.ZodString>;
5492
+ isActive: z.ZodBoolean;
5493
+ exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
5494
+ id: z.ZodInt;
5495
+ sets: z.ZodArray<z.ZodInt>;
5496
+ isActive: z.ZodBoolean;
5497
+ targetMuscle: z.ZodString;
5498
+ specificTargetMuscle: z.ZodString;
5499
+ exercise: z.ZodString;
5500
+ workoutSplit: z.ZodString;
5501
+ }, z.core.$strip>>;
5502
+ }, z.core.$strip>>>;
5503
+ }, z.core.$strip>;
5504
+ workoutPlanForEditWorkout: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5505
+ id: z.ZodInt;
5506
+ name: z.ZodString;
5507
+ sets: z.ZodArray<z.ZodInt>;
5508
+ orderIndex: z.ZodInt;
5509
+ targetMuscle: z.ZodString;
5510
+ specificTargetMuscle: z.ZodString;
5511
+ }, z.core.$strip>>>;
5512
+ }, z.core.$strip>;
5513
+ };
5514
+ type GetWholeUserWorkoutPlanQuery = QueryOf<typeof getWholeUserWorkoutPlanContract>;
5515
+ type GetWholeUserWorkoutPlanResponse = ResponseOf<typeof getWholeUserWorkoutPlanContract>;
5516
+ type AddWorkoutBody = BodyOf<typeof addWorkoutContract>;
5517
+ type AddWorkoutResponse = ResponseOf<typeof addWorkoutContract>;
4661
5518
 
4662
- type GetWholeUserWorkoutPlanQuery = z$1.infer<typeof getWholeWorkoutPlanRequest.shape.query>;
4663
- type GetWholeUserWorkoutPlanResponse = z$1.infer<typeof getWholeUserWorkoutPlanResponseSchema>;
4664
- type AddWorkoutBody = z$1.infer<typeof addWorkoutRequest.shape.body>;
4665
- type AddWorkoutResponse = z$1.infer<typeof addWorkoutResponseSchema>;
4666
-
4667
- type ExerciseInPlan = z.infer<typeof exerciseInPlanSchema>;
4668
- type ExerciseMetadata = Pick<z.infer<typeof workoutSplitsMapItemSchema>, 'targetMuscle' | 'specificTargetMuscle'>;
4669
- type WholeUserWorkoutPlan = z.infer<typeof wholeUserWorkoutPlanSchema>;
4670
- type AddWorkoutSplitPayload = z.infer<typeof addWorkoutRequest.shape.body.shape.workoutData>;
4671
- type WorkoutSplitsMap = z.infer<typeof workoutSplitsMapSchema>;
4672
-
4673
- declare const exerciseMetadataSchema: z.ZodObject<{
5519
+ /** Exercise input stored while adding a workout plan. */
5520
+ declare const workoutExerciseInputQueryDtoSchema: z.ZodObject<{
5521
+ id: z.ZodInt;
5522
+ sets: z.ZodArray<z.ZodInt>;
5523
+ orderIndex: z.ZodInt;
5524
+ }, z.core.$strip>;
5525
+ /** Workout split payload accepted by the add-workout SQL workflow. */
5526
+ declare const addWorkoutSplitPayloadQueryDtoSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5527
+ id: z.ZodInt;
5528
+ sets: z.ZodArray<z.ZodInt>;
5529
+ orderIndex: z.ZodInt;
5530
+ }, z.core.$strip>>>;
5531
+ /** Exercise assignment included in a complete workout-plan query. */
5532
+ declare const exerciseInPlanQueryDtoSchema: z.ZodObject<{
5533
+ id: z.ZodInt;
5534
+ sets: z.ZodArray<z.ZodInt>;
5535
+ isActive: z.ZodBoolean;
4674
5536
  targetMuscle: z.ZodString;
4675
5537
  specificTargetMuscle: z.ZodString;
4676
- }, z.core.$strip>;
4677
- declare const exerciseTrackingPrMaxSchema: z.ZodObject<{
4678
5538
  exercise: z.ZodString;
4679
- weight: z.ZodNumber;
4680
- reps: z.ZodInt;
4681
- workoutTimeUtc: z.ZodString;
4682
- }, z.core.$strip>;
4683
- declare const exerciseTrackingAnalysisSchema: z.ZodObject<{
4684
- uniqueDays: z.ZodNumber;
4685
- mostFrequentSplit: z.ZodNullable<z.ZodString>;
4686
- mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
4687
- lastWorkoutDate: z.ZodNullable<z.ZodString>;
4688
- splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
4689
- prs: z.ZodObject<{
4690
- prMax: z.ZodNullable<z.ZodObject<{
4691
- exercise: z.ZodString;
4692
- weight: z.ZodNumber;
4693
- reps: z.ZodInt;
4694
- workoutTimeUtc: z.ZodString;
4695
- }, z.core.$strip>>;
4696
- }, z.core.$strip>;
5539
+ workoutSplit: z.ZodString;
4697
5540
  }, z.core.$strip>;
4698
- declare const trackingMapItemSchema: z.ZodObject<{
5541
+ /** Workout split included in a complete workout-plan query. */
5542
+ declare const workoutSplitQueryDtoSchema: z.ZodObject<{
4699
5543
  id: z.ZodInt;
4700
- exerciseToSplitId: z.ZodInt;
4701
- weight: z.ZodArray<z.ZodNumber>;
4702
- reps: z.ZodArray<z.ZodInt>;
4703
- notes: z.ZodNullable<z.ZodString>;
4704
- exerciseId: z.ZodInt;
4705
- workoutSplitId: z.ZodInt;
4706
- splitName: z.ZodString;
4707
- exercise: z.ZodString;
4708
- workoutDate: z.ZodString;
4709
- orderIndex: z.ZodInt;
4710
- exerciseToWorkoutSplit: z.ZodObject<{
5544
+ workoutId: z.ZodInt;
5545
+ name: z.ZodString;
5546
+ createdAt: z.ZodString;
5547
+ muscleGroup: z.ZodNullable<z.ZodString>;
5548
+ isActive: z.ZodBoolean;
5549
+ exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
5550
+ id: z.ZodInt;
4711
5551
  sets: z.ZodArray<z.ZodInt>;
4712
- exercises: z.ZodObject<{
5552
+ isActive: z.ZodBoolean;
5553
+ targetMuscle: z.ZodString;
5554
+ specificTargetMuscle: z.ZodString;
5555
+ exercise: z.ZodString;
5556
+ workoutSplit: z.ZodString;
5557
+ }, z.core.$strip>>;
5558
+ }, z.core.$strip>;
5559
+ /** Complete active workout plan returned for a user. */
5560
+ declare const wholeUserWorkoutPlanQueryDtoSchema: z.ZodObject<{
5561
+ id: z.ZodInt;
5562
+ numberOfSplits: z.ZodNumber;
5563
+ createdAt: z.ZodString;
5564
+ userId: z.ZodUUID;
5565
+ isActive: z.ZodBoolean;
5566
+ updatedAt: z.ZodString;
5567
+ workoutSplits: z.ZodNullable<z.ZodArray<z.ZodObject<{
5568
+ id: z.ZodInt;
5569
+ workoutId: z.ZodInt;
5570
+ name: z.ZodString;
5571
+ createdAt: z.ZodString;
5572
+ muscleGroup: z.ZodNullable<z.ZodString>;
5573
+ isActive: z.ZodBoolean;
5574
+ exerciseToWorkoutSplit: z.ZodArray<z.ZodObject<{
5575
+ id: z.ZodInt;
5576
+ sets: z.ZodArray<z.ZodInt>;
5577
+ isActive: z.ZodBoolean;
4713
5578
  targetMuscle: z.ZodString;
4714
5579
  specificTargetMuscle: z.ZodString;
4715
- }, z.core.$strip>;
4716
- }, z.core.$strip>;
5580
+ exercise: z.ZodString;
5581
+ workoutSplit: z.ZodString;
5582
+ }, z.core.$strip>>;
5583
+ }, z.core.$strip>>>;
4717
5584
  }, z.core.$strip>;
4718
- declare const trackingByDateItemSchema: z.ZodObject<{
5585
+ /** Exercise item included in the editable workout-split map. */
5586
+ declare const workoutSplitsMapItemQueryDtoSchema: z.ZodObject<{
4719
5587
  id: z.ZodInt;
4720
- exerciseToSplitId: z.ZodInt;
5588
+ name: z.ZodString;
5589
+ sets: z.ZodArray<z.ZodInt>;
4721
5590
  orderIndex: z.ZodInt;
4722
- reps: z.ZodArray<z.ZodInt>;
4723
- workoutSplitId: z.ZodInt;
4724
- exerciseId: z.ZodInt;
4725
- exercise: z.ZodString;
4726
- exerciseToWorkoutSplit: z.ZodObject<{
4727
- sets: z.ZodArray<z.ZodInt>;
4728
- exercises: z.ZodObject<{
4729
- targetMuscle: z.ZodString;
4730
- specificTargetMuscle: z.ZodString;
4731
- }, z.core.$strip>;
4732
- }, z.core.$strip>;
4733
- notes: z.ZodNullable<z.ZodString>;
4734
- weight: z.ZodArray<z.ZodNumber>;
4735
- splitName: z.ZodString;
5591
+ targetMuscle: z.ZodString;
5592
+ specificTargetMuscle: z.ZodString;
4736
5593
  }, z.core.$strip>;
4737
- declare const trackingBySplitNameItemSchema: z.ZodObject<{
5594
+ /** Target-muscle metadata selected for an editable workout exercise. */
5595
+ declare const workoutExerciseMetadataQueryDtoSchema: z.ZodObject<{
5596
+ targetMuscle: z.ZodString;
5597
+ specificTargetMuscle: z.ZodString;
5598
+ }, z.core.$strip>;
5599
+ /** Editable workout-plan map grouped by split name. */
5600
+ declare const workoutSplitsMapQueryDtoSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
4738
5601
  id: z.ZodInt;
4739
- exerciseToSplitId: z.ZodInt;
5602
+ name: z.ZodString;
5603
+ sets: z.ZodArray<z.ZodInt>;
4740
5604
  orderIndex: z.ZodInt;
4741
- reps: z.ZodArray<z.ZodInt>;
4742
- workoutSplitId: z.ZodInt;
4743
- exerciseId: z.ZodInt;
4744
- exercise: z.ZodString;
4745
- exerciseToWorkoutSplit: z.ZodObject<{
5605
+ targetMuscle: z.ZodString;
5606
+ specificTargetMuscle: z.ZodString;
5607
+ }, z.core.$strip>>>;
5608
+ /** SQL row wrapping the editable workout split map under `splits`. */
5609
+ declare const workoutSplitsRowQueryDtoSchema: z.ZodObject<{
5610
+ splits: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5611
+ id: z.ZodInt;
5612
+ name: z.ZodString;
4746
5613
  sets: z.ZodArray<z.ZodInt>;
4747
- exercises: z.ZodObject<{
4748
- targetMuscle: z.ZodString;
4749
- specificTargetMuscle: z.ZodString;
4750
- }, z.core.$strip>;
5614
+ orderIndex: z.ZodInt;
5615
+ targetMuscle: z.ZodString;
5616
+ specificTargetMuscle: z.ZodString;
5617
+ }, z.core.$strip>>>;
5618
+ }, z.core.$strip>;
5619
+ /** SQL row returned when inserting or retrieving a workout plan. */
5620
+ declare const workoutPlanIdQueryDtoSchema: z.ZodObject<{
5621
+ id: z.ZodInt;
5622
+ }, z.core.$strip>;
5623
+ /** SQL row returned when inserting or reactivating a workout split. */
5624
+ declare const workoutSplitIdQueryDtoSchema: z.ZodObject<{
5625
+ id: z.ZodInt;
5626
+ }, z.core.$strip>;
5627
+ /** SQL row returned when inserting or reactivating an exercise assignment. */
5628
+ declare const exerciseAssignmentIdQueryDtoSchema: z.ZodObject<{
5629
+ id: z.ZodInt;
5630
+ }, z.core.$strip>;
5631
+ type WorkoutExerciseInputQueryDto = z.infer<typeof workoutExerciseInputQueryDtoSchema>;
5632
+ type ExerciseInPlanQueryDto = z.infer<typeof exerciseInPlanQueryDtoSchema>;
5633
+ type WorkoutSplitQueryDto = z.infer<typeof workoutSplitQueryDtoSchema>;
5634
+ type WorkoutSplitsMapItemQueryDto = z.infer<typeof workoutSplitsMapItemQueryDtoSchema>;
5635
+ type WorkoutExerciseMetadataQueryDto = z.infer<typeof workoutExerciseMetadataQueryDtoSchema>;
5636
+ type WholeUserWorkoutPlanQueryDto = z.infer<typeof wholeUserWorkoutPlanQueryDtoSchema>;
5637
+ type AddWorkoutSplitPayloadQueryDto = z.infer<typeof addWorkoutSplitPayloadQueryDtoSchema>;
5638
+ type WorkoutSplitsMapQueryDto = z.infer<typeof workoutSplitsMapQueryDtoSchema>;
5639
+ type WorkoutSplitsRowQueryDto = z.infer<typeof workoutSplitsRowQueryDtoSchema>;
5640
+ type WorkoutPlanIdQueryDto = z.infer<typeof workoutPlanIdQueryDtoSchema>;
5641
+ type WorkoutSplitIdQueryDto = z.infer<typeof workoutSplitIdQueryDtoSchema>;
5642
+ type ExerciseAssignmentIdQueryDto = z.infer<typeof exerciseAssignmentIdQueryDtoSchema>;
5643
+
5644
+ declare const getExerciseTrackingRequestSchema: z.ZodObject<{
5645
+ query: z.ZodObject<{
5646
+ tz: z.ZodOptional<z.ZodString>;
4751
5647
  }, z.core.$strip>;
4752
- notes: z.ZodNullable<z.ZodString>;
4753
- weight: z.ZodArray<z.ZodNumber>;
4754
- workoutDate: z.ZodString;
4755
5648
  }, z.core.$strip>;
4756
- declare const exerciseTrackingAndStatsSchema: z.ZodObject<{
5649
+ declare const getExerciseTrackingResponseSchema: z.ZodObject<{
4757
5650
  exerciseTrackingAnalysis: z.ZodObject<{
4758
5651
  uniqueDays: z.ZodNumber;
4759
5652
  mostFrequentSplit: z.ZodNullable<z.ZodString>;
@@ -4829,14 +5722,103 @@ declare const exerciseTrackingAndStatsSchema: z.ZodObject<{
4829
5722
  workoutDate: z.ZodString;
4830
5723
  }, z.core.$strip>>>;
4831
5724
  }, z.core.$strip>;
4832
- }, z.core.$strip>;
4833
- declare const finishWorkoutRequest: z.ZodObject<{
5725
+ }, z.core.$strip>;
5726
+ declare const getExerciseTrackingContract: {
5727
+ request: z.ZodObject<{
5728
+ query: z.ZodObject<{
5729
+ tz: z.ZodOptional<z.ZodString>;
5730
+ }, z.core.$strip>;
5731
+ }, z.core.$strip>;
5732
+ response: z.ZodObject<{
5733
+ exerciseTrackingAnalysis: z.ZodObject<{
5734
+ uniqueDays: z.ZodNumber;
5735
+ mostFrequentSplit: z.ZodNullable<z.ZodString>;
5736
+ mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
5737
+ lastWorkoutDate: z.ZodNullable<z.ZodString>;
5738
+ splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
5739
+ prs: z.ZodObject<{
5740
+ prMax: z.ZodNullable<z.ZodObject<{
5741
+ exercise: z.ZodString;
5742
+ weight: z.ZodNumber;
5743
+ reps: z.ZodInt;
5744
+ workoutTimeUtc: z.ZodString;
5745
+ }, z.core.$strip>>;
5746
+ }, z.core.$strip>;
5747
+ }, z.core.$strip>;
5748
+ exerciseTrackingMaps: z.ZodObject<{
5749
+ byDate: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5750
+ id: z.ZodInt;
5751
+ exerciseToSplitId: z.ZodInt;
5752
+ orderIndex: z.ZodInt;
5753
+ reps: z.ZodArray<z.ZodInt>;
5754
+ workoutSplitId: z.ZodInt;
5755
+ exerciseId: z.ZodInt;
5756
+ exercise: z.ZodString;
5757
+ exerciseToWorkoutSplit: z.ZodObject<{
5758
+ sets: z.ZodArray<z.ZodInt>;
5759
+ exercises: z.ZodObject<{
5760
+ targetMuscle: z.ZodString;
5761
+ specificTargetMuscle: z.ZodString;
5762
+ }, z.core.$strip>;
5763
+ }, z.core.$strip>;
5764
+ notes: z.ZodNullable<z.ZodString>;
5765
+ weight: z.ZodArray<z.ZodNumber>;
5766
+ splitName: z.ZodString;
5767
+ }, z.core.$strip>>>;
5768
+ byExerciseToSplitId: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5769
+ id: z.ZodInt;
5770
+ exerciseToSplitId: z.ZodInt;
5771
+ weight: z.ZodArray<z.ZodNumber>;
5772
+ reps: z.ZodArray<z.ZodInt>;
5773
+ notes: z.ZodNullable<z.ZodString>;
5774
+ exerciseId: z.ZodInt;
5775
+ workoutSplitId: z.ZodInt;
5776
+ splitName: z.ZodString;
5777
+ exercise: z.ZodString;
5778
+ workoutDate: z.ZodString;
5779
+ orderIndex: z.ZodInt;
5780
+ exerciseToWorkoutSplit: z.ZodObject<{
5781
+ sets: z.ZodArray<z.ZodInt>;
5782
+ exercises: z.ZodObject<{
5783
+ targetMuscle: z.ZodString;
5784
+ specificTargetMuscle: z.ZodString;
5785
+ }, z.core.$strip>;
5786
+ }, z.core.$strip>;
5787
+ }, z.core.$strip>>>;
5788
+ bySplitName: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5789
+ id: z.ZodInt;
5790
+ exerciseToSplitId: z.ZodInt;
5791
+ orderIndex: z.ZodInt;
5792
+ reps: z.ZodArray<z.ZodInt>;
5793
+ workoutSplitId: z.ZodInt;
5794
+ exerciseId: z.ZodInt;
5795
+ exercise: z.ZodString;
5796
+ exerciseToWorkoutSplit: z.ZodObject<{
5797
+ sets: z.ZodArray<z.ZodInt>;
5798
+ exercises: z.ZodObject<{
5799
+ targetMuscle: z.ZodString;
5800
+ specificTargetMuscle: z.ZodString;
5801
+ }, z.core.$strip>;
5802
+ }, z.core.$strip>;
5803
+ notes: z.ZodNullable<z.ZodString>;
5804
+ weight: z.ZodArray<z.ZodNumber>;
5805
+ workoutDate: z.ZodString;
5806
+ }, z.core.$strip>>>;
5807
+ }, z.core.$strip>;
5808
+ }, z.core.$strip>;
5809
+ };
5810
+ declare const finishWorkoutRequestSchema: z.ZodObject<{
4834
5811
  body: z.ZodObject<{
4835
5812
  workout: z.ZodArray<z.ZodObject<{
4836
- exerciseToSplitId: z.ZodInt;
4837
- weight: z.ZodArray<z.ZodNumber>;
4838
- reps: z.ZodArray<z.ZodInt>;
5813
+ trackedSets: z.ZodArray<z.ZodObject<{
5814
+ reps: z.ZodInt;
5815
+ weight: z.ZodNumber;
5816
+ setIndex: z.ZodInt;
5817
+ }, z.core.$strip>>;
4839
5818
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5819
+ isExerciseAssignedToSplit: z.ZodBoolean;
5820
+ exerciseToSplitId: z.ZodNullable<z.ZodInt>;
5821
+ exerciseId: z.ZodNullable<z.ZodInt>;
4840
5822
  }, z.core.$strip>>;
4841
5823
  tz: z.ZodOptional<z.ZodString>;
4842
5824
  workoutStartUtc: z.ZodString;
@@ -4920,12 +5902,210 @@ declare const finishUserWorkoutResponseSchema: z.ZodObject<{
4920
5902
  }, z.core.$strip>>>;
4921
5903
  }, z.core.$strip>;
4922
5904
  }, z.core.$strip>;
4923
- declare const getExerciseTrackingRequest: z.ZodObject<{
4924
- query: z.ZodObject<{
4925
- tz: z.ZodOptional<z.ZodString>;
5905
+ declare const finishUserWorkoutContract: {
5906
+ request: z.ZodObject<{
5907
+ body: z.ZodObject<{
5908
+ workout: z.ZodArray<z.ZodObject<{
5909
+ trackedSets: z.ZodArray<z.ZodObject<{
5910
+ reps: z.ZodInt;
5911
+ weight: z.ZodNumber;
5912
+ setIndex: z.ZodInt;
5913
+ }, z.core.$strip>>;
5914
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5915
+ isExerciseAssignedToSplit: z.ZodBoolean;
5916
+ exerciseToSplitId: z.ZodNullable<z.ZodInt>;
5917
+ exerciseId: z.ZodNullable<z.ZodInt>;
5918
+ }, z.core.$strip>>;
5919
+ tz: z.ZodOptional<z.ZodString>;
5920
+ workoutStartUtc: z.ZodString;
5921
+ workoutEndUtc: z.ZodNullable<z.ZodOptional<z.ZodString>>;
5922
+ }, z.core.$strip>;
5923
+ }, z.core.$strip>;
5924
+ response: z.ZodObject<{
5925
+ exerciseTrackingAnalysis: z.ZodObject<{
5926
+ uniqueDays: z.ZodNumber;
5927
+ mostFrequentSplit: z.ZodNullable<z.ZodString>;
5928
+ mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
5929
+ lastWorkoutDate: z.ZodNullable<z.ZodString>;
5930
+ splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
5931
+ prs: z.ZodObject<{
5932
+ prMax: z.ZodNullable<z.ZodObject<{
5933
+ exercise: z.ZodString;
5934
+ weight: z.ZodNumber;
5935
+ reps: z.ZodInt;
5936
+ workoutTimeUtc: z.ZodString;
5937
+ }, z.core.$strip>>;
5938
+ }, z.core.$strip>;
5939
+ }, z.core.$strip>;
5940
+ exerciseTrackingMaps: z.ZodObject<{
5941
+ byDate: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5942
+ id: z.ZodInt;
5943
+ exerciseToSplitId: z.ZodInt;
5944
+ orderIndex: z.ZodInt;
5945
+ reps: z.ZodArray<z.ZodInt>;
5946
+ workoutSplitId: z.ZodInt;
5947
+ exerciseId: z.ZodInt;
5948
+ exercise: z.ZodString;
5949
+ exerciseToWorkoutSplit: z.ZodObject<{
5950
+ sets: z.ZodArray<z.ZodInt>;
5951
+ exercises: z.ZodObject<{
5952
+ targetMuscle: z.ZodString;
5953
+ specificTargetMuscle: z.ZodString;
5954
+ }, z.core.$strip>;
5955
+ }, z.core.$strip>;
5956
+ notes: z.ZodNullable<z.ZodString>;
5957
+ weight: z.ZodArray<z.ZodNumber>;
5958
+ splitName: z.ZodString;
5959
+ }, z.core.$strip>>>;
5960
+ byExerciseToSplitId: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5961
+ id: z.ZodInt;
5962
+ exerciseToSplitId: z.ZodInt;
5963
+ weight: z.ZodArray<z.ZodNumber>;
5964
+ reps: z.ZodArray<z.ZodInt>;
5965
+ notes: z.ZodNullable<z.ZodString>;
5966
+ exerciseId: z.ZodInt;
5967
+ workoutSplitId: z.ZodInt;
5968
+ splitName: z.ZodString;
5969
+ exercise: z.ZodString;
5970
+ workoutDate: z.ZodString;
5971
+ orderIndex: z.ZodInt;
5972
+ exerciseToWorkoutSplit: z.ZodObject<{
5973
+ sets: z.ZodArray<z.ZodInt>;
5974
+ exercises: z.ZodObject<{
5975
+ targetMuscle: z.ZodString;
5976
+ specificTargetMuscle: z.ZodString;
5977
+ }, z.core.$strip>;
5978
+ }, z.core.$strip>;
5979
+ }, z.core.$strip>>>;
5980
+ bySplitName: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
5981
+ id: z.ZodInt;
5982
+ exerciseToSplitId: z.ZodInt;
5983
+ orderIndex: z.ZodInt;
5984
+ reps: z.ZodArray<z.ZodInt>;
5985
+ workoutSplitId: z.ZodInt;
5986
+ exerciseId: z.ZodInt;
5987
+ exercise: z.ZodString;
5988
+ exerciseToWorkoutSplit: z.ZodObject<{
5989
+ sets: z.ZodArray<z.ZodInt>;
5990
+ exercises: z.ZodObject<{
5991
+ targetMuscle: z.ZodString;
5992
+ specificTargetMuscle: z.ZodString;
5993
+ }, z.core.$strip>;
5994
+ }, z.core.$strip>;
5995
+ notes: z.ZodNullable<z.ZodString>;
5996
+ weight: z.ZodArray<z.ZodNumber>;
5997
+ workoutDate: z.ZodString;
5998
+ }, z.core.$strip>>>;
5999
+ }, z.core.$strip>;
4926
6000
  }, z.core.$strip>;
6001
+ };
6002
+ type GetExerciseTrackingQuery = QueryOf<typeof getExerciseTrackingContract>;
6003
+ type GetExerciseTrackingResponse = ResponseOf<typeof getExerciseTrackingContract>;
6004
+ type FinishUserWorkoutBody = BodyOf<typeof finishUserWorkoutContract>;
6005
+ type FinishUserWorkoutResponse = ResponseOf<typeof finishUserWorkoutContract>;
6006
+
6007
+ declare const finishedWorkoutEntryQueryDtoSchema: z.ZodObject<{
6008
+ trackedSets: z.ZodArray<z.ZodObject<{
6009
+ reps: z.ZodInt;
6010
+ weight: z.ZodNumber;
6011
+ setIndex: z.ZodInt;
6012
+ }, z.core.$strip>>;
6013
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6014
+ isExerciseAssignedToSplit: z.ZodBoolean;
6015
+ exerciseToSplitId: z.ZodNullable<z.ZodInt>;
6016
+ exerciseId: z.ZodNullable<z.ZodInt>;
4927
6017
  }, z.core.$strip>;
4928
- declare const getExerciseTrackingResponseSchema: z.ZodObject<{
6018
+ /** Target-muscle metadata nested in a tracking-map item. */
6019
+ declare const exerciseMetadataQueryDtoSchema: z.ZodObject<{
6020
+ targetMuscle: z.ZodString;
6021
+ specificTargetMuscle: z.ZodString;
6022
+ }, z.core.$strip>;
6023
+ /** Personal-record maximum returned by the tracking analysis query. */
6024
+ declare const exerciseTrackingPrMaxQueryDtoSchema: z.ZodObject<{
6025
+ exercise: z.ZodString;
6026
+ weight: z.ZodNumber;
6027
+ reps: z.ZodInt;
6028
+ workoutTimeUtc: z.ZodString;
6029
+ }, z.core.$strip>;
6030
+ /** Aggregate workout-frequency and personal-record analysis. */
6031
+ declare const exerciseTrackingAnalysisQueryDtoSchema: z.ZodObject<{
6032
+ uniqueDays: z.ZodNumber;
6033
+ mostFrequentSplit: z.ZodNullable<z.ZodString>;
6034
+ mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
6035
+ lastWorkoutDate: z.ZodNullable<z.ZodString>;
6036
+ splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
6037
+ prs: z.ZodObject<{
6038
+ prMax: z.ZodNullable<z.ZodObject<{
6039
+ exercise: z.ZodString;
6040
+ weight: z.ZodNumber;
6041
+ reps: z.ZodInt;
6042
+ workoutTimeUtc: z.ZodString;
6043
+ }, z.core.$strip>>;
6044
+ }, z.core.$strip>;
6045
+ }, z.core.$strip>;
6046
+ /** Detailed exercise-tracking item used by each tracking map. */
6047
+ declare const trackingMapItemQueryDtoSchema: z.ZodObject<{
6048
+ id: z.ZodInt;
6049
+ exerciseToSplitId: z.ZodInt;
6050
+ weight: z.ZodArray<z.ZodNumber>;
6051
+ reps: z.ZodArray<z.ZodInt>;
6052
+ notes: z.ZodNullable<z.ZodString>;
6053
+ exerciseId: z.ZodInt;
6054
+ workoutSplitId: z.ZodInt;
6055
+ splitName: z.ZodString;
6056
+ exercise: z.ZodString;
6057
+ workoutDate: z.ZodString;
6058
+ orderIndex: z.ZodInt;
6059
+ exerciseToWorkoutSplit: z.ZodObject<{
6060
+ sets: z.ZodArray<z.ZodInt>;
6061
+ exercises: z.ZodObject<{
6062
+ targetMuscle: z.ZodString;
6063
+ specificTargetMuscle: z.ZodString;
6064
+ }, z.core.$strip>;
6065
+ }, z.core.$strip>;
6066
+ }, z.core.$strip>;
6067
+ /** Tracking item used in maps already grouped by workout date. */
6068
+ declare const trackingByDateItemQueryDtoSchema: z.ZodObject<{
6069
+ id: z.ZodInt;
6070
+ exerciseToSplitId: z.ZodInt;
6071
+ orderIndex: z.ZodInt;
6072
+ reps: z.ZodArray<z.ZodInt>;
6073
+ workoutSplitId: z.ZodInt;
6074
+ exerciseId: z.ZodInt;
6075
+ exercise: z.ZodString;
6076
+ exerciseToWorkoutSplit: z.ZodObject<{
6077
+ sets: z.ZodArray<z.ZodInt>;
6078
+ exercises: z.ZodObject<{
6079
+ targetMuscle: z.ZodString;
6080
+ specificTargetMuscle: z.ZodString;
6081
+ }, z.core.$strip>;
6082
+ }, z.core.$strip>;
6083
+ notes: z.ZodNullable<z.ZodString>;
6084
+ weight: z.ZodArray<z.ZodNumber>;
6085
+ splitName: z.ZodString;
6086
+ }, z.core.$strip>;
6087
+ /** Tracking item used in maps already grouped by workout split name. */
6088
+ declare const trackingBySplitNameItemQueryDtoSchema: z.ZodObject<{
6089
+ id: z.ZodInt;
6090
+ exerciseToSplitId: z.ZodInt;
6091
+ orderIndex: z.ZodInt;
6092
+ reps: z.ZodArray<z.ZodInt>;
6093
+ workoutSplitId: z.ZodInt;
6094
+ exerciseId: z.ZodInt;
6095
+ exercise: z.ZodString;
6096
+ exerciseToWorkoutSplit: z.ZodObject<{
6097
+ sets: z.ZodArray<z.ZodInt>;
6098
+ exercises: z.ZodObject<{
6099
+ targetMuscle: z.ZodString;
6100
+ specificTargetMuscle: z.ZodString;
6101
+ }, z.core.$strip>;
6102
+ }, z.core.$strip>;
6103
+ notes: z.ZodNullable<z.ZodString>;
6104
+ weight: z.ZodArray<z.ZodNumber>;
6105
+ workoutDate: z.ZodString;
6106
+ }, z.core.$strip>;
6107
+ /** Complete tracking and statistics aggregate returned by the tracking query. */
6108
+ declare const exerciseTrackingAndStatsQueryDtoSchema: z.ZodObject<{
4929
6109
  exerciseTrackingAnalysis: z.ZodObject<{
4930
6110
  uniqueDays: z.ZodNumber;
4931
6111
  mostFrequentSplit: z.ZodNullable<z.ZodString>;
@@ -5002,15 +6182,109 @@ declare const getExerciseTrackingResponseSchema: z.ZodObject<{
5002
6182
  }, z.core.$strip>>>;
5003
6183
  }, z.core.$strip>;
5004
6184
  }, z.core.$strip>;
6185
+ /** SQL row wrapping the complete tracking aggregate under `data`. */
6186
+ declare const exerciseTrackingAndStatsRowQueryDtoSchema: z.ZodObject<{
6187
+ data: z.ZodObject<{
6188
+ exerciseTrackingAnalysis: z.ZodObject<{
6189
+ uniqueDays: z.ZodNumber;
6190
+ mostFrequentSplit: z.ZodNullable<z.ZodString>;
6191
+ mostFrequentSplitDays: z.ZodNullable<z.ZodNumber>;
6192
+ lastWorkoutDate: z.ZodNullable<z.ZodString>;
6193
+ splitDaysByName: z.ZodRecord<z.ZodString, z.ZodNumber>;
6194
+ prs: z.ZodObject<{
6195
+ prMax: z.ZodNullable<z.ZodObject<{
6196
+ exercise: z.ZodString;
6197
+ weight: z.ZodNumber;
6198
+ reps: z.ZodInt;
6199
+ workoutTimeUtc: z.ZodString;
6200
+ }, z.core.$strip>>;
6201
+ }, z.core.$strip>;
6202
+ }, z.core.$strip>;
6203
+ exerciseTrackingMaps: z.ZodObject<{
6204
+ byDate: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
6205
+ id: z.ZodInt;
6206
+ exerciseToSplitId: z.ZodInt;
6207
+ orderIndex: z.ZodInt;
6208
+ reps: z.ZodArray<z.ZodInt>;
6209
+ workoutSplitId: z.ZodInt;
6210
+ exerciseId: z.ZodInt;
6211
+ exercise: z.ZodString;
6212
+ exerciseToWorkoutSplit: z.ZodObject<{
6213
+ sets: z.ZodArray<z.ZodInt>;
6214
+ exercises: z.ZodObject<{
6215
+ targetMuscle: z.ZodString;
6216
+ specificTargetMuscle: z.ZodString;
6217
+ }, z.core.$strip>;
6218
+ }, z.core.$strip>;
6219
+ notes: z.ZodNullable<z.ZodString>;
6220
+ weight: z.ZodArray<z.ZodNumber>;
6221
+ splitName: z.ZodString;
6222
+ }, z.core.$strip>>>;
6223
+ byExerciseToSplitId: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
6224
+ id: z.ZodInt;
6225
+ exerciseToSplitId: z.ZodInt;
6226
+ weight: z.ZodArray<z.ZodNumber>;
6227
+ reps: z.ZodArray<z.ZodInt>;
6228
+ notes: z.ZodNullable<z.ZodString>;
6229
+ exerciseId: z.ZodInt;
6230
+ workoutSplitId: z.ZodInt;
6231
+ splitName: z.ZodString;
6232
+ exercise: z.ZodString;
6233
+ workoutDate: z.ZodString;
6234
+ orderIndex: z.ZodInt;
6235
+ exerciseToWorkoutSplit: z.ZodObject<{
6236
+ sets: z.ZodArray<z.ZodInt>;
6237
+ exercises: z.ZodObject<{
6238
+ targetMuscle: z.ZodString;
6239
+ specificTargetMuscle: z.ZodString;
6240
+ }, z.core.$strip>;
6241
+ }, z.core.$strip>;
6242
+ }, z.core.$strip>>>;
6243
+ bySplitName: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
6244
+ id: z.ZodInt;
6245
+ exerciseToSplitId: z.ZodInt;
6246
+ orderIndex: z.ZodInt;
6247
+ reps: z.ZodArray<z.ZodInt>;
6248
+ workoutSplitId: z.ZodInt;
6249
+ exerciseId: z.ZodInt;
6250
+ exercise: z.ZodString;
6251
+ exerciseToWorkoutSplit: z.ZodObject<{
6252
+ sets: z.ZodArray<z.ZodInt>;
6253
+ exercises: z.ZodObject<{
6254
+ targetMuscle: z.ZodString;
6255
+ specificTargetMuscle: z.ZodString;
6256
+ }, z.core.$strip>;
6257
+ }, z.core.$strip>;
6258
+ notes: z.ZodNullable<z.ZodString>;
6259
+ weight: z.ZodArray<z.ZodNumber>;
6260
+ workoutDate: z.ZodString;
6261
+ }, z.core.$strip>>>;
6262
+ }, z.core.$strip>;
6263
+ }, z.core.$strip>;
6264
+ }, z.core.$strip>;
6265
+ /** SQL row resolving the workout split for an exercise assignment. */
6266
+ declare const workoutSplitLookupQueryDtoSchema: z.ZodObject<{
6267
+ workoutSplitId: z.ZodInt;
6268
+ }, z.core.$strip>;
6269
+ /** SQL row returned after inserting a workout summary. */
6270
+ declare const workoutSummaryIdQueryDtoSchema: z.ZodObject<{
6271
+ id: z.ZodString;
6272
+ }, z.core.$strip>;
6273
+ /** SQL row returned after inserting an exercise-tracking record. */
6274
+ declare const exerciseTrackingIdQueryDtoSchema: z.ZodObject<{
6275
+ id: z.ZodInt;
6276
+ }, z.core.$strip>;
6277
+ type ExerciseTrackingAnalysisQueryDto = z.infer<typeof exerciseTrackingAnalysisQueryDtoSchema>;
6278
+ type ExerciseMetadataQueryDto = z.infer<typeof exerciseMetadataQueryDtoSchema>;
6279
+ type ExerciseTrackingPrMaxQueryDto = z.infer<typeof exerciseTrackingPrMaxQueryDtoSchema>;
6280
+ type TrackingMapItemQueryDto = z.infer<typeof trackingMapItemQueryDtoSchema>;
6281
+ type TrackingByDateItemQueryDto = z.infer<typeof trackingByDateItemQueryDtoSchema>;
6282
+ type TrackingBySplitNameItemQueryDto = z.infer<typeof trackingBySplitNameItemQueryDtoSchema>;
6283
+ type ExerciseTrackingAndStatsQueryDto = z.infer<typeof exerciseTrackingAndStatsQueryDtoSchema>;
6284
+ type ExerciseTrackingAndStatsRowQueryDto = z.infer<typeof exerciseTrackingAndStatsRowQueryDtoSchema>;
6285
+ type WorkoutSplitLookupQueryDto = z.infer<typeof workoutSplitLookupQueryDtoSchema>;
6286
+ type WorkoutSummaryIdQueryDto = z.infer<typeof workoutSummaryIdQueryDtoSchema>;
6287
+ type ExerciseTrackingIdQueryDto = z.infer<typeof exerciseTrackingIdQueryDtoSchema>;
6288
+ type FinishedWorkoutEntryQueryDto = z.infer<typeof finishedWorkoutEntryQueryDtoSchema>;
5005
6289
 
5006
- type GetExerciseTrackingQuery = z$1.infer<typeof getExerciseTrackingRequest.shape.query>;
5007
- type GetExerciseTrackingResponse = z$1.infer<typeof getExerciseTrackingResponseSchema>;
5008
- type FinishUserWorkoutBody = z$1.infer<typeof finishWorkoutRequest.shape.body>;
5009
- type FinishUserWorkoutResponse = z$1.infer<typeof finishUserWorkoutResponseSchema>;
5010
-
5011
- type ExerciseTrackingAnalysis = z.infer<typeof exerciseTrackingAnalysisSchema>;
5012
- type TrackingMapItem = z.infer<typeof trackingMapItemSchema>;
5013
- type ExerciseTrackingAndStats = z.infer<typeof exerciseTrackingAndStatsSchema>;
5014
- type FinishedWorkoutEntry = z.infer<typeof finishWorkoutRequest.shape.body.shape.workout.element>;
5015
-
5016
- export { type AccessTokenPayload, type AddAerobicInput, type AddUserAerobicsBody, type AddWorkoutBody, type AddWorkoutResponse, type AddWorkoutSplitPayload, type AdherenceExerciseStats, type AerobicTrackingRow, type AerobicsDailyRecord, type AerobicsWeeklyRecord, type AllUserMessages, type AnalyzeVideoPayload, type AnalyzeVideoResultPayload, type AppleOAuthBody, type AppleTokenVerificationResult, type AuthenticatedUserForUpdate, type BodyOf, type BootstrapRequestQuery, type BootstrapResponse, type ChangeEmailAndVerifyBody, type ChangeEmailTokenPayload, type CheckUserVerifyQuery, type Contract, type CreateUserBody, type CreateUserResponse, type DeleteMessageParams, type DeleteMessageResponse, type DeleteUserProfilePicBody, type DeletedMessage, type EmailVerifyPayload, type EnqueueAanalyzeVideoParams, type ExerciseInPlan, type ExerciseMetadata, type ExerciseRow, type ExerciseToWorkoutSplitRow, type ExerciseTrackingAnalysis, type ExerciseTrackingAndStats, type ExerciseTrackingRow, type ExercisesMapByMuscle, type FinishUserWorkoutBody, type FinishUserWorkoutResponse, type FinishedWorkoutEntry, type ForgotPasswordPayload, type GenerateTicketBody, type GenerateTicketResponse, type GetAllExercisesExercise, type GetAllExercisesResponse, type GetAllUserMessagesQuery, type GetAllUserMessagesResponse, type GetAnalyticsResponse, type GetAuthenticatedUserByIdResponse, type GetExerciseTrackingQuery, type GetExerciseTrackingResponse, type GetPresignedUrlFromS3Body, type GetPresignedUrlFromS3Response, type GetUserAerobicsQuery, type GetWholeUserWorkoutPlanQuery, type GetWholeUserWorkoutPlanResponse, type GoalAdherenceResponse, type GoogleOAuthBody, type GoogleTokenVerificationResult, type LogOutResponse, type LoginRequestBody, type LoginResponse, type MarkMessageAsReadParams, type MarkMessageAsReadResponse, type MessageAfterSendResponse, type MessageAsRead, type MessageRow, type OAuthLoginResponse, type ParamsOf, type QueryGetExerciseMapByMuscleRow, type QueryOf, type RefreshTokenResponse, type RequestOf, type RequestSchema, type ResetPasswordBody, type ResetPasswordQuery, type ResetPasswordResponse, type ResponseOf, type SaveUserPushTokenBody, type SendChangePassEmailBody, type SendVerifcationMailBody, type SetProfilePicAndUpdateDBResponse, type SquatRepetition, type TokenVersionResult, type TrackingMapItem, type UpdateAuthenticatedUserResponse, type UpdateUserBody, type UserAerobicsResponse, type UserAfterBump, type UserByIndetifier, type UserDataResponse, type UserInsert, type UserRow, type VerifyUserAccountQuery, type WeeklyData, type WholeUserWorkoutPlan, type WorkoutPlanRow, type WorkoutRMRecord, type WorkoutRMsResponse, type WorkoutSplitRow, type WorkoutSplitsMap, type WorkoutSummaryRow, accessTokenPayloadSchema, addAerobicsRequest, addWorkoutRequest, addWorkoutResponseSchema, adherenceExerciseStatsSchema, aerobicTrackingDbSchema, aerobicsDailyRecordSchema, aerobicsWeeklyRecordSchema, allUserMessageSchema, analyzeVideoPayloadSchema, analyzeVideoResultPayloadSchema, appleOAuthRequest, appleTokenVerificationResultSchema, bootstrapRequest, bootstrapResponseSchema, changeEmailAndVerifyRequest, changeEmailTokenPayloadSchema, checkUserVerifyRequest, createUserRequest, createUserResponseSchema, createUserUserSchema, deleteMessageRequest, deleteMessageResponseSchema, deleteProfilePicRequest, deletedMessageSchema, emailVerifyPayloadSchema, enqueueAanalyzeVideoParamsSchema, exerciseDbSchema, exerciseInPlanSchema, exerciseMetadataSchema, exerciseToWorkoutSplitDbSchema, exerciseToWorkoutSplitExpandedViewDbSchema, exerciseTrackingAnalysisSchema, exerciseTrackingAndStatsSchema, exerciseTrackingDbSchema, exerciseTrackingExpandedViewDbSchema, exerciseTrackingPrMaxSchema, finishUserWorkoutResponseSchema, finishWorkoutRequest, forgotPasswordPayloadSchema, generateTicketRequest, generateTicketResponseSchema, getAerobicsRequest, getAllExercisesExerciseSchema, getAllExercisesResponseSchema, getAllMessagesRequest, getAllUserMessagesResponseSchema, getAnalyticsResponseSchema, getAuthenticatedUserByIdResponseSchema, getExerciseTrackingRequest, getExerciseTrackingResponseSchema, getPresignedUrlFromS3ResponseSchema, getPresignedUrlS3Request, getWholeUserWorkoutPlanResponseSchema, getWholeWorkoutPlanRequest, googleOAuthRequest, googleTokenVerificationResultSchema, loginRequest, loginResponseSchema, logoutResponseSchema, markMessageAsReadRequest, markMessageAsReadResponseSchema, messageAfterSendResponseSchema, messageAsReadSchema, messageDbSchema, oAuthLoginResponseSchema, oauthAccountDbSchema, proceedLoginResponseSchema, prsViewDbSchema, queryGetExerciseMapByMuscleRowSchema, refreshTokenResponseSchema, resetPasswordRequest, resetPasswordResponseSchema, saveUserPushTokenRequest, sendChangePassEmailRequest, sendVerificationMailRequest, serializedDateSchema, setProfilePicAndUpdateDBResponseSchema, squatRepetitionSchema, timezoneSchema, tokenVersionResultSchema, trackingByDateItemSchema, trackingBySplitNameItemSchema, trackingMapItemSchema, trackingSetDbSchema, updateAuthenticatedUserResponseSchema, updateUserRequest, userAerobicsResponseSchema, userAfterBumpSchema, userByIndetifierSchema, userDataResponseSchema, userDataSchema, userDbSchema, userInsertDbSchema, userReminderSettingDbSchema, userSplitInformationDbSchema, userUpdateDbSchema, verifyAccountRequest, weeklyDataSchema, wholeUserWorkoutPlanSchema, workoutPlanDbSchema, workoutRmRecordSchema, workoutSetDbSchema, workoutSplitDbSchema, workoutSplitSchema, workoutSplitsMapItemSchema, workoutSplitsMapSchema, workoutSummaryDbSchema };
6290
+ export { type AccessTokenPayloadDto, type AddAerobicInputQueryDto, type AddUserAerobicsBody, type AddWorkoutBody, type AddWorkoutResponse, type AddWorkoutSplitPayloadQueryDto, type AdherenceExerciseStatsQueryDto, type AerobicTrackingRow, type AerobicsDailyRecordQueryDto, type AerobicsWeeklyRecordQueryDto, type AllUserMessageQueryDto, type AnalyzeVideoPayloadDto, type AnalyzeVideoResultPayloadDto, type AppleOAuthBody, type AppleTokenVerificationResultDto, type AuthenticatedUserForUpdateQueryDto, type BodyOf, type BootstrapRequestQuery, type BootstrapResponse, type ChangeEmailAndVerifyBody, type ChangeEmailTokenPayloadDto, type CheckUserVerifyQuery, type Contract, type CreateUserBody, type CreateUserResponse, type CreatedUserQueryDto, type CreatedUserRawQueryDto, type CreatedUserRowQueryDto, type DeleteMessageParams, type DeleteMessageResponse, type DeleteUserProfilePicBody, type DeletedMessageQueryDto, type EmailVerifyPayloadDto, type EnqueueAnalyzeVideoParamsDto, type ExerciseAssignmentIdQueryDto, type ExerciseInPlanQueryDto, type ExerciseMapByMuscleRowQueryDto, type ExerciseMetadataQueryDto, type ExerciseRow, type ExerciseToWorkoutSplitRow, type ExerciseTrackingAnalysisQueryDto, type ExerciseTrackingAndStatsQueryDto, type ExerciseTrackingAndStatsRowQueryDto, type ExerciseTrackingIdQueryDto, type ExerciseTrackingPrMaxQueryDto, type ExerciseTrackingRow, type ExercisesMapByMuscleQueryDto, type FinishUserWorkoutBody, type FinishUserWorkoutResponse, type FinishedWorkoutEntryQueryDto, type ForgotPasswordPayloadDto, type GenerateTicketBody, type GenerateTicketResponse, type GetAllExercisesExerciseQueryDto, type GetAllExercisesResponse, type GetAllUserMessagesQuery, type GetAllUserMessagesResponse, type GetAnalyticsResponse, type GetAuthenticatedUserByIdResponse, type GetExerciseTrackingQuery, type GetExerciseTrackingResponse, type GetPresignedUrlFromS3Body, type GetPresignedUrlFromS3Response, type GetUserAerobicsQuery, type GetWholeUserWorkoutPlanQuery, type GetWholeUserWorkoutPlanResponse, type GoalAdherenceQueryDto, type GoalAdherenceRowQueryDto, type GoogleOAuthBody, type GoogleTokenVerificationResultDto, type LastLoginQueryDto, type LoginRequestBody, type LoginResponse, type LogoutResponse, type MarkMessageAsReadParams, type MarkMessageAsReadResponse, type MessageAfterSendQueryDto, type MessageAsReadQueryDto, type MessageRow, type OAuthCreatedUserRowQueryDto, type OAuthLinkQueryDto, type OAuthLinkRowQueryDto, type OAuthLoginResponse, type OAuthLookupQueryDto, type OAuthLookupRawQueryDto, type OAuthLookupRowQueryDto, type ParamsOf, type QueryOf, type RefreshTokenResponse, type RequestOf, type RequestSchema, type ResetPasswordBody, type ResetPasswordQuery, type ResetPasswordResponse, type ResponseOf, type SaveUserPushTokenBody, type SendChangePassEmailBody, type SendVerificationMailBody, type SetProfilePicAndUpdateDBResponse, type SquatRepetitionDto, type TokenVersionQueryDto, type TrackingByDateItemQueryDto, type TrackingBySplitNameItemQueryDto, type TrackingMapItemQueryDto, type UpdateAuthenticatedUserResponse, type UpdateUserBody, type UserAerobicsQueryDto, type UserAerobicsResponse, type UserAerobicsRowQueryDto, type UserAfterBumpQueryDto, type UserByIdentifierQueryDto, type UserByIdentifierRawQueryDto, type UserByIdentifierRowQueryDto, type UserByUsernameRawQueryDto, type UserByUsernameRowQueryDto, type UserConflictQueryDto, type UserDataQueryDto, type UserDataResponse, type UserDataRowQueryDto, type UserExistsQueryDto, type UserInsert, type UserMessageIdentityQueryDto, type UserProfilePicQueryDto, type UserRow, type UserToHourlyReminderQueryDto, type UserWithNotificationsEnabledQueryDto, type VerifyUserAccountQuery, type WeeklyDataQueryDto, type WholeUserWorkoutPlanQueryDto, type WorkoutExerciseInputQueryDto, type WorkoutExerciseMetadataQueryDto, type WorkoutPlanIdQueryDto, type WorkoutPlanRow, type WorkoutRmRecordQueryDto, type WorkoutRmsQueryDto, type WorkoutRmsRowQueryDto, type WorkoutSplitIdQueryDto, type WorkoutSplitLookupQueryDto, type WorkoutSplitQueryDto, type WorkoutSplitRow, type WorkoutSplitsMapItemQueryDto, type WorkoutSplitsMapQueryDto, type WorkoutSplitsRowQueryDto, type WorkoutSummaryIdQueryDto, type WorkoutSummaryRow, accessTokenPayloadDtoSchema, addAerobicInputQueryDtoSchema, addAerobicsRequestSchema, addUserAerobicsContract, addWorkoutContract, addWorkoutRequestSchema, addWorkoutResponseSchema, addWorkoutSplitPayloadQueryDtoSchema, adherenceExerciseStatsQueryDtoSchema, aerobicTrackingDbSchema, aerobicsDailyRecordQueryDtoSchema, aerobicsWeeklyRecordQueryDtoSchema, allUserMessageQueryDtoSchema, analyzeVideoPayloadDtoSchema, analyzeVideoResultPayloadDtoSchema, appleOAuthContract, appleOAuthRequestSchema, appleTokenVerificationResultDtoSchema, authenticatedUserForUpdateQueryDtoSchema, bootstrapContract, bootstrapRequestSchema, bootstrapResponseSchema, changeEmailAndVerifyContract, changeEmailAndVerifyRequestSchema, changeEmailTokenPayloadDtoSchema, checkUserVerifyContract, checkUserVerifyRequestSchema, createUserContract, createUserRequestSchema, createUserResponseSchema, createUserUserSchema, createdUserQueryDtoSchema, createdUserRawQueryDtoSchema, createdUserRowQueryDtoSchema, deleteMessageContract, deleteMessageRequestSchema, deleteMessageResponseSchema, deleteProfilePicRequestSchema, deleteUserProfilePicContract, deletedMessageQueryDtoSchema, emailVerifyPayloadDtoSchema, enqueueAnalyzeVideoParamsDtoSchema, exerciseAssignmentIdQueryDtoSchema, exerciseDbSchema, exerciseInPlanQueryDtoSchema, exerciseMapByMuscleRowQueryDtoSchema, exerciseMetadataQueryDtoSchema, exerciseToWorkoutSplitDbSchema, exerciseToWorkoutSplitExpandedViewDbSchema, exerciseTrackingAnalysisQueryDtoSchema, exerciseTrackingAndStatsQueryDtoSchema, exerciseTrackingAndStatsRowQueryDtoSchema, exerciseTrackingDbSchema, exerciseTrackingExpandedViewDbSchema, exerciseTrackingIdQueryDtoSchema, exerciseTrackingPrMaxQueryDtoSchema, exercisesMapByMuscleQueryDtoSchema, finishUserWorkoutContract, finishUserWorkoutResponseSchema, finishWorkoutRequestSchema, finishedWorkoutEntryQueryDtoSchema, forgotPasswordPayloadDtoSchema, generateTicketContract, generateTicketRequestSchema, generateTicketResponseSchema, getAerobicsRequestSchema, getAllExercisesContract, getAllExercisesExerciseQueryDtoSchema, getAllExercisesResponseSchema, getAllMessagesRequestSchema, getAllUserMessagesContract, getAllUserMessagesResponseSchema, getAnalyticsContract, getAnalyticsResponseSchema, getAuthenticatedUserByIdContract, getAuthenticatedUserByIdResponseSchema, getExerciseTrackingContract, getExerciseTrackingRequestSchema, getExerciseTrackingResponseSchema, getPresignedUrlFromS3Contract, getPresignedUrlFromS3RequestSchema, getPresignedUrlFromS3ResponseSchema, getUserAerobicsContract, getWholeUserWorkoutPlanContract, getWholeUserWorkoutPlanResponseSchema, getWholeWorkoutPlanRequestSchema, goalAdherenceQueryDtoSchema, goalAdherenceRowQueryDtoSchema, googleOAuthContract, googleOAuthRequestSchema, googleTokenVerificationResultDtoSchema, lastLoginQueryDtoSchema, loginContract, loginRequestSchema, loginResponseSchema, logoutContract, logoutResponseSchema, markMessageAsReadContract, markMessageAsReadRequestSchema, markMessageAsReadResponseSchema, messageAfterSendQueryDtoSchema, messageAsReadQueryDtoSchema, messageDbSchema, oAuthCreatedUserRowQueryDtoSchema, oAuthLinkQueryDtoSchema, oAuthLinkRowQueryDtoSchema, oAuthLoginContract, oAuthLoginResponseSchema, oAuthLookupQueryDtoSchema, oAuthLookupRawQueryDtoSchema, oAuthLookupRowQueryDtoSchema, oauthAccountDbSchema, proceedLoginResponseSchema, prsViewDbSchema, refreshTokenContract, refreshTokenResponseSchema, resetPasswordContract, resetPasswordRequestSchema, resetPasswordResponseSchema, saveUserPushTokenContract, saveUserPushTokenRequestSchema, sendChangePassEmailContract, sendChangePassEmailRequestSchema, sendVerificationMailContract, sendVerificationMailRequestSchema, serializedDateSchema, setProfilePicAndUpdateDBContract, setProfilePicAndUpdateDBResponseSchema, squatRepetitionDtoSchema, timezoneSchema, tokenVersionQueryDtoSchema, trackingByDateItemQueryDtoSchema, trackingBySplitNameItemQueryDtoSchema, trackingMapItemQueryDtoSchema, trackingSetDbSchema, updateAuthenticatedUserContract, updateAuthenticatedUserResponseSchema, updateUserRequestSchema, userAerobicsQueryDtoSchema, userAerobicsResponseSchema, userAerobicsRowQueryDtoSchema, userAfterBumpQueryDtoSchema, userByIdentifierQueryDtoSchema, userByIdentifierRawQueryDtoSchema, userByIdentifierRowQueryDtoSchema, userByUsernameRawQueryDtoSchema, userByUsernameRowQueryDtoSchema, userConflictQueryDtoSchema, userDataContract, userDataQueryDtoSchema, userDataResponseSchema, userDataRowQueryDtoSchema, userDbSchema, userExistsQueryDtoSchema, userInsertDbSchema, userMessageIdentityQueryDtoSchema, userProfilePicQueryDtoSchema, userReminderSettingDbSchema, userSplitInformationDbSchema, userToHourlyReminderQueryDtoSchema, userUpdateDbSchema, userWithNotificationsEnabledQueryDtoSchema, verifyAccountRequestSchema, verifyUserAccountContract, weeklyDataQueryDtoSchema, wholeUserWorkoutPlanQueryDtoSchema, workoutExerciseInputQueryDtoSchema, workoutExerciseMetadataQueryDtoSchema, workoutPlanDbSchema, workoutPlanIdQueryDtoSchema, workoutRmRecordQueryDtoSchema, workoutRmsQueryDtoSchema, workoutRmsRowQueryDtoSchema, workoutSetDbSchema, workoutSplitDbSchema, workoutSplitIdQueryDtoSchema, workoutSplitLookupQueryDtoSchema, workoutSplitQueryDtoSchema, workoutSplitsMapItemQueryDtoSchema, workoutSplitsMapQueryDtoSchema, workoutSplitsRowQueryDtoSchema, workoutSummaryDbSchema, workoutSummaryIdQueryDtoSchema };