@sunsteel/contracts 0.15.0 → 0.17.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.cjs CHANGED
@@ -21,14 +21,21 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
23
  MUSCLE_GROUPS: () => MUSCLE_GROUPS,
24
+ PREFERRED_TRAINING_STYLE_VALUES: () => PREFERRED_TRAINING_STYLE_VALUES,
24
25
  PROFILE_BIO_MAX_LENGTH: () => PROFILE_BIO_MAX_LENGTH,
26
+ PROFILE_FAVORITE_EXERCISES_MAX: () => PROFILE_FAVORITE_EXERCISES_MAX,
25
27
  PROFILE_LOCATION_MAX_LENGTH: () => PROFILE_LOCATION_MAX_LENGTH,
28
+ PROFILE_TRAINING_DISCIPLINES_MAX: () => PROFILE_TRAINING_DISCIPLINES_MAX,
29
+ PROFILE_TRAINING_GOALS_MAX: () => PROFILE_TRAINING_GOALS_MAX,
26
30
  PROFILE_VISIBILITY_VALUES: () => PROFILE_VISIBILITY_VALUES,
27
31
  PROGRESSION_SCHEMES: () => PROGRESSION_SCHEMES,
28
32
  REP_TYPES: () => REP_TYPES,
29
33
  RESERVED_USERNAMES: () => RESERVED_USERNAMES,
30
34
  SEXES: () => SEXES,
35
+ TRAINING_DISCIPLINE_VALUES: () => TRAINING_DISCIPLINE_VALUES,
31
36
  TRAINING_EVENT_TYPES: () => TRAINING_EVENT_TYPES,
37
+ TRAINING_EXPERIENCE_LEVEL_VALUES: () => TRAINING_EXPERIENCE_LEVEL_VALUES,
38
+ TRAINING_GOAL_VALUES: () => TRAINING_GOAL_VALUES,
32
39
  USERNAME_MAX_LENGTH: () => USERNAME_MAX_LENGTH,
33
40
  USERNAME_MIN_LENGTH: () => USERNAME_MIN_LENGTH,
34
41
  USERNAME_PATTERN_SOURCE: () => USERNAME_PATTERN_SOURCE,
@@ -77,6 +84,9 @@ var USERNAME_MAX_LENGTH = 30;
77
84
  var USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
78
85
  var PROFILE_BIO_MAX_LENGTH = 500;
79
86
  var PROFILE_LOCATION_MAX_LENGTH = 100;
87
+ var PROFILE_TRAINING_GOALS_MAX = 3;
88
+ var PROFILE_TRAINING_DISCIPLINES_MAX = 3;
89
+ var PROFILE_FAVORITE_EXERCISES_MAX = 5;
80
90
  var RESERVED_USERNAMES = [
81
91
  "achievements",
82
92
  "admin",
@@ -114,6 +124,36 @@ var PROFILE_VISIBILITY_VALUES = [
114
124
  "FOLLOWERS",
115
125
  "PRIVATE"
116
126
  ];
127
+ var TRAINING_GOAL_VALUES = [
128
+ "STRENGTH",
129
+ "MUSCLE_GROWTH",
130
+ "FAT_LOSS",
131
+ "ENDURANCE",
132
+ "GENERAL_FITNESS",
133
+ "ATHLETIC_PERFORMANCE",
134
+ "MOBILITY"
135
+ ];
136
+ var TRAINING_EXPERIENCE_LEVEL_VALUES = [
137
+ "BEGINNER",
138
+ "INTERMEDIATE",
139
+ "ADVANCED"
140
+ ];
141
+ var TRAINING_DISCIPLINE_VALUES = [
142
+ "BODYBUILDING",
143
+ "POWERLIFTING",
144
+ "WEIGHTLIFTING",
145
+ "CALISTHENICS",
146
+ "STRONGMAN",
147
+ "HYBRID_TRAINING",
148
+ "GENERAL_STRENGTH"
149
+ ];
150
+ var PREFERRED_TRAINING_STYLE_VALUES = [
151
+ "FULL_BODY",
152
+ "UPPER_LOWER",
153
+ "PUSH_PULL_LEGS",
154
+ "BODY_PART_SPLIT",
155
+ "CIRCUIT"
156
+ ];
117
157
 
118
158
  // src/analytics.ts
119
159
  var TRAINING_EVENT_TYPES = [
@@ -124,14 +164,21 @@ var TRAINING_EVENT_TYPES = [
124
164
  // Annotate the CommonJS export names for ESM import in node:
125
165
  0 && (module.exports = {
126
166
  MUSCLE_GROUPS,
167
+ PREFERRED_TRAINING_STYLE_VALUES,
127
168
  PROFILE_BIO_MAX_LENGTH,
169
+ PROFILE_FAVORITE_EXERCISES_MAX,
128
170
  PROFILE_LOCATION_MAX_LENGTH,
171
+ PROFILE_TRAINING_DISCIPLINES_MAX,
172
+ PROFILE_TRAINING_GOALS_MAX,
129
173
  PROFILE_VISIBILITY_VALUES,
130
174
  PROGRESSION_SCHEMES,
131
175
  REP_TYPES,
132
176
  RESERVED_USERNAMES,
133
177
  SEXES,
178
+ TRAINING_DISCIPLINE_VALUES,
134
179
  TRAINING_EVENT_TYPES,
180
+ TRAINING_EXPERIENCE_LEVEL_VALUES,
181
+ TRAINING_GOAL_VALUES,
135
182
  USERNAME_MAX_LENGTH,
136
183
  USERNAME_MIN_LENGTH,
137
184
  USERNAME_PATTERN_SOURCE,
package/dist/index.d.cts CHANGED
@@ -301,21 +301,50 @@ declare const USERNAME_MAX_LENGTH = 30;
301
301
  declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
302
302
  declare const PROFILE_BIO_MAX_LENGTH = 500;
303
303
  declare const PROFILE_LOCATION_MAX_LENGTH = 100;
304
+ declare const PROFILE_TRAINING_GOALS_MAX = 3;
305
+ declare const PROFILE_TRAINING_DISCIPLINES_MAX = 3;
306
+ declare const PROFILE_FAVORITE_EXERCISES_MAX = 5;
304
307
  declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
305
308
  declare const PROFILE_VISIBILITY_VALUES: readonly ["PUBLIC", "FOLLOWERS", "PRIVATE"];
306
309
  type ProfileVisibility = (typeof PROFILE_VISIBILITY_VALUES)[number];
310
+ declare const TRAINING_GOAL_VALUES: readonly ["STRENGTH", "MUSCLE_GROWTH", "FAT_LOSS", "ENDURANCE", "GENERAL_FITNESS", "ATHLETIC_PERFORMANCE", "MOBILITY"];
311
+ type TrainingGoal = (typeof TRAINING_GOAL_VALUES)[number];
312
+ declare const TRAINING_EXPERIENCE_LEVEL_VALUES: readonly ["BEGINNER", "INTERMEDIATE", "ADVANCED"];
313
+ type TrainingExperienceLevel = (typeof TRAINING_EXPERIENCE_LEVEL_VALUES)[number];
314
+ declare const TRAINING_DISCIPLINE_VALUES: readonly ["BODYBUILDING", "POWERLIFTING", "WEIGHTLIFTING", "CALISTHENICS", "STRONGMAN", "HYBRID_TRAINING", "GENERAL_STRENGTH"];
315
+ type TrainingDiscipline = (typeof TRAINING_DISCIPLINE_VALUES)[number];
316
+ declare const PREFERRED_TRAINING_STYLE_VALUES: readonly ["FULL_BODY", "UPPER_LOWER", "PUSH_PULL_LEGS", "BODY_PART_SPLIT", "CIRCUIT"];
317
+ type PreferredTrainingStyle = (typeof PREFERRED_TRAINING_STYLE_VALUES)[number];
318
+ interface ProfileFavoriteExercise {
319
+ id: string;
320
+ name: string;
321
+ }
322
+ interface TrainingIdentity {
323
+ goals: TrainingGoal[];
324
+ experienceLevel: TrainingExperienceLevel | null;
325
+ disciplines: TrainingDiscipline[];
326
+ preferredStyle: PreferredTrainingStyle | null;
327
+ favoriteExercises: ProfileFavoriteExercise[];
328
+ }
307
329
  interface ProfilePrivacySettings {
308
330
  biography: ProfileVisibility;
309
331
  location: ProfileVisibility;
332
+ trainingIdentity: ProfileVisibility;
310
333
  workoutHistory: ProfileVisibility;
311
334
  records: ProfileVisibility;
312
335
  routines: ProfileVisibility;
313
336
  achievements: ProfileVisibility;
314
337
  bodyMetrics: ProfileVisibility;
315
338
  }
339
+ interface ProfileDiscoverySettings {
340
+ discoverableByName: boolean;
341
+ discoverableByUsername: boolean;
342
+ discoverableByContacts: boolean;
343
+ }
316
344
  interface ProfileViewerAccess {
317
345
  biography: boolean;
318
346
  location: boolean;
347
+ trainingIdentity: boolean;
319
348
  workoutHistory: boolean;
320
349
  records: boolean;
321
350
  routines: boolean;
@@ -344,12 +373,14 @@ interface UserProfile {
344
373
  avatarUrl?: string | null;
345
374
  bio?: string | null;
346
375
  location?: string | null;
376
+ trainingIdentity: TrainingIdentity;
347
377
  age?: number | null;
348
378
  sex?: Sex | null;
349
379
  weight?: number | null;
350
380
  height?: number | null;
351
381
  weightUnit: WeightUnit;
352
382
  privacySettings: ProfilePrivacySettings;
383
+ discoverySettings: ProfileDiscoverySettings;
353
384
  followerCount: number;
354
385
  followingCount: number;
355
386
  createdAt: IsoDateString;
@@ -363,6 +394,7 @@ interface PublicUserProfile {
363
394
  avatarUrl?: string | null;
364
395
  bio?: string | null;
365
396
  location?: string | null;
397
+ trainingIdentity?: TrainingIdentity;
366
398
  createdAt: IsoDateString;
367
399
  updatedAt: IsoDateString;
368
400
  followerCount: number;
@@ -380,13 +412,19 @@ interface UpdateProfileRequest {
380
412
  avatarUrl?: string | null;
381
413
  bio?: string | null;
382
414
  location?: string | null;
415
+ trainingGoals?: TrainingGoal[];
416
+ trainingExperienceLevel?: TrainingExperienceLevel | null;
417
+ trainingDisciplines?: TrainingDiscipline[];
418
+ preferredTrainingStyle?: PreferredTrainingStyle | null;
419
+ favoriteExerciseIds?: string[];
383
420
  age?: number | null;
384
421
  sex?: Sex | null;
385
422
  weight?: number | null;
386
423
  height?: number | null;
387
424
  weightUnit?: WeightUnit;
388
425
  }
389
- type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location'>>;
426
+ type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'>>;
427
+ type UpdateProfileDiscoveryRequest = ProfileDiscoverySettings;
390
428
  interface PlatePairInventory {
391
429
  weightKg: number;
392
430
  pairCount: number;
@@ -514,4 +552,4 @@ interface CreateRoutineRequest {
514
552
  }
515
553
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
516
554
 
517
- export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PROFILE_BIO_MAX_LENGTH, PROFILE_LOCATION_MAX_LENGTH, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_EVENT_TYPES, type TrainingEventType, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
555
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PREFERRED_TRAINING_STYLE_VALUES, PROFILE_BIO_MAX_LENGTH, PROFILE_FAVORITE_EXERCISES_MAX, PROFILE_LOCATION_MAX_LENGTH, PROFILE_TRAINING_DISCIPLINES_MAX, PROFILE_TRAINING_GOALS_MAX, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreferredTrainingStyle, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfileDiscoverySettings, type ProfileFavoriteExercise, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_DISCIPLINE_VALUES, TRAINING_EVENT_TYPES, TRAINING_EXPERIENCE_LEVEL_VALUES, TRAINING_GOAL_VALUES, type TrainingDiscipline, type TrainingEventType, type TrainingExperienceLevel, type TrainingGoal, type TrainingIdentity, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
package/dist/index.d.ts CHANGED
@@ -301,21 +301,50 @@ declare const USERNAME_MAX_LENGTH = 30;
301
301
  declare const USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
302
302
  declare const PROFILE_BIO_MAX_LENGTH = 500;
303
303
  declare const PROFILE_LOCATION_MAX_LENGTH = 100;
304
+ declare const PROFILE_TRAINING_GOALS_MAX = 3;
305
+ declare const PROFILE_TRAINING_DISCIPLINES_MAX = 3;
306
+ declare const PROFILE_FAVORITE_EXERCISES_MAX = 5;
304
307
  declare const RESERVED_USERNAMES: readonly ["achievements", "admin", "api", "auth", "dashboard", "edit", "exercises", "help", "login", "logout", "me", "new", "notifications", "privacy", "profile", "profiles", "progress", "register", "routines", "schedule", "search", "settings", "signup", "sunnsteel", "sunsteel", "support", "system", "terms", "users", "workouts"];
305
308
  declare const PROFILE_VISIBILITY_VALUES: readonly ["PUBLIC", "FOLLOWERS", "PRIVATE"];
306
309
  type ProfileVisibility = (typeof PROFILE_VISIBILITY_VALUES)[number];
310
+ declare const TRAINING_GOAL_VALUES: readonly ["STRENGTH", "MUSCLE_GROWTH", "FAT_LOSS", "ENDURANCE", "GENERAL_FITNESS", "ATHLETIC_PERFORMANCE", "MOBILITY"];
311
+ type TrainingGoal = (typeof TRAINING_GOAL_VALUES)[number];
312
+ declare const TRAINING_EXPERIENCE_LEVEL_VALUES: readonly ["BEGINNER", "INTERMEDIATE", "ADVANCED"];
313
+ type TrainingExperienceLevel = (typeof TRAINING_EXPERIENCE_LEVEL_VALUES)[number];
314
+ declare const TRAINING_DISCIPLINE_VALUES: readonly ["BODYBUILDING", "POWERLIFTING", "WEIGHTLIFTING", "CALISTHENICS", "STRONGMAN", "HYBRID_TRAINING", "GENERAL_STRENGTH"];
315
+ type TrainingDiscipline = (typeof TRAINING_DISCIPLINE_VALUES)[number];
316
+ declare const PREFERRED_TRAINING_STYLE_VALUES: readonly ["FULL_BODY", "UPPER_LOWER", "PUSH_PULL_LEGS", "BODY_PART_SPLIT", "CIRCUIT"];
317
+ type PreferredTrainingStyle = (typeof PREFERRED_TRAINING_STYLE_VALUES)[number];
318
+ interface ProfileFavoriteExercise {
319
+ id: string;
320
+ name: string;
321
+ }
322
+ interface TrainingIdentity {
323
+ goals: TrainingGoal[];
324
+ experienceLevel: TrainingExperienceLevel | null;
325
+ disciplines: TrainingDiscipline[];
326
+ preferredStyle: PreferredTrainingStyle | null;
327
+ favoriteExercises: ProfileFavoriteExercise[];
328
+ }
307
329
  interface ProfilePrivacySettings {
308
330
  biography: ProfileVisibility;
309
331
  location: ProfileVisibility;
332
+ trainingIdentity: ProfileVisibility;
310
333
  workoutHistory: ProfileVisibility;
311
334
  records: ProfileVisibility;
312
335
  routines: ProfileVisibility;
313
336
  achievements: ProfileVisibility;
314
337
  bodyMetrics: ProfileVisibility;
315
338
  }
339
+ interface ProfileDiscoverySettings {
340
+ discoverableByName: boolean;
341
+ discoverableByUsername: boolean;
342
+ discoverableByContacts: boolean;
343
+ }
316
344
  interface ProfileViewerAccess {
317
345
  biography: boolean;
318
346
  location: boolean;
347
+ trainingIdentity: boolean;
319
348
  workoutHistory: boolean;
320
349
  records: boolean;
321
350
  routines: boolean;
@@ -344,12 +373,14 @@ interface UserProfile {
344
373
  avatarUrl?: string | null;
345
374
  bio?: string | null;
346
375
  location?: string | null;
376
+ trainingIdentity: TrainingIdentity;
347
377
  age?: number | null;
348
378
  sex?: Sex | null;
349
379
  weight?: number | null;
350
380
  height?: number | null;
351
381
  weightUnit: WeightUnit;
352
382
  privacySettings: ProfilePrivacySettings;
383
+ discoverySettings: ProfileDiscoverySettings;
353
384
  followerCount: number;
354
385
  followingCount: number;
355
386
  createdAt: IsoDateString;
@@ -363,6 +394,7 @@ interface PublicUserProfile {
363
394
  avatarUrl?: string | null;
364
395
  bio?: string | null;
365
396
  location?: string | null;
397
+ trainingIdentity?: TrainingIdentity;
366
398
  createdAt: IsoDateString;
367
399
  updatedAt: IsoDateString;
368
400
  followerCount: number;
@@ -380,13 +412,19 @@ interface UpdateProfileRequest {
380
412
  avatarUrl?: string | null;
381
413
  bio?: string | null;
382
414
  location?: string | null;
415
+ trainingGoals?: TrainingGoal[];
416
+ trainingExperienceLevel?: TrainingExperienceLevel | null;
417
+ trainingDisciplines?: TrainingDiscipline[];
418
+ preferredTrainingStyle?: PreferredTrainingStyle | null;
419
+ favoriteExerciseIds?: string[];
383
420
  age?: number | null;
384
421
  sex?: Sex | null;
385
422
  weight?: number | null;
386
423
  height?: number | null;
387
424
  weightUnit?: WeightUnit;
388
425
  }
389
- type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location'>>;
426
+ type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'>>;
427
+ type UpdateProfileDiscoveryRequest = ProfileDiscoverySettings;
390
428
  interface PlatePairInventory {
391
429
  weightKg: number;
392
430
  pairCount: number;
@@ -514,4 +552,4 @@ interface CreateRoutineRequest {
514
552
  }
515
553
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
516
554
 
517
- export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PROFILE_BIO_MAX_LENGTH, PROFILE_LOCATION_MAX_LENGTH, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_EVENT_TYPES, type TrainingEventType, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
555
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, PREFERRED_TRAINING_STYLE_VALUES, PROFILE_BIO_MAX_LENGTH, PROFILE_FAVORITE_EXERCISES_MAX, PROFILE_LOCATION_MAX_LENGTH, PROFILE_TRAINING_DISCIPLINES_MAX, PROFILE_TRAINING_GOALS_MAX, PROFILE_VISIBILITY_VALUES, PROGRESSION_SCHEMES, type PaginatedResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlatePairInventory, type PreferredTrainingStyle, type PreviousPerformanceResponse, type PreviousSessionRecap, type PreviousSetPerformance, type ProfileDiscoverySettings, type ProfileFavoriteExercise, type ProfilePrivacySettings, type ProfileViewerAccess, type ProfileVisibility, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionRecapRecord, type SetAccountTimeZoneRequest, type SetLog, type Sex, type StartWorkoutRequest, type StartWorkoutResponse, type SupabaseAuthResponse, type SupabaseAuthUser, type SupabaseMigrationResponse, TRAINING_DISCIPLINE_VALUES, TRAINING_EVENT_TYPES, TRAINING_EXPERIENCE_LEVEL_VALUES, TRAINING_GOAL_VALUES, type TrainingDiscipline, type TrainingEventType, type TrainingExperienceLevel, type TrainingGoal, type TrainingIdentity, type TrainingLocationPreference, type TrainingLocationPreferenceInput, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpsertSetLogRequest, type UpsertSetLogResponse, type UserId, type UserProfile, type UserSearchResponse, WEIGHT_UNITS, WORKOUT_SESSION_STATUSES, type WeightUnit, type WorkoutAnalyticsStatus, type WorkoutProgressQuery, type WorkoutProgressResponse, type WorkoutSession, type WorkoutSessionId, type WorkoutSessionListResponse, type WorkoutSessionRecap, type WorkoutSessionSnapshotV1, type WorkoutSessionStatus, type WorkoutSessionSummary, type WorkoutStatsQuery, type WorkoutStatsResponse };
package/dist/index.js CHANGED
@@ -38,6 +38,9 @@ var USERNAME_MAX_LENGTH = 30;
38
38
  var USERNAME_PATTERN_SOURCE = "^[a-z0-9][a-z0-9_-]{1,28}[a-z0-9]$";
39
39
  var PROFILE_BIO_MAX_LENGTH = 500;
40
40
  var PROFILE_LOCATION_MAX_LENGTH = 100;
41
+ var PROFILE_TRAINING_GOALS_MAX = 3;
42
+ var PROFILE_TRAINING_DISCIPLINES_MAX = 3;
43
+ var PROFILE_FAVORITE_EXERCISES_MAX = 5;
41
44
  var RESERVED_USERNAMES = [
42
45
  "achievements",
43
46
  "admin",
@@ -75,6 +78,36 @@ var PROFILE_VISIBILITY_VALUES = [
75
78
  "FOLLOWERS",
76
79
  "PRIVATE"
77
80
  ];
81
+ var TRAINING_GOAL_VALUES = [
82
+ "STRENGTH",
83
+ "MUSCLE_GROWTH",
84
+ "FAT_LOSS",
85
+ "ENDURANCE",
86
+ "GENERAL_FITNESS",
87
+ "ATHLETIC_PERFORMANCE",
88
+ "MOBILITY"
89
+ ];
90
+ var TRAINING_EXPERIENCE_LEVEL_VALUES = [
91
+ "BEGINNER",
92
+ "INTERMEDIATE",
93
+ "ADVANCED"
94
+ ];
95
+ var TRAINING_DISCIPLINE_VALUES = [
96
+ "BODYBUILDING",
97
+ "POWERLIFTING",
98
+ "WEIGHTLIFTING",
99
+ "CALISTHENICS",
100
+ "STRONGMAN",
101
+ "HYBRID_TRAINING",
102
+ "GENERAL_STRENGTH"
103
+ ];
104
+ var PREFERRED_TRAINING_STYLE_VALUES = [
105
+ "FULL_BODY",
106
+ "UPPER_LOWER",
107
+ "PUSH_PULL_LEGS",
108
+ "BODY_PART_SPLIT",
109
+ "CIRCUIT"
110
+ ];
78
111
 
79
112
  // src/analytics.ts
80
113
  var TRAINING_EVENT_TYPES = [
@@ -84,14 +117,21 @@ var TRAINING_EVENT_TYPES = [
84
117
  ];
85
118
  export {
86
119
  MUSCLE_GROUPS,
120
+ PREFERRED_TRAINING_STYLE_VALUES,
87
121
  PROFILE_BIO_MAX_LENGTH,
122
+ PROFILE_FAVORITE_EXERCISES_MAX,
88
123
  PROFILE_LOCATION_MAX_LENGTH,
124
+ PROFILE_TRAINING_DISCIPLINES_MAX,
125
+ PROFILE_TRAINING_GOALS_MAX,
89
126
  PROFILE_VISIBILITY_VALUES,
90
127
  PROGRESSION_SCHEMES,
91
128
  REP_TYPES,
92
129
  RESERVED_USERNAMES,
93
130
  SEXES,
131
+ TRAINING_DISCIPLINE_VALUES,
94
132
  TRAINING_EVENT_TYPES,
133
+ TRAINING_EXPERIENCE_LEVEL_VALUES,
134
+ TRAINING_GOAL_VALUES,
95
135
  USERNAME_MAX_LENGTH,
96
136
  USERNAME_MIN_LENGTH,
97
137
  USERNAME_PATTERN_SOURCE,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsteel/contracts",
3
- "version": "0.15.0",
3
+ "version": "0.17.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ezee969/sunsteel-contracts.git"