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