@workingdevshero/olympia-ait-adapter 0.1.4 → 1.0.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 (62) hide show
  1. package/README.md +104 -28
  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 +1 -50
  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 +35 -48
  23. package/dist/schema/program.d.ts.map +1 -1
  24. package/dist/schema/program.js +26 -15
  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 +8 -12
  56. package/dist/writer/build-workbook.js.map +1 -1
  57. package/dist/writer/styles.d.ts +1 -0
  58. package/dist/writer/styles.d.ts.map +1 -1
  59. package/dist/writer/styles.js +9 -0
  60. package/dist/writer/styles.js.map +1 -1
  61. package/package.json +5 -4
  62. package/skills/olympia-authoring/SKILL.md +124 -0
@@ -1,17 +1,13 @@
1
1
  import ExcelJS from "exceljs";
2
2
  import { parseDaySheet } from "./parse-day-sheet.js";
3
- export async function parseWorkbook(xlsxPath) {
3
+ export async function parseProgramWorkbook(xlsxPath) {
4
4
  const workbook = new ExcelJS.Workbook();
5
5
  await workbook.xlsx.readFile(xlsxPath);
6
6
  const warnings = [];
7
7
  const days = [];
8
- let weekDates;
9
8
  for (const ws of workbook.worksheets) {
10
9
  const parsed = parseDaySheet(ws);
11
10
  parsed.warnings.forEach((w) => warnings.push(`[${ws.name}] ${w}`));
12
- if (weekDates === undefined && parsed.weekDates !== undefined) {
13
- weekDates = parsed.weekDates;
14
- }
15
11
  days.push({
16
12
  name: ws.name,
17
13
  sections: parsed.sections,
@@ -46,7 +42,6 @@ export async function parseWorkbook(xlsxPath) {
46
42
  program: {
47
43
  client: clientName,
48
44
  programDate,
49
- ...(weekDates ? { weekDates } : {}),
50
45
  days,
51
46
  },
52
47
  warnings,
@@ -1 +1 @@
1
- {"version":3,"file":"parse-workbook.js","sourceRoot":"","sources":["../../src/reader/parse-workbook.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAwC,EAAE,CAAC;IACrD,IAAI,SAAwC,CAAC;IAE7C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC9D,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,kEAAkE;IAClE,IAAI,UAA8B,CAAC;IACnC,IAAI,WAA+B,CAAC;IACpC,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GACZ,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,UAAU,GAAG,OAAO,CAAC;QACrB,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1E,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,SAAS,CAAC;YACvB,WAAW,GAAG,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,sFAAsF,QAAQ,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,UAAU;YAClB,WAAW;YACX,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,IAAI;SACL;QACD,QAAQ;KACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"parse-workbook.js","sourceRoot":"","sources":["../../src/reader/parse-workbook.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IACxC,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAA+C,EAAE,CAAC;IAE5D,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,GAAG,CAAC,MAAM,CAAC,iBAAiB;gBAC1B,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE;gBACjD,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,kEAAkE;IAClE,IAAI,UAA8B,CAAC;IACnC,IAAI,WAA+B,CAAC;IACpC,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,MAAM,QAAQ,GACZ,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,UAAU,GAAG,OAAO,CAAC;QACrB,WAAW,GAAG,QAAQ,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC1E,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9D,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,SAAS,CAAC;YACvB,WAAW,GAAG,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CACX,sFAAsF,QAAQ,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,UAAU;YAClB,WAAW;YACX,IAAI;SACL;QACD,QAAQ;KACT,CAAC;AACJ,CAAC"}
@@ -24,7 +24,7 @@ export declare const Exercise: z.ZodObject<{
24
24
  groupLabel: z.ZodOptional<z.ZodString>;
25
25
  notes: z.ZodOptional<z.ZodString>;
26
26
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
27
- }, "strip", z.ZodTypeAny, {
27
+ }, "strict", z.ZodTypeAny, {
28
28
  name: string;
29
29
  sets: (string | null)[][];
30
30
  groupLabel?: string | undefined;
@@ -43,7 +43,7 @@ export declare const Section: z.ZodObject<{
43
43
  groupLabel: z.ZodOptional<z.ZodString>;
44
44
  notes: z.ZodOptional<z.ZodString>;
45
45
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
46
- }, "strip", z.ZodTypeAny, {
46
+ }, "strict", z.ZodTypeAny, {
47
47
  name: string;
48
48
  sets: (string | null)[][];
49
49
  groupLabel?: string | undefined;
@@ -54,7 +54,7 @@ export declare const Section: z.ZodObject<{
54
54
  groupLabel?: string | undefined;
55
55
  notes?: string | undefined;
56
56
  }>, "many">;
57
- }, "strip", z.ZodTypeAny, {
57
+ }, "strict", z.ZodTypeAny, {
58
58
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
59
59
  exercises: {
60
60
  name: string;
@@ -75,7 +75,7 @@ export declare const SupplementalNote: z.ZodObject<{
75
75
  row: z.ZodNumber;
76
76
  col: z.ZodString;
77
77
  value: z.ZodString;
78
- }, "strip", z.ZodTypeAny, {
78
+ }, "strict", z.ZodTypeAny, {
79
79
  value: string;
80
80
  row: number;
81
81
  col: string;
@@ -93,7 +93,7 @@ export declare const Day: z.ZodObject<{
93
93
  groupLabel: z.ZodOptional<z.ZodString>;
94
94
  notes: z.ZodOptional<z.ZodString>;
95
95
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
96
- }, "strip", z.ZodTypeAny, {
96
+ }, "strict", z.ZodTypeAny, {
97
97
  name: string;
98
98
  sets: (string | null)[][];
99
99
  groupLabel?: string | undefined;
@@ -104,7 +104,7 @@ export declare const Day: z.ZodObject<{
104
104
  groupLabel?: string | undefined;
105
105
  notes?: string | undefined;
106
106
  }>, "many">;
107
- }, "strip", z.ZodTypeAny, {
107
+ }, "strict", z.ZodTypeAny, {
108
108
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
109
109
  exercises: {
110
110
  name: string;
@@ -125,7 +125,7 @@ export declare const Day: z.ZodObject<{
125
125
  row: z.ZodNumber;
126
126
  col: z.ZodString;
127
127
  value: z.ZodString;
128
- }, "strip", z.ZodTypeAny, {
128
+ }, "strict", z.ZodTypeAny, {
129
129
  value: string;
130
130
  row: number;
131
131
  col: string;
@@ -134,7 +134,7 @@ export declare const Day: z.ZodObject<{
134
134
  row: number;
135
135
  col: string;
136
136
  }>, "many">>;
137
- }, "strip", z.ZodTypeAny, {
137
+ }, "strict", z.ZodTypeAny, {
138
138
  name: string;
139
139
  sections: {
140
140
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -170,7 +170,6 @@ export declare const Day: z.ZodObject<{
170
170
  export declare const Program: z.ZodObject<{
171
171
  client: z.ZodString;
172
172
  programDate: z.ZodString;
173
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
174
173
  days: z.ZodArray<z.ZodObject<{
175
174
  name: z.ZodString;
176
175
  sections: z.ZodArray<z.ZodObject<{
@@ -180,7 +179,7 @@ export declare const Program: z.ZodObject<{
180
179
  groupLabel: z.ZodOptional<z.ZodString>;
181
180
  notes: z.ZodOptional<z.ZodString>;
182
181
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
183
- }, "strip", z.ZodTypeAny, {
182
+ }, "strict", z.ZodTypeAny, {
184
183
  name: string;
185
184
  sets: (string | null)[][];
186
185
  groupLabel?: string | undefined;
@@ -191,7 +190,7 @@ export declare const Program: z.ZodObject<{
191
190
  groupLabel?: string | undefined;
192
191
  notes?: string | undefined;
193
192
  }>, "many">;
194
- }, "strip", z.ZodTypeAny, {
193
+ }, "strict", z.ZodTypeAny, {
195
194
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
196
195
  exercises: {
197
196
  name: string;
@@ -212,7 +211,7 @@ export declare const Program: z.ZodObject<{
212
211
  row: z.ZodNumber;
213
212
  col: z.ZodString;
214
213
  value: z.ZodString;
215
- }, "strip", z.ZodTypeAny, {
214
+ }, "strict", z.ZodTypeAny, {
216
215
  value: string;
217
216
  row: number;
218
217
  col: string;
@@ -221,7 +220,7 @@ export declare const Program: z.ZodObject<{
221
220
  row: number;
222
221
  col: string;
223
222
  }>, "many">>;
224
- }, "strip", z.ZodTypeAny, {
223
+ }, "strict", z.ZodTypeAny, {
225
224
  name: string;
226
225
  sections: {
227
226
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -254,7 +253,7 @@ export declare const Program: z.ZodObject<{
254
253
  col: string;
255
254
  }[] | undefined;
256
255
  }>, "many">;
257
- }, "strip", z.ZodTypeAny, {
256
+ }, "strict", z.ZodTypeAny, {
258
257
  client: string;
259
258
  programDate: string;
260
259
  days: {
@@ -274,7 +273,6 @@ export declare const Program: z.ZodObject<{
274
273
  col: string;
275
274
  }[] | undefined;
276
275
  }[];
277
- weekDates?: (string | null)[] | undefined;
278
276
  }, {
279
277
  client: string;
280
278
  programDate: string;
@@ -295,7 +293,6 @@ export declare const Program: z.ZodObject<{
295
293
  col: string;
296
294
  }[] | undefined;
297
295
  }[];
298
- weekDates?: (string | null)[] | undefined;
299
296
  }>;
300
297
  export type Cell = z.infer<typeof Cell>;
301
298
  export type SetRow = z.infer<typeof SetRow>;
@@ -305,18 +302,17 @@ export type Section = z.infer<typeof Section>;
305
302
  export type SupplementalNote = z.infer<typeof SupplementalNote>;
306
303
  export type Day = z.infer<typeof Day>;
307
304
  export type Program = z.infer<typeof Program>;
308
- export declare const XlsxToJsonInput: z.ZodObject<{
305
+ export declare const ProgramXlsxToJsonInput: z.ZodObject<{
309
306
  xlsxPath: z.ZodString;
310
- }, "strip", z.ZodTypeAny, {
307
+ }, "strict", z.ZodTypeAny, {
311
308
  xlsxPath: string;
312
309
  }, {
313
310
  xlsxPath: string;
314
311
  }>;
315
- export declare const XlsxToJsonOutput: z.ZodObject<{
312
+ export declare const ProgramXlsxToJsonOutput: z.ZodObject<{
316
313
  program: z.ZodObject<{
317
314
  client: z.ZodString;
318
315
  programDate: z.ZodString;
319
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
320
316
  days: z.ZodArray<z.ZodObject<{
321
317
  name: z.ZodString;
322
318
  sections: z.ZodArray<z.ZodObject<{
@@ -326,7 +322,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
326
322
  groupLabel: z.ZodOptional<z.ZodString>;
327
323
  notes: z.ZodOptional<z.ZodString>;
328
324
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
329
- }, "strip", z.ZodTypeAny, {
325
+ }, "strict", z.ZodTypeAny, {
330
326
  name: string;
331
327
  sets: (string | null)[][];
332
328
  groupLabel?: string | undefined;
@@ -337,7 +333,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
337
333
  groupLabel?: string | undefined;
338
334
  notes?: string | undefined;
339
335
  }>, "many">;
340
- }, "strip", z.ZodTypeAny, {
336
+ }, "strict", z.ZodTypeAny, {
341
337
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
342
338
  exercises: {
343
339
  name: string;
@@ -358,7 +354,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
358
354
  row: z.ZodNumber;
359
355
  col: z.ZodString;
360
356
  value: z.ZodString;
361
- }, "strip", z.ZodTypeAny, {
357
+ }, "strict", z.ZodTypeAny, {
362
358
  value: string;
363
359
  row: number;
364
360
  col: string;
@@ -367,7 +363,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
367
363
  row: number;
368
364
  col: string;
369
365
  }>, "many">>;
370
- }, "strip", z.ZodTypeAny, {
366
+ }, "strict", z.ZodTypeAny, {
371
367
  name: string;
372
368
  sections: {
373
369
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -400,7 +396,7 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
400
396
  col: string;
401
397
  }[] | undefined;
402
398
  }>, "many">;
403
- }, "strip", z.ZodTypeAny, {
399
+ }, "strict", z.ZodTypeAny, {
404
400
  client: string;
405
401
  programDate: string;
406
402
  days: {
@@ -420,7 +416,6 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
420
416
  col: string;
421
417
  }[] | undefined;
422
418
  }[];
423
- weekDates?: (string | null)[] | undefined;
424
419
  }, {
425
420
  client: string;
426
421
  programDate: string;
@@ -441,10 +436,9 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
441
436
  col: string;
442
437
  }[] | undefined;
443
438
  }[];
444
- weekDates?: (string | null)[] | undefined;
445
439
  }>;
446
440
  warnings: z.ZodArray<z.ZodString, "many">;
447
- }, "strip", z.ZodTypeAny, {
441
+ }, "strict", z.ZodTypeAny, {
448
442
  program: {
449
443
  client: string;
450
444
  programDate: string;
@@ -465,7 +459,6 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
465
459
  col: string;
466
460
  }[] | undefined;
467
461
  }[];
468
- weekDates?: (string | null)[] | undefined;
469
462
  };
470
463
  warnings: string[];
471
464
  }, {
@@ -489,15 +482,13 @@ export declare const XlsxToJsonOutput: z.ZodObject<{
489
482
  col: string;
490
483
  }[] | undefined;
491
484
  }[];
492
- weekDates?: (string | null)[] | undefined;
493
485
  };
494
486
  warnings: string[];
495
487
  }>;
496
- export declare const JsonToXlsxInput: z.ZodObject<{
488
+ export declare const ProgramJsonToXlsxInput: z.ZodObject<{
497
489
  program: z.ZodObject<{
498
490
  client: z.ZodString;
499
491
  programDate: z.ZodString;
500
- weekDates: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodString>, "many">>;
501
492
  days: z.ZodArray<z.ZodObject<{
502
493
  name: z.ZodString;
503
494
  sections: z.ZodArray<z.ZodObject<{
@@ -507,7 +498,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
507
498
  groupLabel: z.ZodOptional<z.ZodString>;
508
499
  notes: z.ZodOptional<z.ZodString>;
509
500
  sets: z.ZodArray<z.ZodArray<z.ZodNullable<z.ZodString>, "many">, "many">;
510
- }, "strip", z.ZodTypeAny, {
501
+ }, "strict", z.ZodTypeAny, {
511
502
  name: string;
512
503
  sets: (string | null)[][];
513
504
  groupLabel?: string | undefined;
@@ -518,7 +509,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
518
509
  groupLabel?: string | undefined;
519
510
  notes?: string | undefined;
520
511
  }>, "many">;
521
- }, "strip", z.ZodTypeAny, {
512
+ }, "strict", z.ZodTypeAny, {
522
513
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
523
514
  exercises: {
524
515
  name: string;
@@ -539,7 +530,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
539
530
  row: z.ZodNumber;
540
531
  col: z.ZodString;
541
532
  value: z.ZodString;
542
- }, "strip", z.ZodTypeAny, {
533
+ }, "strict", z.ZodTypeAny, {
543
534
  value: string;
544
535
  row: number;
545
536
  col: string;
@@ -548,7 +539,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
548
539
  row: number;
549
540
  col: string;
550
541
  }>, "many">>;
551
- }, "strip", z.ZodTypeAny, {
542
+ }, "strict", z.ZodTypeAny, {
552
543
  name: string;
553
544
  sections: {
554
545
  kind: "warmup" | "main" | "sportSpecific" | "supplemental" | "conditioning";
@@ -581,7 +572,7 @@ export declare const JsonToXlsxInput: z.ZodObject<{
581
572
  col: string;
582
573
  }[] | undefined;
583
574
  }>, "many">;
584
- }, "strip", z.ZodTypeAny, {
575
+ }, "strict", z.ZodTypeAny, {
585
576
  client: string;
586
577
  programDate: string;
587
578
  days: {
@@ -601,7 +592,6 @@ export declare const JsonToXlsxInput: z.ZodObject<{
601
592
  col: string;
602
593
  }[] | undefined;
603
594
  }[];
604
- weekDates?: (string | null)[] | undefined;
605
595
  }, {
606
596
  client: string;
607
597
  programDate: string;
@@ -622,10 +612,9 @@ export declare const JsonToXlsxInput: z.ZodObject<{
622
612
  col: string;
623
613
  }[] | undefined;
624
614
  }[];
625
- weekDates?: (string | null)[] | undefined;
626
615
  }>;
627
616
  outputPath: z.ZodString;
628
- }, "strip", z.ZodTypeAny, {
617
+ }, "strict", z.ZodTypeAny, {
629
618
  program: {
630
619
  client: string;
631
620
  programDate: string;
@@ -646,7 +635,6 @@ export declare const JsonToXlsxInput: z.ZodObject<{
646
635
  col: string;
647
636
  }[] | undefined;
648
637
  }[];
649
- weekDates?: (string | null)[] | undefined;
650
638
  };
651
639
  outputPath: string;
652
640
  }, {
@@ -670,23 +658,22 @@ export declare const JsonToXlsxInput: z.ZodObject<{
670
658
  col: string;
671
659
  }[] | undefined;
672
660
  }[];
673
- weekDates?: (string | null)[] | undefined;
674
661
  };
675
662
  outputPath: string;
676
663
  }>;
677
- export declare const JsonToXlsxOutput: z.ZodObject<{
664
+ export declare const ProgramJsonToXlsxOutput: z.ZodObject<{
678
665
  outputPath: z.ZodString;
679
666
  bytesWritten: z.ZodNumber;
680
- }, "strip", z.ZodTypeAny, {
667
+ }, "strict", z.ZodTypeAny, {
681
668
  outputPath: string;
682
669
  bytesWritten: number;
683
670
  }, {
684
671
  outputPath: string;
685
672
  bytesWritten: number;
686
673
  }>;
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>;
674
+ export type ProgramXlsxToJsonInput = z.infer<typeof ProgramXlsxToJsonInput>;
675
+ export type ProgramXlsxToJsonOutput = z.infer<typeof ProgramXlsxToJsonOutput>;
676
+ export type ProgramJsonToXlsxInput = z.infer<typeof ProgramJsonToXlsxInput>;
677
+ export type ProgramJsonToXlsxOutput = z.infer<typeof ProgramJsonToXlsxOutput>;
691
678
  export declare const WEEK_COUNT_CONST = 6;
692
679
  //# sourceMappingURL=program.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/schema/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,IAAI,4BAKd,CAAC;AAEJ,eAAO,MAAM,MAAM,gDAKhB,CAAC;AAEJ,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;EAwBkE,CAAC;AAExF,eAAO,MAAM,WAAW,gFAIrB,CAAC;AAEJ,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKsC,CAAC;AAE3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAuB1B,CAAC;AAEJ,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcmD,CAAC;AAEpE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBjB,CAAC;AAEJ,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACtC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAI9C,eAAO,MAAM,eAAe;;;;;;EAK1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,IAAa,CAAC"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/schema/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,IAAI,4BAKd,CAAC;AAEJ,eAAO,MAAM,MAAM,gDAKhB,CAAC;AAKJ,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;EAyBkE,CAAC;AAExF,eAAO,MAAM,WAAW,gFAIrB,CAAC;AAEJ,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMsC,CAAC;AAE3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAwB1B,CAAC;AAEJ,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAemD,CAAC;AAEpE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajB,CAAC;AAEJ,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACxC,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAChD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACtD,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AACtC,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,CAAC;AAI9C,eAAO,MAAM,sBAAsB;;;;;;EASxB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASzB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;;;;EAKzB,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB,IAAa,CAAC"}
@@ -26,6 +26,9 @@ export const SetRow = z
26
26
  .array(Cell)
27
27
  .length(WEEK_COUNT)
28
28
  .describe("One set's prescription across all 6 weeks of the program, in week order.");
29
+ // All object schemas are .strict(): unknown keys are rejected, not silently
30
+ // stripped, so agents authoring against a stale contract (e.g. the removed
31
+ // weekDates field) fail loudly at the tool boundary.
29
32
  export const Exercise = z
30
33
  .object({
31
34
  name: z
@@ -46,6 +49,7 @@ export const Exercise = z
46
49
  .min(1)
47
50
  .describe("2-D matrix of prescriptions: sets[setIdx][weekIdx]. Outer length = number of sets for this exercise (typically 3); each inner array is length 6 (weeks 1-6). Set positions are coherent across weeks — sets[0] is set 1's progression across the 6 weeks."),
48
51
  })
52
+ .strict()
49
53
  .describe("One exercise in a training day, with its 6-week set-by-set prescription.");
50
54
  export const SectionKind = z
51
55
  .enum(["warmup", "main", "sportSpecific", "supplemental", "conditioning"])
@@ -55,6 +59,7 @@ export const Section = z
55
59
  kind: SectionKind,
56
60
  exercises: z.array(Exercise),
57
61
  })
62
+ .strict()
58
63
  .describe("An ordered group of exercises within a day.");
59
64
  export const SupplementalNote = z
60
65
  .object({
@@ -71,6 +76,7 @@ export const SupplementalNote = z
71
76
  .string()
72
77
  .describe('A complete freeform phrase as the trainer would write it — e.g. "Rower 600M x 2", "Optional Cardio / Post Stretch", "200 Yard Shuttle". The supplemental area is NOT a structured per-week grid: do not split a single instruction into a label cell plus per-week metric cells. To make a phrase span the row visually, emit the same `value` in each week-column entry (D, F, H, J, L, N) of that row.'),
73
78
  })
79
+ .strict()
74
80
  .describe("One freeform cell captured from (or written to) the trainer-managed Sport Specific / Supplemental area at the bottom of a day sheet. Each note is an independent (row, col, value) write; the convention is one full phrase per row, repeated across the week-column masters.");
75
81
  export const Day = z
76
82
  .object({
@@ -84,6 +90,7 @@ export const Day = z
84
90
  .optional()
85
91
  .describe("Freeform notes the trainer wrote in the Sport Specific / Supplemental area at the bottom of the day. Sparse — only populated cells appear. The schema is intentionally loose because trainers use this area for athlete-specific instructions that don't fit the structured exercise table (e.g. conditioning circuits, sport-specific drills, recovery breath work)."),
86
92
  })
93
+ .strict()
87
94
  .describe("One training day = one sheet in the output workbook.");
88
95
  export const Program = z
89
96
  .object({
@@ -91,37 +98,41 @@ export const Program = z
91
98
  programDate: z
92
99
  .string()
93
100
  .describe('Program identifier date as it appears in the filename, e.g. "4.26" for April 2026. Free-form to match Olympia conventions.'),
94
- weekDates: z
95
- .array(z.string().nullable())
96
- .length(WEEK_COUNT)
97
- .optional()
98
- .describe('Per-week date labels (the "Date:" header row in each sheet). 6 entries, one per week, or null where empty.'),
99
101
  days: z.array(Day).min(1),
100
102
  })
101
- .describe("A complete Olympia training program. Maps 1:1 to one client XLSX workbook.");
103
+ .strict()
104
+ .describe('A complete Olympia training program. Maps 1:1 to one client XLSX workbook. The "Date:" cells in each sheet\'s header row are intentionally left blank — clients hand-write the week dates. A program is usually accompanied by a companion warm-up workbook for the same client and date, paired day-for-day.');
102
105
  // --- Tool input/output schemas ---
103
- export const XlsxToJsonInput = z.object({
106
+ export const ProgramXlsxToJsonInput = z
107
+ .object({
104
108
  xlsxPath: z
105
109
  .string()
106
110
  .min(1)
107
- .describe("Absolute path to an Olympia .xlsx file on the local filesystem."),
108
- });
109
- export const XlsxToJsonOutput = z.object({
111
+ .describe("Absolute path to an Olympia program .xlsx file on the local filesystem."),
112
+ })
113
+ .strict();
114
+ export const ProgramXlsxToJsonOutput = z
115
+ .object({
110
116
  program: Program,
111
117
  warnings: z
112
118
  .array(z.string())
113
119
  .describe("Structural surprises encountered while parsing (e.g. unexpected section labels, exercises without group labels where one was expected). Empty if the file parsed cleanly."),
114
- });
115
- export const JsonToXlsxInput = z.object({
120
+ })
121
+ .strict();
122
+ export const ProgramJsonToXlsxInput = z
123
+ .object({
116
124
  program: Program,
117
125
  outputPath: z
118
126
  .string()
119
127
  .min(1)
120
128
  .describe("Absolute path where the generated .xlsx file should be written. Parent directory must exist."),
121
- });
122
- export const JsonToXlsxOutput = z.object({
129
+ })
130
+ .strict();
131
+ export const ProgramJsonToXlsxOutput = z
132
+ .object({
123
133
  outputPath: z.string(),
124
134
  bytesWritten: z.number().int().nonnegative(),
125
- });
135
+ })
136
+ .strict();
126
137
  export const WEEK_COUNT_CONST = WEEK_COUNT;
127
138
  //# sourceMappingURL=program.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/schema/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/schema/program.ts"],"names":[],"mappings":"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"}