@workingdevshero/olympia-ait-adapter 0.1.5 → 1.1.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.
Files changed (70) hide show
  1. package/README.md +139 -35
  2. package/dist/index.d.ts +6 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +6 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/reader/cell-utils.d.ts +10 -0
  7. package/dist/reader/cell-utils.d.ts.map +1 -0
  8. package/dist/reader/cell-utils.js +40 -0
  9. package/dist/reader/cell-utils.js.map +1 -0
  10. package/dist/reader/parse-day-sheet.d.ts +0 -1
  11. package/dist/reader/parse-day-sheet.d.ts.map +1 -1
  12. package/dist/reader/parse-day-sheet.js +95 -75
  13. package/dist/reader/parse-day-sheet.js.map +1 -1
  14. package/dist/reader/parse-warmup-workbook.d.ts +13 -0
  15. package/dist/reader/parse-warmup-workbook.d.ts.map +1 -0
  16. package/dist/reader/parse-warmup-workbook.js +154 -0
  17. package/dist/reader/parse-warmup-workbook.js.map +1 -0
  18. package/dist/reader/parse-workbook.d.ts +2 -2
  19. package/dist/reader/parse-workbook.d.ts.map +1 -1
  20. package/dist/reader/parse-workbook.js +1 -6
  21. package/dist/reader/parse-workbook.js.map +1 -1
  22. package/dist/schema/program.d.ts +398 -67
  23. package/dist/schema/program.d.ts.map +1 -1
  24. package/dist/schema/program.js +135 -28
  25. package/dist/schema/program.js.map +1 -1
  26. package/dist/schema/warmup.d.ts +426 -0
  27. package/dist/schema/warmup.d.ts.map +1 -0
  28. package/dist/schema/warmup.js +100 -0
  29. package/dist/schema/warmup.js.map +1 -0
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +51 -18
  32. package/dist/server.js.map +1 -1
  33. package/dist/tools/program-json-to-xlsx.d.ts +3 -0
  34. package/dist/tools/program-json-to-xlsx.d.ts.map +1 -0
  35. package/dist/tools/program-json-to-xlsx.js +5 -0
  36. package/dist/tools/program-json-to-xlsx.js.map +1 -0
  37. package/dist/tools/program-xlsx-to-json.d.ts +3 -0
  38. package/dist/tools/program-xlsx-to-json.d.ts.map +1 -0
  39. package/dist/tools/program-xlsx-to-json.js +5 -0
  40. package/dist/tools/program-xlsx-to-json.js.map +1 -0
  41. package/dist/tools/warmup-json-to-xlsx.d.ts +3 -0
  42. package/dist/tools/warmup-json-to-xlsx.d.ts.map +1 -0
  43. package/dist/tools/warmup-json-to-xlsx.js +5 -0
  44. package/dist/tools/warmup-json-to-xlsx.js.map +1 -0
  45. package/dist/tools/warmup-xlsx-to-json.d.ts +3 -0
  46. package/dist/tools/warmup-xlsx-to-json.d.ts.map +1 -0
  47. package/dist/tools/warmup-xlsx-to-json.js +5 -0
  48. package/dist/tools/warmup-xlsx-to-json.js.map +1 -0
  49. package/dist/writer/build-warmup-workbook.d.ts +3 -0
  50. package/dist/writer/build-warmup-workbook.d.ts.map +1 -0
  51. package/dist/writer/build-warmup-workbook.js +101 -0
  52. package/dist/writer/build-warmup-workbook.js.map +1 -0
  53. package/dist/writer/build-workbook.d.ts +2 -2
  54. package/dist/writer/build-workbook.d.ts.map +1 -1
  55. package/dist/writer/build-workbook.js +19 -23
  56. package/dist/writer/build-workbook.js.map +1 -1
  57. package/dist/writer/layout.d.ts +19 -7
  58. package/dist/writer/layout.d.ts.map +1 -1
  59. package/dist/writer/layout.js +40 -21
  60. package/dist/writer/layout.js.map +1 -1
  61. package/dist/writer/stamp-exercise.d.ts +13 -5
  62. package/dist/writer/stamp-exercise.d.ts.map +1 -1
  63. package/dist/writer/stamp-exercise.js +25 -18
  64. package/dist/writer/stamp-exercise.js.map +1 -1
  65. package/dist/writer/supplemental-template.d.ts +3 -2
  66. package/dist/writer/supplemental-template.d.ts.map +1 -1
  67. package/dist/writer/supplemental-template.js +15 -15
  68. package/dist/writer/supplemental-template.js.map +1 -1
  69. package/package.json +5 -4
  70. package/skills/olympia-authoring/SKILL.md +140 -0
@@ -1,9 +1,8 @@
1
1
  import { z } from "zod";
2
2
  /**
3
- * A single prescription cell for one set in one week.
4
- *
5
- * Olympia does not prescribe weights — the unit is reps, time, or breaths,
6
- * encoded by notation in the cell text:
3
+ * A single prescription cell for one set in one week: the "Reps" column of
4
+ * that week. The unit is reps, time, or breaths, encoded by notation in the
5
+ * cell text:
7
6
  *
8
7
  * "12" → 12 reps
9
8
  * "10E" → 10 reps each side
@@ -18,49 +17,88 @@ import { z } from "zod";
18
17
  * not validated at the schema level.
19
18
  */
20
19
  export declare const Cell: z.ZodNullable<z.ZodString>;
20
+ /**
21
+ * The "Weight" column cell beside a prescription. Coaches use it for a load
22
+ * ("25"), and just as often for an equipment setting: a band colour ("Yel"),
23
+ * a box height ('12" + 2 Pads'), a rack position ("#10"). It is free text
24
+ * and is never interpreted.
25
+ */
26
+ export declare const WeightCell: z.ZodNullable<z.ZodString>;
27
+ export declare const WeightRow: z.ZodArray<z.ZodNullable<z.ZodString>, "many">;
21
28
  export declare const SetRow: z.ZodArray<z.ZodNullable<z.ZodString>, "many">;
22
- export declare const Exercise: z.ZodObject<{
29
+ export declare const Exercise: z.ZodEffects<z.ZodObject<{
23
30
  name: z.ZodString;
24
31
  groupLabel: z.ZodOptional<z.ZodString>;
25
32
  notes: z.ZodOptional<z.ZodString>;
26
33
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
27
- }, "strip", z.ZodTypeAny, {
34
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
35
+ }, "strict", z.ZodTypeAny, {
36
+ name: string;
37
+ sets: (string | null)[][];
38
+ groupLabel?: string | undefined;
39
+ notes?: string | undefined;
40
+ weights?: (string | null)[][] | undefined;
41
+ }, {
28
42
  name: string;
29
43
  sets: (string | null)[][];
30
44
  groupLabel?: string | undefined;
31
45
  notes?: string | undefined;
46
+ weights?: (string | null)[][] | undefined;
47
+ }>, {
48
+ name: string;
49
+ sets: (string | null)[][];
50
+ groupLabel?: string | undefined;
51
+ notes?: string | undefined;
52
+ weights?: (string | null)[][] | undefined;
32
53
  }, {
33
54
  name: string;
34
55
  sets: (string | null)[][];
35
56
  groupLabel?: string | undefined;
36
57
  notes?: string | undefined;
58
+ weights?: (string | null)[][] | undefined;
37
59
  }>;
38
60
  export declare const SectionKind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
39
- export declare const Section: z.ZodObject<{
61
+ export declare const Section: z.ZodEffects<z.ZodObject<{
40
62
  kind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
41
- exercises: z.ZodArray<z.ZodObject<{
63
+ exercises: z.ZodArray<z.ZodEffects<z.ZodObject<{
42
64
  name: z.ZodString;
43
65
  groupLabel: z.ZodOptional<z.ZodString>;
44
66
  notes: z.ZodOptional<z.ZodString>;
45
67
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
46
- }, "strip", z.ZodTypeAny, {
68
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
69
+ }, "strict", z.ZodTypeAny, {
70
+ name: string;
71
+ sets: (string | null)[][];
72
+ groupLabel?: string | undefined;
73
+ notes?: string | undefined;
74
+ weights?: (string | null)[][] | undefined;
75
+ }, {
76
+ name: string;
77
+ sets: (string | null)[][];
78
+ groupLabel?: string | undefined;
79
+ notes?: string | undefined;
80
+ weights?: (string | null)[][] | undefined;
81
+ }>, {
47
82
  name: string;
48
83
  sets: (string | null)[][];
49
84
  groupLabel?: string | undefined;
50
85
  notes?: string | undefined;
86
+ weights?: (string | null)[][] | undefined;
51
87
  }, {
52
88
  name: string;
53
89
  sets: (string | null)[][];
54
90
  groupLabel?: string | undefined;
55
91
  notes?: string | undefined;
92
+ weights?: (string | null)[][] | undefined;
56
93
  }>, "many">;
57
- }, "strip", z.ZodTypeAny, {
94
+ }, "strict", z.ZodTypeAny, {
58
95
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
59
96
  exercises: {
60
97
  name: string;
61
98
  sets: (string | null)[][];
62
99
  groupLabel?: string | undefined;
63
100
  notes?: string | undefined;
101
+ weights?: (string | null)[][] | undefined;
64
102
  }[];
65
103
  }, {
66
104
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -69,13 +107,32 @@ export declare const Section: z.ZodObject<{
69
107
  sets: (string | null)[][];
70
108
  groupLabel?: string | undefined;
71
109
  notes?: string | undefined;
110
+ weights?: (string | null)[][] | undefined;
111
+ }[];
112
+ }>, {
113
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
114
+ exercises: {
115
+ name: string;
116
+ sets: (string | null)[][];
117
+ groupLabel?: string | undefined;
118
+ notes?: string | undefined;
119
+ weights?: (string | null)[][] | undefined;
120
+ }[];
121
+ }, {
122
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
123
+ exercises: {
124
+ name: string;
125
+ sets: (string | null)[][];
126
+ groupLabel?: string | undefined;
127
+ notes?: string | undefined;
128
+ weights?: (string | null)[][] | undefined;
72
129
  }[];
73
130
  }>;
74
131
  export declare const SupplementalNote: z.ZodObject<{
75
132
  row: z.ZodNumber;
76
133
  col: z.ZodString;
77
134
  value: z.ZodString;
78
- }, "strip", z.ZodTypeAny, {
135
+ }, "strict", z.ZodTypeAny, {
79
136
  value: string;
80
137
  row: number;
81
138
  col: string;
@@ -86,31 +143,47 @@ export declare const SupplementalNote: z.ZodObject<{
86
143
  }>;
87
144
  export declare const Day: z.ZodObject<{
88
145
  name: z.ZodString;
89
- sections: z.ZodArray<z.ZodObject<{
146
+ sections: z.ZodArray<z.ZodEffects<z.ZodObject<{
90
147
  kind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
91
- exercises: z.ZodArray<z.ZodObject<{
148
+ exercises: z.ZodArray<z.ZodEffects<z.ZodObject<{
92
149
  name: z.ZodString;
93
150
  groupLabel: z.ZodOptional<z.ZodString>;
94
151
  notes: z.ZodOptional<z.ZodString>;
95
152
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
96
- }, "strip", z.ZodTypeAny, {
153
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
154
+ }, "strict", z.ZodTypeAny, {
155
+ name: string;
156
+ sets: (string | null)[][];
157
+ groupLabel?: string | undefined;
158
+ notes?: string | undefined;
159
+ weights?: (string | null)[][] | undefined;
160
+ }, {
161
+ name: string;
162
+ sets: (string | null)[][];
163
+ groupLabel?: string | undefined;
164
+ notes?: string | undefined;
165
+ weights?: (string | null)[][] | undefined;
166
+ }>, {
97
167
  name: string;
98
168
  sets: (string | null)[][];
99
169
  groupLabel?: string | undefined;
100
170
  notes?: string | undefined;
171
+ weights?: (string | null)[][] | undefined;
101
172
  }, {
102
173
  name: string;
103
174
  sets: (string | null)[][];
104
175
  groupLabel?: string | undefined;
105
176
  notes?: string | undefined;
177
+ weights?: (string | null)[][] | undefined;
106
178
  }>, "many">;
107
- }, "strip", z.ZodTypeAny, {
179
+ }, "strict", z.ZodTypeAny, {
108
180
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
109
181
  exercises: {
110
182
  name: string;
111
183
  sets: (string | null)[][];
112
184
  groupLabel?: string | undefined;
113
185
  notes?: string | undefined;
186
+ weights?: (string | null)[][] | undefined;
114
187
  }[];
115
188
  }, {
116
189
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -119,13 +192,32 @@ export declare const Day: z.ZodObject<{
119
192
  sets: (string | null)[][];
120
193
  groupLabel?: string | undefined;
121
194
  notes?: string | undefined;
195
+ weights?: (string | null)[][] | undefined;
196
+ }[];
197
+ }>, {
198
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
199
+ exercises: {
200
+ name: string;
201
+ sets: (string | null)[][];
202
+ groupLabel?: string | undefined;
203
+ notes?: string | undefined;
204
+ weights?: (string | null)[][] | undefined;
205
+ }[];
206
+ }, {
207
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
208
+ exercises: {
209
+ name: string;
210
+ sets: (string | null)[][];
211
+ groupLabel?: string | undefined;
212
+ notes?: string | undefined;
213
+ weights?: (string | null)[][] | undefined;
122
214
  }[];
123
215
  }>, "many">;
124
216
  supplementalNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
125
217
  row: z.ZodNumber;
126
218
  col: z.ZodString;
127
219
  value: z.ZodString;
128
- }, "strip", z.ZodTypeAny, {
220
+ }, "strict", z.ZodTypeAny, {
129
221
  value: string;
130
222
  row: number;
131
223
  col: string;
@@ -134,7 +226,7 @@ export declare const Day: z.ZodObject<{
134
226
  row: number;
135
227
  col: string;
136
228
  }>, "many">>;
137
- }, "strip", z.ZodTypeAny, {
229
+ }, "strict", z.ZodTypeAny, {
138
230
  name: string;
139
231
  sections: {
140
232
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -143,6 +235,7 @@ export declare const Day: z.ZodObject<{
143
235
  sets: (string | null)[][];
144
236
  groupLabel?: string | undefined;
145
237
  notes?: string | undefined;
238
+ weights?: (string | null)[][] | undefined;
146
239
  }[];
147
240
  }[];
148
241
  supplementalNotes?: {
@@ -159,6 +252,7 @@ export declare const Day: z.ZodObject<{
159
252
  sets: (string | null)[][];
160
253
  groupLabel?: string | undefined;
161
254
  notes?: string | undefined;
255
+ weights?: (string | null)[][] | undefined;
162
256
  }[];
163
257
  }[];
164
258
  supplementalNotes?: {
@@ -167,37 +261,52 @@ export declare const Day: z.ZodObject<{
167
261
  col: string;
168
262
  }[] | undefined;
169
263
  }>;
170
- export declare const Program: z.ZodObject<{
264
+ export declare const Program: z.ZodEffects<z.ZodObject<{
171
265
  client: z.ZodString;
172
266
  programDate: z.ZodString;
173
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
174
267
  days: z.ZodArray<z.ZodObject<{
175
268
  name: z.ZodString;
176
- sections: z.ZodArray<z.ZodObject<{
269
+ sections: z.ZodArray<z.ZodEffects<z.ZodObject<{
177
270
  kind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
178
- exercises: z.ZodArray<z.ZodObject<{
271
+ exercises: z.ZodArray<z.ZodEffects<z.ZodObject<{
179
272
  name: z.ZodString;
180
273
  groupLabel: z.ZodOptional<z.ZodString>;
181
274
  notes: z.ZodOptional<z.ZodString>;
182
275
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
183
- }, "strip", z.ZodTypeAny, {
276
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
277
+ }, "strict", z.ZodTypeAny, {
184
278
  name: string;
185
279
  sets: (string | null)[][];
186
280
  groupLabel?: string | undefined;
187
281
  notes?: string | undefined;
282
+ weights?: (string | null)[][] | undefined;
188
283
  }, {
189
284
  name: string;
190
285
  sets: (string | null)[][];
191
286
  groupLabel?: string | undefined;
192
287
  notes?: string | undefined;
288
+ weights?: (string | null)[][] | undefined;
289
+ }>, {
290
+ name: string;
291
+ sets: (string | null)[][];
292
+ groupLabel?: string | undefined;
293
+ notes?: string | undefined;
294
+ weights?: (string | null)[][] | undefined;
295
+ }, {
296
+ name: string;
297
+ sets: (string | null)[][];
298
+ groupLabel?: string | undefined;
299
+ notes?: string | undefined;
300
+ weights?: (string | null)[][] | undefined;
193
301
  }>, "many">;
194
- }, "strip", z.ZodTypeAny, {
302
+ }, "strict", z.ZodTypeAny, {
195
303
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
196
304
  exercises: {
197
305
  name: string;
198
306
  sets: (string | null)[][];
199
307
  groupLabel?: string | undefined;
200
308
  notes?: string | undefined;
309
+ weights?: (string | null)[][] | undefined;
201
310
  }[];
202
311
  }, {
203
312
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -206,13 +315,32 @@ export declare const Program: z.ZodObject<{
206
315
  sets: (string | null)[][];
207
316
  groupLabel?: string | undefined;
208
317
  notes?: string | undefined;
318
+ weights?: (string | null)[][] | undefined;
319
+ }[];
320
+ }>, {
321
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
322
+ exercises: {
323
+ name: string;
324
+ sets: (string | null)[][];
325
+ groupLabel?: string | undefined;
326
+ notes?: string | undefined;
327
+ weights?: (string | null)[][] | undefined;
328
+ }[];
329
+ }, {
330
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
331
+ exercises: {
332
+ name: string;
333
+ sets: (string | null)[][];
334
+ groupLabel?: string | undefined;
335
+ notes?: string | undefined;
336
+ weights?: (string | null)[][] | undefined;
209
337
  }[];
210
338
  }>, "many">;
211
339
  supplementalNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
212
340
  row: z.ZodNumber;
213
341
  col: z.ZodString;
214
342
  value: z.ZodString;
215
- }, "strip", z.ZodTypeAny, {
343
+ }, "strict", z.ZodTypeAny, {
216
344
  value: string;
217
345
  row: number;
218
346
  col: string;
@@ -221,7 +349,7 @@ export declare const Program: z.ZodObject<{
221
349
  row: number;
222
350
  col: string;
223
351
  }>, "many">>;
224
- }, "strip", z.ZodTypeAny, {
352
+ }, "strict", z.ZodTypeAny, {
225
353
  name: string;
226
354
  sections: {
227
355
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -230,6 +358,7 @@ export declare const Program: z.ZodObject<{
230
358
  sets: (string | null)[][];
231
359
  groupLabel?: string | undefined;
232
360
  notes?: string | undefined;
361
+ weights?: (string | null)[][] | undefined;
233
362
  }[];
234
363
  }[];
235
364
  supplementalNotes?: {
@@ -246,6 +375,7 @@ export declare const Program: z.ZodObject<{
246
375
  sets: (string | null)[][];
247
376
  groupLabel?: string | undefined;
248
377
  notes?: string | undefined;
378
+ weights?: (string | null)[][] | undefined;
249
379
  }[];
250
380
  }[];
251
381
  supplementalNotes?: {
@@ -254,7 +384,28 @@ export declare const Program: z.ZodObject<{
254
384
  col: string;
255
385
  }[] | undefined;
256
386
  }>, "many">;
257
- }, "strip", z.ZodTypeAny, {
387
+ }, "strict", z.ZodTypeAny, {
388
+ client: string;
389
+ programDate: string;
390
+ days: {
391
+ name: string;
392
+ sections: {
393
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
394
+ exercises: {
395
+ name: string;
396
+ sets: (string | null)[][];
397
+ groupLabel?: string | undefined;
398
+ notes?: string | undefined;
399
+ weights?: (string | null)[][] | undefined;
400
+ }[];
401
+ }[];
402
+ supplementalNotes?: {
403
+ value: string;
404
+ row: number;
405
+ col: string;
406
+ }[] | undefined;
407
+ }[];
408
+ }, {
258
409
  client: string;
259
410
  programDate: string;
260
411
  days: {
@@ -266,6 +417,28 @@ export declare const Program: z.ZodObject<{
266
417
  sets: (string | null)[][];
267
418
  groupLabel?: string | undefined;
268
419
  notes?: string | undefined;
420
+ weights?: (string | null)[][] | undefined;
421
+ }[];
422
+ }[];
423
+ supplementalNotes?: {
424
+ value: string;
425
+ row: number;
426
+ col: string;
427
+ }[] | undefined;
428
+ }[];
429
+ }>, {
430
+ client: string;
431
+ programDate: string;
432
+ days: {
433
+ name: string;
434
+ sections: {
435
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
436
+ exercises: {
437
+ name: string;
438
+ sets: (string | null)[][];
439
+ groupLabel?: string | undefined;
440
+ notes?: string | undefined;
441
+ weights?: (string | null)[][] | undefined;
269
442
  }[];
270
443
  }[];
271
444
  supplementalNotes?: {
@@ -274,7 +447,6 @@ export declare const Program: z.ZodObject<{
274
447
  col: string;
275
448
  }[] | undefined;
276
449
  }[];
277
- weekDates?: (string | null)[] | undefined;
278
450
  }, {
279
451
  client: string;
280
452
  programDate: string;
@@ -287,6 +459,7 @@ export declare const Program: z.ZodObject<{
287
459
  sets: (string | null)[][];
288
460
  groupLabel?: string | undefined;
289
461
  notes?: string | undefined;
462
+ weights?: (string | null)[][] | undefined;
290
463
  }[];
291
464
  }[];
292
465
  supplementalNotes?: {
@@ -295,55 +468,70 @@ export declare const Program: z.ZodObject<{
295
468
  col: string;
296
469
  }[] | undefined;
297
470
  }[];
298
- weekDates?: (string | null)[] | undefined;
299
471
  }>;
300
472
  export type Cell = z.infer<typeof Cell>;
301
473
  export type SetRow = z.infer<typeof SetRow>;
474
+ export type WeightCell = z.infer<typeof WeightCell>;
302
475
  export type Exercise = z.infer<typeof Exercise>;
303
476
  export type SectionKind = z.infer<typeof SectionKind>;
304
477
  export type Section = z.infer<typeof Section>;
305
478
  export type SupplementalNote = z.infer<typeof SupplementalNote>;
306
479
  export type Day = z.infer<typeof Day>;
307
480
  export type Program = z.infer<typeof Program>;
308
- export declare const XlsxToJsonInput: z.ZodObject<{
481
+ export declare const ProgramXlsxToJsonInput: z.ZodObject<{
309
482
  xlsxPath: z.ZodString;
310
- }, "strip", z.ZodTypeAny, {
483
+ }, "strict", z.ZodTypeAny, {
311
484
  xlsxPath: string;
312
485
  }, {
313
486
  xlsxPath: string;
314
487
  }>;
315
- export declare const XlsxToJsonOutput: z.ZodObject<{
316
- program: z.ZodObject<{
488
+ export declare const ProgramXlsxToJsonOutput: z.ZodObject<{
489
+ program: z.ZodEffects<z.ZodObject<{
317
490
  client: z.ZodString;
318
491
  programDate: z.ZodString;
319
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
320
492
  days: z.ZodArray<z.ZodObject<{
321
493
  name: z.ZodString;
322
- sections: z.ZodArray<z.ZodObject<{
494
+ sections: z.ZodArray<z.ZodEffects<z.ZodObject<{
323
495
  kind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
324
- exercises: z.ZodArray<z.ZodObject<{
496
+ exercises: z.ZodArray<z.ZodEffects<z.ZodObject<{
325
497
  name: z.ZodString;
326
498
  groupLabel: z.ZodOptional<z.ZodString>;
327
499
  notes: z.ZodOptional<z.ZodString>;
328
500
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
329
- }, "strip", z.ZodTypeAny, {
501
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
502
+ }, "strict", z.ZodTypeAny, {
330
503
  name: string;
331
504
  sets: (string | null)[][];
332
505
  groupLabel?: string | undefined;
333
506
  notes?: string | undefined;
507
+ weights?: (string | null)[][] | undefined;
334
508
  }, {
335
509
  name: string;
336
510
  sets: (string | null)[][];
337
511
  groupLabel?: string | undefined;
338
512
  notes?: string | undefined;
513
+ weights?: (string | null)[][] | undefined;
514
+ }>, {
515
+ name: string;
516
+ sets: (string | null)[][];
517
+ groupLabel?: string | undefined;
518
+ notes?: string | undefined;
519
+ weights?: (string | null)[][] | undefined;
520
+ }, {
521
+ name: string;
522
+ sets: (string | null)[][];
523
+ groupLabel?: string | undefined;
524
+ notes?: string | undefined;
525
+ weights?: (string | null)[][] | undefined;
339
526
  }>, "many">;
340
- }, "strip", z.ZodTypeAny, {
527
+ }, "strict", z.ZodTypeAny, {
341
528
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
342
529
  exercises: {
343
530
  name: string;
344
531
  sets: (string | null)[][];
345
532
  groupLabel?: string | undefined;
346
533
  notes?: string | undefined;
534
+ weights?: (string | null)[][] | undefined;
347
535
  }[];
348
536
  }, {
349
537
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -352,13 +540,32 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
352
540
  sets: (string | null)[][];
353
541
  groupLabel?: string | undefined;
354
542
  notes?: string | undefined;
543
+ weights?: (string | null)[][] | undefined;
544
+ }[];
545
+ }>, {
546
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
547
+ exercises: {
548
+ name: string;
549
+ sets: (string | null)[][];
550
+ groupLabel?: string | undefined;
551
+ notes?: string | undefined;
552
+ weights?: (string | null)[][] | undefined;
553
+ }[];
554
+ }, {
555
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
556
+ exercises: {
557
+ name: string;
558
+ sets: (string | null)[][];
559
+ groupLabel?: string | undefined;
560
+ notes?: string | undefined;
561
+ weights?: (string | null)[][] | undefined;
355
562
  }[];
356
563
  }>, "many">;
357
564
  supplementalNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
358
565
  row: z.ZodNumber;
359
566
  col: z.ZodString;
360
567
  value: z.ZodString;
361
- }, "strip", z.ZodTypeAny, {
568
+ }, "strict", z.ZodTypeAny, {
362
569
  value: string;
363
570
  row: number;
364
571
  col: string;
@@ -367,7 +574,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
367
574
  row: number;
368
575
  col: string;
369
576
  }>, "many">>;
370
- }, "strip", z.ZodTypeAny, {
577
+ }, "strict", z.ZodTypeAny, {
371
578
  name: string;
372
579
  sections: {
373
580
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -376,6 +583,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
376
583
  sets: (string | null)[][];
377
584
  groupLabel?: string | undefined;
378
585
  notes?: string | undefined;
586
+ weights?: (string | null)[][] | undefined;
379
587
  }[];
380
588
  }[];
381
589
  supplementalNotes?: {
@@ -392,6 +600,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
392
600
  sets: (string | null)[][];
393
601
  groupLabel?: string | undefined;
394
602
  notes?: string | undefined;
603
+ weights?: (string | null)[][] | undefined;
395
604
  }[];
396
605
  }[];
397
606
  supplementalNotes?: {
@@ -400,7 +609,28 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
400
609
  col: string;
401
610
  }[] | undefined;
402
611
  }>, "many">;
403
- }, "strip", z.ZodTypeAny, {
612
+ }, "strict", z.ZodTypeAny, {
613
+ client: string;
614
+ programDate: string;
615
+ days: {
616
+ name: string;
617
+ sections: {
618
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
619
+ exercises: {
620
+ name: string;
621
+ sets: (string | null)[][];
622
+ groupLabel?: string | undefined;
623
+ notes?: string | undefined;
624
+ weights?: (string | null)[][] | undefined;
625
+ }[];
626
+ }[];
627
+ supplementalNotes?: {
628
+ value: string;
629
+ row: number;
630
+ col: string;
631
+ }[] | undefined;
632
+ }[];
633
+ }, {
404
634
  client: string;
405
635
  programDate: string;
406
636
  days: {
@@ -412,6 +642,28 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
412
642
  sets: (string | null)[][];
413
643
  groupLabel?: string | undefined;
414
644
  notes?: string | undefined;
645
+ weights?: (string | null)[][] | undefined;
646
+ }[];
647
+ }[];
648
+ supplementalNotes?: {
649
+ value: string;
650
+ row: number;
651
+ col: string;
652
+ }[] | undefined;
653
+ }[];
654
+ }>, {
655
+ client: string;
656
+ programDate: string;
657
+ days: {
658
+ name: string;
659
+ sections: {
660
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
661
+ exercises: {
662
+ name: string;
663
+ sets: (string | null)[][];
664
+ groupLabel?: string | undefined;
665
+ notes?: string | undefined;
666
+ weights?: (string | null)[][] | undefined;
415
667
  }[];
416
668
  }[];
417
669
  supplementalNotes?: {
@@ -420,7 +672,6 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
420
672
  col: string;
421
673
  }[] | undefined;
422
674
  }[];
423
- weekDates?: (string | null)[] | undefined;
424
675
  }, {
425
676
  client: string;
426
677
  programDate: string;
@@ -433,6 +684,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
433
684
  sets: (string | null)[][];
434
685
  groupLabel?: string | undefined;
435
686
  notes?: string | undefined;
687
+ weights?: (string | null)[][] | undefined;
436
688
  }[];
437
689
  }[];
438
690
  supplementalNotes?: {
@@ -441,10 +693,9 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
441
693
  col: string;
442
694
  }[] | undefined;
443
695
  }[];
444
- weekDates?: (string | null)[] | undefined;
445
696
  }>;
446
697
  warnings: z.ZodArray<z.ZodString, "many">;
447
- }, "strip", z.ZodTypeAny, {
698
+ }, "strict", z.ZodTypeAny, {
448
699
  program: {
449
700
  client: string;
450
701
  programDate: string;
@@ -457,6 +708,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
457
708
  sets: (string | null)[][];
458
709
  groupLabel?: string | undefined;
459
710
  notes?: string | undefined;
711
+ weights?: (string | null)[][] | undefined;
460
712
  }[];
461
713
  }[];
462
714
  supplementalNotes?: {
@@ -465,7 +717,6 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
465
717
  col: string;
466
718
  }[] | undefined;
467
719
  }[];
468
- weekDates?: (string | null)[] | undefined;
469
720
  };
470
721
  warnings: string[];
471
722
  }, {
@@ -481,6 +732,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
481
732
  sets: (string | null)[][];
482
733
  groupLabel?: string | undefined;
483
734
  notes?: string | undefined;
735
+ weights?: (string | null)[][] | undefined;
484
736
  }[];
485
737
  }[];
486
738
  supplementalNotes?: {
@@ -489,42 +741,56 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
489
741
  col: string;
490
742
  }[] | undefined;
491
743
  }[];
492
- weekDates?: (string | null)[] | undefined;
493
744
  };
494
745
  warnings: string[];
495
746
  }>;
496
- export declare const JsonToXlsxInput: z.ZodObject<{
497
- program: z.ZodObject<{
747
+ export declare const ProgramJsonToXlsxInput: z.ZodObject<{
748
+ program: z.ZodEffects<z.ZodObject<{
498
749
  client: z.ZodString;
499
750
  programDate: z.ZodString;
500
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
501
751
  days: z.ZodArray<z.ZodObject<{
502
752
  name: z.ZodString;
503
- sections: z.ZodArray<z.ZodObject<{
753
+ sections: z.ZodArray<z.ZodEffects<z.ZodObject<{
504
754
  kind: z.ZodEnum<["warmup", "main", "sportSpecific", "supplemental", "conditioning"]>;
505
- exercises: z.ZodArray<z.ZodObject<{
755
+ exercises: z.ZodArray<z.ZodEffects<z.ZodObject<{
506
756
  name: z.ZodString;
507
757
  groupLabel: z.ZodOptional<z.ZodString>;
508
758
  notes: z.ZodOptional<z.ZodString>;
509
759
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
510
- }, "strip", z.ZodTypeAny, {
760
+ weights: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">>;
761
+ }, "strict", z.ZodTypeAny, {
762
+ name: string;
763
+ sets: (string | null)[][];
764
+ groupLabel?: string | undefined;
765
+ notes?: string | undefined;
766
+ weights?: (string | null)[][] | undefined;
767
+ }, {
768
+ name: string;
769
+ sets: (string | null)[][];
770
+ groupLabel?: string | undefined;
771
+ notes?: string | undefined;
772
+ weights?: (string | null)[][] | undefined;
773
+ }>, {
511
774
  name: string;
512
775
  sets: (string | null)[][];
513
776
  groupLabel?: string | undefined;
514
777
  notes?: string | undefined;
778
+ weights?: (string | null)[][] | undefined;
515
779
  }, {
516
780
  name: string;
517
781
  sets: (string | null)[][];
518
782
  groupLabel?: string | undefined;
519
783
  notes?: string | undefined;
784
+ weights?: (string | null)[][] | undefined;
520
785
  }>, "many">;
521
- }, "strip", z.ZodTypeAny, {
786
+ }, "strict", z.ZodTypeAny, {
522
787
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
523
788
  exercises: {
524
789
  name: string;
525
790
  sets: (string | null)[][];
526
791
  groupLabel?: string | undefined;
527
792
  notes?: string | undefined;
793
+ weights?: (string | null)[][] | undefined;
528
794
  }[];
529
795
  }, {
530
796
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -533,13 +799,32 @@ export declare const JsonToXlsxInput: z.ZodObject<{
533
799
  sets: (string | null)[][];
534
800
  groupLabel?: string | undefined;
535
801
  notes?: string | undefined;
802
+ weights?: (string | null)[][] | undefined;
803
+ }[];
804
+ }>, {
805
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
806
+ exercises: {
807
+ name: string;
808
+ sets: (string | null)[][];
809
+ groupLabel?: string | undefined;
810
+ notes?: string | undefined;
811
+ weights?: (string | null)[][] | undefined;
812
+ }[];
813
+ }, {
814
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
815
+ exercises: {
816
+ name: string;
817
+ sets: (string | null)[][];
818
+ groupLabel?: string | undefined;
819
+ notes?: string | undefined;
820
+ weights?: (string | null)[][] | undefined;
536
821
  }[];
537
822
  }>, "many">;
538
823
  supplementalNotes: z.ZodOptional<z.ZodArray<z.ZodObject<{
539
824
  row: z.ZodNumber;
540
825
  col: z.ZodString;
541
826
  value: z.ZodString;
542
- }, "strip", z.ZodTypeAny, {
827
+ }, "strict", z.ZodTypeAny, {
543
828
  value: string;
544
829
  row: number;
545
830
  col: string;
@@ -548,7 +833,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
548
833
  row: number;
549
834
  col: string;
550
835
  }>, "many">>;
551
- }, "strip", z.ZodTypeAny, {
836
+ }, "strict", z.ZodTypeAny, {
552
837
  name: string;
553
838
  sections: {
554
839
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -557,6 +842,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
557
842
  sets: (string | null)[][];
558
843
  groupLabel?: string | undefined;
559
844
  notes?: string | undefined;
845
+ weights?: (string | null)[][] | undefined;
560
846
  }[];
561
847
  }[];
562
848
  supplementalNotes?: {
@@ -573,6 +859,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
573
859
  sets: (string | null)[][];
574
860
  groupLabel?: string | undefined;
575
861
  notes?: string | undefined;
862
+ weights?: (string | null)[][] | undefined;
576
863
  }[];
577
864
  }[];
578
865
  supplementalNotes?: {
@@ -581,7 +868,49 @@ export declare const JsonToXlsxInput: z.ZodObject<{
581
868
  col: string;
582
869
  }[] | undefined;
583
870
  }>, "many">;
584
- }, "strip", z.ZodTypeAny, {
871
+ }, "strict", z.ZodTypeAny, {
872
+ client: string;
873
+ programDate: string;
874
+ days: {
875
+ name: string;
876
+ sections: {
877
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
878
+ exercises: {
879
+ name: string;
880
+ sets: (string | null)[][];
881
+ groupLabel?: string | undefined;
882
+ notes?: string | undefined;
883
+ weights?: (string | null)[][] | undefined;
884
+ }[];
885
+ }[];
886
+ supplementalNotes?: {
887
+ value: string;
888
+ row: number;
889
+ col: string;
890
+ }[] | undefined;
891
+ }[];
892
+ }, {
893
+ client: string;
894
+ programDate: string;
895
+ days: {
896
+ name: string;
897
+ sections: {
898
+ kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
899
+ exercises: {
900
+ name: string;
901
+ sets: (string | null)[][];
902
+ groupLabel?: string | undefined;
903
+ notes?: string | undefined;
904
+ weights?: (string | null)[][] | undefined;
905
+ }[];
906
+ }[];
907
+ supplementalNotes?: {
908
+ value: string;
909
+ row: number;
910
+ col: string;
911
+ }[] | undefined;
912
+ }[];
913
+ }>, {
585
914
  client: string;
586
915
  programDate: string;
587
916
  days: {
@@ -593,6 +922,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
593
922
  sets: (string | null)[][];
594
923
  groupLabel?: string | undefined;
595
924
  notes?: string | undefined;
925
+ weights?: (string | null)[][] | undefined;
596
926
  }[];
597
927
  }[];
598
928
  supplementalNotes?: {
@@ -601,7 +931,6 @@ export declare const JsonToXlsxInput: z.ZodObject<{
601
931
  col: string;
602
932
  }[] | undefined;
603
933
  }[];
604
- weekDates?: (string | null)[] | undefined;
605
934
  }, {
606
935
  client: string;
607
936
  programDate: string;
@@ -614,6 +943,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
614
943
  sets: (string | null)[][];
615
944
  groupLabel?: string | undefined;
616
945
  notes?: string | undefined;
946
+ weights?: (string | null)[][] | undefined;
617
947
  }[];
618
948
  }[];
619
949
  supplementalNotes?: {
@@ -622,10 +952,9 @@ export declare const JsonToXlsxInput: z.ZodObject<{
622
952
  col: string;
623
953
  }[] | undefined;
624
954
  }[];
625
- weekDates?: (string | null)[] | undefined;
626
955
  }>;
627
956
  outputPath: z.ZodString;
628
- }, "strip", z.ZodTypeAny, {
957
+ }, "strict", z.ZodTypeAny, {
629
958
  program: {
630
959
  client: string;
631
960
  programDate: string;
@@ -638,6 +967,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
638
967
  sets: (string | null)[][];
639
968
  groupLabel?: string | undefined;
640
969
  notes?: string | undefined;
970
+ weights?: (string | null)[][] | undefined;
641
971
  }[];
642
972
  }[];
643
973
  supplementalNotes?: {
@@ -646,7 +976,6 @@ export declare const JsonToXlsxInput: z.ZodObject<{
646
976
  col: string;
647
977
  }[] | undefined;
648
978
  }[];
649
- weekDates?: (string | null)[] | undefined;
650
979
  };
651
980
  outputPath: string;
652
981
  }, {
@@ -662,6 +991,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
662
991
  sets: (string | null)[][];
663
992
  groupLabel?: string | undefined;
664
993
  notes?: string | undefined;
994
+ weights?: (string | null)[][] | undefined;
665
995
  }[];
666
996
  }[];
667
997
  supplementalNotes?: {
@@ -670,23 +1000,24 @@ export declare const JsonToXlsxInput: z.ZodObject<{
670
1000
  col: string;
671
1001
  }[] | undefined;
672
1002
  }[];
673
- weekDates?: (string | null)[] | undefined;
674
1003
  };
675
1004
  outputPath: string;
676
1005
  }>;
677
- export declare const JsonToXlsxOutput: z.ZodObject<{
1006
+ export declare const ProgramJsonToXlsxOutput: z.ZodObject<{
678
1007
  outputPath: z.ZodString;
679
1008
  bytesWritten: z.ZodNumber;
680
- }, "strip", z.ZodTypeAny, {
1009
+ }, "strict", z.ZodTypeAny, {
681
1010
  outputPath: string;
682
1011
  bytesWritten: number;
683
1012
  }, {
684
1013
  outputPath: string;
685
1014
  bytesWritten: number;
686
1015
  }>;
687
- export type XlsxToJsonInput = z.infer<typeof XlsxToJsonInput>;
688
- export type XlsxToJsonOutput = z.infer<typeof XlsxToJsonOutput>;
689
- export type JsonToXlsxInput = z.infer<typeof JsonToXlsxInput>;
690
- export type JsonToXlsxOutput = z.infer<typeof JsonToXlsxOutput>;
691
- export declare const WEEK_COUNT_CONST = 6;
1016
+ export type ProgramXlsxToJsonInput = z.infer<typeof ProgramXlsxToJsonInput>;
1017
+ export type ProgramXlsxToJsonOutput = z.infer<typeof ProgramXlsxToJsonOutput>;
1018
+ export type ProgramJsonToXlsxInput = z.infer<typeof ProgramJsonToXlsxInput>;
1019
+ export type ProgramJsonToXlsxOutput = z.infer<typeof ProgramJsonToXlsxOutput>;
1020
+ export declare const DEFAULT_WEEK_COUNT = 6;
1021
+ /** The number of weeks a program covers: the length of its set rows. */
1022
+ export declare function programWeekCount(program: Program): number;
692
1023
  //# sourceMappingURL=program.d.ts.map