Skip to content

v1.3.0 - Async Task Architecture

Choose a tag to compare

@ajhcs ajhcs released this 05 Feb 01:19
· 15 commits to main since this release

Async Task Architecture Release

This release introduces a major architectural change: async task execution with background process management.

New Features

  • Non-blocking execution - Tasks return immediately with a taskId while running in background
  • Task monitoring - Track progress with opencode_sessions tool
  • Interactive responses - Send input to waiting tasks via opencode_respond
  • Session continuity - Tasks maintain state across multi-turn interactions

New Tools

Tool Description
opencode Start async task, returns taskId immediately
opencode_sessions List and monitor active/recent tasks
opencode_respond Send input to tasks waiting for response

Removed (Deprecated)

  • ask-opencode - Replaced by async opencode tool
  • brainstorm - Removed
  • Slash commands (/plan, /build, /help, /ping) - Removed

Improvements

  • 238 tests (up from 10) covering async operations, concurrency, and persistence
  • Consolidated TaskManager singleton for reliable cross-tool state
  • NDJSON event stream parsing for real-time task updates

Workflow

1. opencode(task)        → Returns { taskId, status: "working" }
2. opencode_sessions()   → Check task status
3. opencode_respond()    → Send input if status is "input_required"
4. Task completes        → Status: "completed" or "failed"

Full Changelog

v1.2.0...v1.3.0