import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'

/**
 * v1.0.0:7 — exercise library cleanup, photo-import removal,
 *            UI honesty about AI.
 *
 * Library cleanup
 *   - Cycling, Jump Rope, Rowing, Running: type=cardio with the
 *     correct inputFields (duration, distance, calories — no more
 *     reps/weight where they don't apply).
 *   - Walking Lunge, Wall Sit, Headstand, Hip Extension:
 *     reclassified out of "cardio" into bodyweight (they aren't
 *     aerobic conditioning).
 *   - Plank, Mace warmup, Hollow Body Landmine, Soccer:
 *     inputFields fixed.
 *   - Descriptions added for ~10 previously-cryptic exercises:
 *     Core, Resistance Band, Stir the pot, Slide Board,
 *     Neck Circuit, TGU, Captains of Crush, plus new descriptions
 *     for the cardio + reclassified entries above.
 *
 * Reconcile-on-boot
 *   - ensureExerciseLibrary.cjs is now INSERT-or-UPDATE instead of
 *     INSERT-or-IGNORE. Existing exercise rows where isCustom = 0
 *     get their description/type/muscleGroups/inputFields/
 *     defaultWeightUnit refreshed from the curated JSON on every
 *     boot. Rows with isCustom = 1 are skipped — the user's
 *     customizations always win.
 *   - PATCH /api/exercises/[id] now flips isCustom -> true on any
 *     user edit. So the moment you edit a library exercise via the
 *     in-app UI, it stops getting overwritten by future curated-
 *     library refreshes.
 *
 * Photo-import (Claude vision) removed
 *   - The /api/workouts/import endpoint that uploaded photos to
 *     Claude is gone, along with the orphan WorkoutImportClient
 *     component that called it. CSV import (the actually-used flow
 *     at /main/import) is unchanged.
 *   - The "Claude AI Integration" section in Settings has been
 *     removed — it promised "personalized workout recommendations"
 *     that never existed and only enabled the photo-import
 *     feature, which is also gone.
 *   - Schema columns User.enableClaudeAI / User.claudeApiKey stay
 *     as harmless dead fields. They'll be removed (or repurposed)
 *     when the model-agnostic AI work lands.
 *
 * No data migration. /data on existing installs is untouched.
 */
export const v_1_0_0_7 = VersionInfo.of({
  version: '1.0.0:7',
  releaseNotes: {
    en_US:
      'Exercise library cleanup: 19 exercises got correct inputFields / type / descriptions (Cycling/Rowing/Running/etc. now properly track duration+distance instead of reps+weight). Library reconciliation runs on every boot — maintainer-side fixes propagate to existing installs without overwriting your edits. The Claude photo-import feature and the misleading "Claude AI Integration" Settings section are gone; a real model-agnostic AI integration (with self-hosted Ollama support) is on the roadmap as its own release.',
  },
  migrations: {
    up: async () => {},
    down: IMPOSSIBLE,
  },
})
