@sessionplan/contracts 0.1.10 → 0.2.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/README.md +9 -5
- package/dist/context.d.ts +21 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/exercises.d.ts +80 -2
- package/dist/exercises.d.ts.map +1 -1
- package/dist/exercises.js +113 -0
- package/dist/exercises.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,9 +27,12 @@ import type {
|
|
|
27
27
|
} from '@sessionplan/contracts';
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
Besides types, the package has two kinds of runtime export: `ContractVersion`, which
|
|
31
|
+
mirrors the package version so clients can report the contract revision they were
|
|
32
|
+
built against, and **closed vocabularies** as frozen `const` arrays
|
|
33
|
+
(`WORKSPACE_SAFETY_PROFILES`, `TRAINING_TYPES`, `MODALITIES`, `MOVEMENT_PATTERNS`,
|
|
34
|
+
`MUSCLES`, `EXERCISE_LEVELS`, `LOG_TYPES_BY_TRAINING_TYPE`), so every service reads
|
|
35
|
+
the same list of allowed values.
|
|
33
36
|
|
|
34
37
|
```ts
|
|
35
38
|
import { ContractVersion } from '@sessionplan/contracts';
|
|
@@ -40,8 +43,9 @@ console.log(ContractVersion); // "0.1.7"
|
|
|
40
43
|
## Scope
|
|
41
44
|
|
|
42
45
|
This package is the single source of truth for the API wire contract. It contains
|
|
43
|
-
|
|
44
|
-
builders, validators, and helpers stay in the
|
|
46
|
+
`interface` / `type` declarations, `ContractVersion`, and closed-vocabulary `const`
|
|
47
|
+
arrays — data, never logic. Runtime builders, validators, and helpers stay in the
|
|
48
|
+
API and its clients.
|
|
45
49
|
|
|
46
50
|
| Module | Covers |
|
|
47
51
|
| ------------ | ------------------------------------------------------------- |
|
package/dist/context.d.ts
CHANGED
|
@@ -105,7 +105,23 @@ export interface SameWeekSession {
|
|
|
105
105
|
exercises: string[];
|
|
106
106
|
/** Per-exercise set counts extracted from prescription (key = exercise name). */
|
|
107
107
|
exerciseSets?: Record<string, number>;
|
|
108
|
+
/**
|
|
109
|
+
* This session's conditioning items, as prescribed. Weekly muscle volume counts
|
|
110
|
+
* strength only, so this is where the week's conditioning load reaches the AI.
|
|
111
|
+
* An item counts when its library exercise is `conditioning`, or when its own
|
|
112
|
+
* log type is `conditioning` or `endurance` — so unlinked custom items such as
|
|
113
|
+
* "Outdoor Run" are included. Absent when the session has none.
|
|
114
|
+
*/
|
|
115
|
+
conditioning?: SameWeekConditioningItem[];
|
|
116
|
+
/** How the session was logged. Absent when it has not been logged. */
|
|
117
|
+
completion?: SameWeekCompletion;
|
|
118
|
+
}
|
|
119
|
+
export interface SameWeekConditioningItem {
|
|
120
|
+
name: string;
|
|
121
|
+
logType: Extract<DefaultLogType, 'conditioning' | 'endurance' | 'carry'>;
|
|
122
|
+
prescription: Pick<CompactPrescription, 'sets' | 'rpe' | 'timeSeconds' | 'distanceMeters' | 'distanceMiles' | 'restSeconds'>;
|
|
108
123
|
}
|
|
124
|
+
export type SameWeekCompletion = Pick<NonNullable<RecentSessionTemplate['completion']>, 'status' | 'completionStatus' | 'sessionRpe' | 'painType'>;
|
|
109
125
|
export interface CompactPrescription {
|
|
110
126
|
sets?: number | null;
|
|
111
127
|
reps?: number | string | null;
|
|
@@ -232,8 +248,13 @@ export interface ExerciseIndex {
|
|
|
232
248
|
/** Per-muscle-group weekly set count. */
|
|
233
249
|
export interface WeeklyMuscleVolume {
|
|
234
250
|
muscle: string;
|
|
251
|
+
/** All sets that touched this muscle: direct + indirect (unchanged meaning). */
|
|
235
252
|
sets: number;
|
|
236
253
|
sessions: number;
|
|
254
|
+
/** Sets from exercises where this is a primary muscle — the work aimed at it. */
|
|
255
|
+
directSets?: number;
|
|
256
|
+
/** Sets from exercises where this is a secondary muscle — assisting work. */
|
|
257
|
+
indirectSets?: number;
|
|
237
258
|
}
|
|
238
259
|
/** Metadata that helps AI clients distinguish absent profile data from user-confirmed settings. */
|
|
239
260
|
export interface OnboardingState {
|
package/dist/context.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,WAAW,eAAe;IAC9B,kFAAkF;IAClF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,+BAA+B;IAC9C,wFAAwF;IACxF,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,eAAe,EAAE,sBAAsB,CAAC;IACxC,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,+BAA+B,CAAC;IAClD,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,eAAe,CAAC;CAC9B;AAMD,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9D,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;CACrB;AAMD,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChD,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;CACpC;AAED,4EAA4E;AAC5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IAC3D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAMD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAC1C,sEAAsE;IACtE,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;IACzE,YAAY,EAAE,IAAI,CAChB,mBAAmB,EACnB,MAAM,GAAG,KAAK,GAAG,aAAa,GAAG,gBAAgB,GAAG,eAAe,GAAG,aAAa,CACpF,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,WAAW,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EAChD,QAAQ,GAAG,kBAAkB,GAAG,YAAY,GAAG,UAAU,CAC1D,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,YAAY,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC,GAAG,IAAI,CAAC;CACX;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5E,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC;IACzC,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC3B,kBAAkB,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC;QAClD,gBAAgB,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;QACvD,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;QACzC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B;;;;;WAKG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,4BAA4B,EAAE,CAAC;CAC1C;AAMD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;KAC/C,CAAC;IACF,UAAU,CAAC,EAAE;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,EAAE,KAAK,CAAC,gBAAgB,GAAG,wBAAwB,GAAG,SAAS,CAAC,CAAC;KAC5E,CAAC;IACF,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,QAAQ,EAAE,YAAY,GAAG,mBAAmB,CAAC;KAC9C,CAAC;CACH;AAMD,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,WAAW,GACX,cAAc,GACd,WAAW,GACX,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;CAC/B;AAED,yCAAyC;AACzC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,aAAa,CAAC;IACzB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,YAAY,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C"}
|
package/dist/exercises.d.ts
CHANGED
|
@@ -2,6 +2,63 @@
|
|
|
2
2
|
* Exercise resolution, search, and detail responses.
|
|
3
3
|
*/
|
|
4
4
|
import type { JsonValue, ExerciseScope, PaginationParams } from './common.js';
|
|
5
|
+
import type { DefaultLogType } from './context.js';
|
|
6
|
+
/**
|
|
7
|
+
* What kind of exercise this is — not the section it fills. Warm-up and
|
|
8
|
+
* cool-down are section roles, so they are not training types.
|
|
9
|
+
*/
|
|
10
|
+
export type TrainingType = 'strength' | 'conditioning' | 'mobility' | 'stretch';
|
|
11
|
+
export declare const TRAINING_TYPES: readonly TrainingType[];
|
|
12
|
+
/** How a `conditioning` exercise covers ground or does work. Null for every other type. */
|
|
13
|
+
export type Modality = 'run' | 'walk' | 'row' | 'bike' | 'ski' | 'swim' | 'elliptical' | 'jump-rope' | 'battle-rope' | 'sled' | 'stairs' | 'mixed';
|
|
14
|
+
export declare const MODALITIES: readonly Modality[];
|
|
15
|
+
/** Required for `strength`, optional for `mobility`, null for `conditioning` and `stretch`. */
|
|
16
|
+
export type MovementPattern = 'push' | 'pull' | 'squat' | 'hinge' | 'lunge' | 'carry' | 'rotation' | 'anti-rotation' | 'anti-extension' | 'anti-lateral-flexion';
|
|
17
|
+
export declare const MOVEMENT_PATTERNS: readonly MovementPattern[];
|
|
18
|
+
/**
|
|
19
|
+
* Values for `primary_muscles` and `secondary_muscles`: what a lifter would say they
|
|
20
|
+
* trained. Some are muscles (biceps, lats), some are areas (upper back, neck) — the
|
|
21
|
+
* mix is deliberate. The rule that keeps the data clear: **no value contains
|
|
22
|
+
* another**, so a set is never counted twice. That is why there is no "back",
|
|
23
|
+
* "shoulders" or "core": their parts are listed instead.
|
|
24
|
+
*
|
|
25
|
+
* Boundaries (also in the classification guide and the MCP search description):
|
|
26
|
+
* traps = shrugging (upper traps); upper-back = pulling the shoulder blades back
|
|
27
|
+
* (rhomboids, mid/lower traps — rows, face pulls); abs = trunk flexion and
|
|
28
|
+
* anti-extension; obliques = rotation, anti-rotation, side bending; lower-back =
|
|
29
|
+
* spinal extension; abductors = moving the leg out (glute med/min); tibialis =
|
|
30
|
+
* lifting the toes; feet-ankles = foot muscles and ankle stabilisers only (calf
|
|
31
|
+
* raises stay calves, toe raises stay tibialis).
|
|
32
|
+
*/
|
|
33
|
+
export type Muscle = 'chest' | 'lats' | 'upper-back' | 'traps' | 'neck' | 'front-delts' | 'side-delts' | 'rear-delts' | 'biceps' | 'triceps' | 'forearms' | 'abs' | 'obliques' | 'lower-back' | 'glutes' | 'abductors' | 'adductors' | 'hip-flexors' | 'quads' | 'hamstrings' | 'calves' | 'tibialis' | 'feet-ankles';
|
|
34
|
+
export declare const MUSCLES: readonly Muscle[];
|
|
35
|
+
/** What a person sees for each muscle value. Stored values are never shown raw. */
|
|
36
|
+
export declare const MUSCLE_LABELS: Readonly<Record<Muscle, string>>;
|
|
37
|
+
/**
|
|
38
|
+
* Body regions for grouping the muscle filter, in display order. A region is a way
|
|
39
|
+
* to filter ("All shoulders"), never a value an exercise is tagged with. Lower back
|
|
40
|
+
* sits under Core so "All back" returns pulling work, not trunk extension.
|
|
41
|
+
*/
|
|
42
|
+
export declare const MUSCLE_GROUPS: ReadonlyArray<{
|
|
43
|
+
label: string;
|
|
44
|
+
muscles: readonly Muscle[];
|
|
45
|
+
}>;
|
|
46
|
+
export type ExerciseLevel = 'beginner' | 'intermediate' | 'advanced';
|
|
47
|
+
export declare const EXERCISE_LEVELS: readonly ExerciseLevel[];
|
|
48
|
+
/**
|
|
49
|
+
* The logger log types each training type allows when the app chooses one (a
|
|
50
|
+
* swap). An item's explicit log type always takes precedence.
|
|
51
|
+
*/
|
|
52
|
+
export declare const LOG_TYPES_BY_TRAINING_TYPE: Readonly<Record<TrainingType, readonly DefaultLogType[]>>;
|
|
53
|
+
/** Classification fields shared by create, update and read shapes. */
|
|
54
|
+
export interface ExerciseTaxonomyFields {
|
|
55
|
+
training_type?: TrainingType;
|
|
56
|
+
modality?: Modality | null;
|
|
57
|
+
primary_muscles?: Muscle[];
|
|
58
|
+
secondary_muscles?: Muscle[];
|
|
59
|
+
movement_pattern?: MovementPattern | null;
|
|
60
|
+
level?: ExerciseLevel;
|
|
61
|
+
}
|
|
5
62
|
/** Confidence level of exercise name resolution. */
|
|
6
63
|
export type ResolveConfidence = 'exact' | 'alias' | 'fuzzy' | 'unresolved';
|
|
7
64
|
/** Single resolution result. */
|
|
@@ -42,8 +99,18 @@ export interface ExerciseListParams extends PaginationParams {
|
|
|
42
99
|
equipment?: string;
|
|
43
100
|
search?: string;
|
|
44
101
|
scope?: ExerciseScope;
|
|
102
|
+
training_type?: TrainingType;
|
|
103
|
+
modality?: Modality;
|
|
45
104
|
}
|
|
46
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Platform administrators only. The request names its target — `scope: 'system'`,
|
|
107
|
+
* or `scope: 'workspace'` with `workspace_id` — and is refused otherwise.
|
|
108
|
+
* `training_type` is required by the API; it is optional here only so the
|
|
109
|
+
* additive release does not break existing type users.
|
|
110
|
+
*/
|
|
111
|
+
export interface ExerciseCreateRequest extends ExerciseTaxonomyFields {
|
|
112
|
+
scope?: ExerciseScope;
|
|
113
|
+
workspace_id?: string;
|
|
47
114
|
slug: string;
|
|
48
115
|
name: string;
|
|
49
116
|
equipment?: string[];
|
|
@@ -62,7 +129,7 @@ export interface ExerciseCreateRequest {
|
|
|
62
129
|
joints?: Record<string, unknown>;
|
|
63
130
|
media?: Record<string, unknown>;
|
|
64
131
|
}
|
|
65
|
-
export interface ExerciseUpdateRequest {
|
|
132
|
+
export interface ExerciseUpdateRequest extends ExerciseTaxonomyFields {
|
|
66
133
|
name?: string;
|
|
67
134
|
equipment?: string[];
|
|
68
135
|
tags?: string[];
|
|
@@ -97,6 +164,17 @@ export interface ExerciseWithScope {
|
|
|
97
164
|
prescription_hints: JsonValue | null;
|
|
98
165
|
joints: JsonValue | null;
|
|
99
166
|
media: JsonValue | null;
|
|
167
|
+
/**
|
|
168
|
+
* Classification columns. Optional in this shape so the release stays additive;
|
|
169
|
+
* the API returns them on every row. `training_type` is null only while the
|
|
170
|
+
* library is being classified (exercise-taxonomy-by-training-type).
|
|
171
|
+
*/
|
|
172
|
+
training_type?: TrainingType | null;
|
|
173
|
+
modality?: Modality | null;
|
|
174
|
+
primary_muscles?: string[] | null;
|
|
175
|
+
secondary_muscles?: string[] | null;
|
|
176
|
+
movement_pattern?: string | null;
|
|
177
|
+
level?: string | null;
|
|
100
178
|
scope: ExerciseScope;
|
|
101
179
|
workspace_id: string | null;
|
|
102
180
|
created_by: string | null;
|
package/dist/exercises.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
|
package/dist/exercises.js
CHANGED
|
@@ -1,3 +1,116 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOG_TYPES_BY_TRAINING_TYPE = exports.EXERCISE_LEVELS = exports.MUSCLE_GROUPS = exports.MUSCLE_LABELS = exports.MUSCLES = exports.MOVEMENT_PATTERNS = exports.MODALITIES = exports.TRAINING_TYPES = void 0;
|
|
4
|
+
exports.TRAINING_TYPES = [
|
|
5
|
+
'strength',
|
|
6
|
+
'conditioning',
|
|
7
|
+
'mobility',
|
|
8
|
+
'stretch',
|
|
9
|
+
];
|
|
10
|
+
exports.MODALITIES = [
|
|
11
|
+
'run',
|
|
12
|
+
'walk',
|
|
13
|
+
'row',
|
|
14
|
+
'bike',
|
|
15
|
+
'ski',
|
|
16
|
+
'swim',
|
|
17
|
+
'elliptical',
|
|
18
|
+
'jump-rope',
|
|
19
|
+
'battle-rope',
|
|
20
|
+
'sled',
|
|
21
|
+
'stairs',
|
|
22
|
+
'mixed',
|
|
23
|
+
];
|
|
24
|
+
exports.MOVEMENT_PATTERNS = [
|
|
25
|
+
'push',
|
|
26
|
+
'pull',
|
|
27
|
+
'squat',
|
|
28
|
+
'hinge',
|
|
29
|
+
'lunge',
|
|
30
|
+
'carry',
|
|
31
|
+
'rotation',
|
|
32
|
+
'anti-rotation',
|
|
33
|
+
'anti-extension',
|
|
34
|
+
'anti-lateral-flexion',
|
|
35
|
+
];
|
|
36
|
+
exports.MUSCLES = [
|
|
37
|
+
'chest',
|
|
38
|
+
'lats',
|
|
39
|
+
'upper-back',
|
|
40
|
+
'traps',
|
|
41
|
+
'neck',
|
|
42
|
+
'front-delts',
|
|
43
|
+
'side-delts',
|
|
44
|
+
'rear-delts',
|
|
45
|
+
'biceps',
|
|
46
|
+
'triceps',
|
|
47
|
+
'forearms',
|
|
48
|
+
'abs',
|
|
49
|
+
'obliques',
|
|
50
|
+
'lower-back',
|
|
51
|
+
'glutes',
|
|
52
|
+
'abductors',
|
|
53
|
+
'adductors',
|
|
54
|
+
'hip-flexors',
|
|
55
|
+
'quads',
|
|
56
|
+
'hamstrings',
|
|
57
|
+
'calves',
|
|
58
|
+
'tibialis',
|
|
59
|
+
'feet-ankles',
|
|
60
|
+
];
|
|
61
|
+
/** What a person sees for each muscle value. Stored values are never shown raw. */
|
|
62
|
+
exports.MUSCLE_LABELS = {
|
|
63
|
+
chest: 'Chest',
|
|
64
|
+
lats: 'Lats',
|
|
65
|
+
'upper-back': 'Upper back',
|
|
66
|
+
traps: 'Traps',
|
|
67
|
+
neck: 'Neck',
|
|
68
|
+
'front-delts': 'Front delts',
|
|
69
|
+
'side-delts': 'Side delts',
|
|
70
|
+
'rear-delts': 'Rear delts',
|
|
71
|
+
biceps: 'Biceps',
|
|
72
|
+
triceps: 'Triceps',
|
|
73
|
+
forearms: 'Forearms & grip',
|
|
74
|
+
abs: 'Abs',
|
|
75
|
+
obliques: 'Obliques',
|
|
76
|
+
'lower-back': 'Lower back',
|
|
77
|
+
glutes: 'Glutes',
|
|
78
|
+
abductors: 'Abductors (outer hip)',
|
|
79
|
+
adductors: 'Adductors (inner thigh)',
|
|
80
|
+
'hip-flexors': 'Hip flexors',
|
|
81
|
+
quads: 'Quads',
|
|
82
|
+
hamstrings: 'Hamstrings',
|
|
83
|
+
calves: 'Calves',
|
|
84
|
+
tibialis: 'Shins (tibialis)',
|
|
85
|
+
'feet-ankles': 'Feet & ankles',
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Body regions for grouping the muscle filter, in display order. A region is a way
|
|
89
|
+
* to filter ("All shoulders"), never a value an exercise is tagged with. Lower back
|
|
90
|
+
* sits under Core so "All back" returns pulling work, not trunk extension.
|
|
91
|
+
*/
|
|
92
|
+
exports.MUSCLE_GROUPS = [
|
|
93
|
+
{ label: 'Chest', muscles: ['chest'] },
|
|
94
|
+
{ label: 'Back & neck', muscles: ['lats', 'upper-back', 'traps', 'neck'] },
|
|
95
|
+
{ label: 'Shoulders', muscles: ['front-delts', 'side-delts', 'rear-delts'] },
|
|
96
|
+
{ label: 'Arms', muscles: ['biceps', 'triceps', 'forearms'] },
|
|
97
|
+
{ label: 'Core', muscles: ['abs', 'obliques', 'lower-back'] },
|
|
98
|
+
{ label: 'Hips & legs', muscles: ['glutes', 'abductors', 'adductors', 'hip-flexors', 'quads', 'hamstrings'] },
|
|
99
|
+
{ label: 'Lower leg', muscles: ['calves', 'tibialis', 'feet-ankles'] },
|
|
100
|
+
];
|
|
101
|
+
exports.EXERCISE_LEVELS = [
|
|
102
|
+
'beginner',
|
|
103
|
+
'intermediate',
|
|
104
|
+
'advanced',
|
|
105
|
+
];
|
|
106
|
+
/**
|
|
107
|
+
* The logger log types each training type allows when the app chooses one (a
|
|
108
|
+
* swap). An item's explicit log type always takes precedence.
|
|
109
|
+
*/
|
|
110
|
+
exports.LOG_TYPES_BY_TRAINING_TYPE = {
|
|
111
|
+
strength: ['strength', 'isometric', 'carry'],
|
|
112
|
+
conditioning: ['conditioning', 'endurance', 'carry'],
|
|
113
|
+
mobility: ['mobility', 'isometric', 'strength'],
|
|
114
|
+
stretch: ['stretch'],
|
|
115
|
+
};
|
|
3
116
|
//# sourceMappingURL=exercises.js.map
|
package/dist/exercises.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exercises.js","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"exercises.js","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @sessionplan/contracts
|
|
3
3
|
*
|
|
4
|
-
* Shared TypeScript wire contracts for the SessionPlan API.
|
|
5
|
-
*
|
|
4
|
+
* Shared TypeScript wire contracts for the SessionPlan API. Types, the
|
|
5
|
+
* `ContractVersion` constant below, and closed-vocabulary `const` arrays — data,
|
|
6
|
+
* never logic.
|
|
6
7
|
*
|
|
7
8
|
* Public for installation convenience; not a stable external contract until 1.0.
|
|
8
9
|
*/
|
|
@@ -20,5 +21,5 @@ export * from './public-catalogs.js';
|
|
|
20
21
|
* The contract revision this build was published at. Mirrors package.json
|
|
21
22
|
* version so clients can report the contract they were compiled against.
|
|
22
23
|
*/
|
|
23
|
-
export declare const ContractVersion = "0.
|
|
24
|
+
export declare const ContractVersion = "0.2.0";
|
|
24
25
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,eAAe,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @sessionplan/contracts
|
|
4
4
|
*
|
|
5
|
-
* Shared TypeScript wire contracts for the SessionPlan API.
|
|
6
|
-
*
|
|
5
|
+
* Shared TypeScript wire contracts for the SessionPlan API. Types, the
|
|
6
|
+
* `ContractVersion` constant below, and closed-vocabulary `const` arrays — data,
|
|
7
|
+
* never logic.
|
|
7
8
|
*
|
|
8
9
|
* Public for installation convenience; not a stable external contract until 1.0.
|
|
9
10
|
*/
|
|
@@ -37,5 +38,5 @@ __exportStar(require("./public-catalogs.js"), exports);
|
|
|
37
38
|
* The contract revision this build was published at. Mirrors package.json
|
|
38
39
|
* version so clients can report the contract they were compiled against.
|
|
39
40
|
*/
|
|
40
|
-
exports.ContractVersion = '0.
|
|
41
|
+
exports.ContractVersion = '0.2.0';
|
|
41
42
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;AAEH,8CAA4B;AAC5B,+CAA6B;AAC7B,+CAA6B;AAC7B,kDAAgC;AAChC,gDAA8B;AAC9B,4CAA0B;AAC1B,iDAA+B;AAC/B,+CAA6B;AAC7B,8CAA4B;AAC5B,uDAAqC;AAErC;;;GAGG;AACU,QAAA,eAAe,GAAG,OAAO,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sessionplan/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Shared TypeScript wire contracts for the SessionPlan API. Public for installation convenience; not a stable external contract until 1.0.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"main": "dist/index.js",
|