Kaji for macOS is being built in public →
0.2.4June 6, 2026
Agent runtime readiness improvements and service extraction

Agent runtime readiness gated properly

KajiAgentReadiness was added as a first-class model with ready, notReady, and error states. The runtime locator was significantly reworked with a dedicated cache layer (KajiAgentRuntimeLocatorCache) to avoid repeated filesystem scans. Bun version detection was extracted into its own testable service.

  • Added KajiAgentReadiness model with explicit state tracking
  • Added KajiAgentRuntimeLocatorCache to cache runtime location between checks
  • Extracted KajiAgentBunVersion service with dedicated tests
  • Added tests for AIProviderExecutableLocator, KajiAgentBunVersion, and KajiAgentRuntimeLocator
  • Added PmsetBatteryLidCloseSleepManager and SleepPreventionBatteryLidCloseController tests

Service extraction from the monolithic store

Agent service helpers were extracted out of the monolithic store into focused services: AgentComposerCompletionProvider for completion handling, KajiAgentTextExtractor for text extraction, and expanded KajiAgentHostToolRegistry with extraction helpers. The agent control panel, home view, message row, sidebar history, task tools, and todo panel were refactored to use these extracted state objects.

  • Extracted AgentComposerCompletionProvider for completion handling
  • Extracted KajiAgentTextExtractor for text extraction from agent responses
  • Expanded KajiAgentHostToolRegistry with tool extraction helpers
  • Added tool output preview and agent control panel helpers
  • Refactored KajiAgentHome, KajiAgentMessageRow, KajiAgentSidebarHistorySection, KajiAgentTaskToolView, and KajiAgentTodoPanel

Release and notification polish

Notification destination rows were polished with spinner support during test sends and clearer success/failure feedback. The release pipeline was updated with build-release.sh and smoke-release-app.sh improvements for the new agent runtime build step.

  • Updated notification destination and route rows with spinner during test sends
  • Added presence effect to notification badges
  • Refined badge feedback styles and segment border display
  • Updated build-release.sh and smoke-release-app.sh for runtime validation
  • Bumped Kaji to 0.2.4