@sessionplan/contracts 0.2.1 → 0.4.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 CHANGED
@@ -27,12 +27,14 @@ import type {
27
27
  } from '@sessionplan/contracts';
28
28
  ```
29
29
 
30
- Besides types, the package has two kinds of runtime export: `ContractVersion`, which
30
+ Besides types, the package has three kinds of runtime export: `ContractVersion`, which
31
31
  mirrors the package version so clients can report the contract revision they were
32
- built against, and **closed vocabularies** as frozen `const` arrays
32
+ built against; **closed vocabularies** as frozen `const` data
33
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.
34
+ `MUSCLES`, `EXERCISE_LEVELS`, `LOG_TYPES_BY_TRAINING_TYPE`, `LOG_TYPE_INPUTS`,
35
+ `DISTANCE_MODALITIES`), so every service reads the same list of allowed values; and
36
+ **shared rules** (`inferLogType`), so every service that picks an exercise's log type
37
+ picks the same one.
36
38
 
37
39
  ```ts
38
40
  import { ContractVersion } from '@sessionplan/contracts';
@@ -43,9 +45,13 @@ console.log(ContractVersion); // "0.1.7"
43
45
  ## Scope
44
46
 
45
47
  This package is the single source of truth for the API wire contract. It contains
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.
48
+ `interface` / `type` declarations, `ContractVersion`, closed-vocabulary `const` data,
49
+ and a small number of shared rules. A function belongs here only when two or more
50
+ services must reach the same answer and a disagreement would be stored or seen by
51
+ the user, and only if it is pure, synchronous and total, imports nothing outside this
52
+ package, and ships with a case-table test. `inferLogType` is the one such rule today.
53
+ Runtime builders, validators, parsers of one service's own shapes, and helpers stay
54
+ in the API and its clients.
49
55
 
50
56
  | Module | Covers |
51
57
  | ------------ | ------------------------------------------------------------- |
@@ -62,6 +62,46 @@ export declare const EXERCISE_LEVELS: readonly ExerciseLevel[];
62
62
  * swap). An item's explicit log type always takes precedence.
63
63
  */
64
64
  export declare const LOG_TYPES_BY_TRAINING_TYPE: Readonly<Record<TrainingType, readonly DefaultLogType[]>>;
65
+ /** An input box the logger's set row renders. */
66
+ export type LoggerInput = 'reps' | 'weight' | 'time' | 'distance';
67
+ /**
68
+ * The boxes the logger's set row renders for each log type. `time` is a hold
69
+ * for `isometric`, `mobility` and `stretch`, and a clock for the rest.
70
+ */
71
+ export declare const LOG_TYPE_INPUTS: Readonly<Record<DefaultLogType, readonly LoggerInput[]>>;
72
+ /** Conditioning modalities that cover ground, so default to `endurance`. */
73
+ export declare const DISTANCE_MODALITIES: readonly Modality[];
74
+ /**
75
+ * What was prescribed, as flags. Each service converts its own shape — a session
76
+ * item's prescription, or a library exercise's prescription hints — so this
77
+ * package parses nothing. `hold` is a hold duration; `time` is a clock.
78
+ */
79
+ export interface PrescribedInputs {
80
+ reps?: boolean;
81
+ weight?: boolean;
82
+ time?: boolean;
83
+ hold?: boolean;
84
+ distance?: boolean;
85
+ }
86
+ /** The library classification the rule reads, when the exercise has an exact match. */
87
+ export interface LogTypeExercise {
88
+ training_type?: string | null;
89
+ modality?: string | null;
90
+ movement_pattern?: string | null;
91
+ tags?: readonly string[] | null;
92
+ }
93
+ /**
94
+ * Pick the log type for an exercise whose author did not set one.
95
+ *
96
+ * With a classified library exercise, its training type sets the default and the
97
+ * allowed set (`LOG_TYPES_BY_TRAINING_TYPE`); the prescription then decides
98
+ * within that set, so a prescribed load, rep count or distance always has a box.
99
+ * When nothing the training type allows can show the prescribed load or distance,
100
+ * or would put a rep count into a hold, the prescription wins. Without a
101
+ * classification (no match, or a null training type) the prescription decides,
102
+ * with tags as the tie-break. Nothing prescribed and nothing known: `strength`.
103
+ */
104
+ export declare function inferLogType(prescribed: PrescribedInputs, exercise?: LogTypeExercise | null): DefaultLogType;
65
105
  /** Classification fields shared by create, update and read shapes. */
66
106
  export interface ExerciseTaxonomyFields {
67
107
  training_type?: TrainingType;
@@ -1 +1 @@
1
- {"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exercises.d.ts","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
package/dist/exercises.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LOG_TYPES_BY_TRAINING_TYPE = exports.EXERCISE_LEVELS = exports.EXERCISE_TAGS = exports.MUSCLE_GROUPS = exports.MUSCLE_LABELS = exports.MUSCLES = exports.MOVEMENT_PATTERNS = exports.MODALITIES = exports.TRAINING_TYPES = void 0;
3
+ exports.DISTANCE_MODALITIES = exports.LOG_TYPE_INPUTS = exports.LOG_TYPES_BY_TRAINING_TYPE = exports.EXERCISE_LEVELS = exports.EXERCISE_TAGS = exports.MUSCLE_GROUPS = exports.MUSCLE_LABELS = exports.MUSCLES = exports.MOVEMENT_PATTERNS = exports.MODALITIES = exports.TRAINING_TYPES = void 0;
4
+ exports.inferLogType = inferLogType;
4
5
  exports.TRAINING_TYPES = [
5
6
  'strength',
6
7
  'conditioning',
@@ -129,4 +130,173 @@ exports.LOG_TYPES_BY_TRAINING_TYPE = {
129
130
  mobility: ['mobility', 'isometric', 'strength'],
130
131
  stretch: ['stretch'],
131
132
  };
133
+ /**
134
+ * The boxes the logger's set row renders for each log type. `time` is a hold
135
+ * for `isometric`, `mobility` and `stretch`, and a clock for the rest.
136
+ */
137
+ exports.LOG_TYPE_INPUTS = {
138
+ strength: ['reps', 'weight'],
139
+ isometric: ['weight', 'time'],
140
+ conditioning: ['reps', 'time'],
141
+ endurance: ['time', 'distance'],
142
+ carry: ['weight', 'time', 'distance'],
143
+ mobility: ['time'],
144
+ stretch: ['time'],
145
+ };
146
+ /** Conditioning modalities that cover ground, so default to `endurance`. */
147
+ exports.DISTANCE_MODALITIES = [
148
+ 'run',
149
+ 'walk',
150
+ 'row',
151
+ 'bike',
152
+ 'ski',
153
+ 'swim',
154
+ 'stairs',
155
+ ];
156
+ /** Tags that name a log type, most specific first (unclassified exercises only). */
157
+ const LOG_TYPE_TAGS = [
158
+ 'stretch',
159
+ 'isometric',
160
+ 'mobility',
161
+ 'carry',
162
+ 'endurance',
163
+ 'conditioning',
164
+ 'strength',
165
+ ];
166
+ /**
167
+ * Pick the log type for an exercise whose author did not set one.
168
+ *
169
+ * With a classified library exercise, its training type sets the default and the
170
+ * allowed set (`LOG_TYPES_BY_TRAINING_TYPE`); the prescription then decides
171
+ * within that set, so a prescribed load, rep count or distance always has a box.
172
+ * When nothing the training type allows can show the prescribed load or distance,
173
+ * or would put a rep count into a hold, the prescription wins. Without a
174
+ * classification (no match, or a null training type) the prescription decides,
175
+ * with tags as the tie-break. Nothing prescribed and nothing known: `strength`.
176
+ */
177
+ function inferLogType(prescribed, exercise) {
178
+ const tags = lowerTags(exercise?.tags);
179
+ const type = exercise?.training_type;
180
+ if (!isTrainingType(type))
181
+ return fromPrescription(tags, prescribed);
182
+ const libraryDefault = libraryLogType(type, exercise ?? {}, tags.has('isometric'));
183
+ if (!anyPrescribed(prescribed))
184
+ return libraryDefault;
185
+ // Topical tags are ignored once classified; `isometric` survives as the one tag
186
+ // that states how an exercise is performed.
187
+ const tieBreak = new Set([libraryDefault, type]);
188
+ if (tags.has('isometric'))
189
+ tieBreak.add('isometric');
190
+ const candidate = fromPrescription(tieBreak, prescribed);
191
+ const needed = neededInputs(prescribed);
192
+ const clamped = clampToTrainingType(candidate, type, needed);
193
+ if (!losesPrescribed(clamped, needed))
194
+ return clamped;
195
+ // Nothing the training type allows keeps the prescription: it wins.
196
+ if (!losesPrescribed(candidate, needed))
197
+ return candidate;
198
+ return fromPrescription(new Set(), prescribed);
199
+ }
200
+ function isTrainingType(value) {
201
+ return typeof value === 'string' && exports.TRAINING_TYPES.includes(value);
202
+ }
203
+ function lowerTags(tags) {
204
+ return new Set((tags ?? []).map((tag) => tag.toLowerCase()));
205
+ }
206
+ function anyPrescribed(p) {
207
+ return Boolean(p.reps || p.weight || p.time || p.hold || p.distance);
208
+ }
209
+ /** The log type a classified exercise gets when nothing was prescribed. */
210
+ function libraryLogType(type, exercise, isometric) {
211
+ switch (type) {
212
+ case 'stretch':
213
+ return 'stretch';
214
+ case 'mobility':
215
+ return 'mobility';
216
+ case 'conditioning':
217
+ return exports.DISTANCE_MODALITIES.includes(exercise.modality ?? '')
218
+ ? 'endurance'
219
+ : 'conditioning';
220
+ case 'strength':
221
+ if (exercise.movement_pattern === 'carry')
222
+ return 'carry';
223
+ return isometric ? 'isometric' : 'strength';
224
+ }
225
+ }
226
+ function neededInputs(p) {
227
+ const needed = new Set();
228
+ if (p.reps)
229
+ needed.add('reps');
230
+ if (p.weight)
231
+ needed.add('weight');
232
+ if (p.time || p.hold)
233
+ needed.add('time');
234
+ if (p.distance)
235
+ needed.add('distance');
236
+ return needed;
237
+ }
238
+ function shows(logType, input) {
239
+ return exports.LOG_TYPE_INPUTS[logType].includes(input);
240
+ }
241
+ /** A prescribed load, rep count or distance with no box to record it. */
242
+ function losesPrescribed(logType, needed) {
243
+ return ['weight', 'reps', 'distance'].some((input) => needed.has(input) && !shows(logType, input));
244
+ }
245
+ /**
246
+ * Keep the log type within those the training type allows, choosing one that
247
+ * shows every prescribed input where one exists.
248
+ */
249
+ function clampToTrainingType(candidate, type, needed) {
250
+ const allowed = exports.LOG_TYPES_BY_TRAINING_TYPE[type];
251
+ const covers = (lt) => [...needed].every((input) => shows(lt, input));
252
+ if (allowed.includes(candidate) && covers(candidate))
253
+ return candidate;
254
+ const full = allowed.find(covers);
255
+ if (full)
256
+ return full;
257
+ // Nothing allowed shows every prescribed input. Keep the candidate if allowed
258
+ // and it keeps the load, distance and reps; otherwise prefer one that does,
259
+ // then whichever shows most.
260
+ if (allowed.includes(candidate) && !losesPrescribed(candidate, needed))
261
+ return candidate;
262
+ const shown = (lt) => [...needed].filter((input) => shows(lt, input)).length;
263
+ const loses = (lt) => (losesPrescribed(lt, needed) ? 1 : 0);
264
+ const ranked = [...allowed].sort((a, b) => loses(a) - loses(b) || shown(b) - shown(a));
265
+ return ranked[0];
266
+ }
267
+ /** The prescription-first derivation, with `tags` as the tie-break. */
268
+ function fromPrescription(tags, p) {
269
+ // Covering ground: loaded is a carry, unloaded is endurance.
270
+ if (p.distance)
271
+ return p.weight ? 'carry' : 'endurance';
272
+ // A duration plus a hold tag is a hold, even alongside a rep count — the
273
+ // library writes these as `reps: "3-4 holds", time: "10-20s per hold"`.
274
+ if (p.time || p.hold) {
275
+ if (tags.has('isometric'))
276
+ return 'isometric';
277
+ if (tags.has('stretch'))
278
+ return 'stretch';
279
+ if (tags.has('mobility'))
280
+ return 'mobility';
281
+ }
282
+ // Reps are reps; unloaded reps against a clock, or a conditioning movement,
283
+ // want `conditioning`, which shows both.
284
+ if (p.reps)
285
+ return !p.weight && (p.time || tags.has('conditioning')) ? 'conditioning' : 'strength';
286
+ if (p.hold)
287
+ return p.weight ? 'isometric' : 'stretch';
288
+ if (p.time) {
289
+ if (p.weight || tags.has('carry'))
290
+ return 'carry';
291
+ if (tags.has('endurance'))
292
+ return 'endurance';
293
+ return 'conditioning';
294
+ }
295
+ // Nothing but a load, or nothing at all: a tag that keeps the load, else strength.
296
+ for (const candidate of LOG_TYPE_TAGS) {
297
+ if (tags.has(candidate) && (!p.weight || shows(candidate, 'weight')))
298
+ return candidate;
299
+ }
300
+ return 'strength';
301
+ }
132
302
  //# sourceMappingURL=exercises.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"exercises.js","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exercises.js","sourceRoot":"","sources":["../src/exercises.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,8 +2,9 @@
2
2
  * @sessionplan/contracts
3
3
  *
4
4
  * Shared TypeScript wire contracts for the SessionPlan API. Types, the
5
- * `ContractVersion` constant below, and closed-vocabulary `const` arrays — data,
6
- * never logic.
5
+ * `ContractVersion` constant below, closed-vocabulary `const` data, and shared
6
+ * rules — pure, import-free functions that two or more services must agree on
7
+ * (see AGENTS.md for the four conditions).
7
8
  *
8
9
  * Public for installation convenience; not a stable external contract until 1.0.
9
10
  */
@@ -21,5 +22,5 @@ export * from './public-catalogs.js';
21
22
  * The contract revision this build was published at. Mirrors package.json
22
23
  * version so clients can report the contract they were compiled against.
23
24
  */
24
- export declare const ContractVersion = "0.2.1";
25
+ export declare const ContractVersion = "0.4.0";
25
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;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
@@ -3,8 +3,9 @@
3
3
  * @sessionplan/contracts
4
4
  *
5
5
  * Shared TypeScript wire contracts for the SessionPlan API. Types, the
6
- * `ContractVersion` constant below, and closed-vocabulary `const` arrays — data,
7
- * never logic.
6
+ * `ContractVersion` constant below, closed-vocabulary `const` data, and shared
7
+ * rules — pure, import-free functions that two or more services must agree on
8
+ * (see AGENTS.md for the four conditions).
8
9
  *
9
10
  * Public for installation convenience; not a stable external contract until 1.0.
10
11
  */
@@ -38,5 +39,5 @@ __exportStar(require("./public-catalogs.js"), exports);
38
39
  * The contract revision this build was published at. Mirrors package.json
39
40
  * version so clients can report the contract they were compiled against.
40
41
  */
41
- exports.ContractVersion = '0.2.1';
42
+ exports.ContractVersion = '0.4.0';
42
43
  //# 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;;;;;;;;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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;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"}
@@ -13,6 +13,8 @@ export interface SessionListParams extends PaginationParams {
13
13
  location_id?: string;
14
14
  team_id?: string;
15
15
  scope?: SessionScope;
16
+ /** Only sessions for the caller: ones they own, whatever the scope, plus ones shared with their teams. */
17
+ mine?: boolean;
16
18
  sort?: 'created_at' | 'scheduled_for' | 'title';
17
19
  order?: 'asc' | 'desc';
18
20
  block?: number;
@@ -76,9 +78,16 @@ export interface SessionMutationResponse extends SessionWithScope {
76
78
  location_auto_assigned?: boolean;
77
79
  location_assignment_source?: string | null;
78
80
  }
81
+ /**
82
+ * A session as listed. `is_mine` is true when the caller owns it; public-catalog
83
+ * source sessions are never anyone's own.
84
+ */
85
+ export type SessionListItem = SessionWithScope & {
86
+ is_mine: boolean;
87
+ };
79
88
  /** List sessions response. */
80
89
  export interface SessionListResponse {
81
- sessions: SessionWithScope[];
90
+ sessions: SessionListItem[];
82
91
  pagination: PaginationMeta;
83
92
  }
84
93
  //# sourceMappingURL=sessions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sessionplan/contracts",
3
- "version": "0.2.1",
3
+ "version": "0.4.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",