Skip to content

v0.0.2

Choose a tag to compare

@Alice088 Alice088 released this 15 Apr 22:29
· 26 commits to main since this release

Refactor Core, Add Langfuse Tracing, and Strengthen Security

This release introduces a major refactor of the core execution flow, adds full observability with Langfuse, and significantly improves security and reliability across the system.

Key changes:

  1. Observability with Langfuse
  • Introduced LLMWrapper for seamless Langfuse integration
  • Each LLM call and tool execution is now tracked as a generation with input/output
  • Single trace per request with step-by-step visibility of execution flow
  1. Architecture Refactor
  • Removed unused pipeline package (7 files) and simplified execution model
  • Extended LLM interface with Tool() method for direct tool handling
  • Engine now delegates tool execution to LLM.Tool() instead of a shared executor
  • Reduced coupling and improved modularity
  1. Security Improvements
  • Added timeout (5s) for bash execution using CommandContext
  • Enabled process isolation via SysProcAttr (cross-platform support)
  • Strengthened command validation (whitelist/blacklist, input normalization)
  • Improved path security: blocked traversal (../), absolute paths, and symlink escapes
  1. Testing and Hardening
  • Replaced incorrect test stubs with full unit test coverage
  • Added tests for command injection, traversal, symlink escape, and unicode bypass
  • Covered edge cases for both command validation and path resolution
  1. UX Improvements
  • Output limiting now works by line count instead of rune count for better readability
  • Added tests for output formatting and argument handling
  1. Integration Updates
  • Automatic Langfuse wrapping in main when observability is enabled
  • Improved error messages and consistency across components