@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 +31 -0
- package/dist/index.d.cts +87 -1
- package/dist/index.d.ts +87 -1
- package/dist/index.js +24 -0
- package/package.json +40 -40
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.
|
|
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
|
+
}
|