Skip to content

Charmera v1.3.4

Choose a tag to compare

@timncox timncox released this 03 May 02:11
· 37 commits to main since this release

charmera-mcp redesigned around server-owned state. Curated import sessions used to spend most of their tokens shuffling the gallery's data.json array (~50K tokens at 600+ entries). They don't anymore.

New

  • commit_curated_files — pass local paths + a message; the server does everything: reads file size + mtime, names each blob with date-suffix collision rename, generates <filename>:<size> hashes, builds ISO timestamps from mtime, merges the existing data.json, and pushes one batched commit (one Pages build). Caller stays out of state management — no array merging, no timestamp guessing, no naming convention to follow. Idempotent across retries (dedupes by filename).
  • prepare_camera_import returns enriched per-file metadata — {path, filename, size, mtimeISO, kind, suggestedHash} so callers never re-stat. Suggested next step now points to commit_curated_files instead of the old push_to_gallery dance.
  • read_gallery_data defaults to tail: 50 — the full data.json was tripping tool-result size limits. Pass all: true for the full dump, or filenamePrefix to filter.

push_to_gallery stays as the lower-level primitive (file blob upload + optional dataJsonEntries replace) but new curated flows should use commit_curated_files exclusively.

Upgrade

brew upgrade --cask charmera.