@bitcobblers/wod-wiki-tools 0.53.2203 → 0.54.2205
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agentCommands-AMMASJPH.mjs +586 -0
- package/dist/agentCommands-AMMASJPH.mjs.map +1 -0
- package/dist/bin/wod.cjs +1071 -29
- package/dist/bin/wod.cjs.map +1 -1
- package/dist/bin/wod.mjs +2 -2
- package/dist/{chunk-LNBKPHEP.mjs → chunk-AS6OJRNH.mjs} +9 -4
- package/dist/chunk-AS6OJRNH.mjs.map +1 -0
- package/dist/{chunk-LWW4HK4G.mjs → chunk-KXNK4PIB.mjs} +168 -28
- package/dist/chunk-KXNK4PIB.mjs.map +1 -0
- package/dist/{chunk-ES4ZZ447.mjs → chunk-T7VB7PPO.mjs} +3 -3
- package/dist/chunk-T7VB7PPO.mjs.map +1 -0
- package/dist/{chunk-2EWCEE6N.mjs → chunk-WLCUM7KO.mjs} +106 -6
- package/dist/chunk-WLCUM7KO.mjs.map +1 -0
- package/dist/chunk-ZZVL6UGV.mjs +144 -0
- package/dist/chunk-ZZVL6UGV.mjs.map +1 -0
- package/dist/index.cjs +1075 -29
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +68 -3
- package/dist/index.d.ts +68 -3
- package/dist/index.mjs +5 -4
- package/dist/mcp-D6QARYOG.mjs +73 -0
- package/dist/mcp-D6QARYOG.mjs.map +1 -0
- package/dist/{scaffoldFeed-OS5HGYG4.mjs → scaffoldFeed-D55NINVJ.mjs} +3 -3
- package/dist/{scaffoldFeed-OS5HGYG4.mjs.map → scaffoldFeed-D55NINVJ.mjs.map} +1 -1
- package/dist/server/app.cjs +239 -2
- package/dist/server/app.cjs.map +1 -1
- package/dist/server/app.d.cts +2 -0
- package/dist/server/app.d.ts +2 -0
- package/dist/server/app.mjs +3 -1
- package/dist/server-2GTVPJDA.mjs +13 -0
- package/dist/{server-SHNWCIIM.mjs.map → server-2GTVPJDA.mjs.map} +1 -1
- package/dist/skills/README.md +5 -4
- package/dist/skills/wod-agent-parity/SKILL.md +41 -0
- package/dist/skills/wod-cli/SKILL.md +127 -0
- package/dist/skills/wod-wiki-testing/SKILL.md +45 -0
- package/dist/skills/wod-wiki-testing/references/catalog.md +81 -0
- package/dist/skills/wod-wql/SKILL.md +63 -0
- package/dist/web/playground/ai-skills/agent-parity.md +41 -0
- package/dist/web/playground/ai-skills/cli.md +127 -0
- package/dist/web/playground/ai-skills/wql.md +63 -0
- package/dist/web/playground/assets/main-BH_SMMzT.css +2 -0
- package/dist/web/playground/assets/main-vYMBKnsB.js +1152 -0
- package/dist/web/playground/assets/{statementBuilderFlow-BHGR9gIs.js → statementBuilderFlow-D8GG8Y7r.js} +2 -2
- package/dist/web/playground/assets/vendor-BUlwHBNF.js +255 -0
- package/dist/web/playground/assets/{vendor-codemirror-B4BeZarI.js → vendor-codemirror-Bh6hyz5v.js} +11 -11
- package/dist/web/playground/index.html +4 -4
- package/dist/web/playground/llms-full.txt +1444 -0
- package/dist/web/playground/llms.txt +67 -0
- package/dist/web/{server/seed/core/chunks/canvas.28c523ac.json → playground/seed/core/chunks/canvas.b0bc465b.json} +1 -1
- package/dist/web/playground/seed/core/chunks/{dashboards.dc521d4e.json → dashboards.af9a29e4.json} +1 -1
- package/dist/web/playground/seed/core/chunks/{efforts.cc1d51a5.json → efforts.902271f9.json} +1 -1
- package/dist/web/playground/seed/core/chunks/{equipment.3c479de5.json → equipment.dbdc1af3.json} +1 -1
- package/dist/web/playground/seed/core/indexes/notebooks/canvas.json +180 -180
- package/dist/web/playground/seed/core/indexes/notebooks/dashboards.json +16 -16
- package/dist/web/playground/seed/core/indexes/notebooks/efforts.json +326 -326
- package/dist/web/playground/seed/core/indexes/notebooks/equipment.json +50 -50
- package/dist/web/playground/seed/core/manifest.json +27 -27
- package/dist/web/playground/seed/core/markdown/canvas/ai-first/README.json +1 -1
- package/dist/web/playground/seed/core/markdown/canvas/guide/README.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/guide/clock.json +1 -1
- package/dist/web/playground/seed/core/markdown/canvas/guide/dashboards.json +1 -1
- package/dist/web/playground/seed/core/markdown/canvas/guide/metrics-summaries.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/guide/metrics.json +12 -12
- package/dist/web/playground/seed/core/markdown/canvas/guide/protocols.json +20 -20
- package/dist/web/playground/seed/core/markdown/canvas/guide/sessions.json +33 -33
- package/dist/web/playground/seed/core/markdown/canvas/guide/start.json +11 -11
- package/dist/web/playground/seed/core/markdown/canvas/guide/structure.json +25 -25
- package/dist/web/playground/seed/core/markdown/canvas/guide/wql.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/home/sample-script.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/home/welcome-1.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-full-session.json +10 -10
- package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
- package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
- package/dist/web/playground/seed/core/markdown/canvas/syntax/complex-swimming.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-3.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
- package/dist/web/playground/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/document-1.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/document-2.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/document-3.json +10 -10
- package/dist/web/playground/seed/core/markdown/canvas/syntax/document-4.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/effort-notes.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/frontmatter-summaries.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/measurements.json +7 -7
- package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
- package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
- package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-4.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-sections.json +10 -10
- package/dist/web/playground/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
- package/dist/web/playground/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/named-groups.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
- package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-3.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
- package/dist/web/playground/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
- package/dist/web/playground/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
- package/dist/web/playground/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
- package/dist/web/playground/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
- package/dist/web/playground/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
- package/dist/web/playground/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
- package/dist/web/playground/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
- package/dist/web/playground/seed/core/markdown/dashboards/training-block-review.json +11 -11
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/recovery/rest.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/recovery/stretching.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/rowing/rowing.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/running/backward-running.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/running/running-sprint.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/snatch.json +2 -2
- package/dist/web/playground/seed/core/markdown/efforts/strength/back-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/bench-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/carioca.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/cluster.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/deadlift.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/devils-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/front-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/good-morning.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/l-sit.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/man-maker.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/power-clean.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/push-press.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/sled-push.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/thruster.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/swimming/swimming.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
- package/dist/web/playground/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/air-bike.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/barbell.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/bench.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/bike-erg.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/climbing-rope.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/clubs.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/dumbbell.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/ghd.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/jump-rope.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/kettlebell.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/macebell.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/medicine-ball.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/parallettes.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/plyo-box.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/pull-up-bar.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/rower.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/sandbag.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/ski-erg.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/slam-ball.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/sled.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/sledgehammer.json +1 -1
- package/dist/web/playground/seed/core/markdown/equipment/weight-vest.json +1 -1
- package/dist/web/playground/seed/core/report.html +13 -13
- package/dist/web/server/ai-skills/agent-parity.md +41 -0
- package/dist/web/server/ai-skills/cli.md +127 -0
- package/dist/web/server/ai-skills/wql.md +63 -0
- package/dist/web/server/assets/main-BH_SMMzT.css +2 -0
- package/dist/web/server/assets/main-D0W-D5YL.js +1152 -0
- package/dist/web/server/assets/{statementBuilderFlow-C7ob6Wnu.js → statementBuilderFlow-CtmmV_Yv.js} +2 -2
- package/dist/web/server/assets/vendor-BUlwHBNF.js +255 -0
- package/dist/web/server/assets/{vendor-codemirror-B4BeZarI.js → vendor-codemirror-Bh6hyz5v.js} +11 -11
- package/dist/web/server/index.html +4 -4
- package/dist/web/server/llms-full.txt +1444 -0
- package/dist/web/server/llms.txt +67 -0
- package/dist/web/{playground/seed/core/chunks/canvas.28c523ac.json → server/seed/core/chunks/canvas.b0bc465b.json} +1 -1
- package/dist/web/server/seed/core/chunks/{dashboards.dc521d4e.json → dashboards.af9a29e4.json} +1 -1
- package/dist/web/server/seed/core/chunks/{efforts.cc1d51a5.json → efforts.902271f9.json} +1 -1
- package/dist/web/server/seed/core/chunks/{equipment.3c479de5.json → equipment.dbdc1af3.json} +1 -1
- package/dist/web/server/seed/core/indexes/notebooks/canvas.json +180 -180
- package/dist/web/server/seed/core/indexes/notebooks/dashboards.json +16 -16
- package/dist/web/server/seed/core/indexes/notebooks/efforts.json +326 -326
- package/dist/web/server/seed/core/indexes/notebooks/equipment.json +50 -50
- package/dist/web/server/seed/core/manifest.json +27 -27
- package/dist/web/server/seed/core/markdown/canvas/ai-first/README.json +1 -1
- package/dist/web/server/seed/core/markdown/canvas/guide/README.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/guide/clock.json +1 -1
- package/dist/web/server/seed/core/markdown/canvas/guide/dashboards.json +1 -1
- package/dist/web/server/seed/core/markdown/canvas/guide/metrics-summaries.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/guide/metrics.json +12 -12
- package/dist/web/server/seed/core/markdown/canvas/guide/protocols.json +20 -20
- package/dist/web/server/seed/core/markdown/canvas/guide/sessions.json +33 -33
- package/dist/web/server/seed/core/markdown/canvas/guide/start.json +11 -11
- package/dist/web/server/seed/core/markdown/canvas/guide/structure.json +25 -25
- package/dist/web/server/seed/core/markdown/canvas/guide/wql.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/home/sample-script.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/home/welcome-1.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/syntax/actions-comments.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/alternating-emom.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/basic-emom.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/calculated-metrics.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/classic-amrap.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/complex-barbell-cycling.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/complex-full-session.json +10 -10
- package/dist/web/server/seed/core/markdown/canvas/syntax/complex-nested-protocols.json +7 -7
- package/dist/web/server/seed/core/markdown/canvas/syntax/complex-partner-workout.json +7 -7
- package/dist/web/server/seed/core/markdown/canvas/syntax/complex-swimming.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/core-rules.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-and-calculated-metrics.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-intervals.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-1.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-2.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-3.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-4.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/custom-metrics-5.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-bouldering.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-hangboard.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-climb-sport.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-log.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-plan.json +8 -8
- package/dist/web/server/seed/core/markdown/canvas/syntax/dialect-wod.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/distance-intervals.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/document-1.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/document-2.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/document-3.json +10 -10
- package/dist/web/server/seed/core/markdown/canvas/syntax/document-4.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/effort-notes.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/frontmatter-summaries.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/groups-1.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/groups-2.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/groups-3.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/groups-4.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/longer-duration.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/longer-intervals.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/measurements.json +7 -7
- package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-1.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-2.json +7 -7
- package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-3.json +8 -8
- package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-4.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/metrics-5.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-sections.json +10 -10
- package/dist/web/server/seed/core/markdown/canvas/syntax/mixed-timers.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-amrap-windows.json +7 -7
- package/dist/web/server/seed/core/markdown/canvas/syntax/multiple-sets.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/named-groups.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-1.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-2.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-3.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-4.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/protocols-5.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/single-movement.json +3 -3
- package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-1.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-2.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-3.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/supplemental-4.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/time-cap.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/timer-modifiers.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-1.json +6 -6
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-2.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-3.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-4.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-5.json +5 -5
- package/dist/web/server/seed/core/markdown/canvas/syntax/timers-rest.json +4 -4
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-effort.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/aggregate-by-week.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/content-fran.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/filter-combos.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/pipes-limit.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/session-rpe.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/source-journal.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/tis-trend.json +2 -2
- package/dist/web/server/seed/core/markdown/canvas/wql-presets/where-join.json +2 -2
- package/dist/web/server/seed/core/markdown/dashboards/benchmark-pr-board.json +6 -6
- package/dist/web/server/seed/core/markdown/dashboards/finger-strength-v8.json +5 -5
- package/dist/web/server/seed/core/markdown/dashboards/polarized-base-marathon.json +9 -9
- package/dist/web/server/seed/core/markdown/dashboards/recovery-readiness.json +7 -7
- package/dist/web/server/seed/core/markdown/dashboards/road-to-560-total.json +9 -9
- package/dist/web/server/seed/core/markdown/dashboards/training-block-review.json +11 -11
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/air-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/box-jump.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/broad-jump.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-box-jump-over.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee-over-dumbbell.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/burpee.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/dumbbell-squat-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/ghd-sit-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/ground-kong.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/jumping-jack.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/kong-walk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/lunge.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/overhead-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-roll.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/parkour-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/pistol-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/plank.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-burpee.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/precision-jump.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/quadrupedal-movement.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/russian-twist.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/sit-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-hold.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/squat-snatch.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/tuck-jump.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-ball.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/bodyweight/wall-burpee.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/cycling/assault-bike.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-moderate.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/cycling/cycling-vigorous.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/assisted-pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/burpee-pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/chest-to-bar-pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/dip.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/double-under.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-hold.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-push-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/handstand-walk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/jump-rope.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/jumping-push-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/l-sit-pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/muscle-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/pull-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/push-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/reverse-wall-dip.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/rope-climb.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/gymnastics/toes-to-bar.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-arm-bar.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-around-the-world.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-bent-over-row.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-jerk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean-and-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-deadlift.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-floor-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-front-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-goblet-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-gorilla-row.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-halo.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-jerk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-overhead-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-snatch.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-swing.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/kettlebell-windmill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/kettlebell/turkish-get-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/recovery/rest.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/recovery/stretching.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/rowing/rowing-sprint.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/rowing/rowing.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/rowing/ski-erg.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/running/backward-running.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/running/running-6-mph.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/running/running-8-mph.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/running/running-sprint.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/snatch.json +2 -2
- package/dist/web/server/seed/core/markdown/efforts/strength/back-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/bench-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/box-step-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/carioca.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/clean-and-jerk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/cluster.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dead-hang.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/deadlift.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/devils-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-box-step-up.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-fly.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-row.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-snatch.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/dumbbell-thruster.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/elbows-to-knees.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/farmer-carry.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/frog-stand.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/front-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/good-morning.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/hanging-leg-raise.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/hollow-rock.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/knees-to-elbows.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/l-sit.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/man-maker.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/medicine-ball-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/overhead-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/parkour-vault.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/pig-flip.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/power-clean.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/power-snatch.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/push-jerk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/push-press.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/romanian-deadlift.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/single-leg-deadlift.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/skull-crusher.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/slam-ball.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/sled-pull.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/sled-push.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/sumo-deadlift.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/thruster.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/triceps-extension.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/v-sit-hold.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/wall-walk.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/strength/yoga-sun-salutation.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-assisted-sprint.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-backstroke.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke-kick.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-breaststroke.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-butterfly.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-catch-up-drill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-choice-stroke.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dive-start.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-dolphin-kick.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-drafting.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-fingertip-drag.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-freestyle.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-individual-medley.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-kick.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-pull.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-resisted-sprint.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-rotation-drill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-sighting.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-single-arm-drill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-stroke-transition.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-two-kick-one-pull.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming-vigorous.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/swimming/swimming.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-arm-cast.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-circles.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-mill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-reverse-mill.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/clubbell-shield-cast.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-10-to-2-swing.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-360-swing.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-barbarian-squat.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-flow.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-gravedigger.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/macebell-touchdown.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-carry.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-bear-hug-extension.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/unconventional/sandbag-over-shoulder.json +1 -1
- package/dist/web/server/seed/core/markdown/efforts/walking/walking-3-mph.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/air-bike.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/barbell.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/bench.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/bike-erg.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/climbing-rope.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/clubs.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/dumbbell.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/ghd.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/gymnastic-rings.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/jump-rope.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/kettlebell.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/macebell.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/medicine-ball.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/parallettes.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/plyo-box.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/pull-up-bar.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/rower.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/sandbag.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/ski-erg.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/slam-ball.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/sled.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/sledgehammer.json +1 -1
- package/dist/web/server/seed/core/markdown/equipment/weight-vest.json +1 -1
- package/dist/web/server/seed/core/report.html +13 -13
- package/package.json +10 -8
- package/dist/chunk-2EWCEE6N.mjs.map +0 -1
- package/dist/chunk-ES4ZZ447.mjs.map +0 -1
- package/dist/chunk-LNBKPHEP.mjs.map +0 -1
- package/dist/chunk-LWW4HK4G.mjs.map +0 -1
- package/dist/server-SHNWCIIM.mjs +0 -11
- package/dist/web/playground/assets/main-BChtcigM.js +0 -1149
- package/dist/web/playground/assets/main-DGz9PHS_.css +0 -2
- package/dist/web/playground/assets/vendor-Dz-Azkoq.js +0 -198
- package/dist/web/server/assets/main-BT4Llg8k.js +0 -1149
- package/dist/web/server/assets/main-DGz9PHS_.css +0 -2
- package/dist/web/server/assets/vendor-Dz-Azkoq.js +0 -198
|
@@ -0,0 +1,1444 @@
|
|
|
1
|
+
# WOD Wiki — Complete Agent, Language & Tool Reference
|
|
2
|
+
|
|
3
|
+
> Tri-surface reference for Browser WebMCP (`navigator.modelContext`), HTTP/Stdio MCP (`/api/mcp` & `wod mcp`), and CLI (`wod --json`).
|
|
4
|
+
|
|
5
|
+
# Whiteboard Language Reference
|
|
6
|
+
|
|
7
|
+
Fence tags: ```time (optional sport suffix e.g. ```time:cardio, ```time:crossfit, ```time:climb) or ```log.
|
|
8
|
+
|
|
9
|
+
## Core Tokens & Metrics
|
|
10
|
+
- **Timestamps / Durations**: `20:00` (20 min countdown), `:30` (30 sec), `1:05:00` (1 hr 5 min).
|
|
11
|
+
- **Timers & Rounds**: `(21-15-9)` rep scheme, `5 Rounds`, `EMOM 10:00`, `Tabata`, `AMRAP 12:00`.
|
|
12
|
+
- **Reps & Resistance**: `21 Thrusters @95lb`, `5x5 Back Squat @80%`, `15 Kettlebell Swings @24kg`.
|
|
13
|
+
- **Distance**: `400m Run`, `2km Row`, `50ft Handstand Walk`.
|
|
14
|
+
- **Action Modifiers**: `[:Rest 1:00]`, `+Compose`.
|
|
15
|
+
- **Grouping / Indentation**: Indent child movements by 2 spaces beneath timer or round headers.
|
|
16
|
+
|
|
17
|
+
## Canonical Example
|
|
18
|
+
```time
|
|
19
|
+
# Fran
|
|
20
|
+
(21-15-9)
|
|
21
|
+
Thrusters @95lb
|
|
22
|
+
Pull-ups
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## WQL (Workout Query Language) Reference
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"families": [
|
|
32
|
+
"find",
|
|
33
|
+
"aggregate"
|
|
34
|
+
],
|
|
35
|
+
"aggregators": [
|
|
36
|
+
"sum",
|
|
37
|
+
"avg",
|
|
38
|
+
"min",
|
|
39
|
+
"max",
|
|
40
|
+
"count",
|
|
41
|
+
"last",
|
|
42
|
+
"delta"
|
|
43
|
+
],
|
|
44
|
+
"metricFamilies": [
|
|
45
|
+
"reps",
|
|
46
|
+
"distance",
|
|
47
|
+
"resistance",
|
|
48
|
+
"elapsed",
|
|
49
|
+
"power",
|
|
50
|
+
"pace"
|
|
51
|
+
],
|
|
52
|
+
"metricAggregates": [
|
|
53
|
+
"totalVolume",
|
|
54
|
+
"totalDistance",
|
|
55
|
+
"tis",
|
|
56
|
+
"sessionLoad"
|
|
57
|
+
],
|
|
58
|
+
"typedTagKeys": [
|
|
59
|
+
"domain",
|
|
60
|
+
"format",
|
|
61
|
+
"equipment",
|
|
62
|
+
"quality",
|
|
63
|
+
"intent"
|
|
64
|
+
],
|
|
65
|
+
"factTagKeys": [
|
|
66
|
+
"domain",
|
|
67
|
+
"format",
|
|
68
|
+
"equipment",
|
|
69
|
+
"quality",
|
|
70
|
+
"intent",
|
|
71
|
+
"effort",
|
|
72
|
+
"discipline",
|
|
73
|
+
"intensity",
|
|
74
|
+
"grade",
|
|
75
|
+
"note",
|
|
76
|
+
"page",
|
|
77
|
+
"origin",
|
|
78
|
+
"grain",
|
|
79
|
+
"metric",
|
|
80
|
+
"block",
|
|
81
|
+
"result",
|
|
82
|
+
"tags"
|
|
83
|
+
],
|
|
84
|
+
"virtualDimensions": [
|
|
85
|
+
"day",
|
|
86
|
+
"week",
|
|
87
|
+
"session",
|
|
88
|
+
"round"
|
|
89
|
+
],
|
|
90
|
+
"contentGroupingDimensions": [
|
|
91
|
+
"date",
|
|
92
|
+
"day",
|
|
93
|
+
"week",
|
|
94
|
+
"month",
|
|
95
|
+
"year",
|
|
96
|
+
"discipline",
|
|
97
|
+
"origin",
|
|
98
|
+
"source",
|
|
99
|
+
"notebook",
|
|
100
|
+
"kind",
|
|
101
|
+
"type",
|
|
102
|
+
"tag",
|
|
103
|
+
"feed"
|
|
104
|
+
],
|
|
105
|
+
"comparisonOperators": [
|
|
106
|
+
">",
|
|
107
|
+
">=",
|
|
108
|
+
"<",
|
|
109
|
+
"<=",
|
|
110
|
+
"==",
|
|
111
|
+
"!="
|
|
112
|
+
],
|
|
113
|
+
"filtersByFindTarget": {
|
|
114
|
+
"note": [
|
|
115
|
+
"text",
|
|
116
|
+
"notebook",
|
|
117
|
+
"tags",
|
|
118
|
+
"effort",
|
|
119
|
+
"domain",
|
|
120
|
+
"format",
|
|
121
|
+
"equipment",
|
|
122
|
+
"quality",
|
|
123
|
+
"intent",
|
|
124
|
+
"type",
|
|
125
|
+
"page",
|
|
126
|
+
"source",
|
|
127
|
+
"note",
|
|
128
|
+
"feed",
|
|
129
|
+
"subscribed"
|
|
130
|
+
],
|
|
131
|
+
"block": [
|
|
132
|
+
"text",
|
|
133
|
+
"notebook",
|
|
134
|
+
"tags",
|
|
135
|
+
"effort",
|
|
136
|
+
"type",
|
|
137
|
+
"source",
|
|
138
|
+
"note",
|
|
139
|
+
"feed",
|
|
140
|
+
"subscribed"
|
|
141
|
+
],
|
|
142
|
+
"effort": [
|
|
143
|
+
"effort",
|
|
144
|
+
"discipline",
|
|
145
|
+
"intensity",
|
|
146
|
+
"origin",
|
|
147
|
+
"text"
|
|
148
|
+
],
|
|
149
|
+
"session": [
|
|
150
|
+
"result",
|
|
151
|
+
"block",
|
|
152
|
+
"note",
|
|
153
|
+
"plane",
|
|
154
|
+
"domain",
|
|
155
|
+
"format",
|
|
156
|
+
"equipment",
|
|
157
|
+
"quality",
|
|
158
|
+
"intent",
|
|
159
|
+
"effort",
|
|
160
|
+
"discipline",
|
|
161
|
+
"intensity",
|
|
162
|
+
"grade",
|
|
163
|
+
"page",
|
|
164
|
+
"origin",
|
|
165
|
+
"grain",
|
|
166
|
+
"tags"
|
|
167
|
+
],
|
|
168
|
+
"segment": [
|
|
169
|
+
"domain",
|
|
170
|
+
"format",
|
|
171
|
+
"equipment",
|
|
172
|
+
"quality",
|
|
173
|
+
"intent",
|
|
174
|
+
"effort",
|
|
175
|
+
"discipline",
|
|
176
|
+
"intensity",
|
|
177
|
+
"grade",
|
|
178
|
+
"note",
|
|
179
|
+
"page",
|
|
180
|
+
"origin",
|
|
181
|
+
"grain",
|
|
182
|
+
"metric",
|
|
183
|
+
"block",
|
|
184
|
+
"result",
|
|
185
|
+
"tags"
|
|
186
|
+
],
|
|
187
|
+
"event": [
|
|
188
|
+
"domain",
|
|
189
|
+
"format",
|
|
190
|
+
"equipment",
|
|
191
|
+
"quality",
|
|
192
|
+
"intent",
|
|
193
|
+
"effort",
|
|
194
|
+
"discipline",
|
|
195
|
+
"intensity",
|
|
196
|
+
"grade",
|
|
197
|
+
"note",
|
|
198
|
+
"page",
|
|
199
|
+
"origin",
|
|
200
|
+
"grain",
|
|
201
|
+
"metric",
|
|
202
|
+
"block",
|
|
203
|
+
"result",
|
|
204
|
+
"tags"
|
|
205
|
+
],
|
|
206
|
+
"notebook": [
|
|
207
|
+
"text",
|
|
208
|
+
"notebook",
|
|
209
|
+
"tags",
|
|
210
|
+
"effort",
|
|
211
|
+
"domain",
|
|
212
|
+
"format",
|
|
213
|
+
"equipment",
|
|
214
|
+
"quality",
|
|
215
|
+
"intent",
|
|
216
|
+
"type",
|
|
217
|
+
"page",
|
|
218
|
+
"source",
|
|
219
|
+
"note",
|
|
220
|
+
"feed",
|
|
221
|
+
"subscribed"
|
|
222
|
+
],
|
|
223
|
+
"page": [
|
|
224
|
+
"page",
|
|
225
|
+
"notebook",
|
|
226
|
+
"text",
|
|
227
|
+
"note"
|
|
228
|
+
],
|
|
229
|
+
"tag": [
|
|
230
|
+
"tags",
|
|
231
|
+
"type",
|
|
232
|
+
"text",
|
|
233
|
+
"contributes"
|
|
234
|
+
],
|
|
235
|
+
"equipment": [
|
|
236
|
+
"equipment",
|
|
237
|
+
"tags",
|
|
238
|
+
"text",
|
|
239
|
+
"notebook"
|
|
240
|
+
],
|
|
241
|
+
"feed": [
|
|
242
|
+
"feed",
|
|
243
|
+
"tags",
|
|
244
|
+
"text",
|
|
245
|
+
"subscribed"
|
|
246
|
+
]
|
|
247
|
+
},
|
|
248
|
+
"examples": [
|
|
249
|
+
":note{tags:benchmark}",
|
|
250
|
+
":note{notebook:journal time:7d}",
|
|
251
|
+
":session{time:30d}",
|
|
252
|
+
":sum{metric:reps effort:thrusters time:90d} by {week}",
|
|
253
|
+
":effort{discipline:weightlifting}"
|
|
254
|
+
]
|
|
255
|
+
}
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
## Portable Domain Tools (22 tools — WebMCP + MCP Server + CLI)
|
|
261
|
+
|
|
262
|
+
### `wod_parse_script` (Tier 0 — script)
|
|
263
|
+
- **Title**: Parse Whiteboard Script
|
|
264
|
+
- **Description**: Validate Whiteboard Script syntax, inspect parsed statements, typed metrics, unresolved choices, and collectible `?` placeholders. Defaults to dry-run (`save: false`); pass `save: true` to persist as a Note.
|
|
265
|
+
- **CLI Equivalent**: `wod parse - --no-save --json`
|
|
266
|
+
- **Input Schema**:
|
|
267
|
+
```json
|
|
268
|
+
{
|
|
269
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
270
|
+
"type": "object",
|
|
271
|
+
"properties": {
|
|
272
|
+
"source": {
|
|
273
|
+
"type": "string",
|
|
274
|
+
"minLength": 1,
|
|
275
|
+
"description": "Whiteboard Script body OR full Markdown document containing ```time / ```wod blocks."
|
|
276
|
+
},
|
|
277
|
+
"sport": {
|
|
278
|
+
"description": "Optional sport fence dialect override (e.g. \"crossfit\", \"climbing\", \"running\").",
|
|
279
|
+
"type": "string"
|
|
280
|
+
},
|
|
281
|
+
"save": {
|
|
282
|
+
"description": "Default false (dry-run syntax & metric inspection). Set true to persist as a Note.",
|
|
283
|
+
"type": "boolean"
|
|
284
|
+
},
|
|
285
|
+
"noteId": {
|
|
286
|
+
"description": "Optional target Note ID when save=true.",
|
|
287
|
+
"type": "string"
|
|
288
|
+
},
|
|
289
|
+
"title": {
|
|
290
|
+
"description": "Optional Note title when save=true.",
|
|
291
|
+
"type": "string"
|
|
292
|
+
},
|
|
293
|
+
"notebookId": {
|
|
294
|
+
"description": "Optional user Notebook slug/ID when save=true.",
|
|
295
|
+
"type": "string"
|
|
296
|
+
}
|
|
297
|
+
},
|
|
298
|
+
"required": [
|
|
299
|
+
"source"
|
|
300
|
+
],
|
|
301
|
+
"additionalProperties": false
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### `wod_query_wql` (Tier 0 — wql)
|
|
306
|
+
- **Title**: Execute WQL Query
|
|
307
|
+
- **Description**: Run any WQL find (`:note`, `:session`, `:effort`, `:equipment`, `:tag`, `:feed`, `:block`), aggregate (`sum:volume`, `max:weight`, `count:sessions`), or pipeline query against the active WOD Wiki storage.
|
|
308
|
+
- **CLI Equivalent**: `wod query '<wql>' --format json`
|
|
309
|
+
- **Input Schema**:
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
313
|
+
"type": "object",
|
|
314
|
+
"properties": {
|
|
315
|
+
"query": {
|
|
316
|
+
"type": "string",
|
|
317
|
+
"minLength": 1,
|
|
318
|
+
"description": "WQL query expression (e.g. \":note{notebook:journal}\", \":session last 30d\", \"sum:volume by {week}\")."
|
|
319
|
+
},
|
|
320
|
+
"preferredUnit": {
|
|
321
|
+
"description": "Optional display unit conversion preference (e.g. \"lb\", \"kg\", \"m\", \"mi\").",
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
"limit": {
|
|
325
|
+
"description": "Maximum rows/items to return in the response payload (default 100).",
|
|
326
|
+
"type": "integer",
|
|
327
|
+
"minimum": 1,
|
|
328
|
+
"maximum": 500
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"required": [
|
|
332
|
+
"query"
|
|
333
|
+
],
|
|
334
|
+
"additionalProperties": false
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
### `wod_validate_wql` (Tier 0 — wql)
|
|
339
|
+
- **Title**: Validate & Inspect WQL Query
|
|
340
|
+
- **Description**: Parse a WQL string without executing it. Returns syntax validity, query family (find, aggregate, pipeline), normalized WQL string, and the allowed filter keys and `by {}` grouping dimensions for that plane.
|
|
341
|
+
- **CLI Equivalent**: `wod query "<wql>" --format json`
|
|
342
|
+
- **Input Schema**:
|
|
343
|
+
```json
|
|
344
|
+
{
|
|
345
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
346
|
+
"type": "object",
|
|
347
|
+
"properties": {
|
|
348
|
+
"query": {
|
|
349
|
+
"type": "string",
|
|
350
|
+
"description": "WQL query string to validate and inspect (e.g. \":note{notebook:journal} last 7d\" or \"sum:volume by {effort}\")."
|
|
351
|
+
},
|
|
352
|
+
"targetHint": {
|
|
353
|
+
"description": "Optional target plane to list valid filter keys & grouping dimensions for (note, session, effort, equipment, tag, feed, block, event).",
|
|
354
|
+
"type": "string"
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
"required": [
|
|
358
|
+
"query"
|
|
359
|
+
],
|
|
360
|
+
"additionalProperties": false
|
|
361
|
+
}
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### `wod_note_list` (Tier 0 — note)
|
|
365
|
+
- **Title**: List Notes
|
|
366
|
+
- **Description**: List workout and reference Notes with optional filtering by Notebook, search query, tag, and origin.
|
|
367
|
+
- **CLI Equivalent**: `wod note list --json`
|
|
368
|
+
- **Input Schema**:
|
|
369
|
+
```json
|
|
370
|
+
{
|
|
371
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
372
|
+
"type": "object",
|
|
373
|
+
"properties": {
|
|
374
|
+
"notebookId": {
|
|
375
|
+
"description": "Filter by notebook ID or slug (e.g. \"journal\", \"custom\", \"guides\", \"notebook/strength\").",
|
|
376
|
+
"type": "string"
|
|
377
|
+
},
|
|
378
|
+
"search": {
|
|
379
|
+
"description": "Case-insensitive substring filter over title and Markdown content.",
|
|
380
|
+
"type": "string"
|
|
381
|
+
},
|
|
382
|
+
"tag": {
|
|
383
|
+
"description": "Filter to Notes carrying this tag label.",
|
|
384
|
+
"type": "string"
|
|
385
|
+
},
|
|
386
|
+
"includeSeed": {
|
|
387
|
+
"description": "Include read-only Seed/Feed notes (default true when notebookId is specified, false otherwise).",
|
|
388
|
+
"type": "boolean"
|
|
389
|
+
},
|
|
390
|
+
"limit": {
|
|
391
|
+
"description": "Max notes to return (default 50).",
|
|
392
|
+
"type": "integer",
|
|
393
|
+
"minimum": 1,
|
|
394
|
+
"maximum": 200
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
"additionalProperties": false
|
|
398
|
+
}
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### `wod_note_get` (Tier 0 — note)
|
|
402
|
+
- **Title**: Get Note Details
|
|
403
|
+
- **Description**: Read a full Note by ID including authored Markdown, `sourceRevision`, parsed workout blocks, attached Session count, upstream provenance, and publication visibility.
|
|
404
|
+
- **CLI Equivalent**: `wod note get <noteId> --json`
|
|
405
|
+
- **Input Schema**:
|
|
406
|
+
```json
|
|
407
|
+
{
|
|
408
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
409
|
+
"type": "object",
|
|
410
|
+
"properties": {
|
|
411
|
+
"noteId": {
|
|
412
|
+
"type": "string",
|
|
413
|
+
"minLength": 1,
|
|
414
|
+
"description": "Unique Note ID (UUID or seed route ID)."
|
|
415
|
+
}
|
|
416
|
+
},
|
|
417
|
+
"required": [
|
|
418
|
+
"noteId"
|
|
419
|
+
],
|
|
420
|
+
"additionalProperties": false
|
|
421
|
+
}
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### `wod_note_upsert` (Tier 1 — note)
|
|
425
|
+
- **Title**: Create or Update Note
|
|
426
|
+
- **Description**: Create a new workout/reference Note or update an existing editable Note with full block-revision pinning, effort/equipment indexing, and optimistic concurrency (`expectedSourceRevision`).
|
|
427
|
+
- **CLI Equivalent**: `wod note save <file|-> --json`
|
|
428
|
+
- **Input Schema**:
|
|
429
|
+
```json
|
|
430
|
+
{
|
|
431
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
432
|
+
"type": "object",
|
|
433
|
+
"properties": {
|
|
434
|
+
"noteId": {
|
|
435
|
+
"description": "Existing Note ID to update, or omit to create a new Note.",
|
|
436
|
+
"type": "string"
|
|
437
|
+
},
|
|
438
|
+
"title": {
|
|
439
|
+
"description": "Note title (defaults to # H1 heading in content).",
|
|
440
|
+
"type": "string"
|
|
441
|
+
},
|
|
442
|
+
"content": {
|
|
443
|
+
"type": "string",
|
|
444
|
+
"minLength": 1,
|
|
445
|
+
"description": "Full Markdown document or Whiteboard Script body."
|
|
446
|
+
},
|
|
447
|
+
"sport": {
|
|
448
|
+
"description": "Optional sport fence tag when passing bare Whiteboard Script.",
|
|
449
|
+
"type": "string"
|
|
450
|
+
},
|
|
451
|
+
"expectedSourceRevision": {
|
|
452
|
+
"description": "Optimistic concurrency guard: pass the current sourceRevision from wod_note_get when updating.",
|
|
453
|
+
"type": "integer",
|
|
454
|
+
"minimum": 0,
|
|
455
|
+
"maximum": 9007199254740991
|
|
456
|
+
},
|
|
457
|
+
"notebookId": {
|
|
458
|
+
"description": "Optional user Notebook ID/slug to link this Note into (always stays anchored in notebook/journal).",
|
|
459
|
+
"type": "string"
|
|
460
|
+
},
|
|
461
|
+
"journalDate": {
|
|
462
|
+
"description": "Optional YYYY-MM-DD or \"today\" to place the Note on that Journal calendar day.",
|
|
463
|
+
"type": "string"
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
"required": [
|
|
467
|
+
"content"
|
|
468
|
+
],
|
|
469
|
+
"additionalProperties": false
|
|
470
|
+
}
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
### `wod_note_clone` (Tier 1 — note)
|
|
474
|
+
- **Title**: Clone Note with Provenance
|
|
475
|
+
- **Description**: Clone any Note (especially read-only Seed or Feed workouts) into a writable user Notebook or Journal day while recording structured upstream `NoteProvenance`.
|
|
476
|
+
- **CLI Equivalent**: `wod note clone <sourceNoteId> --notebook <slug> --json`
|
|
477
|
+
- **Input Schema**:
|
|
478
|
+
```json
|
|
479
|
+
{
|
|
480
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
481
|
+
"type": "object",
|
|
482
|
+
"properties": {
|
|
483
|
+
"sourceNoteId": {
|
|
484
|
+
"type": "string",
|
|
485
|
+
"minLength": 1,
|
|
486
|
+
"description": "Source Note ID (including read-only Seed/Feed Notes) to clone."
|
|
487
|
+
},
|
|
488
|
+
"targetNotebookId": {
|
|
489
|
+
"description": "Target writable user Notebook ID/slug (defaults to \"notebook/journal\").",
|
|
490
|
+
"type": "string"
|
|
491
|
+
},
|
|
492
|
+
"title": {
|
|
493
|
+
"description": "Optional title override for the cloned Note.",
|
|
494
|
+
"type": "string"
|
|
495
|
+
},
|
|
496
|
+
"journalDate": {
|
|
497
|
+
"description": "Optional YYYY-MM-DD or \"today\" to pin the clone onto a Journal day.",
|
|
498
|
+
"type": "string"
|
|
499
|
+
}
|
|
500
|
+
},
|
|
501
|
+
"required": [
|
|
502
|
+
"sourceNoteId"
|
|
503
|
+
],
|
|
504
|
+
"additionalProperties": false
|
|
505
|
+
}
|
|
506
|
+
```
|
|
507
|
+
|
|
508
|
+
### `wod_note_delete` (Tier 2 — note)
|
|
509
|
+
- **Title**: Delete Note
|
|
510
|
+
- **Description**: Permanently delete a Note and detach its projections, tag links, and calendar placements (Tier 2 destructive — requires user confirmation or matching confirmId).
|
|
511
|
+
- **CLI Equivalent**: `wod note delete <noteId> --yes <noteId> --json`
|
|
512
|
+
- **Input Schema**:
|
|
513
|
+
```json
|
|
514
|
+
{
|
|
515
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
516
|
+
"type": "object",
|
|
517
|
+
"properties": {
|
|
518
|
+
"noteId": {
|
|
519
|
+
"type": "string",
|
|
520
|
+
"minLength": 1,
|
|
521
|
+
"description": "ID of the Note to delete."
|
|
522
|
+
},
|
|
523
|
+
"confirmId": {
|
|
524
|
+
"description": "For non-interactive MCP/CLI calls, repeat the exact noteId to confirm deletion.",
|
|
525
|
+
"type": "string"
|
|
526
|
+
}
|
|
527
|
+
},
|
|
528
|
+
"required": [
|
|
529
|
+
"noteId"
|
|
530
|
+
],
|
|
531
|
+
"additionalProperties": false
|
|
532
|
+
}
|
|
533
|
+
```
|
|
534
|
+
|
|
535
|
+
### `wod_journal_day` (Tier 0 — journal)
|
|
536
|
+
- **Title**: Get Journal Day
|
|
537
|
+
- **Description**: Fetch all scheduled/authored workout Notes and recorded Sessions for a specific Journal calendar day (`YYYY-MM-DD` or `today`).
|
|
538
|
+
- **CLI Equivalent**: `wod journal [today|YYYY-MM-DD] --json`
|
|
539
|
+
- **Input Schema**:
|
|
540
|
+
```json
|
|
541
|
+
{
|
|
542
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
543
|
+
"type": "object",
|
|
544
|
+
"properties": {
|
|
545
|
+
"date": {
|
|
546
|
+
"description": "Calendar date in YYYY-MM-DD format, or \"today\" (defaults to \"today\").",
|
|
547
|
+
"type": "string"
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
"additionalProperties": false
|
|
551
|
+
}
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
### `wod_journal_add` (Tier 1 — journal)
|
|
555
|
+
- **Title**: Add Workout to Journal Day
|
|
556
|
+
- **Description**: Create a new workout Note in `notebook/journal` and place it onto the specified calendar day (`YYYY-MM-DD` or `today`).
|
|
557
|
+
- **CLI Equivalent**: `wod journal add <file|-> --date YYYY-MM-DD --json`
|
|
558
|
+
- **Input Schema**:
|
|
559
|
+
```json
|
|
560
|
+
{
|
|
561
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
562
|
+
"type": "object",
|
|
563
|
+
"properties": {
|
|
564
|
+
"date": {
|
|
565
|
+
"description": "Target Journal date in YYYY-MM-DD format or \"today\" (defaults to \"today\").",
|
|
566
|
+
"type": "string"
|
|
567
|
+
},
|
|
568
|
+
"title": {
|
|
569
|
+
"description": "Workout title (defaults to # H1 heading or date).",
|
|
570
|
+
"type": "string"
|
|
571
|
+
},
|
|
572
|
+
"content": {
|
|
573
|
+
"type": "string",
|
|
574
|
+
"minLength": 1,
|
|
575
|
+
"description": "Markdown workout note or bare Whiteboard Script to schedule onto the Journal day."
|
|
576
|
+
},
|
|
577
|
+
"sport": {
|
|
578
|
+
"description": "Optional sport fence tag when passing bare Whiteboard Script.",
|
|
579
|
+
"type": "string"
|
|
580
|
+
},
|
|
581
|
+
"notebookId": {
|
|
582
|
+
"description": "Optional additional user Notebook to promote this Journal Note into.",
|
|
583
|
+
"type": "string"
|
|
584
|
+
}
|
|
585
|
+
},
|
|
586
|
+
"required": [
|
|
587
|
+
"content"
|
|
588
|
+
],
|
|
589
|
+
"additionalProperties": false
|
|
590
|
+
}
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
### `wod_notebook_list` (Tier 0 — notebook)
|
|
594
|
+
- **Title**: List Notebooks
|
|
595
|
+
- **Description**: List built-in, user-created, and feed-subscribed Notebooks along with member Note counts and publication status.
|
|
596
|
+
- **CLI Equivalent**: `wod notebook list --json`
|
|
597
|
+
- **Input Schema**:
|
|
598
|
+
```json
|
|
599
|
+
{
|
|
600
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
601
|
+
"type": "object",
|
|
602
|
+
"properties": {
|
|
603
|
+
"origin": {
|
|
604
|
+
"description": "Filter notebooks by origin (default \"all\").",
|
|
605
|
+
"type": "string",
|
|
606
|
+
"enum": [
|
|
607
|
+
"all",
|
|
608
|
+
"default",
|
|
609
|
+
"user",
|
|
610
|
+
"feed"
|
|
611
|
+
]
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
"additionalProperties": false
|
|
615
|
+
}
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
### `wod_notebook_save` (Tier 1 — notebook)
|
|
619
|
+
- **Title**: Create, Update, or Promote Notebook
|
|
620
|
+
- **Description**: Create or update a user-owned Notebook, promote/detach a Note across Notebooks (`notebook/journal` permanence preserved), or toggle Notebook publication visibility.
|
|
621
|
+
- **CLI Equivalent**: `wod notebook <create|update|promote> --json`
|
|
622
|
+
- **Input Schema**:
|
|
623
|
+
```json
|
|
624
|
+
{
|
|
625
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
626
|
+
"type": "object",
|
|
627
|
+
"properties": {
|
|
628
|
+
"action": {
|
|
629
|
+
"type": "string",
|
|
630
|
+
"enum": [
|
|
631
|
+
"create",
|
|
632
|
+
"update",
|
|
633
|
+
"promote",
|
|
634
|
+
"detach",
|
|
635
|
+
"set-public"
|
|
636
|
+
],
|
|
637
|
+
"description": "Operation to perform on a user Notebook."
|
|
638
|
+
},
|
|
639
|
+
"notebookId": {
|
|
640
|
+
"description": "Target Notebook slug or ID (required for update, promote, detach, set-public).",
|
|
641
|
+
"type": "string"
|
|
642
|
+
},
|
|
643
|
+
"name": {
|
|
644
|
+
"description": "Display name when creating or renaming a Notebook.",
|
|
645
|
+
"type": "string"
|
|
646
|
+
},
|
|
647
|
+
"description": {
|
|
648
|
+
"description": "Notebook description.",
|
|
649
|
+
"type": "string"
|
|
650
|
+
},
|
|
651
|
+
"icon": {
|
|
652
|
+
"description": "Notebook icon/emoji.",
|
|
653
|
+
"type": "string"
|
|
654
|
+
},
|
|
655
|
+
"noteId": {
|
|
656
|
+
"description": "Note ID to promote into or detach from the Notebook.",
|
|
657
|
+
"type": "string"
|
|
658
|
+
},
|
|
659
|
+
"sessionIds": {
|
|
660
|
+
"description": "Optional Session IDs on `noteId` to promote alongside the Note.",
|
|
661
|
+
"type": "array",
|
|
662
|
+
"items": {
|
|
663
|
+
"type": "string"
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
"public": {
|
|
667
|
+
"description": "Visibility flag when action=\"set-public\" or promoting sessions.",
|
|
668
|
+
"type": "boolean"
|
|
669
|
+
}
|
|
670
|
+
},
|
|
671
|
+
"required": [
|
|
672
|
+
"action"
|
|
673
|
+
],
|
|
674
|
+
"additionalProperties": false
|
|
675
|
+
}
|
|
676
|
+
```
|
|
677
|
+
|
|
678
|
+
### `wod_notebook_delete` (Tier 2 — notebook)
|
|
679
|
+
- **Title**: Delete User Notebook
|
|
680
|
+
- **Description**: Delete a user-created Notebook landing note and detach member links while keeping all member Notes safely in `notebook/journal` (Tier 2 destructive).
|
|
681
|
+
- **CLI Equivalent**: `wod notebook delete <slug> --yes <slug> --json`
|
|
682
|
+
- **Input Schema**:
|
|
683
|
+
```json
|
|
684
|
+
{
|
|
685
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
686
|
+
"type": "object",
|
|
687
|
+
"properties": {
|
|
688
|
+
"notebookId": {
|
|
689
|
+
"type": "string",
|
|
690
|
+
"minLength": 1,
|
|
691
|
+
"description": "User Notebook ID or slug to delete (member Notes stay safe in notebook/journal)."
|
|
692
|
+
},
|
|
693
|
+
"confirmId": {
|
|
694
|
+
"description": "For non-interactive MCP/CLI calls, repeat the exact notebookId or slug to confirm deletion.",
|
|
695
|
+
"type": "string"
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
"required": [
|
|
699
|
+
"notebookId"
|
|
700
|
+
],
|
|
701
|
+
"additionalProperties": false
|
|
702
|
+
}
|
|
703
|
+
```
|
|
704
|
+
|
|
705
|
+
### `wod_session_run_headless` (Tier 1 — session)
|
|
706
|
+
- **Title**: Run Workout Session Headlessly
|
|
707
|
+
- **Description**: Execute a workout block through the headless JIT compiler and runtime state machine, recording a pinned `Session` and derived `EventRecord`s in storage. Automatically clones read-only Seed/Feed Notes into `notebook/journal`.
|
|
708
|
+
- **CLI Equivalent**: `wod run <file|--note id> --json`
|
|
709
|
+
- **Input Schema**:
|
|
710
|
+
```json
|
|
711
|
+
{
|
|
712
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
713
|
+
"type": "object",
|
|
714
|
+
"properties": {
|
|
715
|
+
"noteId": {
|
|
716
|
+
"description": "Existing Note ID to execute (read-only Seed/Feed Notes are automatically cloned to notebook/journal).",
|
|
717
|
+
"type": "string"
|
|
718
|
+
},
|
|
719
|
+
"blockId": {
|
|
720
|
+
"description": "Optional workout block ID on `noteId` (defaults to first wod block).",
|
|
721
|
+
"type": "string"
|
|
722
|
+
},
|
|
723
|
+
"source": {
|
|
724
|
+
"description": "Inline Whiteboard Script or Markdown to persist & run when `noteId` is not supplied.",
|
|
725
|
+
"type": "string"
|
|
726
|
+
},
|
|
727
|
+
"title": {
|
|
728
|
+
"description": "Optional Note title when running inline `source`.",
|
|
729
|
+
"type": "string"
|
|
730
|
+
},
|
|
731
|
+
"sport": {
|
|
732
|
+
"description": "Optional sport dialect override.",
|
|
733
|
+
"type": "string"
|
|
734
|
+
},
|
|
735
|
+
"journalDate": {
|
|
736
|
+
"description": "Optional YYYY-MM-DD or \"today\" Journal calendar date.",
|
|
737
|
+
"type": "string"
|
|
738
|
+
},
|
|
739
|
+
"collectibles": {
|
|
740
|
+
"description": "Optional values for collectible `?` metrics (e.g. `{ \"lb\": 185, \"reps\": 12 }`).",
|
|
741
|
+
"type": "object",
|
|
742
|
+
"propertyNames": {
|
|
743
|
+
"type": "string"
|
|
744
|
+
},
|
|
745
|
+
"additionalProperties": {
|
|
746
|
+
"type": [
|
|
747
|
+
"string",
|
|
748
|
+
"number"
|
|
749
|
+
]
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
"stepAdvanceMs": {
|
|
753
|
+
"description": "Simulated clock advance per step in milliseconds (default 10000).",
|
|
754
|
+
"type": "integer",
|
|
755
|
+
"minimum": 100,
|
|
756
|
+
"maximum": 3600000
|
|
757
|
+
},
|
|
758
|
+
"maxSteps": {
|
|
759
|
+
"description": "Safety cap on execution steps (default 500).",
|
|
760
|
+
"type": "integer",
|
|
761
|
+
"minimum": 1,
|
|
762
|
+
"maximum": 5000
|
|
763
|
+
},
|
|
764
|
+
"public": {
|
|
765
|
+
"description": "Mark the recorded Session public for Feed publication.",
|
|
766
|
+
"type": "boolean"
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
"additionalProperties": false
|
|
770
|
+
}
|
|
771
|
+
```
|
|
772
|
+
|
|
773
|
+
### `wod_session_list` (Tier 0 — session)
|
|
774
|
+
- **Title**: List Recorded Sessions
|
|
775
|
+
- **Description**: List recorded workout Sessions ordered newest-first, optionally filtered by Note ID.
|
|
776
|
+
- **CLI Equivalent**: `wod session list --json`
|
|
777
|
+
- **Input Schema**:
|
|
778
|
+
```json
|
|
779
|
+
{
|
|
780
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
781
|
+
"type": "object",
|
|
782
|
+
"properties": {
|
|
783
|
+
"noteId": {
|
|
784
|
+
"description": "Filter Sessions by owning Note ID.",
|
|
785
|
+
"type": "string"
|
|
786
|
+
},
|
|
787
|
+
"completedOnly": {
|
|
788
|
+
"description": "Filter to completed Sessions only.",
|
|
789
|
+
"type": "boolean"
|
|
790
|
+
},
|
|
791
|
+
"limit": {
|
|
792
|
+
"description": "Max Sessions to return (default 50).",
|
|
793
|
+
"type": "integer",
|
|
794
|
+
"minimum": 1,
|
|
795
|
+
"maximum": 200
|
|
796
|
+
}
|
|
797
|
+
},
|
|
798
|
+
"additionalProperties": false
|
|
799
|
+
}
|
|
800
|
+
```
|
|
801
|
+
|
|
802
|
+
### `wod_session_get` (Tier 0 — session)
|
|
803
|
+
- **Title**: Get Session Telemetry
|
|
804
|
+
- **Description**: Read a recorded workout Session along with its pinned `BlockRevision` and derived event/summary telemetry rows.
|
|
805
|
+
- **CLI Equivalent**: `wod session get <sessionId> --json`
|
|
806
|
+
- **Input Schema**:
|
|
807
|
+
```json
|
|
808
|
+
{
|
|
809
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
810
|
+
"type": "object",
|
|
811
|
+
"properties": {
|
|
812
|
+
"sessionId": {
|
|
813
|
+
"type": "string",
|
|
814
|
+
"minLength": 1,
|
|
815
|
+
"description": "Session ID to inspect."
|
|
816
|
+
}
|
|
817
|
+
},
|
|
818
|
+
"required": [
|
|
819
|
+
"sessionId"
|
|
820
|
+
],
|
|
821
|
+
"additionalProperties": false
|
|
822
|
+
}
|
|
823
|
+
```
|
|
824
|
+
|
|
825
|
+
### `wod_session_delete` (Tier 2 — session)
|
|
826
|
+
- **Title**: Delete Recorded Session
|
|
827
|
+
- **Description**: Permanently delete a recorded workout Session and its telemetry events (Tier 2 destructive — requires confirmation).
|
|
828
|
+
- **CLI Equivalent**: `wod session delete <sessionId> --yes <sessionId> --json`
|
|
829
|
+
- **Input Schema**:
|
|
830
|
+
```json
|
|
831
|
+
{
|
|
832
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
833
|
+
"type": "object",
|
|
834
|
+
"properties": {
|
|
835
|
+
"sessionId": {
|
|
836
|
+
"type": "string",
|
|
837
|
+
"minLength": 1,
|
|
838
|
+
"description": "Session ID to delete."
|
|
839
|
+
},
|
|
840
|
+
"confirmId": {
|
|
841
|
+
"description": "For non-interactive MCP/CLI calls, repeat the exact sessionId to confirm deletion.",
|
|
842
|
+
"type": "string"
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
"required": [
|
|
846
|
+
"sessionId"
|
|
847
|
+
],
|
|
848
|
+
"additionalProperties": false
|
|
849
|
+
}
|
|
850
|
+
```
|
|
851
|
+
|
|
852
|
+
### `wod_catalog_lookup` (Tier 0 — catalog)
|
|
853
|
+
- **Title**: Lookup Efforts, Equipment & Tags
|
|
854
|
+
- **Description**: Search or inspect the Effort movement registry, Equipment catalog, Tags, and Tag Categories with Notebook-scoped override precedence (`notebook/defaults` -> Feed/Notebook -> `notebook/custom`).
|
|
855
|
+
- **CLI Equivalent**: `wod catalog <efforts|equipment|tags> --json`
|
|
856
|
+
- **Input Schema**:
|
|
857
|
+
```json
|
|
858
|
+
{
|
|
859
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
860
|
+
"type": "object",
|
|
861
|
+
"properties": {
|
|
862
|
+
"kind": {
|
|
863
|
+
"type": "string",
|
|
864
|
+
"enum": [
|
|
865
|
+
"effort",
|
|
866
|
+
"equipment",
|
|
867
|
+
"tag",
|
|
868
|
+
"tag-type"
|
|
869
|
+
],
|
|
870
|
+
"description": "Catalog family to search or inspect."
|
|
871
|
+
},
|
|
872
|
+
"search": {
|
|
873
|
+
"description": "Case-insensitive slug, label, or alias filter.",
|
|
874
|
+
"type": "string"
|
|
875
|
+
},
|
|
876
|
+
"slug": {
|
|
877
|
+
"description": "Exact canonical slug/name to look up.",
|
|
878
|
+
"type": "string"
|
|
879
|
+
},
|
|
880
|
+
"notebookId": {
|
|
881
|
+
"description": "Optional Notebook scope for property inheritance resolution.",
|
|
882
|
+
"type": "string"
|
|
883
|
+
},
|
|
884
|
+
"limit": {
|
|
885
|
+
"description": "Max entries to return (default 50).",
|
|
886
|
+
"type": "integer",
|
|
887
|
+
"minimum": 1,
|
|
888
|
+
"maximum": 250
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
"required": [
|
|
892
|
+
"kind"
|
|
893
|
+
],
|
|
894
|
+
"additionalProperties": false
|
|
895
|
+
}
|
|
896
|
+
```
|
|
897
|
+
|
|
898
|
+
### `wod_catalog_upsert` (Tier 1 — catalog)
|
|
899
|
+
- **Title**: Save Effort, Equipment, or Tag Property Note
|
|
900
|
+
- **Description**: Create or update a Scoped Property Override (`effort`, `equipment`, `tag`, or `tag-type`) in `notebook/custom` or a shared user Notebook.
|
|
901
|
+
- **CLI Equivalent**: `wod catalog save <kind> <file|-> --json`
|
|
902
|
+
- **Input Schema**:
|
|
903
|
+
```json
|
|
904
|
+
{
|
|
905
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
906
|
+
"type": "object",
|
|
907
|
+
"properties": {
|
|
908
|
+
"kind": {
|
|
909
|
+
"type": "string",
|
|
910
|
+
"enum": [
|
|
911
|
+
"effort",
|
|
912
|
+
"equipment",
|
|
913
|
+
"tag",
|
|
914
|
+
"tag-type"
|
|
915
|
+
],
|
|
916
|
+
"description": "Property definition family to create or override."
|
|
917
|
+
},
|
|
918
|
+
"slug": {
|
|
919
|
+
"type": "string",
|
|
920
|
+
"minLength": 1,
|
|
921
|
+
"description": "Canonical kebab-case slug (e.g. \"kettlebell-swing\", \"barbell\")."
|
|
922
|
+
},
|
|
923
|
+
"label": {
|
|
924
|
+
"description": "Human-readable display label.",
|
|
925
|
+
"type": "string"
|
|
926
|
+
},
|
|
927
|
+
"targetNotebookId": {
|
|
928
|
+
"description": "Target Notebook scope: defaults to \"notebook/custom\" (personal runtime) or a writable user Notebook.",
|
|
929
|
+
"type": "string"
|
|
930
|
+
},
|
|
931
|
+
"markdown": {
|
|
932
|
+
"description": "Full Property Note Markdown with YAML frontmatter. If omitted, synthesized from structured fields below.",
|
|
933
|
+
"type": "string"
|
|
934
|
+
},
|
|
935
|
+
"met": {
|
|
936
|
+
"description": "MET metabolic equivalent (for kind=\"effort\", default 5.0).",
|
|
937
|
+
"type": "number",
|
|
938
|
+
"exclusiveMinimum": 0
|
|
939
|
+
},
|
|
940
|
+
"aliases": {
|
|
941
|
+
"description": "Optional movement/equipment aliases.",
|
|
942
|
+
"type": "array",
|
|
943
|
+
"items": {
|
|
944
|
+
"type": "string"
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
"category": {
|
|
948
|
+
"description": "Tag category when kind=\"tag\" (e.g. \"equipment\", \"quality\", \"format\").",
|
|
949
|
+
"type": "string"
|
|
950
|
+
},
|
|
951
|
+
"color": {
|
|
952
|
+
"description": "Hex color when kind=\"tag-type\" (e.g. \"#10b981\").",
|
|
953
|
+
"type": "string"
|
|
954
|
+
}
|
|
955
|
+
},
|
|
956
|
+
"required": [
|
|
957
|
+
"kind",
|
|
958
|
+
"slug"
|
|
959
|
+
],
|
|
960
|
+
"additionalProperties": false
|
|
961
|
+
}
|
|
962
|
+
```
|
|
963
|
+
|
|
964
|
+
### `wod_feed_manage` (Tier 1 — feed)
|
|
965
|
+
- **Title**: Manage Feeds & Portability
|
|
966
|
+
- **Description**: Inspect installed Seed/Feed sources (`list`), check unpublished public Notebook changes (`status`), compile and publish public Notebooks (`publish`), or import portable Markdown + JSONL/CSV files (`import-bundle`).
|
|
967
|
+
- **CLI Equivalent**: `wod feed <list|status|publish> --json`
|
|
968
|
+
- **Input Schema**:
|
|
969
|
+
```json
|
|
970
|
+
{
|
|
971
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
972
|
+
"type": "object",
|
|
973
|
+
"properties": {
|
|
974
|
+
"action": {
|
|
975
|
+
"type": "string",
|
|
976
|
+
"enum": [
|
|
977
|
+
"list",
|
|
978
|
+
"status",
|
|
979
|
+
"publish",
|
|
980
|
+
"import-bundle"
|
|
981
|
+
],
|
|
982
|
+
"description": "Feed or portability operation to run."
|
|
983
|
+
},
|
|
984
|
+
"notebookSlug": {
|
|
985
|
+
"description": "Optional Notebook slug filter when publishing.",
|
|
986
|
+
"type": "string"
|
|
987
|
+
},
|
|
988
|
+
"name": {
|
|
989
|
+
"description": "Optional Feed display name when publishing.",
|
|
990
|
+
"type": "string"
|
|
991
|
+
},
|
|
992
|
+
"description": {
|
|
993
|
+
"description": "Optional Feed description when publishing.",
|
|
994
|
+
"type": "string"
|
|
995
|
+
},
|
|
996
|
+
"files": {
|
|
997
|
+
"description": "Portable `.md` / `.jsonl` / `.csv` files when action=\"import-bundle\".",
|
|
998
|
+
"type": "array",
|
|
999
|
+
"items": {
|
|
1000
|
+
"type": "object",
|
|
1001
|
+
"properties": {
|
|
1002
|
+
"path": {
|
|
1003
|
+
"type": "string",
|
|
1004
|
+
"minLength": 1
|
|
1005
|
+
},
|
|
1006
|
+
"content": {
|
|
1007
|
+
"type": "string"
|
|
1008
|
+
}
|
|
1009
|
+
},
|
|
1010
|
+
"required": [
|
|
1011
|
+
"path",
|
|
1012
|
+
"content"
|
|
1013
|
+
],
|
|
1014
|
+
"additionalProperties": false
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
},
|
|
1018
|
+
"required": [
|
|
1019
|
+
"action"
|
|
1020
|
+
],
|
|
1021
|
+
"additionalProperties": false
|
|
1022
|
+
}
|
|
1023
|
+
```
|
|
1024
|
+
|
|
1025
|
+
### `wod_export_bundle` (Tier 0 — feed)
|
|
1026
|
+
- **Title**: Export Portable Markdown & Telemetry Bundle
|
|
1027
|
+
- **Description**: Export user Notes and attached Session telemetry directly as structured `{ path, content }` strings (Markdown + JSONL/CSV) without triggering synthetic browser file downloads.
|
|
1028
|
+
- **CLI Equivalent**: `wod export note <id> -o -`
|
|
1029
|
+
- **Input Schema**:
|
|
1030
|
+
```json
|
|
1031
|
+
{
|
|
1032
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1033
|
+
"type": "object",
|
|
1034
|
+
"properties": {
|
|
1035
|
+
"noteIds": {
|
|
1036
|
+
"description": "Optional Note IDs to export (defaults to all user-owned Notes).",
|
|
1037
|
+
"type": "array",
|
|
1038
|
+
"items": {
|
|
1039
|
+
"type": "string"
|
|
1040
|
+
}
|
|
1041
|
+
},
|
|
1042
|
+
"telemetryFormat": {
|
|
1043
|
+
"description": "Format for companion Session/Event telemetry files (default \"jsonl\").",
|
|
1044
|
+
"type": "string",
|
|
1045
|
+
"enum": [
|
|
1046
|
+
"jsonl",
|
|
1047
|
+
"csv",
|
|
1048
|
+
"both"
|
|
1049
|
+
]
|
|
1050
|
+
}
|
|
1051
|
+
},
|
|
1052
|
+
"additionalProperties": false
|
|
1053
|
+
}
|
|
1054
|
+
```
|
|
1055
|
+
|
|
1056
|
+
### `wod_reset_storage` (Tier 2 — system)
|
|
1057
|
+
- **Title**: Wipe Storage Data
|
|
1058
|
+
- **Description**: Wipe user Notes, Sessions, Events, and Notebook data from the active storage backend (Tier 2 destructive — requires explicit user confirmation).
|
|
1059
|
+
- **CLI Equivalent**: `wod reset --yes WIPE_STORAGE --json`
|
|
1060
|
+
- **Input Schema**:
|
|
1061
|
+
```json
|
|
1062
|
+
{
|
|
1063
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1064
|
+
"type": "object",
|
|
1065
|
+
"properties": {
|
|
1066
|
+
"confirmToken": {
|
|
1067
|
+
"description": "For non-interactive MCP/CLI calls, pass confirmToken=\"WIPE_STORAGE\" to confirm wiping user storage.",
|
|
1068
|
+
"type": "string"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1071
|
+
"additionalProperties": false
|
|
1072
|
+
}
|
|
1073
|
+
```
|
|
1074
|
+
|
|
1075
|
+
---
|
|
1076
|
+
|
|
1077
|
+
## Live Browser UI Tools (9 tools — Playground WebMCP only)
|
|
1078
|
+
|
|
1079
|
+
### `ui_get_view_context` (Tier 0 — WebMCP UI)
|
|
1080
|
+
- **Title**: Get Active UI View Context
|
|
1081
|
+
- **Mount Scope**: always (Playground shell)
|
|
1082
|
+
- **Description**: Read the current browser route, hydration/loading state, unbatched stream results, active editor metadata, and live workout clock snapshot.
|
|
1083
|
+
- **Input Schema**:
|
|
1084
|
+
```json
|
|
1085
|
+
{
|
|
1086
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1087
|
+
"type": "object",
|
|
1088
|
+
"properties": {
|
|
1089
|
+
"includeSampleEntries": {
|
|
1090
|
+
"description": "Include up to 50 unbatched stream entries when on a stream route (default true).",
|
|
1091
|
+
"type": "boolean"
|
|
1092
|
+
}
|
|
1093
|
+
},
|
|
1094
|
+
"additionalProperties": false
|
|
1095
|
+
}
|
|
1096
|
+
```
|
|
1097
|
+
|
|
1098
|
+
### `ui_navigate` (Tier 1 — WebMCP UI)
|
|
1099
|
+
- **Title**: Navigate Playground Route
|
|
1100
|
+
- **Mount Scope**: always (Playground shell)
|
|
1101
|
+
- **Description**: Navigate the React Router SPA to any WOD Wiki route (`/journal`, `/day/:date`, `/note/:id`, `/notebooks`, `/dashboards`, `/run/:id?note=:noteId`) and wait for UI commit.
|
|
1102
|
+
- **Input Schema**:
|
|
1103
|
+
```json
|
|
1104
|
+
{
|
|
1105
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1106
|
+
"type": "object",
|
|
1107
|
+
"properties": {
|
|
1108
|
+
"path": {
|
|
1109
|
+
"type": "string",
|
|
1110
|
+
"minLength": 1,
|
|
1111
|
+
"description": "Internal app path (with optional ?query and #hash) to navigate to, e.g. \"/journal\", \"/day/2026-11-11\", \"/note/<id>\", \"/notebooks\", \"/dashboards\"."
|
|
1112
|
+
},
|
|
1113
|
+
"replace": {
|
|
1114
|
+
"description": "Replace current history entry instead of pushing.",
|
|
1115
|
+
"type": "boolean"
|
|
1116
|
+
}
|
|
1117
|
+
},
|
|
1118
|
+
"required": [
|
|
1119
|
+
"path"
|
|
1120
|
+
],
|
|
1121
|
+
"additionalProperties": false
|
|
1122
|
+
}
|
|
1123
|
+
```
|
|
1124
|
+
|
|
1125
|
+
### `ui_cast_control` (Tier 1 — WebMCP UI)
|
|
1126
|
+
- **Title**: Inspect or Disconnect Cast Session
|
|
1127
|
+
- **Mount Scope**: always (Playground shell)
|
|
1128
|
+
- **Description**: Check active Chromecast / receiver display session state or cleanly disconnect an active Cast session.
|
|
1129
|
+
- **Input Schema**:
|
|
1130
|
+
```json
|
|
1131
|
+
{
|
|
1132
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"properties": {
|
|
1135
|
+
"action": {
|
|
1136
|
+
"type": "string",
|
|
1137
|
+
"enum": [
|
|
1138
|
+
"status",
|
|
1139
|
+
"disconnect"
|
|
1140
|
+
],
|
|
1141
|
+
"description": "Inspect active Chromecast/receiver session status or disconnect an active session."
|
|
1142
|
+
}
|
|
1143
|
+
},
|
|
1144
|
+
"required": [
|
|
1145
|
+
"action"
|
|
1146
|
+
],
|
|
1147
|
+
"additionalProperties": false
|
|
1148
|
+
}
|
|
1149
|
+
```
|
|
1150
|
+
|
|
1151
|
+
### `ui_set_stream_query` (Tier 1 — WebMCP UI)
|
|
1152
|
+
- **Title**: Set Live Stream WQL Query or Layout
|
|
1153
|
+
- **Mount Scope**: mounted stream routes (/journal, /notes, /notebooks, /sessions, /efforts, /tags, /feeds)
|
|
1154
|
+
- **Description**: Update the live WQL query, layout (`cards`, `rows`, `feed`, `agenda`, `planner`), or grouping on the currently mounted stream view, or reset to the route default.
|
|
1155
|
+
- **Input Schema**:
|
|
1156
|
+
```json
|
|
1157
|
+
{
|
|
1158
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1159
|
+
"type": "object",
|
|
1160
|
+
"properties": {
|
|
1161
|
+
"query": {
|
|
1162
|
+
"description": "WQL query string to apply to the mounted stream view (e.g. \":note{tags:benchmark}\").",
|
|
1163
|
+
"type": "string"
|
|
1164
|
+
},
|
|
1165
|
+
"layout": {
|
|
1166
|
+
"description": "Switch stream layout mode and sync ?layout= in URL.",
|
|
1167
|
+
"type": "string",
|
|
1168
|
+
"enum": [
|
|
1169
|
+
"cards",
|
|
1170
|
+
"rows",
|
|
1171
|
+
"feed",
|
|
1172
|
+
"agenda",
|
|
1173
|
+
"planner"
|
|
1174
|
+
]
|
|
1175
|
+
},
|
|
1176
|
+
"groupBy": {
|
|
1177
|
+
"description": "Grouping dimension (e.g. \"date\", \"week\", \"notebook\") or null to clear.",
|
|
1178
|
+
"type": [
|
|
1179
|
+
"string",
|
|
1180
|
+
"null"
|
|
1181
|
+
]
|
|
1182
|
+
},
|
|
1183
|
+
"resetToDefault": {
|
|
1184
|
+
"description": "Undo custom stream filter and restore the route default WQL query.",
|
|
1185
|
+
"type": "boolean"
|
|
1186
|
+
}
|
|
1187
|
+
},
|
|
1188
|
+
"additionalProperties": false
|
|
1189
|
+
}
|
|
1190
|
+
```
|
|
1191
|
+
|
|
1192
|
+
### `ui_editor_draft` (Tier 1 — WebMCP UI)
|
|
1193
|
+
- **Title**: Read, Edit, or Undo Live Note Editor Buffer
|
|
1194
|
+
- **Mount Scope**: mounted Note / Journal / Playground editor surfaces
|
|
1195
|
+
- **Description**: Inspect or edit the live CodeMirror 6 Note buffer (`read`, `replace`, `append`, `undo`) with full undo history and optional immediate persistence.
|
|
1196
|
+
- **Input Schema**:
|
|
1197
|
+
```json
|
|
1198
|
+
{
|
|
1199
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1200
|
+
"type": "object",
|
|
1201
|
+
"properties": {
|
|
1202
|
+
"operation": {
|
|
1203
|
+
"type": "string",
|
|
1204
|
+
"enum": [
|
|
1205
|
+
"read",
|
|
1206
|
+
"replace",
|
|
1207
|
+
"append",
|
|
1208
|
+
"undo"
|
|
1209
|
+
],
|
|
1210
|
+
"description": "Read live editor buffer, replace document content, append Markdown/workout block, or undo last edit."
|
|
1211
|
+
},
|
|
1212
|
+
"content": {
|
|
1213
|
+
"description": "Markdown or Whiteboard Script content for replace / append operations.",
|
|
1214
|
+
"type": "string"
|
|
1215
|
+
},
|
|
1216
|
+
"save": {
|
|
1217
|
+
"description": "Flush and persist the draft to storage immediately after applying the edit (default false).",
|
|
1218
|
+
"type": "boolean"
|
|
1219
|
+
}
|
|
1220
|
+
},
|
|
1221
|
+
"required": [
|
|
1222
|
+
"operation"
|
|
1223
|
+
],
|
|
1224
|
+
"additionalProperties": false
|
|
1225
|
+
}
|
|
1226
|
+
```
|
|
1227
|
+
|
|
1228
|
+
### `ui_start_live_workout` (Tier 1 — WebMCP UI)
|
|
1229
|
+
- **Title**: Start Live Interactive Workout Timer
|
|
1230
|
+
- **Mount Scope**: mounted Note / Journal / Playground editor surfaces
|
|
1231
|
+
- **Description**: Launch the live interactive workout clock on screen from a workout block in the active Note editor so the human athlete and agent can co-drive the session.
|
|
1232
|
+
- **Input Schema**:
|
|
1233
|
+
```json
|
|
1234
|
+
{
|
|
1235
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1236
|
+
"type": "object",
|
|
1237
|
+
"properties": {
|
|
1238
|
+
"blockId": {
|
|
1239
|
+
"description": "Optional workout block ID in the active Note editor (defaults to first ```time block).",
|
|
1240
|
+
"type": "string"
|
|
1241
|
+
},
|
|
1242
|
+
"autoStart": {
|
|
1243
|
+
"description": "Automatically start the timer after mounting the workout clock (default true).",
|
|
1244
|
+
"type": "boolean"
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"additionalProperties": false
|
|
1248
|
+
}
|
|
1249
|
+
```
|
|
1250
|
+
|
|
1251
|
+
### `ui_clock_control` (Tier 1 — WebMCP UI)
|
|
1252
|
+
- **Title**: Control Live Workout Clock
|
|
1253
|
+
- **Mount Scope**: mounted live workout timer (FullscreenTimer / RuntimeTimerPanel)
|
|
1254
|
+
- **Description**: Dispatch commands (`next`, `playback`, `ready-start`, `entry-save`, `reps-set`, `stop-request`, `stop-confirm`, `dismiss`, etc.) to the active on-screen workout clock and return the updated ClockSnapshot.
|
|
1255
|
+
- **Input Schema**:
|
|
1256
|
+
```json
|
|
1257
|
+
{
|
|
1258
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1259
|
+
"type": "object",
|
|
1260
|
+
"properties": {
|
|
1261
|
+
"command": {
|
|
1262
|
+
"type": "string",
|
|
1263
|
+
"enum": [
|
|
1264
|
+
"next",
|
|
1265
|
+
"playback",
|
|
1266
|
+
"stop-request",
|
|
1267
|
+
"stop-confirm",
|
|
1268
|
+
"stop-cancel",
|
|
1269
|
+
"values-open",
|
|
1270
|
+
"entry-cancel",
|
|
1271
|
+
"entry-save",
|
|
1272
|
+
"entry-skip",
|
|
1273
|
+
"reps-adjust",
|
|
1274
|
+
"reps-set",
|
|
1275
|
+
"reps-select",
|
|
1276
|
+
"choice-select",
|
|
1277
|
+
"ready-start",
|
|
1278
|
+
"dismiss",
|
|
1279
|
+
"status"
|
|
1280
|
+
],
|
|
1281
|
+
"description": "Live workout clock command to dispatch (or \"status\" to read current ClockSnapshot)."
|
|
1282
|
+
},
|
|
1283
|
+
"fieldId": {
|
|
1284
|
+
"description": "Target fieldId for entry-save, entry-skip, or choice-select.",
|
|
1285
|
+
"type": "string"
|
|
1286
|
+
},
|
|
1287
|
+
"value": {
|
|
1288
|
+
"description": "Numeric value for entry-save or reps-set.",
|
|
1289
|
+
"type": "number"
|
|
1290
|
+
},
|
|
1291
|
+
"occurrenceId": {
|
|
1292
|
+
"description": "Rep occurrenceId for reps-adjust, reps-set, or reps-select.",
|
|
1293
|
+
"type": "string"
|
|
1294
|
+
},
|
|
1295
|
+
"delta": {
|
|
1296
|
+
"description": "+1 or -1 delta for reps-adjust.",
|
|
1297
|
+
"anyOf": [
|
|
1298
|
+
{
|
|
1299
|
+
"type": "number",
|
|
1300
|
+
"const": 1
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"type": "number",
|
|
1304
|
+
"const": -1
|
|
1305
|
+
}
|
|
1306
|
+
]
|
|
1307
|
+
},
|
|
1308
|
+
"index": {
|
|
1309
|
+
"description": "Zero-based alternative index for choice-select.",
|
|
1310
|
+
"type": "integer",
|
|
1311
|
+
"minimum": 0,
|
|
1312
|
+
"maximum": 9007199254740991
|
|
1313
|
+
}
|
|
1314
|
+
},
|
|
1315
|
+
"required": [
|
|
1316
|
+
"command"
|
|
1317
|
+
],
|
|
1318
|
+
"additionalProperties": false
|
|
1319
|
+
}
|
|
1320
|
+
```
|
|
1321
|
+
|
|
1322
|
+
### `ui_preferences` (Tier 1 — WebMCP UI)
|
|
1323
|
+
- **Title**: Get or Set Playground UI Preferences
|
|
1324
|
+
- **Mount Scope**: always (Playground shell)
|
|
1325
|
+
- **Description**: Read or update global Playground UI preferences (`theme`, `audioEnabled`, `debugMode`, `analyticsUnit`, and mobile navigation drawers).
|
|
1326
|
+
- **Input Schema**:
|
|
1327
|
+
```json
|
|
1328
|
+
{
|
|
1329
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1330
|
+
"type": "object",
|
|
1331
|
+
"properties": {
|
|
1332
|
+
"action": {
|
|
1333
|
+
"type": "string",
|
|
1334
|
+
"enum": [
|
|
1335
|
+
"get",
|
|
1336
|
+
"set"
|
|
1337
|
+
],
|
|
1338
|
+
"description": "Read current Playground UI preferences (\"get\") or update preferences (\"set\")."
|
|
1339
|
+
},
|
|
1340
|
+
"theme": {
|
|
1341
|
+
"description": "Color theme preference (`light`, `dark`, or `system`).",
|
|
1342
|
+
"type": "string",
|
|
1343
|
+
"enum": [
|
|
1344
|
+
"light",
|
|
1345
|
+
"dark",
|
|
1346
|
+
"system"
|
|
1347
|
+
]
|
|
1348
|
+
},
|
|
1349
|
+
"audioEnabled": {
|
|
1350
|
+
"description": "Enable or mute workout timer audio cues.",
|
|
1351
|
+
"type": "boolean"
|
|
1352
|
+
},
|
|
1353
|
+
"debugMode": {
|
|
1354
|
+
"description": "Enable or disable global runtime debug mode.",
|
|
1355
|
+
"type": "boolean"
|
|
1356
|
+
},
|
|
1357
|
+
"analyticsUnit": {
|
|
1358
|
+
"description": "Preferred display unit for analytics charts (`kg` or `lb`).",
|
|
1359
|
+
"type": "string",
|
|
1360
|
+
"enum": [
|
|
1361
|
+
"kg",
|
|
1362
|
+
"lb"
|
|
1363
|
+
]
|
|
1364
|
+
},
|
|
1365
|
+
"leftDrawerOpen": {
|
|
1366
|
+
"description": "Open or close the primary navigation drawer on mobile/tablet.",
|
|
1367
|
+
"type": "boolean"
|
|
1368
|
+
},
|
|
1369
|
+
"rightDrawerOpen": {
|
|
1370
|
+
"description": "Open or close the secondary L3 context drawer on mobile/tablet.",
|
|
1371
|
+
"type": "boolean"
|
|
1372
|
+
}
|
|
1373
|
+
},
|
|
1374
|
+
"required": [
|
|
1375
|
+
"action"
|
|
1376
|
+
],
|
|
1377
|
+
"additionalProperties": false
|
|
1378
|
+
}
|
|
1379
|
+
```
|
|
1380
|
+
|
|
1381
|
+
### `ui_set_explorer_query` (Tier 1 — WebMCP UI)
|
|
1382
|
+
- **Title**: Set or Run Analytics Explorer WQL Query
|
|
1383
|
+
- **Mount Scope**: mounted Metric Explorer route (/dashboards)
|
|
1384
|
+
- **Description**: Set or execute an aggregate or find WQL query on the Metric Explorer (`/dashboards`), change the week window (`4`, `8`, `16`), or open the Save-to-Dashboard / Query Settings dialogs.
|
|
1385
|
+
- **Input Schema**:
|
|
1386
|
+
```json
|
|
1387
|
+
{
|
|
1388
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1389
|
+
"type": "object",
|
|
1390
|
+
"properties": {
|
|
1391
|
+
"query": {
|
|
1392
|
+
"description": "WQL aggregate or find query string to set on the Metric Explorer (`/dashboards`), e.g. \"sum:totalVolume{} by {week}\".",
|
|
1393
|
+
"type": "string"
|
|
1394
|
+
},
|
|
1395
|
+
"submit": {
|
|
1396
|
+
"description": "Execute/submit the query immediately (default true when `query` is provided).",
|
|
1397
|
+
"type": "boolean"
|
|
1398
|
+
},
|
|
1399
|
+
"weeks": {
|
|
1400
|
+
"description": "Analytics lookback range in weeks (`4`, `8`, or `16`).",
|
|
1401
|
+
"anyOf": [
|
|
1402
|
+
{
|
|
1403
|
+
"type": "number",
|
|
1404
|
+
"const": 4
|
|
1405
|
+
},
|
|
1406
|
+
{
|
|
1407
|
+
"type": "number",
|
|
1408
|
+
"const": 8
|
|
1409
|
+
},
|
|
1410
|
+
{
|
|
1411
|
+
"type": "number",
|
|
1412
|
+
"const": 16
|
|
1413
|
+
}
|
|
1414
|
+
]
|
|
1415
|
+
},
|
|
1416
|
+
"openSaveDialog": {
|
|
1417
|
+
"description": "Open the \"Save to dashboard\" dialog for the active query.",
|
|
1418
|
+
"type": "boolean"
|
|
1419
|
+
},
|
|
1420
|
+
"openQuerySettings": {
|
|
1421
|
+
"description": "Open the surface query settings dialog on `/dashboards`.",
|
|
1422
|
+
"type": "boolean"
|
|
1423
|
+
}
|
|
1424
|
+
},
|
|
1425
|
+
"additionalProperties": false
|
|
1426
|
+
}
|
|
1427
|
+
```
|
|
1428
|
+
|
|
1429
|
+
---
|
|
1430
|
+
|
|
1431
|
+
## MCP Resources & Templates
|
|
1432
|
+
|
|
1433
|
+
- `wod://schema/whiteboard-script` (text/markdown) — Compact syntax, metric token, and fence-tag guide for authoring Whiteboard Language workouts.
|
|
1434
|
+
- `wod://schema/wql` (application/json) — Machine-readable WQL targets, aggregators, filter keys, metric families, and examples.
|
|
1435
|
+
- `wod://notebooks` (application/json) — Current local and subscribed feed notebooks with member counts.
|
|
1436
|
+
- `wod://note/{noteId}` (application/json) — Full Markdown source, block map, tags, and recent sessions for a Note.
|
|
1437
|
+
- `wod://journal/{date}` (application/json) — Scheduled notes and logged sessions for YYYY-MM-DD or today.
|
|
1438
|
+
- `wod://session/{sessionId}` (application/json) — Session record and full segment/summary event ledger.
|
|
1439
|
+
|
|
1440
|
+
## MCP Prompts
|
|
1441
|
+
|
|
1442
|
+
- `encode-workout`: Convert unstructured workout text into valid ```wod Markdown and verify with wod_parse_script.
|
|
1443
|
+
- `analyze-training-load`: Inspect recent sessions, volume rollups, and movement balance over a date window.
|
|
1444
|
+
- `program-journal-day`: Review recent training history, avoid movement interference, and schedule a workout on a date.
|