@sunsteel/contracts 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -272,6 +272,38 @@ interface WorkoutProgressResponse {
272
272
  personalRecords: PersonalRecordEntry[];
273
273
  recentActivity: RecentActivityEntry[];
274
274
  }
275
+ interface ExerciseStrengthTrendQuery {
276
+ exerciseId?: string;
277
+ from?: string;
278
+ to?: string;
279
+ }
280
+ interface ExerciseStrengthSummary {
281
+ exerciseId: string;
282
+ exerciseName: string;
283
+ weightKg: number;
284
+ reps: number;
285
+ estimated1rmKg: number;
286
+ achievedAt: string;
287
+ }
288
+ interface ExerciseStrengthTrendPoint {
289
+ sessionId: string;
290
+ achievedAt: string;
291
+ weightKg: number;
292
+ reps: number;
293
+ estimated1rmKg: number;
294
+ }
295
+ /** Stable successful response of GET /workouts/progress/strength. */
296
+ interface ExerciseStrengthTrendResponse {
297
+ exercises: ExerciseStrengthSummary[];
298
+ selectedExercise: ExerciseStrengthSummary | null;
299
+ range: {
300
+ from: string | null;
301
+ to: string;
302
+ };
303
+ baseline: ExerciseStrengthTrendPoint | null;
304
+ points: ExerciseStrengthTrendPoint[];
305
+ truncated: boolean;
306
+ }
275
307
  /** Immutable prescription captured before any sets or progression. */
276
308
  interface WorkoutSessionSnapshotV1 {
277
309
  schemaVersion: 1;
@@ -336,6 +368,11 @@ interface ProfilePrivacySettings {
336
368
  achievements: ProfileVisibility;
337
369
  bodyMetrics: ProfileVisibility;
338
370
  }
371
+ interface ProfileDiscoverySettings {
372
+ discoverableByName: boolean;
373
+ discoverableByUsername: boolean;
374
+ discoverableByContacts: boolean;
375
+ }
339
376
  interface ProfileViewerAccess {
340
377
  biography: boolean;
341
378
  location: boolean;
@@ -375,6 +412,7 @@ interface UserProfile {
375
412
  height?: number | null;
376
413
  weightUnit: WeightUnit;
377
414
  privacySettings: ProfilePrivacySettings;
415
+ discoverySettings: ProfileDiscoverySettings;
378
416
  followerCount: number;
379
417
  followingCount: number;
380
418
  createdAt: IsoDateString;
@@ -418,6 +456,7 @@ interface UpdateProfileRequest {
418
456
  weightUnit?: WeightUnit;
419
457
  }
420
458
  type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'>>;
459
+ type UpdateProfileDiscoveryRequest = ProfileDiscoverySettings;
421
460
  interface PlatePairInventory {
422
461
  weightKg: number;
423
462
  pairCount: number;
@@ -545,4 +584,4 @@ interface CreateRoutineRequest {
545
584
  }
546
585
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
547
586
 
548
- 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 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 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 };
587
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, 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
@@ -272,6 +272,38 @@ interface WorkoutProgressResponse {
272
272
  personalRecords: PersonalRecordEntry[];
273
273
  recentActivity: RecentActivityEntry[];
274
274
  }
275
+ interface ExerciseStrengthTrendQuery {
276
+ exerciseId?: string;
277
+ from?: string;
278
+ to?: string;
279
+ }
280
+ interface ExerciseStrengthSummary {
281
+ exerciseId: string;
282
+ exerciseName: string;
283
+ weightKg: number;
284
+ reps: number;
285
+ estimated1rmKg: number;
286
+ achievedAt: string;
287
+ }
288
+ interface ExerciseStrengthTrendPoint {
289
+ sessionId: string;
290
+ achievedAt: string;
291
+ weightKg: number;
292
+ reps: number;
293
+ estimated1rmKg: number;
294
+ }
295
+ /** Stable successful response of GET /workouts/progress/strength. */
296
+ interface ExerciseStrengthTrendResponse {
297
+ exercises: ExerciseStrengthSummary[];
298
+ selectedExercise: ExerciseStrengthSummary | null;
299
+ range: {
300
+ from: string | null;
301
+ to: string;
302
+ };
303
+ baseline: ExerciseStrengthTrendPoint | null;
304
+ points: ExerciseStrengthTrendPoint[];
305
+ truncated: boolean;
306
+ }
275
307
  /** Immutable prescription captured before any sets or progression. */
276
308
  interface WorkoutSessionSnapshotV1 {
277
309
  schemaVersion: 1;
@@ -336,6 +368,11 @@ interface ProfilePrivacySettings {
336
368
  achievements: ProfileVisibility;
337
369
  bodyMetrics: ProfileVisibility;
338
370
  }
371
+ interface ProfileDiscoverySettings {
372
+ discoverableByName: boolean;
373
+ discoverableByUsername: boolean;
374
+ discoverableByContacts: boolean;
375
+ }
339
376
  interface ProfileViewerAccess {
340
377
  biography: boolean;
341
378
  location: boolean;
@@ -375,6 +412,7 @@ interface UserProfile {
375
412
  height?: number | null;
376
413
  weightUnit: WeightUnit;
377
414
  privacySettings: ProfilePrivacySettings;
415
+ discoverySettings: ProfileDiscoverySettings;
378
416
  followerCount: number;
379
417
  followingCount: number;
380
418
  createdAt: IsoDateString;
@@ -418,6 +456,7 @@ interface UpdateProfileRequest {
418
456
  weightUnit?: WeightUnit;
419
457
  }
420
458
  type UpdateProfilePrivacyRequest = Omit<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'> & Partial<Pick<ProfilePrivacySettings, 'biography' | 'location' | 'trainingIdentity'>>;
459
+ type UpdateProfileDiscoveryRequest = ProfileDiscoverySettings;
421
460
  interface PlatePairInventory {
422
461
  weightKg: number;
423
462
  pairCount: number;
@@ -545,4 +584,4 @@ interface CreateRoutineRequest {
545
584
  }
546
585
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
547
586
 
548
- 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 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 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 };
587
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunsteel/contracts",
3
- "version": "0.16.0",
3
+ "version": "0.18.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ezee969/sunsteel-contracts.git"