Skip to content

LevelCode v0.9.0

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Jul 18:45
c5e1f50

LevelCode v0.9.0

Two features this release: paste JSON and watch it tidy itself, and Kimi K3 arrives in LevelCode Cloud.

Highlights

JSON beautifies itself on paste

Working with minified JSON — one giant line, escaped, straight from a log or an API response? Paste it into LevelCode and it lands pretty-printed.

  • Any buffer. A .json file, a .txt, an untitled scratch tab — it doesn't matter what the editor thinks the buffer is. (That's the difference from the built-in format on paste, which only fires in a buffer already known to be JSON.)
  • Only when it's actually JSON. It transforms a paste only when the whole thing is a valid JSON object or array. A bare number, a string, code that merely contains JSON, JSON with trailing prose, or already-formatted JSON — all left exactly as pasted. Non-JSON pastes are never touched.
  • Yours to tune. levelcode.jsonPaste.enabled turns it off; levelcode.jsonPaste.indent follows your editor's indentation by default, or takes a number of spaces or "tab". And a normal paste is always one click away via the paste options.

It lives in the Notepad++ Pack, alongside the macros and line operations.

Kimi K3, in LevelCode Cloud

Moonshot's Kimi K3 — a 2.8-trillion-parameter model with a 1,048,576-token context window, built for long-horizon coding and agentic work — is now a selectable Pro model in LevelCode Cloud. Sign in, open the model picker, and choose it. No API key of your own required.

  • A choice, not a default. Your plan's flagship is unchanged. K3 sits in the picker with its cost shown honestly: it runs about 4× the credits per turn of the default (it reasons on every turn, and that reasoning is billed), so a Pro budget goes roughly a quarter as far on it. Pick it when the task is worth it.
  • The editor now meters it correctly. Select K3 and the context gauge reflects its real ~1M window instead of the old 200K default — so long sessions don't warn "full" five times too early.

Under the hood

  • extensions/levelcode-npp-pack/ — a pure analyzePaste() core (no editor dependency, fully unit-tested) behind a DocumentPasteEditProvider, so the paste transform is decided by tested logic and the size guard is measured in real UTF-8 bytes.
  • extensions/levelcode-ai/providers/catalog.js — a capabilities row for moonshotai/kimi-k3 (1,048,576 ctx) so the meter is right; the model itself becomes selectable via the LevelCode Cloud roster, no editor release required.
  • extensions/levelcode-ai/scripts/kimi-k3-spike.js — a standalone harness that drives the real agent tool-loop against K3, to confirm an always-on-reasoning model survives the round-trip before it's leaned on. See docs/KIMI-K3.md for the full scope.

Test coverage

  • test/jsonBeautify.test.js — 13 cases: minified→pretty round-trips, the container-only / trailing-junk / already-formatted guards, indentation, and a UTF-8-byte size cap that a multibyte payload can't slip past.
  • The pre-build CI gate now discovers every bundled extension's suite (not just one), so the new Notepad++-Pack tests run on each release.

Full changelog: v0.8.1...v0.9.0