github lukilabs/craft-agents-oss v0.7.7

7 hours ago

v0.7.7 — Thinking Levels, Automation Conditions & Windows Fixes


Features

  • 5-level thinking system — New thinking controls: Off / Low / Medium / High / Max. Anthropic models now use adaptive thinking instead of legacy budget-based thinking. Haiku uses correct token budgets (6000/8000 instead of 31999). Title generation no longer wastes tokens on extended reasoning. Fixes #412.
  • Automation conditions — New HA-inspired conditions system supporting time-based, state-based, and logical (and/or/not) composition as an optional gate between trigger and actions. Displayed as a readable "If" section in the automation detail view with natural language descriptions (e.g. "has label X", "permission mode changed from explore to allow-all"). Fixes #405, #355.
  • YouTube & Google Search Console added as Google OAuth services.
  • Parallel call_llm executioncall_llm calls now run in parallel across Claude and Pi backends instead of sequentially. Fixes #294.
  • Server-side directory browsing — File browser now works for remote/thin-client connections with folder selection highlight fixes.

Bug Fixes

  • Metadata fields leaking to SDK_intent/_displayName fields injected for the API are now properly stripped before reaching the SDK, including regex-based fallback stripping when JSON parse fails and stripping for non-SSE JSON responses. This caused the model to output extra parameters and tool call failures. Fixes #308.
  • MCP OAuth crash on Figma — Servers like Figma that expose a registration_endpoint but return 403 for unapproved clients no longer crash the OAuth flow. Falls back to a default client ID, and now uses 'Claude Code' prefix in the MCP OAuth client name for Figma compatibility. Fixes #189.
  • OAuth browser window on Windows — Fixed Claude auth handoff interruption semantics that prevented the OAuth browser from opening. Fixes #414.
  • MCP OAuth refresh loop — MCP sources requiring browser authorization no longer get stuck in needs_auth state due to silent refresh attempts that returned "Token refreshed" without ever showing the login browser.
  • Missing settings:getNetworkProxy handler — Network proxy settings can now be saved. Removed ~230 lines of dead code from the old handler location. Fixes #428.
  • Project folders shared across workspaces — Working directory history is now scoped to each workspace. Fixes #417.
  • Custom provider model resolution — Fixed model resolution and SDK summarization model for custom providers.
  • WebSocket client race condition — Fixed connection race condition and added connect/disconnect logging.
  • Stale browser binding — Fixed stale session-to-browser binding after window destruction; browser pane methods now guard against destroyed windows.
  • Webhook history verification — Made verification resilient to edge cases.
  • Network proxy not applied to API calls — Proxy settings configured in Settings were only applied to the Electron main process but not to the SDK subprocesses that make actual API calls. Proxy env vars are now injected into all subprocesses and the network interceptor routes requests through the configured proxy with NO_PROXY bypass support.
  • CRAFT_DEBUG env var — No longer ignored by the standalone server.

Improvements

  • Unified automation matching — Refactored automation matching logic and condition validation for consistency and correctness.
  • Removed redundant flow diagram — Removed the Mermaid flow visualization from the automation info panel; the When/If/Then sections describe automations more clearly.

Docs

  • Updated automation documentation with conditions feature, examples, and troubleshooting.

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

NewReleases is sending notifications on new releases.