v0.0.2
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:
- Observability with Langfuse
- Introduced
LLMWrapperfor 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
- Architecture Refactor
- Removed unused
pipelinepackage (7 files) and simplified execution model - Extended
LLMinterface withTool()method for direct tool handling - Engine now delegates tool execution to
LLM.Tool()instead of a shared executor - Reduced coupling and improved modularity
- 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
- 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
- UX Improvements
- Output limiting now works by line count instead of rune count for better readability
- Added tests for output formatting and argument handling
- Integration Updates
- Automatic Langfuse wrapping in
mainwhen observability is enabled - Improved error messages and consistency across components