@sunsteel/contracts 0.52.0 → 0.54.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 +53 -0
- package/dist/index.d.cts +260 -1
- package/dist/index.d.ts +260 -1
- package/dist/index.js +43 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -22,6 +22,16 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
ACHIEVEMENT_CATEGORIES: () => ACHIEVEMENT_CATEGORIES,
|
|
24
24
|
ACHIEVEMENT_DEFINITIONS: () => ACHIEVEMENT_DEFINITIONS,
|
|
25
|
+
ACTIVITY_CAPS: () => ACTIVITY_CAPS,
|
|
26
|
+
ACTIVITY_DEFAULT_AUDIENCE: () => ACTIVITY_DEFAULT_AUDIENCE,
|
|
27
|
+
ACTIVITY_ENTRY_ID_MAX_LENGTH: () => ACTIVITY_ENTRY_ID_MAX_LENGTH,
|
|
28
|
+
ACTIVITY_FEED_FOLLOWED_MAX: () => ACTIVITY_FEED_FOLLOWED_MAX,
|
|
29
|
+
ACTIVITY_PAGE_DEFAULT_LIMIT: () => ACTIVITY_PAGE_DEFAULT_LIMIT,
|
|
30
|
+
ACTIVITY_PAGE_MAX_LIMIT: () => ACTIVITY_PAGE_MAX_LIMIT,
|
|
31
|
+
ACTIVITY_PREVIEW_AUDIENCES: () => ACTIVITY_PREVIEW_AUDIENCES,
|
|
32
|
+
ACTIVITY_REACTIONS: () => ACTIVITY_REACTIONS,
|
|
33
|
+
ACTIVITY_TYPES: () => ACTIVITY_TYPES,
|
|
34
|
+
ACTIVITY_TYPE_SECTIONS: () => ACTIVITY_TYPE_SECTIONS,
|
|
25
35
|
BLOCKED_MEMBERS_MAX: () => BLOCKED_MEMBERS_MAX,
|
|
26
36
|
CLONE_ROUTINE_REFUSALS: () => CLONE_ROUTINE_REFUSALS,
|
|
27
37
|
COMEBACK_MIN_INACTIVE_DAYS: () => COMEBACK_MIN_INACTIVE_DAYS,
|
|
@@ -471,6 +481,39 @@ var ROUTINE_DISCOVERY_DEFAULT_LIMIT = 20;
|
|
|
471
481
|
var ROUTINE_DISCOVERY_MAX_LIMIT = 50;
|
|
472
482
|
var ROUTINE_DISCOVERY_SCAN_LIMIT = 500;
|
|
473
483
|
|
|
484
|
+
// src/activity.ts
|
|
485
|
+
var ACTIVITY_TYPES = [
|
|
486
|
+
"SESSION_COMPLETED",
|
|
487
|
+
"PERSONAL_RECORD",
|
|
488
|
+
"PROGRESSION_CHANGED",
|
|
489
|
+
"ACHIEVEMENT_UNLOCKED",
|
|
490
|
+
"STREAK_MILESTONE",
|
|
491
|
+
"COMEBACK",
|
|
492
|
+
"ROUTINE_SHARED"
|
|
493
|
+
];
|
|
494
|
+
var ACTIVITY_TYPE_SECTIONS = {
|
|
495
|
+
SESSION_COMPLETED: "workoutHistory",
|
|
496
|
+
PERSONAL_RECORD: "records",
|
|
497
|
+
PROGRESSION_CHANGED: "workoutHistory",
|
|
498
|
+
ACHIEVEMENT_UNLOCKED: "achievements",
|
|
499
|
+
STREAK_MILESTONE: "achievements",
|
|
500
|
+
COMEBACK: "achievements",
|
|
501
|
+
ROUTINE_SHARED: "routines"
|
|
502
|
+
};
|
|
503
|
+
var ACTIVITY_DEFAULT_AUDIENCE = "PRIVATE";
|
|
504
|
+
var ACTIVITY_REACTIONS = [
|
|
505
|
+
"STRENGTH",
|
|
506
|
+
"DISCIPLINE",
|
|
507
|
+
"RESPECT",
|
|
508
|
+
"INSPIRING"
|
|
509
|
+
];
|
|
510
|
+
var ACTIVITY_PAGE_DEFAULT_LIMIT = 20;
|
|
511
|
+
var ACTIVITY_PAGE_MAX_LIMIT = 50;
|
|
512
|
+
var ACTIVITY_FEED_FOLLOWED_MAX = 500;
|
|
513
|
+
var ACTIVITY_ENTRY_ID_MAX_LENGTH = 200;
|
|
514
|
+
var ACTIVITY_CAPS = ["SECTION", "ROUTINE"];
|
|
515
|
+
var ACTIVITY_PREVIEW_AUDIENCES = ["FOLLOWERS", "PUBLIC"];
|
|
516
|
+
|
|
474
517
|
// src/schedule.ts
|
|
475
518
|
var SCHEDULE_OVERRIDE_KINDS = ["MOVE", "SKIP"];
|
|
476
519
|
var SCHEDULE_MOVE_MAX_DAYS = 6;
|
|
@@ -563,6 +606,16 @@ var STREAK_MAX_GAP_DAYS = 3;
|
|
|
563
606
|
0 && (module.exports = {
|
|
564
607
|
ACHIEVEMENT_CATEGORIES,
|
|
565
608
|
ACHIEVEMENT_DEFINITIONS,
|
|
609
|
+
ACTIVITY_CAPS,
|
|
610
|
+
ACTIVITY_DEFAULT_AUDIENCE,
|
|
611
|
+
ACTIVITY_ENTRY_ID_MAX_LENGTH,
|
|
612
|
+
ACTIVITY_FEED_FOLLOWED_MAX,
|
|
613
|
+
ACTIVITY_PAGE_DEFAULT_LIMIT,
|
|
614
|
+
ACTIVITY_PAGE_MAX_LIMIT,
|
|
615
|
+
ACTIVITY_PREVIEW_AUDIENCES,
|
|
616
|
+
ACTIVITY_REACTIONS,
|
|
617
|
+
ACTIVITY_TYPES,
|
|
618
|
+
ACTIVITY_TYPE_SECTIONS,
|
|
566
619
|
BLOCKED_MEMBERS_MAX,
|
|
567
620
|
CLONE_ROUTINE_REFUSALS,
|
|
568
621
|
COMEBACK_MIN_INACTIVE_DAYS,
|
package/dist/index.d.cts
CHANGED
|
@@ -1638,6 +1638,265 @@ interface RoutineDiscoveryResponse {
|
|
|
1638
1638
|
scanTruncated: boolean;
|
|
1639
1639
|
}
|
|
1640
1640
|
|
|
1641
|
+
declare const ACTIVITY_TYPES: readonly ["SESSION_COMPLETED", "PERSONAL_RECORD", "PROGRESSION_CHANGED", "ACHIEVEMENT_UNLOCKED", "STREAK_MILESTONE", "COMEBACK", "ROUTINE_SHARED"];
|
|
1642
|
+
type ActivityType = (typeof ACTIVITY_TYPES)[number];
|
|
1643
|
+
/** The `PROF-06` sections activity can come from. */
|
|
1644
|
+
type ActivitySection = keyof Pick<ProfilePrivacySettings, 'workoutHistory' | 'records' | 'achievements' | 'routines'>;
|
|
1645
|
+
/**
|
|
1646
|
+
* The one section each type's data comes from. An entry can never be seen by
|
|
1647
|
+
* someone that section is hidden from.
|
|
1648
|
+
*/
|
|
1649
|
+
declare const ACTIVITY_TYPE_SECTIONS: Record<ActivityType, ActivitySection>;
|
|
1650
|
+
/** Who may see an entry: the `PROF-06` values, so there is one vocabulary. */
|
|
1651
|
+
type ActivityAudience = ProfileVisibility;
|
|
1652
|
+
/** Every type starts here until its owner chooses otherwise. */
|
|
1653
|
+
declare const ACTIVITY_DEFAULT_AUDIENCE: ActivityAudience;
|
|
1654
|
+
declare const ACTIVITY_REACTIONS: readonly ["STRENGTH", "DISCIPLINE", "RESPECT", "INSPIRING"];
|
|
1655
|
+
type ActivityReaction = (typeof ACTIVITY_REACTIONS)[number];
|
|
1656
|
+
/**
|
|
1657
|
+
* What a viewer may see of an entry's reactions: how many of each, and their
|
|
1658
|
+
* own, so the control can show what they chose. **Deliberately no list of who
|
|
1659
|
+
* reacted** -- that is an identity surface with its own privacy question, and
|
|
1660
|
+
* a name beside an entry would say more about the reactor than the work.
|
|
1661
|
+
* Members either side of a block are absent from the counts, so a number
|
|
1662
|
+
* cannot reveal one of them.
|
|
1663
|
+
*/
|
|
1664
|
+
interface ActivityReactionSummary {
|
|
1665
|
+
counts: Record<ActivityReaction, number>;
|
|
1666
|
+
/** The viewer's own reaction, or null; always null on the viewer's own entry. */
|
|
1667
|
+
viewerReaction: ActivityReaction | null;
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* PUT /activity/entries/reaction. `null` removes the viewer's reaction, and
|
|
1671
|
+
* choosing the one already chosen removes it too, so there is one per member
|
|
1672
|
+
* per entry and nothing to accumulate. Reacting to your own entry is refused.
|
|
1673
|
+
*/
|
|
1674
|
+
interface SetActivityReactionRequest {
|
|
1675
|
+
entryId: string;
|
|
1676
|
+
reaction: ActivityReaction | null;
|
|
1677
|
+
}
|
|
1678
|
+
/** Stable successful response of PUT /activity/entries/reaction. */
|
|
1679
|
+
interface SetActivityReactionResponse {
|
|
1680
|
+
entryId: string;
|
|
1681
|
+
reactions: ActivityReactionSummary;
|
|
1682
|
+
}
|
|
1683
|
+
/**
|
|
1684
|
+
* Where the viewer may open the record an entry came from. The server decides
|
|
1685
|
+
* it, so the client never judges what a viewer may read; an entry whose
|
|
1686
|
+
* record has no such place for this viewer has `link: null` and still names
|
|
1687
|
+
* the record.
|
|
1688
|
+
*/
|
|
1689
|
+
type ActivityLink = {
|
|
1690
|
+
kind: 'OWN_SESSION';
|
|
1691
|
+
sessionId: string;
|
|
1692
|
+
} | {
|
|
1693
|
+
kind: 'OWN_EXERCISE';
|
|
1694
|
+
exerciseId: string;
|
|
1695
|
+
} | {
|
|
1696
|
+
kind: 'OWN_ACHIEVEMENTS';
|
|
1697
|
+
} | {
|
|
1698
|
+
kind: 'OWN_ROUTINE';
|
|
1699
|
+
routineId: string;
|
|
1700
|
+
} | {
|
|
1701
|
+
kind: 'MEMBER_RECORDS';
|
|
1702
|
+
username: string;
|
|
1703
|
+
} | {
|
|
1704
|
+
kind: 'MEMBER_ACHIEVEMENTS';
|
|
1705
|
+
username: string;
|
|
1706
|
+
} | {
|
|
1707
|
+
kind: 'MEMBER_ROUTINE';
|
|
1708
|
+
username: string;
|
|
1709
|
+
routineId: string;
|
|
1710
|
+
};
|
|
1711
|
+
interface ActivityEntryBase {
|
|
1712
|
+
/**
|
|
1713
|
+
* Stable across reads and opaque to clients. It is the key an override is
|
|
1714
|
+
* stored under, so it must be sent back unchanged.
|
|
1715
|
+
*/
|
|
1716
|
+
id: string;
|
|
1717
|
+
occurredAt: IsoDateString;
|
|
1718
|
+
author: SharedRoutineOwner;
|
|
1719
|
+
link: ActivityLink | null;
|
|
1720
|
+
/**
|
|
1721
|
+
* Shared by the facts of one workout, so a session and the records it set
|
|
1722
|
+
* can be shown together; null for a fact that belongs to no workout.
|
|
1723
|
+
*/
|
|
1724
|
+
groupKey: string | null;
|
|
1725
|
+
/**
|
|
1726
|
+
* `SOC-05`. Travels inside the entry on purpose: a reaction can then never
|
|
1727
|
+
* be shown on an entry this viewer was not allowed to see, because the same
|
|
1728
|
+
* read decides both.
|
|
1729
|
+
*/
|
|
1730
|
+
reactions: ActivityReactionSummary;
|
|
1731
|
+
}
|
|
1732
|
+
interface SessionCompletedActivity extends ActivityEntryBase {
|
|
1733
|
+
type: 'SESSION_COMPLETED';
|
|
1734
|
+
session: {
|
|
1735
|
+
routineName: string;
|
|
1736
|
+
dayName: string | null;
|
|
1737
|
+
completedSets: number;
|
|
1738
|
+
/** External load × reps, canonical kilograms. */
|
|
1739
|
+
volumeKg: number;
|
|
1740
|
+
durationSec: number | null;
|
|
1741
|
+
};
|
|
1742
|
+
}
|
|
1743
|
+
interface PersonalRecordActivity extends ActivityEntryBase {
|
|
1744
|
+
type: 'PERSONAL_RECORD';
|
|
1745
|
+
record: {
|
|
1746
|
+
exerciseId: string;
|
|
1747
|
+
exerciseName: string;
|
|
1748
|
+
weightKg: number;
|
|
1749
|
+
reps: number;
|
|
1750
|
+
estimated1rmKg: number;
|
|
1751
|
+
};
|
|
1752
|
+
}
|
|
1753
|
+
interface ProgressionActivity extends ActivityEntryBase {
|
|
1754
|
+
type: 'PROGRESSION_CHANGED';
|
|
1755
|
+
progression: {
|
|
1756
|
+
exerciseId: string;
|
|
1757
|
+
exerciseName: string;
|
|
1758
|
+
sets: ProgressionSetChange[];
|
|
1759
|
+
};
|
|
1760
|
+
}
|
|
1761
|
+
interface AchievementActivity extends ActivityEntryBase {
|
|
1762
|
+
type: 'ACHIEVEMENT_UNLOCKED';
|
|
1763
|
+
achievement: {
|
|
1764
|
+
id: string;
|
|
1765
|
+
title: string;
|
|
1766
|
+
description: string;
|
|
1767
|
+
category: AchievementCategory;
|
|
1768
|
+
};
|
|
1769
|
+
}
|
|
1770
|
+
interface StreakMilestoneActivity extends ActivityEntryBase {
|
|
1771
|
+
type: 'STREAK_MILESTONE';
|
|
1772
|
+
streak: {
|
|
1773
|
+
achievementId: string;
|
|
1774
|
+
title: string;
|
|
1775
|
+
streakDays: number;
|
|
1776
|
+
};
|
|
1777
|
+
}
|
|
1778
|
+
interface ComebackActivity extends ActivityEntryBase {
|
|
1779
|
+
type: 'COMEBACK';
|
|
1780
|
+
comeback: {
|
|
1781
|
+
/** Full local-calendar days without a completed session before it. */
|
|
1782
|
+
inactiveDays: number;
|
|
1783
|
+
activeDays: number;
|
|
1784
|
+
windowDays: number;
|
|
1785
|
+
returnedAt: IsoDateString;
|
|
1786
|
+
};
|
|
1787
|
+
}
|
|
1788
|
+
interface RoutineSharedActivity extends ActivityEntryBase {
|
|
1789
|
+
type: 'ROUTINE_SHARED';
|
|
1790
|
+
routine: {
|
|
1791
|
+
routineId: string;
|
|
1792
|
+
name: string;
|
|
1793
|
+
dayCount: number;
|
|
1794
|
+
exerciseCount: number;
|
|
1795
|
+
};
|
|
1796
|
+
}
|
|
1797
|
+
type ActivityEntry = SessionCompletedActivity | PersonalRecordActivity | ProgressionActivity | AchievementActivity | StreakMilestoneActivity | ComebackActivity | RoutineSharedActivity;
|
|
1798
|
+
declare const ACTIVITY_PAGE_DEFAULT_LIMIT = 20;
|
|
1799
|
+
declare const ACTIVITY_PAGE_MAX_LIMIT = 50;
|
|
1800
|
+
/**
|
|
1801
|
+
* The feed considers at most this many followed members, and says so when it
|
|
1802
|
+
* reached the ceiling rather than presenting a partial feed as a whole one.
|
|
1803
|
+
*/
|
|
1804
|
+
declare const ACTIVITY_FEED_FOLLOWED_MAX = 500;
|
|
1805
|
+
/** Entry ids are opaque but bounded; anything longer is refused. */
|
|
1806
|
+
declare const ACTIVITY_ENTRY_ID_MAX_LENGTH = 200;
|
|
1807
|
+
interface ActivityPageQuery {
|
|
1808
|
+
limit?: number;
|
|
1809
|
+
/** Opaque; from the previous page's `nextCursor`. */
|
|
1810
|
+
cursor?: string;
|
|
1811
|
+
}
|
|
1812
|
+
interface ActivityPage<Entry = ActivityEntry> {
|
|
1813
|
+
entries: Entry[];
|
|
1814
|
+
nextCursor?: string;
|
|
1815
|
+
}
|
|
1816
|
+
/**
|
|
1817
|
+
* GET /activity/feed: activity of the members the viewer follows that each
|
|
1818
|
+
* member's audiences allow the viewer to see, newest first.
|
|
1819
|
+
*/
|
|
1820
|
+
interface ActivityFeedResponse extends ActivityPage {
|
|
1821
|
+
/**
|
|
1822
|
+
* How many members the viewer follows, so an empty feed can say whether
|
|
1823
|
+
* there is nobody to hear from or nothing they were allowed to see.
|
|
1824
|
+
*/
|
|
1825
|
+
followedCount: number;
|
|
1826
|
+
/** True when the viewer follows more than `ACTIVITY_FEED_FOLLOWED_MAX`. */
|
|
1827
|
+
followedTruncated: boolean;
|
|
1828
|
+
}
|
|
1829
|
+
/** GET /activity/members/:identifier — one member's activity, as this viewer may see it. */
|
|
1830
|
+
type MemberActivityResponse = ActivityPage;
|
|
1831
|
+
/** What narrowed an entry below the audience its owner chose. */
|
|
1832
|
+
declare const ACTIVITY_CAPS: readonly ["SECTION", "ROUTINE"];
|
|
1833
|
+
type ActivityCap = (typeof ACTIVITY_CAPS)[number];
|
|
1834
|
+
/** How one of the owner's own entries is shared. */
|
|
1835
|
+
interface ActivityEntrySharing {
|
|
1836
|
+
section: ActivitySection;
|
|
1837
|
+
/** The owner's current rule for that section. */
|
|
1838
|
+
sectionRule: ProfileVisibility;
|
|
1839
|
+
/** The type's default audience. */
|
|
1840
|
+
defaultAudience: ActivityAudience;
|
|
1841
|
+
/** This entry's own audience, or null when it follows the default. */
|
|
1842
|
+
override: ActivityAudience | null;
|
|
1843
|
+
/**
|
|
1844
|
+
* Who can actually see it: the narrowest of the section rule, the chosen
|
|
1845
|
+
* audience and, for a shared routine, the routine's own visibility.
|
|
1846
|
+
*/
|
|
1847
|
+
effectiveAudience: ActivityAudience;
|
|
1848
|
+
/** Set when the effective audience is narrower than the one chosen. */
|
|
1849
|
+
cappedBy: ActivityCap | null;
|
|
1850
|
+
}
|
|
1851
|
+
type OwnActivityEntry = ActivityEntry & {
|
|
1852
|
+
sharing: ActivityEntrySharing;
|
|
1853
|
+
};
|
|
1854
|
+
/** GET /activity/mine — every entry of the owner's, whoever may see it. */
|
|
1855
|
+
type OwnActivityResponse = ActivityPage<OwnActivityEntry>;
|
|
1856
|
+
/**
|
|
1857
|
+
* The audiences the owner can preview. `FOLLOWERS` is a member who follows
|
|
1858
|
+
* them; `PUBLIC` is any other signed-in member. Activity is never shown
|
|
1859
|
+
* signed out.
|
|
1860
|
+
*/
|
|
1861
|
+
declare const ACTIVITY_PREVIEW_AUDIENCES: readonly ["FOLLOWERS", "PUBLIC"];
|
|
1862
|
+
type ActivityPreviewAudience = (typeof ACTIVITY_PREVIEW_AUDIENCES)[number];
|
|
1863
|
+
/**
|
|
1864
|
+
* GET /activity/mine/preview — the owner's activity exactly as that audience
|
|
1865
|
+
* would receive it, through the same read, links included.
|
|
1866
|
+
*/
|
|
1867
|
+
interface ActivityPreviewQuery extends ActivityPageQuery {
|
|
1868
|
+
audience: ActivityPreviewAudience;
|
|
1869
|
+
}
|
|
1870
|
+
/** GET and PUT /activity/sharing */
|
|
1871
|
+
interface ActivitySharingSettings {
|
|
1872
|
+
/** The default audience of every type. */
|
|
1873
|
+
defaults: Record<ActivityType, ActivityAudience>;
|
|
1874
|
+
/** The section rules that cap them, so the UI can say when one does. */
|
|
1875
|
+
sections: Record<ActivitySection, ProfileVisibility>;
|
|
1876
|
+
}
|
|
1877
|
+
/**
|
|
1878
|
+
* PUT /activity/sharing. A partial write: an omitted type keeps its stored
|
|
1879
|
+
* default. A default applies to past entries of the type as well as future
|
|
1880
|
+
* ones, except those with their own audience.
|
|
1881
|
+
*/
|
|
1882
|
+
interface UpdateActivitySharingRequest {
|
|
1883
|
+
defaults: Partial<Record<ActivityType, ActivityAudience>>;
|
|
1884
|
+
}
|
|
1885
|
+
/**
|
|
1886
|
+
* PUT /activity/entries/audience. `null` returns the entry to its type's
|
|
1887
|
+
* default; `PRIVATE` withdraws it from everyone but its owner. Either way it
|
|
1888
|
+
* can never exceed its section.
|
|
1889
|
+
*/
|
|
1890
|
+
interface SetActivityEntryAudienceRequest {
|
|
1891
|
+
entryId: string;
|
|
1892
|
+
audience: ActivityAudience | null;
|
|
1893
|
+
}
|
|
1894
|
+
/** Stable successful response of PUT /activity/entries/audience. */
|
|
1895
|
+
interface SetActivityEntryAudienceResponse {
|
|
1896
|
+
entryId: string;
|
|
1897
|
+
sharing: ActivityEntrySharing;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1641
1900
|
/** A local calendar date, YYYY-MM-DD. */
|
|
1642
1901
|
type CalendarDate = string;
|
|
1643
1902
|
/**
|
|
@@ -1962,4 +2221,4 @@ interface PlannedReminder {
|
|
|
1962
2221
|
routineNames: string[];
|
|
1963
2222
|
}
|
|
1964
2223
|
|
|
1965
|
-
export { ACHIEVEMENT_CATEGORIES, ACHIEVEMENT_DEFINITIONS, type AchievementCategory, type AchievementCategoryProgress, type AchievementDefinition, type AchievementNotification, type AchievementUnlockedEventPayload, type AchievementsResponse, type AppNotification, BLOCKED_MEMBERS_MAX, type BlockedMember, type BlockedMembersResponse, type Brand, CLONE_ROUTINE_REFUSALS, COMEBACK_MIN_INACTIVE_DAYS, COMEBACK_RECOGNITION_LIMIT, COMEBACK_REQUIRED_ACTIVE_DAYS, COMEBACK_SESSION_LOOKBACK, COMEBACK_WINDOW_DAYS, type CalendarDate, type CloneRoutineRefusal, type CloneRoutineRequest, type ComebackRecognition, type ComebackRecognitionSummary, type CreateReportRequest, type CreateReportResponse, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type CreateRoutineVersionRequest, type CreateSessionShareRequest, type DeletePushSubscriptionRequest, type DiscoverableRoutine, EXERCISE_EQUIPMENT, EXERCISE_MECHANICS, type EarnedAchievement, type EarnedPersonalRecord, type Exercise, type ExerciseEquipment, type ExerciseId, type ExerciseMechanic, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExercisePlateau, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FEATURED_PROFILE_ITEMS_MAX, FEATURED_PROFILE_ITEM_KINDS, FEATURED_PROFILE_REFERENCE_MAX_LENGTH, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FeaturedProfileAchievementItem, type FeaturedProfileItem, type FeaturedProfileItemKind, type FeaturedProfileRankItem, type FeaturedProfileRecordItem, type FeaturedProfileRoutineItem, type FeaturedProfileSelection, type FeaturedProfileSelectionInput, type FeaturedProfileSelectionsResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MEASURABLE_GOALS_MAX, MEASURABLE_GOAL_DIRECTIONS, MEASURABLE_GOAL_TYPES, MINUTES_IN_DAY, MOVEMENT_PATTERNS, MUSCLE_GROUPS, type MarkNotificationsReadRequest, type MarkNotificationsReadResponse, type MeasurableGoal, type MeasurableGoalDirection, type MeasurableGoalExercise, type MeasurableGoalInput, type MeasurableGoalType, type MemberModerationState, type MemberRoutinesResponse, type MoveOccurrenceRequest, type MovementPattern, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, NOTIFICATIONS_LIST_LIMIT, NOTIFICATIONS_LOOKBACK_DAYS, NOTIFICATIONS_RETENTION_DAYS, NOTIFICATION_CATEGORIES, NOTIFICATION_KINDS, type NewFollowerNotification, type NotificationCategory, type NotificationKind, type NotificationPreferences, type NotificationPreferencesResponse, type NotificationsResponse, PLATEAU_MIN_DAYS_SINCE_BEST, PLATEAU_MIN_SESSIONS, PLATEAU_MIN_SESSIONS_MAX, PLATEAU_MIN_SESSIONS_MIN, PLATEAU_RECENT_DAYS, PLATEAU_WINDOW_DAYS, 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, PUSH_PAYLOAD_KINDS, PUSH_SUBSCRIPTIONS_MAX, type PaginatedResponse, type PersonalGoalProgress, type PersonalGoalsResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlannedReminder, type PlatePairInventory, type PlateauPreferences, type PlateauSet, type PlateausResponse, 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 PublicProfileAchievements, type PublicTrainingSummary, type PublicUserProfile, type PushPayload, type PushPayloadKind, type PushSubscriptionKeys, type PushSubscriptionSummary, type PushSubscriptionsResponse, type QuietHours, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, RENAISSANCE_RANK_DEFINITIONS, REPORTS_PER_DAY_MAX, REPORT_DETAILS_MAX_LENGTH, REPORT_REASONS, REPORT_SUBJECT_KINDS, REP_TYPES, RESERVED_USERNAMES, REST_ALERT_MAX_LEAD_SECONDS, REST_ALERT_MIN_LEAD_SECONDS, REST_ALERT_REFUSALS, ROUTINE_DAYS_MAX, ROUTINE_DAY_NAME_MAX, ROUTINE_DISCOVERY_DEFAULT_LIMIT, ROUTINE_DISCOVERY_MAX_LIMIT, ROUTINE_DISCOVERY_SCAN_LIMIT, ROUTINE_DURATION_BANDS, ROUTINE_DURATION_BAND_MAX_MINUTES, ROUTINE_SCHEDULE_MODES, ROUTINE_SHARE_MAX_ACTIVE_LINKS, ROUTINE_VERSIONS_MAX, ROUTINE_VERSION_KINDS, ROUTINE_VERSION_NAME_MAX, ROUTINE_VISIBILITY_VALUES, type RecentActivityEntry, type RegisterPushSubscriptionRequest, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RenaissanceRankDefinition, type RenaissanceRankProgress, type RepType, type ReplaceFeaturedProfileItemsRequest, type ReplaceMeasurableGoalsRequest, type ReplaceTrainingLocationsRequest, type ReportReason, type ReportSubjectKind, type RestAlertPushPayload, type RestAlertRefusal, type RestoreRoutineVersionResponse, type Routine, type RoutineClassification, type RoutineDay, type RoutineDayId, type RoutineDiscoveryQuery, type RoutineDiscoveryResponse, type RoutineDurationBand, type RoutineExercise, type RoutineFacets, type RoutineId, type RoutineLineage, type RoutineScheduleMode, type RoutineSet, type RoutineShare, type RoutineShareListResponse, type RoutineVersion, type RoutineVersionDay, type RoutineVersionExercise, type RoutineVersionKind, type RoutineVersionSetup, type RoutineVersionsResponse, type RoutineVisibility, SCHEDULE_MOVE_MAX_DAYS, SCHEDULE_OVERRIDES_MAX_RANGE_DAYS, SCHEDULE_OVERRIDE_KINDS, SCHEDULE_SKIP_PAST_DAYS, SESSION_SHARE_DEFAULT_FIELDS, SESSION_SHARE_FIELDS, SESSION_SHARE_MAX_ACTIVE_LINKS, SEXES, SHARED_ROUTINE_SOURCES, STARRED_EXERCISES_MAX, STREAK_MAX_GAP_DAYS, type ScheduleOverride, type ScheduleOverrideKind, type ScheduleOverridesQuery, type ScheduleOverridesResponse, type ScheduleRestAlertRequest, type ScheduleRestAlertResponse, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, type SessionExerciseSubstitution, type SessionProgressNotification, type SessionRecapRecord, type SessionShare, type SessionShareField, type SessionShareListResponse, type SetAccountTimeZoneRequest, type SetLog, type Sex, type SharedRoutine, type SharedRoutineOwner, type SharedRoutineSource, type SharedRoutineSummary, type SharedSessionOwner, type SharedSessionRecap, type SkipOccurrenceRequest, type StarredExercise, type StarredExercisesResponse, type StartWorkoutRequest, type StartWorkoutResponse, type StreakAtRiskPushPayload, type StreakMilestoneEventPayload, type SubstituteSessionExerciseRequest, type SubstituteSessionExerciseResponse, 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, type TrainingReminderPreference, type TrainingReminderPushPayload, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateNotificationPreferencesRequest, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpdateRoutineVisibilityRequest, 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, isWithinQuietHours, routineDayLabel };
|
|
2224
|
+
export { ACHIEVEMENT_CATEGORIES, ACHIEVEMENT_DEFINITIONS, ACTIVITY_CAPS, ACTIVITY_DEFAULT_AUDIENCE, ACTIVITY_ENTRY_ID_MAX_LENGTH, ACTIVITY_FEED_FOLLOWED_MAX, ACTIVITY_PAGE_DEFAULT_LIMIT, ACTIVITY_PAGE_MAX_LIMIT, ACTIVITY_PREVIEW_AUDIENCES, ACTIVITY_REACTIONS, ACTIVITY_TYPES, ACTIVITY_TYPE_SECTIONS, type AchievementActivity, type AchievementCategory, type AchievementCategoryProgress, type AchievementDefinition, type AchievementNotification, type AchievementUnlockedEventPayload, type AchievementsResponse, type ActivityAudience, type ActivityCap, type ActivityEntry, type ActivityEntrySharing, type ActivityFeedResponse, type ActivityLink, type ActivityPage, type ActivityPageQuery, type ActivityPreviewAudience, type ActivityPreviewQuery, type ActivityReaction, type ActivityReactionSummary, type ActivitySection, type ActivitySharingSettings, type ActivityType, type AppNotification, BLOCKED_MEMBERS_MAX, type BlockedMember, type BlockedMembersResponse, type Brand, CLONE_ROUTINE_REFUSALS, COMEBACK_MIN_INACTIVE_DAYS, COMEBACK_RECOGNITION_LIMIT, COMEBACK_REQUIRED_ACTIVE_DAYS, COMEBACK_SESSION_LOOKBACK, COMEBACK_WINDOW_DAYS, type CalendarDate, type CloneRoutineRefusal, type CloneRoutineRequest, type ComebackActivity, type ComebackRecognition, type ComebackRecognitionSummary, type CreateReportRequest, type CreateReportResponse, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type CreateRoutineVersionRequest, type CreateSessionShareRequest, type DeletePushSubscriptionRequest, type DiscoverableRoutine, EXERCISE_EQUIPMENT, EXERCISE_MECHANICS, type EarnedAchievement, type EarnedPersonalRecord, type Exercise, type ExerciseEquipment, type ExerciseId, type ExerciseMechanic, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExercisePlateau, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FEATURED_PROFILE_ITEMS_MAX, FEATURED_PROFILE_ITEM_KINDS, FEATURED_PROFILE_REFERENCE_MAX_LENGTH, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FeaturedProfileAchievementItem, type FeaturedProfileItem, type FeaturedProfileItemKind, type FeaturedProfileRankItem, type FeaturedProfileRecordItem, type FeaturedProfileRoutineItem, type FeaturedProfileSelection, type FeaturedProfileSelectionInput, type FeaturedProfileSelectionsResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MEASURABLE_GOALS_MAX, MEASURABLE_GOAL_DIRECTIONS, MEASURABLE_GOAL_TYPES, MINUTES_IN_DAY, MOVEMENT_PATTERNS, MUSCLE_GROUPS, type MarkNotificationsReadRequest, type MarkNotificationsReadResponse, type MeasurableGoal, type MeasurableGoalDirection, type MeasurableGoalExercise, type MeasurableGoalInput, type MeasurableGoalType, type MemberActivityResponse, type MemberModerationState, type MemberRoutinesResponse, type MoveOccurrenceRequest, type MovementPattern, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, NOTIFICATIONS_LIST_LIMIT, NOTIFICATIONS_LOOKBACK_DAYS, NOTIFICATIONS_RETENTION_DAYS, NOTIFICATION_CATEGORIES, NOTIFICATION_KINDS, type NewFollowerNotification, type NotificationCategory, type NotificationKind, type NotificationPreferences, type NotificationPreferencesResponse, type NotificationsResponse, type OwnActivityEntry, type OwnActivityResponse, PLATEAU_MIN_DAYS_SINCE_BEST, PLATEAU_MIN_SESSIONS, PLATEAU_MIN_SESSIONS_MAX, PLATEAU_MIN_SESSIONS_MIN, PLATEAU_RECENT_DAYS, PLATEAU_WINDOW_DAYS, 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, PUSH_PAYLOAD_KINDS, PUSH_SUBSCRIPTIONS_MAX, type PaginatedResponse, type PersonalGoalProgress, type PersonalGoalsResponse, type PersonalRecordActivity, type PersonalRecordEntry, type PersonalRecordKind, type PlannedReminder, type PlatePairInventory, type PlateauPreferences, type PlateauSet, type PlateausResponse, 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 ProgressionActivity, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicProfileAchievements, type PublicTrainingSummary, type PublicUserProfile, type PushPayload, type PushPayloadKind, type PushSubscriptionKeys, type PushSubscriptionSummary, type PushSubscriptionsResponse, type QuietHours, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, RENAISSANCE_RANK_DEFINITIONS, REPORTS_PER_DAY_MAX, REPORT_DETAILS_MAX_LENGTH, REPORT_REASONS, REPORT_SUBJECT_KINDS, REP_TYPES, RESERVED_USERNAMES, REST_ALERT_MAX_LEAD_SECONDS, REST_ALERT_MIN_LEAD_SECONDS, REST_ALERT_REFUSALS, ROUTINE_DAYS_MAX, ROUTINE_DAY_NAME_MAX, ROUTINE_DISCOVERY_DEFAULT_LIMIT, ROUTINE_DISCOVERY_MAX_LIMIT, ROUTINE_DISCOVERY_SCAN_LIMIT, ROUTINE_DURATION_BANDS, ROUTINE_DURATION_BAND_MAX_MINUTES, ROUTINE_SCHEDULE_MODES, ROUTINE_SHARE_MAX_ACTIVE_LINKS, ROUTINE_VERSIONS_MAX, ROUTINE_VERSION_KINDS, ROUTINE_VERSION_NAME_MAX, ROUTINE_VISIBILITY_VALUES, type RecentActivityEntry, type RegisterPushSubscriptionRequest, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RenaissanceRankDefinition, type RenaissanceRankProgress, type RepType, type ReplaceFeaturedProfileItemsRequest, type ReplaceMeasurableGoalsRequest, type ReplaceTrainingLocationsRequest, type ReportReason, type ReportSubjectKind, type RestAlertPushPayload, type RestAlertRefusal, type RestoreRoutineVersionResponse, type Routine, type RoutineClassification, type RoutineDay, type RoutineDayId, type RoutineDiscoveryQuery, type RoutineDiscoveryResponse, type RoutineDurationBand, type RoutineExercise, type RoutineFacets, type RoutineId, type RoutineLineage, type RoutineScheduleMode, type RoutineSet, type RoutineShare, type RoutineShareListResponse, type RoutineSharedActivity, type RoutineVersion, type RoutineVersionDay, type RoutineVersionExercise, type RoutineVersionKind, type RoutineVersionSetup, type RoutineVersionsResponse, type RoutineVisibility, SCHEDULE_MOVE_MAX_DAYS, SCHEDULE_OVERRIDES_MAX_RANGE_DAYS, SCHEDULE_OVERRIDE_KINDS, SCHEDULE_SKIP_PAST_DAYS, SESSION_SHARE_DEFAULT_FIELDS, SESSION_SHARE_FIELDS, SESSION_SHARE_MAX_ACTIVE_LINKS, SEXES, SHARED_ROUTINE_SOURCES, STARRED_EXERCISES_MAX, STREAK_MAX_GAP_DAYS, type ScheduleOverride, type ScheduleOverrideKind, type ScheduleOverridesQuery, type ScheduleOverridesResponse, type ScheduleRestAlertRequest, type ScheduleRestAlertResponse, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, type SessionCompletedActivity, type SessionExerciseSubstitution, type SessionProgressNotification, type SessionRecapRecord, type SessionShare, type SessionShareField, type SessionShareListResponse, type SetAccountTimeZoneRequest, type SetActivityEntryAudienceRequest, type SetActivityEntryAudienceResponse, type SetActivityReactionRequest, type SetActivityReactionResponse, type SetLog, type Sex, type SharedRoutine, type SharedRoutineOwner, type SharedRoutineSource, type SharedRoutineSummary, type SharedSessionOwner, type SharedSessionRecap, type SkipOccurrenceRequest, type StarredExercise, type StarredExercisesResponse, type StartWorkoutRequest, type StartWorkoutResponse, type StreakAtRiskPushPayload, type StreakMilestoneActivity, type StreakMilestoneEventPayload, type SubstituteSessionExerciseRequest, type SubstituteSessionExerciseResponse, 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, type TrainingReminderPreference, type TrainingReminderPushPayload, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateActivitySharingRequest, type UpdateNotificationPreferencesRequest, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpdateRoutineVisibilityRequest, 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, isWithinQuietHours, routineDayLabel };
|
package/dist/index.d.ts
CHANGED
|
@@ -1638,6 +1638,265 @@ interface RoutineDiscoveryResponse {
|
|
|
1638
1638
|
scanTruncated: boolean;
|
|
1639
1639
|
}
|
|
1640
1640
|
|
|
1641
|
+
declare const ACTIVITY_TYPES: readonly ["SESSION_COMPLETED", "PERSONAL_RECORD", "PROGRESSION_CHANGED", "ACHIEVEMENT_UNLOCKED", "STREAK_MILESTONE", "COMEBACK", "ROUTINE_SHARED"];
|
|
1642
|
+
type ActivityType = (typeof ACTIVITY_TYPES)[number];
|
|
1643
|
+
/** The `PROF-06` sections activity can come from. */
|
|
1644
|
+
type ActivitySection = keyof Pick<ProfilePrivacySettings, 'workoutHistory' | 'records' | 'achievements' | 'routines'>;
|
|
1645
|
+
/**
|
|
1646
|
+
* The one section each type's data comes from. An entry can never be seen by
|
|
1647
|
+
* someone that section is hidden from.
|
|
1648
|
+
*/
|
|
1649
|
+
declare const ACTIVITY_TYPE_SECTIONS: Record<ActivityType, ActivitySection>;
|
|
1650
|
+
/** Who may see an entry: the `PROF-06` values, so there is one vocabulary. */
|
|
1651
|
+
type ActivityAudience = ProfileVisibility;
|
|
1652
|
+
/** Every type starts here until its owner chooses otherwise. */
|
|
1653
|
+
declare const ACTIVITY_DEFAULT_AUDIENCE: ActivityAudience;
|
|
1654
|
+
declare const ACTIVITY_REACTIONS: readonly ["STRENGTH", "DISCIPLINE", "RESPECT", "INSPIRING"];
|
|
1655
|
+
type ActivityReaction = (typeof ACTIVITY_REACTIONS)[number];
|
|
1656
|
+
/**
|
|
1657
|
+
* What a viewer may see of an entry's reactions: how many of each, and their
|
|
1658
|
+
* own, so the control can show what they chose. **Deliberately no list of who
|
|
1659
|
+
* reacted** -- that is an identity surface with its own privacy question, and
|
|
1660
|
+
* a name beside an entry would say more about the reactor than the work.
|
|
1661
|
+
* Members either side of a block are absent from the counts, so a number
|
|
1662
|
+
* cannot reveal one of them.
|
|
1663
|
+
*/
|
|
1664
|
+
interface ActivityReactionSummary {
|
|
1665
|
+
counts: Record<ActivityReaction, number>;
|
|
1666
|
+
/** The viewer's own reaction, or null; always null on the viewer's own entry. */
|
|
1667
|
+
viewerReaction: ActivityReaction | null;
|
|
1668
|
+
}
|
|
1669
|
+
/**
|
|
1670
|
+
* PUT /activity/entries/reaction. `null` removes the viewer's reaction, and
|
|
1671
|
+
* choosing the one already chosen removes it too, so there is one per member
|
|
1672
|
+
* per entry and nothing to accumulate. Reacting to your own entry is refused.
|
|
1673
|
+
*/
|
|
1674
|
+
interface SetActivityReactionRequest {
|
|
1675
|
+
entryId: string;
|
|
1676
|
+
reaction: ActivityReaction | null;
|
|
1677
|
+
}
|
|
1678
|
+
/** Stable successful response of PUT /activity/entries/reaction. */
|
|
1679
|
+
interface SetActivityReactionResponse {
|
|
1680
|
+
entryId: string;
|
|
1681
|
+
reactions: ActivityReactionSummary;
|
|
1682
|
+
}
|
|
1683
|
+
/**
|
|
1684
|
+
* Where the viewer may open the record an entry came from. The server decides
|
|
1685
|
+
* it, so the client never judges what a viewer may read; an entry whose
|
|
1686
|
+
* record has no such place for this viewer has `link: null` and still names
|
|
1687
|
+
* the record.
|
|
1688
|
+
*/
|
|
1689
|
+
type ActivityLink = {
|
|
1690
|
+
kind: 'OWN_SESSION';
|
|
1691
|
+
sessionId: string;
|
|
1692
|
+
} | {
|
|
1693
|
+
kind: 'OWN_EXERCISE';
|
|
1694
|
+
exerciseId: string;
|
|
1695
|
+
} | {
|
|
1696
|
+
kind: 'OWN_ACHIEVEMENTS';
|
|
1697
|
+
} | {
|
|
1698
|
+
kind: 'OWN_ROUTINE';
|
|
1699
|
+
routineId: string;
|
|
1700
|
+
} | {
|
|
1701
|
+
kind: 'MEMBER_RECORDS';
|
|
1702
|
+
username: string;
|
|
1703
|
+
} | {
|
|
1704
|
+
kind: 'MEMBER_ACHIEVEMENTS';
|
|
1705
|
+
username: string;
|
|
1706
|
+
} | {
|
|
1707
|
+
kind: 'MEMBER_ROUTINE';
|
|
1708
|
+
username: string;
|
|
1709
|
+
routineId: string;
|
|
1710
|
+
};
|
|
1711
|
+
interface ActivityEntryBase {
|
|
1712
|
+
/**
|
|
1713
|
+
* Stable across reads and opaque to clients. It is the key an override is
|
|
1714
|
+
* stored under, so it must be sent back unchanged.
|
|
1715
|
+
*/
|
|
1716
|
+
id: string;
|
|
1717
|
+
occurredAt: IsoDateString;
|
|
1718
|
+
author: SharedRoutineOwner;
|
|
1719
|
+
link: ActivityLink | null;
|
|
1720
|
+
/**
|
|
1721
|
+
* Shared by the facts of one workout, so a session and the records it set
|
|
1722
|
+
* can be shown together; null for a fact that belongs to no workout.
|
|
1723
|
+
*/
|
|
1724
|
+
groupKey: string | null;
|
|
1725
|
+
/**
|
|
1726
|
+
* `SOC-05`. Travels inside the entry on purpose: a reaction can then never
|
|
1727
|
+
* be shown on an entry this viewer was not allowed to see, because the same
|
|
1728
|
+
* read decides both.
|
|
1729
|
+
*/
|
|
1730
|
+
reactions: ActivityReactionSummary;
|
|
1731
|
+
}
|
|
1732
|
+
interface SessionCompletedActivity extends ActivityEntryBase {
|
|
1733
|
+
type: 'SESSION_COMPLETED';
|
|
1734
|
+
session: {
|
|
1735
|
+
routineName: string;
|
|
1736
|
+
dayName: string | null;
|
|
1737
|
+
completedSets: number;
|
|
1738
|
+
/** External load × reps, canonical kilograms. */
|
|
1739
|
+
volumeKg: number;
|
|
1740
|
+
durationSec: number | null;
|
|
1741
|
+
};
|
|
1742
|
+
}
|
|
1743
|
+
interface PersonalRecordActivity extends ActivityEntryBase {
|
|
1744
|
+
type: 'PERSONAL_RECORD';
|
|
1745
|
+
record: {
|
|
1746
|
+
exerciseId: string;
|
|
1747
|
+
exerciseName: string;
|
|
1748
|
+
weightKg: number;
|
|
1749
|
+
reps: number;
|
|
1750
|
+
estimated1rmKg: number;
|
|
1751
|
+
};
|
|
1752
|
+
}
|
|
1753
|
+
interface ProgressionActivity extends ActivityEntryBase {
|
|
1754
|
+
type: 'PROGRESSION_CHANGED';
|
|
1755
|
+
progression: {
|
|
1756
|
+
exerciseId: string;
|
|
1757
|
+
exerciseName: string;
|
|
1758
|
+
sets: ProgressionSetChange[];
|
|
1759
|
+
};
|
|
1760
|
+
}
|
|
1761
|
+
interface AchievementActivity extends ActivityEntryBase {
|
|
1762
|
+
type: 'ACHIEVEMENT_UNLOCKED';
|
|
1763
|
+
achievement: {
|
|
1764
|
+
id: string;
|
|
1765
|
+
title: string;
|
|
1766
|
+
description: string;
|
|
1767
|
+
category: AchievementCategory;
|
|
1768
|
+
};
|
|
1769
|
+
}
|
|
1770
|
+
interface StreakMilestoneActivity extends ActivityEntryBase {
|
|
1771
|
+
type: 'STREAK_MILESTONE';
|
|
1772
|
+
streak: {
|
|
1773
|
+
achievementId: string;
|
|
1774
|
+
title: string;
|
|
1775
|
+
streakDays: number;
|
|
1776
|
+
};
|
|
1777
|
+
}
|
|
1778
|
+
interface ComebackActivity extends ActivityEntryBase {
|
|
1779
|
+
type: 'COMEBACK';
|
|
1780
|
+
comeback: {
|
|
1781
|
+
/** Full local-calendar days without a completed session before it. */
|
|
1782
|
+
inactiveDays: number;
|
|
1783
|
+
activeDays: number;
|
|
1784
|
+
windowDays: number;
|
|
1785
|
+
returnedAt: IsoDateString;
|
|
1786
|
+
};
|
|
1787
|
+
}
|
|
1788
|
+
interface RoutineSharedActivity extends ActivityEntryBase {
|
|
1789
|
+
type: 'ROUTINE_SHARED';
|
|
1790
|
+
routine: {
|
|
1791
|
+
routineId: string;
|
|
1792
|
+
name: string;
|
|
1793
|
+
dayCount: number;
|
|
1794
|
+
exerciseCount: number;
|
|
1795
|
+
};
|
|
1796
|
+
}
|
|
1797
|
+
type ActivityEntry = SessionCompletedActivity | PersonalRecordActivity | ProgressionActivity | AchievementActivity | StreakMilestoneActivity | ComebackActivity | RoutineSharedActivity;
|
|
1798
|
+
declare const ACTIVITY_PAGE_DEFAULT_LIMIT = 20;
|
|
1799
|
+
declare const ACTIVITY_PAGE_MAX_LIMIT = 50;
|
|
1800
|
+
/**
|
|
1801
|
+
* The feed considers at most this many followed members, and says so when it
|
|
1802
|
+
* reached the ceiling rather than presenting a partial feed as a whole one.
|
|
1803
|
+
*/
|
|
1804
|
+
declare const ACTIVITY_FEED_FOLLOWED_MAX = 500;
|
|
1805
|
+
/** Entry ids are opaque but bounded; anything longer is refused. */
|
|
1806
|
+
declare const ACTIVITY_ENTRY_ID_MAX_LENGTH = 200;
|
|
1807
|
+
interface ActivityPageQuery {
|
|
1808
|
+
limit?: number;
|
|
1809
|
+
/** Opaque; from the previous page's `nextCursor`. */
|
|
1810
|
+
cursor?: string;
|
|
1811
|
+
}
|
|
1812
|
+
interface ActivityPage<Entry = ActivityEntry> {
|
|
1813
|
+
entries: Entry[];
|
|
1814
|
+
nextCursor?: string;
|
|
1815
|
+
}
|
|
1816
|
+
/**
|
|
1817
|
+
* GET /activity/feed: activity of the members the viewer follows that each
|
|
1818
|
+
* member's audiences allow the viewer to see, newest first.
|
|
1819
|
+
*/
|
|
1820
|
+
interface ActivityFeedResponse extends ActivityPage {
|
|
1821
|
+
/**
|
|
1822
|
+
* How many members the viewer follows, so an empty feed can say whether
|
|
1823
|
+
* there is nobody to hear from or nothing they were allowed to see.
|
|
1824
|
+
*/
|
|
1825
|
+
followedCount: number;
|
|
1826
|
+
/** True when the viewer follows more than `ACTIVITY_FEED_FOLLOWED_MAX`. */
|
|
1827
|
+
followedTruncated: boolean;
|
|
1828
|
+
}
|
|
1829
|
+
/** GET /activity/members/:identifier — one member's activity, as this viewer may see it. */
|
|
1830
|
+
type MemberActivityResponse = ActivityPage;
|
|
1831
|
+
/** What narrowed an entry below the audience its owner chose. */
|
|
1832
|
+
declare const ACTIVITY_CAPS: readonly ["SECTION", "ROUTINE"];
|
|
1833
|
+
type ActivityCap = (typeof ACTIVITY_CAPS)[number];
|
|
1834
|
+
/** How one of the owner's own entries is shared. */
|
|
1835
|
+
interface ActivityEntrySharing {
|
|
1836
|
+
section: ActivitySection;
|
|
1837
|
+
/** The owner's current rule for that section. */
|
|
1838
|
+
sectionRule: ProfileVisibility;
|
|
1839
|
+
/** The type's default audience. */
|
|
1840
|
+
defaultAudience: ActivityAudience;
|
|
1841
|
+
/** This entry's own audience, or null when it follows the default. */
|
|
1842
|
+
override: ActivityAudience | null;
|
|
1843
|
+
/**
|
|
1844
|
+
* Who can actually see it: the narrowest of the section rule, the chosen
|
|
1845
|
+
* audience and, for a shared routine, the routine's own visibility.
|
|
1846
|
+
*/
|
|
1847
|
+
effectiveAudience: ActivityAudience;
|
|
1848
|
+
/** Set when the effective audience is narrower than the one chosen. */
|
|
1849
|
+
cappedBy: ActivityCap | null;
|
|
1850
|
+
}
|
|
1851
|
+
type OwnActivityEntry = ActivityEntry & {
|
|
1852
|
+
sharing: ActivityEntrySharing;
|
|
1853
|
+
};
|
|
1854
|
+
/** GET /activity/mine — every entry of the owner's, whoever may see it. */
|
|
1855
|
+
type OwnActivityResponse = ActivityPage<OwnActivityEntry>;
|
|
1856
|
+
/**
|
|
1857
|
+
* The audiences the owner can preview. `FOLLOWERS` is a member who follows
|
|
1858
|
+
* them; `PUBLIC` is any other signed-in member. Activity is never shown
|
|
1859
|
+
* signed out.
|
|
1860
|
+
*/
|
|
1861
|
+
declare const ACTIVITY_PREVIEW_AUDIENCES: readonly ["FOLLOWERS", "PUBLIC"];
|
|
1862
|
+
type ActivityPreviewAudience = (typeof ACTIVITY_PREVIEW_AUDIENCES)[number];
|
|
1863
|
+
/**
|
|
1864
|
+
* GET /activity/mine/preview — the owner's activity exactly as that audience
|
|
1865
|
+
* would receive it, through the same read, links included.
|
|
1866
|
+
*/
|
|
1867
|
+
interface ActivityPreviewQuery extends ActivityPageQuery {
|
|
1868
|
+
audience: ActivityPreviewAudience;
|
|
1869
|
+
}
|
|
1870
|
+
/** GET and PUT /activity/sharing */
|
|
1871
|
+
interface ActivitySharingSettings {
|
|
1872
|
+
/** The default audience of every type. */
|
|
1873
|
+
defaults: Record<ActivityType, ActivityAudience>;
|
|
1874
|
+
/** The section rules that cap them, so the UI can say when one does. */
|
|
1875
|
+
sections: Record<ActivitySection, ProfileVisibility>;
|
|
1876
|
+
}
|
|
1877
|
+
/**
|
|
1878
|
+
* PUT /activity/sharing. A partial write: an omitted type keeps its stored
|
|
1879
|
+
* default. A default applies to past entries of the type as well as future
|
|
1880
|
+
* ones, except those with their own audience.
|
|
1881
|
+
*/
|
|
1882
|
+
interface UpdateActivitySharingRequest {
|
|
1883
|
+
defaults: Partial<Record<ActivityType, ActivityAudience>>;
|
|
1884
|
+
}
|
|
1885
|
+
/**
|
|
1886
|
+
* PUT /activity/entries/audience. `null` returns the entry to its type's
|
|
1887
|
+
* default; `PRIVATE` withdraws it from everyone but its owner. Either way it
|
|
1888
|
+
* can never exceed its section.
|
|
1889
|
+
*/
|
|
1890
|
+
interface SetActivityEntryAudienceRequest {
|
|
1891
|
+
entryId: string;
|
|
1892
|
+
audience: ActivityAudience | null;
|
|
1893
|
+
}
|
|
1894
|
+
/** Stable successful response of PUT /activity/entries/audience. */
|
|
1895
|
+
interface SetActivityEntryAudienceResponse {
|
|
1896
|
+
entryId: string;
|
|
1897
|
+
sharing: ActivityEntrySharing;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1641
1900
|
/** A local calendar date, YYYY-MM-DD. */
|
|
1642
1901
|
type CalendarDate = string;
|
|
1643
1902
|
/**
|
|
@@ -1962,4 +2221,4 @@ interface PlannedReminder {
|
|
|
1962
2221
|
routineNames: string[];
|
|
1963
2222
|
}
|
|
1964
2223
|
|
|
1965
|
-
export { ACHIEVEMENT_CATEGORIES, ACHIEVEMENT_DEFINITIONS, type AchievementCategory, type AchievementCategoryProgress, type AchievementDefinition, type AchievementNotification, type AchievementUnlockedEventPayload, type AchievementsResponse, type AppNotification, BLOCKED_MEMBERS_MAX, type BlockedMember, type BlockedMembersResponse, type Brand, CLONE_ROUTINE_REFUSALS, COMEBACK_MIN_INACTIVE_DAYS, COMEBACK_RECOGNITION_LIMIT, COMEBACK_REQUIRED_ACTIVE_DAYS, COMEBACK_SESSION_LOOKBACK, COMEBACK_WINDOW_DAYS, type CalendarDate, type CloneRoutineRefusal, type CloneRoutineRequest, type ComebackRecognition, type ComebackRecognitionSummary, type CreateReportRequest, type CreateReportResponse, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type CreateRoutineVersionRequest, type CreateSessionShareRequest, type DeletePushSubscriptionRequest, type DiscoverableRoutine, EXERCISE_EQUIPMENT, EXERCISE_MECHANICS, type EarnedAchievement, type EarnedPersonalRecord, type Exercise, type ExerciseEquipment, type ExerciseId, type ExerciseMechanic, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExercisePlateau, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FEATURED_PROFILE_ITEMS_MAX, FEATURED_PROFILE_ITEM_KINDS, FEATURED_PROFILE_REFERENCE_MAX_LENGTH, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FeaturedProfileAchievementItem, type FeaturedProfileItem, type FeaturedProfileItemKind, type FeaturedProfileRankItem, type FeaturedProfileRecordItem, type FeaturedProfileRoutineItem, type FeaturedProfileSelection, type FeaturedProfileSelectionInput, type FeaturedProfileSelectionsResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MEASURABLE_GOALS_MAX, MEASURABLE_GOAL_DIRECTIONS, MEASURABLE_GOAL_TYPES, MINUTES_IN_DAY, MOVEMENT_PATTERNS, MUSCLE_GROUPS, type MarkNotificationsReadRequest, type MarkNotificationsReadResponse, type MeasurableGoal, type MeasurableGoalDirection, type MeasurableGoalExercise, type MeasurableGoalInput, type MeasurableGoalType, type MemberModerationState, type MemberRoutinesResponse, type MoveOccurrenceRequest, type MovementPattern, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, NOTIFICATIONS_LIST_LIMIT, NOTIFICATIONS_LOOKBACK_DAYS, NOTIFICATIONS_RETENTION_DAYS, NOTIFICATION_CATEGORIES, NOTIFICATION_KINDS, type NewFollowerNotification, type NotificationCategory, type NotificationKind, type NotificationPreferences, type NotificationPreferencesResponse, type NotificationsResponse, PLATEAU_MIN_DAYS_SINCE_BEST, PLATEAU_MIN_SESSIONS, PLATEAU_MIN_SESSIONS_MAX, PLATEAU_MIN_SESSIONS_MIN, PLATEAU_RECENT_DAYS, PLATEAU_WINDOW_DAYS, 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, PUSH_PAYLOAD_KINDS, PUSH_SUBSCRIPTIONS_MAX, type PaginatedResponse, type PersonalGoalProgress, type PersonalGoalsResponse, type PersonalRecordEntry, type PersonalRecordKind, type PlannedReminder, type PlatePairInventory, type PlateauPreferences, type PlateauSet, type PlateausResponse, 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 PublicProfileAchievements, type PublicTrainingSummary, type PublicUserProfile, type PushPayload, type PushPayloadKind, type PushSubscriptionKeys, type PushSubscriptionSummary, type PushSubscriptionsResponse, type QuietHours, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, RENAISSANCE_RANK_DEFINITIONS, REPORTS_PER_DAY_MAX, REPORT_DETAILS_MAX_LENGTH, REPORT_REASONS, REPORT_SUBJECT_KINDS, REP_TYPES, RESERVED_USERNAMES, REST_ALERT_MAX_LEAD_SECONDS, REST_ALERT_MIN_LEAD_SECONDS, REST_ALERT_REFUSALS, ROUTINE_DAYS_MAX, ROUTINE_DAY_NAME_MAX, ROUTINE_DISCOVERY_DEFAULT_LIMIT, ROUTINE_DISCOVERY_MAX_LIMIT, ROUTINE_DISCOVERY_SCAN_LIMIT, ROUTINE_DURATION_BANDS, ROUTINE_DURATION_BAND_MAX_MINUTES, ROUTINE_SCHEDULE_MODES, ROUTINE_SHARE_MAX_ACTIVE_LINKS, ROUTINE_VERSIONS_MAX, ROUTINE_VERSION_KINDS, ROUTINE_VERSION_NAME_MAX, ROUTINE_VISIBILITY_VALUES, type RecentActivityEntry, type RegisterPushSubscriptionRequest, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RenaissanceRankDefinition, type RenaissanceRankProgress, type RepType, type ReplaceFeaturedProfileItemsRequest, type ReplaceMeasurableGoalsRequest, type ReplaceTrainingLocationsRequest, type ReportReason, type ReportSubjectKind, type RestAlertPushPayload, type RestAlertRefusal, type RestoreRoutineVersionResponse, type Routine, type RoutineClassification, type RoutineDay, type RoutineDayId, type RoutineDiscoveryQuery, type RoutineDiscoveryResponse, type RoutineDurationBand, type RoutineExercise, type RoutineFacets, type RoutineId, type RoutineLineage, type RoutineScheduleMode, type RoutineSet, type RoutineShare, type RoutineShareListResponse, type RoutineVersion, type RoutineVersionDay, type RoutineVersionExercise, type RoutineVersionKind, type RoutineVersionSetup, type RoutineVersionsResponse, type RoutineVisibility, SCHEDULE_MOVE_MAX_DAYS, SCHEDULE_OVERRIDES_MAX_RANGE_DAYS, SCHEDULE_OVERRIDE_KINDS, SCHEDULE_SKIP_PAST_DAYS, SESSION_SHARE_DEFAULT_FIELDS, SESSION_SHARE_FIELDS, SESSION_SHARE_MAX_ACTIVE_LINKS, SEXES, SHARED_ROUTINE_SOURCES, STARRED_EXERCISES_MAX, STREAK_MAX_GAP_DAYS, type ScheduleOverride, type ScheduleOverrideKind, type ScheduleOverridesQuery, type ScheduleOverridesResponse, type ScheduleRestAlertRequest, type ScheduleRestAlertResponse, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, type SessionExerciseSubstitution, type SessionProgressNotification, type SessionRecapRecord, type SessionShare, type SessionShareField, type SessionShareListResponse, type SetAccountTimeZoneRequest, type SetLog, type Sex, type SharedRoutine, type SharedRoutineOwner, type SharedRoutineSource, type SharedRoutineSummary, type SharedSessionOwner, type SharedSessionRecap, type SkipOccurrenceRequest, type StarredExercise, type StarredExercisesResponse, type StartWorkoutRequest, type StartWorkoutResponse, type StreakAtRiskPushPayload, type StreakMilestoneEventPayload, type SubstituteSessionExerciseRequest, type SubstituteSessionExerciseResponse, 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, type TrainingReminderPreference, type TrainingReminderPushPayload, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateNotificationPreferencesRequest, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpdateRoutineVisibilityRequest, 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, isWithinQuietHours, routineDayLabel };
|
|
2224
|
+
export { ACHIEVEMENT_CATEGORIES, ACHIEVEMENT_DEFINITIONS, ACTIVITY_CAPS, ACTIVITY_DEFAULT_AUDIENCE, ACTIVITY_ENTRY_ID_MAX_LENGTH, ACTIVITY_FEED_FOLLOWED_MAX, ACTIVITY_PAGE_DEFAULT_LIMIT, ACTIVITY_PAGE_MAX_LIMIT, ACTIVITY_PREVIEW_AUDIENCES, ACTIVITY_REACTIONS, ACTIVITY_TYPES, ACTIVITY_TYPE_SECTIONS, type AchievementActivity, type AchievementCategory, type AchievementCategoryProgress, type AchievementDefinition, type AchievementNotification, type AchievementUnlockedEventPayload, type AchievementsResponse, type ActivityAudience, type ActivityCap, type ActivityEntry, type ActivityEntrySharing, type ActivityFeedResponse, type ActivityLink, type ActivityPage, type ActivityPageQuery, type ActivityPreviewAudience, type ActivityPreviewQuery, type ActivityReaction, type ActivityReactionSummary, type ActivitySection, type ActivitySharingSettings, type ActivityType, type AppNotification, BLOCKED_MEMBERS_MAX, type BlockedMember, type BlockedMembersResponse, type Brand, CLONE_ROUTINE_REFUSALS, COMEBACK_MIN_INACTIVE_DAYS, COMEBACK_RECOGNITION_LIMIT, COMEBACK_REQUIRED_ACTIVE_DAYS, COMEBACK_SESSION_LOOKBACK, COMEBACK_WINDOW_DAYS, type CalendarDate, type CloneRoutineRefusal, type CloneRoutineRequest, type ComebackActivity, type ComebackRecognition, type ComebackRecognitionSummary, type CreateReportRequest, type CreateReportResponse, type CreateRoutineDayInput, type CreateRoutineExerciseInput, type CreateRoutineRequest, type CreateRoutineVersionRequest, type CreateSessionShareRequest, type DeletePushSubscriptionRequest, type DiscoverableRoutine, EXERCISE_EQUIPMENT, EXERCISE_MECHANICS, type EarnedAchievement, type EarnedPersonalRecord, type Exercise, type ExerciseEquipment, type ExerciseId, type ExerciseMechanic, type ExercisePerformanceHistoryQuery, type ExercisePerformanceHistoryResponse, type ExercisePerformancePrescription, type ExercisePerformancePrescriptionSet, type ExercisePerformanceSession, type ExercisePerformanceSet, type ExercisePerformanceSummary, type ExercisePlateau, type ExerciseStrengthSummary, type ExerciseStrengthTrendPoint, type ExerciseStrengthTrendQuery, type ExerciseStrengthTrendResponse, FEATURED_PROFILE_ITEMS_MAX, FEATURED_PROFILE_ITEM_KINDS, FEATURED_PROFILE_REFERENCE_MAX_LENGTH, FOLLOW_SUGGESTIONS_DEFAULT_LIMIT, FOLLOW_SUGGESTIONS_MAX_LIMIT, FOLLOW_SUGGESTION_REASONS, type FeaturedProfileAchievementItem, type FeaturedProfileItem, type FeaturedProfileItemKind, type FeaturedProfileRankItem, type FeaturedProfileRecordItem, type FeaturedProfileRoutineItem, type FeaturedProfileSelection, type FeaturedProfileSelectionInput, type FeaturedProfileSelectionsResponse, type FinishStatus, type FinishWorkoutRequest, type FinishWorkoutResponse, type FollowSuggestion, type FollowSuggestionReason, type FollowSuggestionsResponse, type IsoDateString, type ListSessionsParams, MEASURABLE_GOALS_MAX, MEASURABLE_GOAL_DIRECTIONS, MEASURABLE_GOAL_TYPES, MINUTES_IN_DAY, MOVEMENT_PATTERNS, MUSCLE_GROUPS, type MarkNotificationsReadRequest, type MarkNotificationsReadResponse, type MeasurableGoal, type MeasurableGoalDirection, type MeasurableGoalExercise, type MeasurableGoalInput, type MeasurableGoalType, type MemberActivityResponse, type MemberModerationState, type MemberRoutinesResponse, type MoveOccurrenceRequest, type MovementPattern, type MuscleGroup, type MuscleGroupHeatmapQuery, type MuscleGroupHeatmapResponse, type MuscleGroupHeatmapValue, type MuscleGroupHeatmapWeek, type MuscleVolumeTrendSeries, NOTIFICATIONS_LIST_LIMIT, NOTIFICATIONS_LOOKBACK_DAYS, NOTIFICATIONS_RETENTION_DAYS, NOTIFICATION_CATEGORIES, NOTIFICATION_KINDS, type NewFollowerNotification, type NotificationCategory, type NotificationKind, type NotificationPreferences, type NotificationPreferencesResponse, type NotificationsResponse, type OwnActivityEntry, type OwnActivityResponse, PLATEAU_MIN_DAYS_SINCE_BEST, PLATEAU_MIN_SESSIONS, PLATEAU_MIN_SESSIONS_MAX, PLATEAU_MIN_SESSIONS_MIN, PLATEAU_RECENT_DAYS, PLATEAU_WINDOW_DAYS, 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, PUSH_PAYLOAD_KINDS, PUSH_SUBSCRIPTIONS_MAX, type PaginatedResponse, type PersonalGoalProgress, type PersonalGoalsResponse, type PersonalRecordActivity, type PersonalRecordEntry, type PersonalRecordKind, type PlannedReminder, type PlatePairInventory, type PlateauPreferences, type PlateauSet, type PlateausResponse, 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 ProgressionActivity, type ProgressionChange, type ProgressionRule, type ProgressionScheme, type ProgressionSetChange, type PublicBodyMetrics, type PublicProfileAchievements, type PublicTrainingSummary, type PublicUserProfile, type PushPayload, type PushPayloadKind, type PushSubscriptionKeys, type PushSubscriptionSummary, type PushSubscriptionsResponse, type QuietHours, RELATIONSHIP_LIST_DEFAULT_LIMIT, RELATIONSHIP_LIST_KINDS, RELATIONSHIP_LIST_MAX_LIMIT, RENAISSANCE_RANK_DEFINITIONS, REPORTS_PER_DAY_MAX, REPORT_DETAILS_MAX_LENGTH, REPORT_REASONS, REPORT_SUBJECT_KINDS, REP_TYPES, RESERVED_USERNAMES, REST_ALERT_MAX_LEAD_SECONDS, REST_ALERT_MIN_LEAD_SECONDS, REST_ALERT_REFUSALS, ROUTINE_DAYS_MAX, ROUTINE_DAY_NAME_MAX, ROUTINE_DISCOVERY_DEFAULT_LIMIT, ROUTINE_DISCOVERY_MAX_LIMIT, ROUTINE_DISCOVERY_SCAN_LIMIT, ROUTINE_DURATION_BANDS, ROUTINE_DURATION_BAND_MAX_MINUTES, ROUTINE_SCHEDULE_MODES, ROUTINE_SHARE_MAX_ACTIVE_LINKS, ROUTINE_VERSIONS_MAX, ROUTINE_VERSION_KINDS, ROUTINE_VERSION_NAME_MAX, ROUTINE_VISIBILITY_VALUES, type RecentActivityEntry, type RegisterPushSubscriptionRequest, type RelationshipListKind, type RelationshipListQuery, type RelationshipListResponse, type RelationshipMember, type RenaissanceRankDefinition, type RenaissanceRankProgress, type RepType, type ReplaceFeaturedProfileItemsRequest, type ReplaceMeasurableGoalsRequest, type ReplaceTrainingLocationsRequest, type ReportReason, type ReportSubjectKind, type RestAlertPushPayload, type RestAlertRefusal, type RestoreRoutineVersionResponse, type Routine, type RoutineClassification, type RoutineDay, type RoutineDayId, type RoutineDiscoveryQuery, type RoutineDiscoveryResponse, type RoutineDurationBand, type RoutineExercise, type RoutineFacets, type RoutineId, type RoutineLineage, type RoutineScheduleMode, type RoutineSet, type RoutineShare, type RoutineShareListResponse, type RoutineSharedActivity, type RoutineVersion, type RoutineVersionDay, type RoutineVersionExercise, type RoutineVersionKind, type RoutineVersionSetup, type RoutineVersionsResponse, type RoutineVisibility, SCHEDULE_MOVE_MAX_DAYS, SCHEDULE_OVERRIDES_MAX_RANGE_DAYS, SCHEDULE_OVERRIDE_KINDS, SCHEDULE_SKIP_PAST_DAYS, SESSION_SHARE_DEFAULT_FIELDS, SESSION_SHARE_FIELDS, SESSION_SHARE_MAX_ACTIVE_LINKS, SEXES, SHARED_ROUTINE_SOURCES, STARRED_EXERCISES_MAX, STREAK_MAX_GAP_DAYS, type ScheduleOverride, type ScheduleOverrideKind, type ScheduleOverridesQuery, type ScheduleOverridesResponse, type ScheduleRestAlertRequest, type ScheduleRestAlertResponse, type SessionComparisonExercise, type SessionComparisonQuery, type SessionComparisonResponse, type SessionComparisonRoutineDay, type SessionComparisonSession, type SessionComparisonSet, type SessionCompletedActivity, type SessionExerciseSubstitution, type SessionProgressNotification, type SessionRecapRecord, type SessionShare, type SessionShareField, type SessionShareListResponse, type SetAccountTimeZoneRequest, type SetActivityEntryAudienceRequest, type SetActivityEntryAudienceResponse, type SetActivityReactionRequest, type SetActivityReactionResponse, type SetLog, type Sex, type SharedRoutine, type SharedRoutineOwner, type SharedRoutineSource, type SharedRoutineSummary, type SharedSessionOwner, type SharedSessionRecap, type SkipOccurrenceRequest, type StarredExercise, type StarredExercisesResponse, type StartWorkoutRequest, type StartWorkoutResponse, type StreakAtRiskPushPayload, type StreakMilestoneActivity, type StreakMilestoneEventPayload, type SubstituteSessionExerciseRequest, type SubstituteSessionExerciseResponse, 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, type TrainingReminderPreference, type TrainingReminderPushPayload, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN_SOURCE, type UpdateActivitySharingRequest, type UpdateNotificationPreferencesRequest, type UpdateProfileDiscoveryRequest, type UpdateProfilePrivacyRequest, type UpdateProfileRequest, type UpdateRoutineRequest, type UpdateRoutineVisibilityRequest, 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, isWithinQuietHours, routineDayLabel };
|
package/dist/index.js
CHANGED
|
@@ -353,6 +353,39 @@ var ROUTINE_DISCOVERY_DEFAULT_LIMIT = 20;
|
|
|
353
353
|
var ROUTINE_DISCOVERY_MAX_LIMIT = 50;
|
|
354
354
|
var ROUTINE_DISCOVERY_SCAN_LIMIT = 500;
|
|
355
355
|
|
|
356
|
+
// src/activity.ts
|
|
357
|
+
var ACTIVITY_TYPES = [
|
|
358
|
+
"SESSION_COMPLETED",
|
|
359
|
+
"PERSONAL_RECORD",
|
|
360
|
+
"PROGRESSION_CHANGED",
|
|
361
|
+
"ACHIEVEMENT_UNLOCKED",
|
|
362
|
+
"STREAK_MILESTONE",
|
|
363
|
+
"COMEBACK",
|
|
364
|
+
"ROUTINE_SHARED"
|
|
365
|
+
];
|
|
366
|
+
var ACTIVITY_TYPE_SECTIONS = {
|
|
367
|
+
SESSION_COMPLETED: "workoutHistory",
|
|
368
|
+
PERSONAL_RECORD: "records",
|
|
369
|
+
PROGRESSION_CHANGED: "workoutHistory",
|
|
370
|
+
ACHIEVEMENT_UNLOCKED: "achievements",
|
|
371
|
+
STREAK_MILESTONE: "achievements",
|
|
372
|
+
COMEBACK: "achievements",
|
|
373
|
+
ROUTINE_SHARED: "routines"
|
|
374
|
+
};
|
|
375
|
+
var ACTIVITY_DEFAULT_AUDIENCE = "PRIVATE";
|
|
376
|
+
var ACTIVITY_REACTIONS = [
|
|
377
|
+
"STRENGTH",
|
|
378
|
+
"DISCIPLINE",
|
|
379
|
+
"RESPECT",
|
|
380
|
+
"INSPIRING"
|
|
381
|
+
];
|
|
382
|
+
var ACTIVITY_PAGE_DEFAULT_LIMIT = 20;
|
|
383
|
+
var ACTIVITY_PAGE_MAX_LIMIT = 50;
|
|
384
|
+
var ACTIVITY_FEED_FOLLOWED_MAX = 500;
|
|
385
|
+
var ACTIVITY_ENTRY_ID_MAX_LENGTH = 200;
|
|
386
|
+
var ACTIVITY_CAPS = ["SECTION", "ROUTINE"];
|
|
387
|
+
var ACTIVITY_PREVIEW_AUDIENCES = ["FOLLOWERS", "PUBLIC"];
|
|
388
|
+
|
|
356
389
|
// src/schedule.ts
|
|
357
390
|
var SCHEDULE_OVERRIDE_KINDS = ["MOVE", "SKIP"];
|
|
358
391
|
var SCHEDULE_MOVE_MAX_DAYS = 6;
|
|
@@ -444,6 +477,16 @@ var STREAK_MAX_GAP_DAYS = 3;
|
|
|
444
477
|
export {
|
|
445
478
|
ACHIEVEMENT_CATEGORIES,
|
|
446
479
|
ACHIEVEMENT_DEFINITIONS,
|
|
480
|
+
ACTIVITY_CAPS,
|
|
481
|
+
ACTIVITY_DEFAULT_AUDIENCE,
|
|
482
|
+
ACTIVITY_ENTRY_ID_MAX_LENGTH,
|
|
483
|
+
ACTIVITY_FEED_FOLLOWED_MAX,
|
|
484
|
+
ACTIVITY_PAGE_DEFAULT_LIMIT,
|
|
485
|
+
ACTIVITY_PAGE_MAX_LIMIT,
|
|
486
|
+
ACTIVITY_PREVIEW_AUDIENCES,
|
|
487
|
+
ACTIVITY_REACTIONS,
|
|
488
|
+
ACTIVITY_TYPES,
|
|
489
|
+
ACTIVITY_TYPE_SECTIONS,
|
|
447
490
|
BLOCKED_MEMBERS_MAX,
|
|
448
491
|
CLONE_ROUTINE_REFUSALS,
|
|
449
492
|
COMEBACK_MIN_INACTIVE_DAYS,
|