Skip to content

v0.2.0

Choose a tag to compare

@13luiz 13luiz released this 21 May 17:07
· 114 commits to main since this release

Summary

Phase 1 MVP: functional Anthropic-based coding assistant with six tools, basic TUI, TOML config, and mock-provider integration tests.

Added

  • opi-ai: Provider-agnostic LLM streaming with Provider trait, message/stream types, Anthropic SSE provider, provider registry, and shared MockProvider test harness
  • opi-agent: Agent loop with turn lifecycle, Tool trait with JSON Schema validation, Agent wrapper with prompt/continue/abort/subscribe, hooks and steering/follow-up queues
  • opi-coding-agent: Six built-in tools (read, write, edit, bash, glob, grep) with workspace safety boundaries, system prompt builder, TOML config with 5-tier precedence, interactive TUI mode, and non-interactive mode with high-risk tool safety policy
  • opi-tui: TUI shell with message list, input editor, status bar, tool call view, markdown and code block rendering

Fixed

  • SSE parser surfaces malformed events instead of silently dropping them
  • SSE parser handles CRLF line endings for cross-platform robustness
  • BashTool uses cmd.exe on Windows, sh on Unix
  • Agent loop emits ToolExecutionStart before parallel tool spawning
  • AuthFailed error variant maps to exit code 3
  • Config: explicit --config validation and env precedence fix
  • Agent loop uses tokio::select! for responsive stream cancellation

Migration Notes

  • Config format is TOML with [defaults], [thinking], [providers.anthropic] sections
  • CLI flags: -m (model), -c (config), -s (system prompt), --non-interactive, --allow-mutating, -v (verbose), -V (version)
  • Non-interactive mode blocks write/edit/bash tools by default; use --allow-mutating or allow_mutating_tools = true in config to enable

What's NOT Included

Sessions, compaction, JSON output mode, MCP, plugins, web UI, rich diff views, and syntax-highlighted code blocks are not in this release.