@sunsteel/contracts 0.22.0 → 0.24.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
@@ -20,6 +20,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ FOLLOW_SUGGESTIONS_DEFAULT_LIMIT: () => FOLLOW_SUGGESTIONS_DEFAULT_LIMIT,
24
+ FOLLOW_SUGGESTIONS_MAX_LIMIT: () => FOLLOW_SUGGESTIONS_MAX_LIMIT,
25
+ FOLLOW_SUGGESTION_REASONS: () => FOLLOW_SUGGESTION_REASONS,
23
26
  MUSCLE_GROUPS: () => MUSCLE_GROUPS,
24
27
  PREFERRED_TRAINING_STYLE_VALUES: () => PREFERRED_TRAINING_STYLE_VALUES,
25
28
  PROFILE_BIO_MAX_LENGTH: () => PROFILE_BIO_MAX_LENGTH,
@@ -29,6 +32,10 @@ __export(index_exports, {
29
32
  PROFILE_TRAINING_GOALS_MAX: () => PROFILE_TRAINING_GOALS_MAX,
30
33
  PROFILE_VISIBILITY_VALUES: () => PROFILE_VISIBILITY_VALUES,
31
34
  PROGRESSION_SCHEMES: () => PROGRESSION_SCHEMES,
35
+ PROGRESS_TIMELINE_EVENT_TYPES: () => PROGRESS_TIMELINE_EVENT_TYPES,
36
+ RELATIONSHIP_LIST_DEFAULT_LIMIT: () => RELATIONSHIP_LIST_DEFAULT_LIMIT,
37
+ RELATIONSHIP_LIST_KINDS: () => RELATIONSHIP_LIST_KINDS,
38
+ RELATIONSHIP_LIST_MAX_LIMIT: () => RELATIONSHIP_LIST_MAX_LIMIT,
32
39
  REP_TYPES: () => REP_TYPES,
33
40
  RESERVED_USERNAMES: () => RESERVED_USERNAMES,
34
41
  SEXES: () => SEXES,
@@ -154,6 +161,19 @@ var PREFERRED_TRAINING_STYLE_VALUES = [
154
161
  "BODY_PART_SPLIT",
155
162
  "CIRCUIT"
156
163
  ];
164
+ var RELATIONSHIP_LIST_KINDS = [
165
+ "followers",
166
+ "following",
167
+ "mutuals"
168
+ ];
169
+ var RELATIONSHIP_LIST_DEFAULT_LIMIT = 20;
170
+ var RELATIONSHIP_LIST_MAX_LIMIT = 50;
171
+ var FOLLOW_SUGGESTIONS_DEFAULT_LIMIT = 10;
172
+ var FOLLOW_SUGGESTIONS_MAX_LIMIT = 20;
173
+ var FOLLOW_SUGGESTION_REASONS = [
174
+ "FOLLOWS_YOU",
175
+ "FOLLOWED_BY_PEOPLE_YOU_FOLLOW"
176
+ ];
157
177
 
158
178
  // src/analytics.ts
159
179
  var TRAINING_EVENT_TYPES = [
@@ -161,8 +181,15 @@ var TRAINING_EVENT_TYPES = [
161
181
  "PERSONAL_RECORD",
162
182
  "PROGRESSION_CHANGED"
163
183
  ];
184
+ var PROGRESS_TIMELINE_EVENT_TYPES = [
185
+ "PERSONAL_RECORD",
186
+ "PROGRESSION_CHANGED"
187
+ ];
164
188
  // Annotate the CommonJS export names for ESM import in node:
165
189
  0 && (module.exports = {
190
+ FOLLOW_SUGGESTIONS_DEFAULT_LIMIT,
191
+ FOLLOW_SUGGESTIONS_MAX_LIMIT,
192
+ FOLLOW_SUGGESTION_REASONS,
166
193
  MUSCLE_GROUPS,
167
194
  PREFERRED_TRAINING_STYLE_VALUES,
168
195
  PROFILE_BIO_MAX_LENGTH,
@@ -172,6 +199,10 @@ var TRAINING_EVENT_TYPES = [
172
199
  PROFILE_TRAINING_GOALS_MAX,
173
200
  PROFILE_VISIBILITY_VALUES,
174
201
  PROGRESSION_SCHEMES,
202
+ PROGRESS_TIMELINE_EVENT_TYPES,
203
+ RELATIONSHIP_LIST_DEFAULT_LIMIT,
204
+ RELATIONSHIP_LIST_KINDS,
205
+ RELATIONSHIP_LIST_MAX_LIMIT,
175
206
  REP_TYPES,
176
207
  RESERVED_USERNAMES,
177
208
  SEXES,
package/dist/index.d.cts CHANGED
@@ -459,6 +459,50 @@ interface SessionComparisonResponse {
459
459
  latestSession: SessionComparisonSession | null;
460
460
  previousSession: SessionComparisonSession | null;
461
461
  }
462
+ declare const PROGRESS_TIMELINE_EVENT_TYPES: readonly ["PERSONAL_RECORD", "PROGRESSION_CHANGED"];
463
+ type ProgressTimelineEventType = (typeof PROGRESS_TIMELINE_EVENT_TYPES)[number];
464
+ interface ProgressTimelineQuery {
465
+ type?: ProgressTimelineEventType;
466
+ cursor?: string;
467
+ limit?: number;
468
+ }
469
+ interface ProgressTimelineSessionContext {
470
+ sessionId: string;
471
+ routineName: string;
472
+ dayName?: string | null;
473
+ }
474
+ interface ProgressTimelineRecordPerformance {
475
+ weightKg: number;
476
+ reps: number;
477
+ estimated1rmKg: number;
478
+ }
479
+ type ProgressTimelineRecordReason = 'FIRST_RECORDED_BEST' | 'HEAVIER_LOAD' | 'MORE_REPS_AT_SAME_LOAD';
480
+ interface ProgressTimelinePersonalRecordItem {
481
+ eventId: string;
482
+ type: 'PERSONAL_RECORD';
483
+ occurredAt: IsoDateString;
484
+ session: ProgressTimelineSessionContext;
485
+ exerciseId: string;
486
+ exerciseName: string;
487
+ current: ProgressTimelineRecordPerformance;
488
+ previous: ProgressTimelineRecordPerformance | null;
489
+ reason: ProgressTimelineRecordReason;
490
+ }
491
+ interface ProgressTimelineProgressionItem {
492
+ eventId: string;
493
+ type: 'PROGRESSION_CHANGED';
494
+ occurredAt: IsoDateString;
495
+ session: ProgressTimelineSessionContext;
496
+ exerciseId: string;
497
+ exerciseName: string;
498
+ change: ProgressionChange;
499
+ }
500
+ type ProgressTimelineItem = ProgressTimelinePersonalRecordItem | ProgressTimelineProgressionItem;
501
+ /** Stable successful response of GET /workouts/progress/timeline. */
502
+ interface ProgressTimelineResponse {
503
+ items: ProgressTimelineItem[];
504
+ nextCursor?: string;
505
+ }
462
506
  /** Immutable prescription captured before any sets or progression. */
463
507
  interface WorkoutSessionSnapshotV1 {
464
508
  schemaVersion: 1;
@@ -644,6 +688,48 @@ interface UserSearchResponse {
644
688
  lastName?: string | null;
645
689
  avatarUrl?: string | null;
646
690
  }
691
+ /**
692
+ * `followers` and `following` are the profile's own relations. `mutuals` is
693
+ * relative to the viewer: accounts that follow the profile and that the viewer
694
+ * follows. On the viewer's own profile that is the set of mutual follows.
695
+ */
696
+ declare const RELATIONSHIP_LIST_KINDS: readonly ["followers", "following", "mutuals"];
697
+ type RelationshipListKind = (typeof RELATIONSHIP_LIST_KINDS)[number];
698
+ declare const RELATIONSHIP_LIST_DEFAULT_LIMIT = 20;
699
+ declare const RELATIONSHIP_LIST_MAX_LIMIT = 50;
700
+ declare const FOLLOW_SUGGESTIONS_DEFAULT_LIMIT = 10;
701
+ declare const FOLLOW_SUGGESTIONS_MAX_LIMIT = 20;
702
+ /** A member as seen by the signed-in viewer. Never carries email. */
703
+ interface RelationshipMember extends UserSearchResponse {
704
+ isFollowedByMe: boolean;
705
+ followsMe: boolean;
706
+ }
707
+ interface RelationshipListQuery {
708
+ /** Opaque value returned as `nextCursor` by the previous page. */
709
+ cursor?: string;
710
+ limit?: number;
711
+ }
712
+ /**
713
+ * Stable successful response of GET /users/:identifier/followers, /following
714
+ * and /mutuals. Items are ordered by the date the relation was created, newest
715
+ * first.
716
+ */
717
+ interface RelationshipListResponse {
718
+ kind: RelationshipListKind;
719
+ items: RelationshipMember[];
720
+ nextCursor?: string;
721
+ }
722
+ declare const FOLLOW_SUGGESTION_REASONS: readonly ["FOLLOWS_YOU", "FOLLOWED_BY_PEOPLE_YOU_FOLLOW"];
723
+ type FollowSuggestionReason = (typeof FOLLOW_SUGGESTION_REASONS)[number];
724
+ interface FollowSuggestion extends RelationshipMember {
725
+ reason: FollowSuggestionReason;
726
+ /** How many accounts the viewer follows also follow this member. */
727
+ mutualCount: number;
728
+ }
729
+ /** Stable successful response of GET /users/me/suggestions. */
730
+ interface FollowSuggestionsResponse {
731
+ items: FollowSuggestion[];
732
+ }
647
733
 
648
734
  interface SupabaseAuthUser {
649
735
  id: string;
@@ -739,4 +825,4 @@ interface CreateRoutineRequest {
739
825
  }
740
826
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
741
827
 
742
- export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, 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 SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, 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, type VolumeTrendPoint, type VolumeTrendQuery, type VolumeTrendResponse, type VolumeTrendSeries, 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 };
828
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, 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, PROGRESS_TIMELINE_EVENT_TYPES, 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 ProgressTimelineEventType, type ProgressTimelineItem, type ProgressTimelinePersonalRecordItem, type ProgressTimelineProgressionItem, type ProgressTimelineQuery, type ProgressTimelineRecordPerformance, type ProgressTimelineRecordReason, type ProgressTimelineResponse, type ProgressTimelineSessionContext, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, 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, type VolumeTrendPoint, type VolumeTrendQuery, type VolumeTrendResponse, type VolumeTrendSeries, 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
@@ -459,6 +459,50 @@ interface SessionComparisonResponse {
459
459
  latestSession: SessionComparisonSession | null;
460
460
  previousSession: SessionComparisonSession | null;
461
461
  }
462
+ declare const PROGRESS_TIMELINE_EVENT_TYPES: readonly ["PERSONAL_RECORD", "PROGRESSION_CHANGED"];
463
+ type ProgressTimelineEventType = (typeof PROGRESS_TIMELINE_EVENT_TYPES)[number];
464
+ interface ProgressTimelineQuery {
465
+ type?: ProgressTimelineEventType;
466
+ cursor?: string;
467
+ limit?: number;
468
+ }
469
+ interface ProgressTimelineSessionContext {
470
+ sessionId: string;
471
+ routineName: string;
472
+ dayName?: string | null;
473
+ }
474
+ interface ProgressTimelineRecordPerformance {
475
+ weightKg: number;
476
+ reps: number;
477
+ estimated1rmKg: number;
478
+ }
479
+ type ProgressTimelineRecordReason = 'FIRST_RECORDED_BEST' | 'HEAVIER_LOAD' | 'MORE_REPS_AT_SAME_LOAD';
480
+ interface ProgressTimelinePersonalRecordItem {
481
+ eventId: string;
482
+ type: 'PERSONAL_RECORD';
483
+ occurredAt: IsoDateString;
484
+ session: ProgressTimelineSessionContext;
485
+ exerciseId: string;
486
+ exerciseName: string;
487
+ current: ProgressTimelineRecordPerformance;
488
+ previous: ProgressTimelineRecordPerformance | null;
489
+ reason: ProgressTimelineRecordReason;
490
+ }
491
+ interface ProgressTimelineProgressionItem {
492
+ eventId: string;
493
+ type: 'PROGRESSION_CHANGED';
494
+ occurredAt: IsoDateString;
495
+ session: ProgressTimelineSessionContext;
496
+ exerciseId: string;
497
+ exerciseName: string;
498
+ change: ProgressionChange;
499
+ }
500
+ type ProgressTimelineItem = ProgressTimelinePersonalRecordItem | ProgressTimelineProgressionItem;
501
+ /** Stable successful response of GET /workouts/progress/timeline. */
502
+ interface ProgressTimelineResponse {
503
+ items: ProgressTimelineItem[];
504
+ nextCursor?: string;
505
+ }
462
506
  /** Immutable prescription captured before any sets or progression. */
463
507
  interface WorkoutSessionSnapshotV1 {
464
508
  schemaVersion: 1;
@@ -644,6 +688,48 @@ interface UserSearchResponse {
644
688
  lastName?: string | null;
645
689
  avatarUrl?: string | null;
646
690
  }
691
+ /**
692
+ * `followers` and `following` are the profile's own relations. `mutuals` is
693
+ * relative to the viewer: accounts that follow the profile and that the viewer
694
+ * follows. On the viewer's own profile that is the set of mutual follows.
695
+ */
696
+ declare const RELATIONSHIP_LIST_KINDS: readonly ["followers", "following", "mutuals"];
697
+ type RelationshipListKind = (typeof RELATIONSHIP_LIST_KINDS)[number];
698
+ declare const RELATIONSHIP_LIST_DEFAULT_LIMIT = 20;
699
+ declare const RELATIONSHIP_LIST_MAX_LIMIT = 50;
700
+ declare const FOLLOW_SUGGESTIONS_DEFAULT_LIMIT = 10;
701
+ declare const FOLLOW_SUGGESTIONS_MAX_LIMIT = 20;
702
+ /** A member as seen by the signed-in viewer. Never carries email. */
703
+ interface RelationshipMember extends UserSearchResponse {
704
+ isFollowedByMe: boolean;
705
+ followsMe: boolean;
706
+ }
707
+ interface RelationshipListQuery {
708
+ /** Opaque value returned as `nextCursor` by the previous page. */
709
+ cursor?: string;
710
+ limit?: number;
711
+ }
712
+ /**
713
+ * Stable successful response of GET /users/:identifier/followers, /following
714
+ * and /mutuals. Items are ordered by the date the relation was created, newest
715
+ * first.
716
+ */
717
+ interface RelationshipListResponse {
718
+ kind: RelationshipListKind;
719
+ items: RelationshipMember[];
720
+ nextCursor?: string;
721
+ }
722
+ declare const FOLLOW_SUGGESTION_REASONS: readonly ["FOLLOWS_YOU", "FOLLOWED_BY_PEOPLE_YOU_FOLLOW"];
723
+ type FollowSuggestionReason = (typeof FOLLOW_SUGGESTION_REASONS)[number];
724
+ interface FollowSuggestion extends RelationshipMember {
725
+ reason: FollowSuggestionReason;
726
+ /** How many accounts the viewer follows also follow this member. */
727
+ mutualCount: number;
728
+ }
729
+ /** Stable successful response of GET /users/me/suggestions. */
730
+ interface FollowSuggestionsResponse {
731
+ items: FollowSuggestion[];
732
+ }
647
733
 
648
734
  interface SupabaseAuthUser {
649
735
  id: string;
@@ -739,4 +825,4 @@ interface CreateRoutineRequest {
739
825
  }
740
826
  type UpdateRoutineRequest = Partial<CreateRoutineRequest>;
741
827
 
742
- export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, 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 SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, 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, type VolumeTrendPoint, type VolumeTrendQuery, type VolumeTrendResponse, type VolumeTrendSeries, 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 };
828
+ export { type Brand, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type EarnedPersonalRecord, type Exercise, type ExerciseId, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MUSCLE_GROUPS, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, 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, PROGRESS_TIMELINE_EVENT_TYPES, 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 ProgressTimelineEventType, type ProgressTimelineItem, type ProgressTimelinePersonalRecordItem, type ProgressTimelineProgressionItem, type ProgressTimelineQuery, type ProgressTimelineRecordPerformance, type ProgressTimelineRecordReason, type ProgressTimelineResponse, type ProgressTimelineSessionContext, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicTrainingSummary, type PublicUserProfile, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, REP_TYPES, RESERVED_USERNAMES, type RecentActivityEntry, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RepType, type ReplaceTrainingLocationsRequest, type Routine, type RoutineDay, type RoutineDayId, type RoutineExercise, type RoutineId, type RoutineSet, SEXES, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, 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, type VolumeTrendPoint, type VolumeTrendQuery, type VolumeTrendResponse, type VolumeTrendSeries, 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
@@ -108,6 +108,19 @@ var PREFERRED_TRAINING_STYLE_VALUES = [
108
108
  "BODY_PART_SPLIT",
109
109
  "CIRCUIT"
110
110
  ];
111
+ var RELATIONSHIP_LIST_KINDS = [
112
+ "followers",
113
+ "following",
114
+ "mutuals"
115
+ ];
116
+ var RELATIONSHIP_LIST_DEFAULT_LIMIT = 20;
117
+ var RELATIONSHIP_LIST_MAX_LIMIT = 50;
118
+ var FOLLOW_SUGGESTIONS_DEFAULT_LIMIT = 10;
119
+ var FOLLOW_SUGGESTIONS_MAX_LIMIT = 20;
120
+ var FOLLOW_SUGGESTION_REASONS = [
121
+ "FOLLOWS_YOU",
122
+ "FOLLOWED_BY_PEOPLE_YOU_FOLLOW"
123
+ ];
111
124
 
112
125
  // src/analytics.ts
113
126
  var TRAINING_EVENT_TYPES = [
@@ -115,7 +128,14 @@ var TRAINING_EVENT_TYPES = [
115
128
  "PERSONAL_RECORD",
116
129
  "PROGRESSION_CHANGED"
117
130
  ];
131
+ var PROGRESS_TIMELINE_EVENT_TYPES = [
132
+ "PERSONAL_RECORD",
133
+ "PROGRESSION_CHANGED"
134
+ ];
118
135
  export {
136
+ FOLLOW_SUGGESTIONS_DEFAULT_LIMIT,
137
+ FOLLOW_SUGGESTIONS_MAX_LIMIT,
138
+ FOLLOW_SUGGESTION_REASONS,
119
139
  MUSCLE_GROUPS,
120
140
  PREFERRED_TRAINING_STYLE_VALUES,
121
141
  PROFILE_BIO_MAX_LENGTH,
@@ -125,6 +145,10 @@ export {
125
145
  PROFILE_TRAINING_GOALS_MAX,
126
146
  PROFILE_VISIBILITY_VALUES,
127
147
  PROGRESSION_SCHEMES,
148
+ PROGRESS_TIMELINE_EVENT_TYPES,
149
+ RELATIONSHIP_LIST_DEFAULT_LIMIT,
150
+ RELATIONSHIP_LIST_KINDS,
151
+ RELATIONSHIP_LIST_MAX_LIMIT,
128
152
  REP_TYPES,
129
153
  RESERVED_USERNAMES,
130
154
  SEXES,
package/package.json CHANGED
@@ -1,40 +1,40 @@
1
- {
2
- "name": "@sunsteel/contracts",
3
- "version": "0.22.0",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/ezee969/sunsteel-contracts.git"
7
- },
8
- "private": false,
9
- "engines": {
10
- "node": ">=20.11"
11
- },
12
- "type": "module",
13
- "sideEffects": false,
14
- "main": "./dist/index.cjs",
15
- "module": "./dist/index.js",
16
- "types": "./dist/index.d.ts",
17
- "exports": {
18
- ".": {
19
- "types": "./dist/index.d.ts",
20
- "import": "./dist/index.js",
21
- "require": "./dist/index.cjs"
22
- }
23
- },
24
- "files": [
25
- "dist"
26
- ],
27
- "scripts": {
28
- "build": "tsup src/index.ts --format esm,cjs --dts --clean",
29
- "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
30
- "typecheck": "tsc --noEmit",
31
- "lint": "npm run typecheck",
32
- "verify": "npm run typecheck && npm run build",
33
- "verify:security": "npm audit",
34
- "prepublishOnly": "npm run build"
35
- },
36
- "devDependencies": {
37
- "tsup": "^8.3.5",
38
- "typescript": "^5.7.3"
39
- }
40
- }
1
+ {
2
+ "name": "@sunsteel/contracts",
3
+ "version": "0.24.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/ezee969/sunsteel-contracts.git"
7
+ },
8
+ "private": false,
9
+ "engines": {
10
+ "node": ">=20.11"
11
+ },
12
+ "type": "module",
13
+ "sideEffects": false,
14
+ "main": "./dist/index.cjs",
15
+ "module": "./dist/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js",
21
+ "require": "./dist/index.cjs"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "scripts": {
28
+ "build": "tsup src/index.ts --format esm,cjs --dts --clean",
29
+ "dev": "tsup src/index.ts --format esm,cjs --dts --watch",
30
+ "typecheck": "tsc --noEmit",
31
+ "lint": "npm run typecheck",
32
+ "verify": "npm run typecheck && npm run build",
33
+ "verify:security": "npm audit",
34
+ "prepublishOnly": "npm run build"
35
+ },
36
+ "devDependencies": {
37
+ "tsup": "^8.3.5",
38
+ "typescript": "^5.7.3"
39
+ }
40
+ }