github lukilabs/craft-agents-oss v0.7.2

3 hours ago

v0.7.2 — Provider Presets, Island System & Bug Fixes


Features

  • Island system — extracted Island and IslandFollowUpContentView into the shared @craft-agent/ui package as reusable primitives for annotation follow-ups and inline content expansion (7c4ba6af, 2432b421, 4397b284)
  • Minimax provider preset — added Minimax as a built-in LLM connection preset with pre-configured base URL and model list (36cf45d5)
  • Kimi (Coding) provider preset — added Moonshot's Kimi Coding as a built-in LLM connection preset (c59d9d8d)
  • OpenAI regional presets — added OpenAI EU (api.openai.eu) and US (api.openai.us) regional API endpoint presets (bfc2be3c)
  • App-level default thinking level — thinking level (off / think / max) can now be set as an app-wide default that persists across sessions and app restarts; workspace-level overrides take precedence (f5593fb1, 7c0f2659)
  • Local dev build mode — new CRAFT_DEV_RUNTIME build flag resolves SDK and interceptor from the monorepo during development, with platform-aware bun fallback; adds electron:dist:dev:{mac,win,linux} scripts (506f2b02)

Improvements

  • Deferred SDK checks — Anthropic SDK and runtime validation is now deferred from app startup to session creation (strict: false at boot, strict: true at session start), allowing the app to open windows even when SDK/interceptor/Bun are not yet available (cc70ce76)
  • Staged typecheck flow — pre-commit hook now runs targeted typecheck only on packages touched by staged files instead of a full monorepo typecheck (538b12f4)
  • Toast theming — Sonner toast description text and close button now respect the active theme tokens instead of using hardcoded colors (59cfeab4, caea757f)
  • Branch creation hardening — strict SDK-fork semantics for new branches; non-whitespace preflight prompt prevents Anthropic invalid_request errors on branched sessions (9a2f5ed2)

Bug Fixes

  • Google OAuth error misclassificationaccess_denied from a user clicking Cancel was incorrectly shown as "app is blocked by administrator"; fixed the boolean logic (||&&) so the special message only appears when Google's error description mentions verification. Fixes #300 (partially)
  • Status icon overrides ignored — local status icon filenames were not being discovered due to a missing directory scan; also added .webp support to the icon filename pattern. Fixes #358 (f40d2e41, 0ffee7f6, c11819ef)
  • Pi provider routing — custom endpoints now correctly resolve the piAuthProvider field instead of requiring a preset selection. Fixes #363 (f40d2e41)
  • Shared session still accessible after delete — session delete now revokes the viewer share link via a DELETE request with a 5-second timeout, preventing deleted sessions from remaining publicly accessible. Fixes #328 (15e4830e, c11819ef)
  • @mention autocomplete breaks after space — file matching now uses subsequence search instead of prefix matching, so app comp correctly matches app/components/.... Fixes #298 (c939d930)
  • CI bun.lock drift — refreshed bun.lock and pinned bun version in CI to prevent --frozen-lockfile failures. Fixes #359 (9e9cebd2, 15e4830e)
  • Transport banner overlaps TopBar — the reconnection banner's Retry button was hidden behind the TopBar's help button; fixed by lifting the 48px TopBar offset to the shared parent container (71abeda4)
  • Pi session directory on Windows — session files were created in the wrong directory on Windows due to a path separator issue (d3e83985)
  • Copilot OAuth subpath — fixed incorrect OAuth callback path for Pi-based copilot authentication flows (430c6f3d)
  • Connection error diagnostics — client-only mode is now logged on startup; connection error messages include the server URL for easier debugging (ff7cf0b8)

Special thanks to @dragonguy888, @chouch0u, @DocplannerLech, @thomaszdxsn, and @ImLukeF for their PR contributions, and to @jonzhan, @Novtopro, @lloydwu, @alexzadeh, @galaxyboyleo, and @minak-collab for reporting the issues addressed in this release.

Don't miss a new craft-agents-oss release

NewReleases is sending notifications on new releases.