Skip to content

Releases: aifiesta/meshapi-code

v0.5.5 — input validation

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 06 Jul 13:31

Tester-reported fixes (bugs 2–4 of the batch; bug 1 shipped in v0.5.4):

  • /model <invalid> no longer persists a broken model. Unknown ids are validated against the live catalog and rejected with top-3 fuzzy "did you mean" suggestions. Previously a typo was silently saved to config and broke every future launch — with the error only surfacing on your next prompt. Offline still sets, with an explicit warning.
  • /fallback <invalid> is rejected when the catalog is reachable (was warn-but-keep — a bogus fallback list breaks failover exactly when you need it). Offline keeps with a warning.
  • --route preview is now accepted at launch for parity with the in-session /route preview (it explains a preview needs a conversation first).

Upgrade: pipx upgrade meshapi-code — or press y when the CLI offers it.

🤖 Generated with Claude Code

v0.5.4 — crash fix

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 06 Jul 13:20

Fixes a cross-platform crash reported by a user (thanks, Anant!): typing /file with no argument — or pointing it at a directory, a binary, or a huge file — killed the entire CLI on Windows and Linux.

  • /file now validates its argument and prints a friendly message for every bad input (missing arg, directory, unreadable/binary file, >2MB).
  • Structural hardening: all slash commands now run inside exception isolation — a command bug can print an error, but it can never exit your session again.

Upgrade: pipx upgrade meshapi-code — or just press y when the CLI offers it.

🤖 Generated with Claude Code

v0.5.3

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 06 Jul 12:09

Docs-only: model count corrected to 1000+ across the PyPI page and README (manually verified against the live catalog). No code changes — 0.5.2 users don't need this update.

🤖 Generated with Claude Code

v0.5.2 — repo memory

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 06 Jul 11:09

The agent now remembers your project across sessions — at zero token cost. Upgrade: pipx upgrade meshapi-code (or just say y when the CLI offers it).

🧠 Repo memory

  • Every file the agent writes or reads is structurally mapped (symbols, sizes) into ~/.meshapi/context/ — captured from content already in hand, so it costs zero extra tokens, and it never touches your repo.
  • The next session in the same directory starts warm: a compact repo map + your remembered notes ride the system prompt. Ask "what do you know about this repo?" and it answers before reading a single file.
  • remember tool — the model persists durable decisions ("uses pnpm", "tests run with pytest -q") for future sessions.
  • Read-dedupe — re-reading an unchanged file returns a one-line "already in your context" pointer instead of the full body. Provably safe: sha256-verified against disk, correct against the /optimize pruning lever at any dial, and an immediate re-ask always returns the real body.
  • /memory inspect · /memory notes · /memory clear · /memory off.

Also in this release

  • web_search fix: prod returns result text in content — it was being silently dropped; the model now sees the actual results (verified live).
  • Verified live against the production gateway: /route preview (/v1/router/select) and web_search (/v1/web/search) both work.
  • Slash commands with leading whitespace ( /memory clear) now work.
  • Server records whose process died out-of-band no longer linger in the toolbar.
  • README now has a Features in action section — every feature with real terminal captures.

Full changelog: v0.5.1...v0.5.2

🤖 Generated with Claude Code

v0.5.1 — the agentic release

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 05 Jul 22:28

The CLI grew from a chat REPL into a full agentic coding tool. Upgrade: pipx upgrade meshapi-code (see UPGRADE.md).

Getting started

  • First-run key setup — hidden input, live verification, saved to ~/.meshapi/credentials (0600). /login replaces it. No env var needed.
  • Built-in update checker — background PyPI check with a one-key upgrade offer; /update on demand; declining a version never re-nags.

Models & routing

  • Fuzzy model picker/model qw pops a menu of every qwen model; gpt4m finds openai/gpt-4o-mini. /models [free|query] browses the catalog with context sizes and $/1M pricing.
  • Real auto-routing/route auto (gateway picks per prompt, resolved model shown); route: cheapest|fastest|balanced never existed server-side and is gone. /fallback m1 m2 ordered failover; /reasoning high|….
  • Web search tool — the agent can search the web (permission-gated).

Agentic reliability

  • Self-healing tool calls — malformed streamed arguments (missing commas, raw control chars, index-shuffled fragments) are repaired client-side; the model never re-reads its own broken JSON. Kills the retry doom-loop on cheap models. Raw failures logged to ~/.meshapi/toolcall_failures.jsonl.
  • Quality guard — stub code ("// Add game logic here") triggers one automatic fix-it pass with concrete evidence, then an honest warning + model suggestion if it survives. Suppressed when you ask for scaffolding on purpose.
  • start_server intelligence — the port inside your command is detected and used; whatever port the server actually binds is adopted; progress ticker while waiting; "that's YOUR server, don't restart it" guidance; no orphaned processes on ctrl+c.

Terminal experience

  • Type while it works — input stays live during streaming; Enter stacks messages that auto-run in order; unfinished text prefills the next prompt; ESC aborts a running turn. (macOS/Linux; Windows: between turns.)
  • Permission mode always visible — shift+tab applies mid-run; answer a at any approval to allow that tool for the session (safety guards still apply).
  • Framed input with repo · git-branch title, streaming header with live token counts, phase-aware spinner (preparing write_file (↓ 3.2k chars)), background servers listed under the mode line, long streams tail-scroll instead of freezing.

Also

  • Session-allowlisted approvals are safety-checked at AUTO strictness (caught by a test that literally attempted sudo rm -rf /).
  • Windows: startup crash fixes, print-instead-of-run self-upgrade (running exe is file-locked), path-safe install detection.
  • README/INSTALL/UPGRADE rewritten with separate macOS and Windows commands.

Full changelog: v0.4.6...v0.5.1

🤖 Generated with Claude Code

v0.4.5 — Windows compatibility fix

Choose a tag to compare

@raushan-aifiesta raushan-aifiesta released this 05 Jul 11:03

Windows compatibility fix

Fixes a fatal Windows-only startup crash and two related latent crashes. All changes are hasattr-guarded no-ops on POSIX, so macOS/Linux behavior is unchanged.

Fixed

  • Startup crash on Windowssignal.SIGHUP is POSIX-only; referencing it in the signal-handler registration raised an uncaught AttributeError at launch, hard-blocking every Windows user. The signal list is now built with a hasattr guard.
  • _kill_server (cli.py) — os.killpg/os.getpgid are POSIX-only; falls back to os.kill(pid, SIGTERM) on Windows.
  • run_bash timeout kill (tools.py) — os.killpg/signal.SIGKILL are POSIX-only; falls back to proc.kill() on Windows.

Install / upgrade: pipx upgrade meshapi-code (or pip install -U meshapi-code)

🤖 Generated with Claude Code