Devid HW
839e33023a
fix: remove PayPal funding link, bump anyhow for RUSTSEC-2026-0190, resolve all clippy warnings
...
- Remove PayPal donate URL from .github/FUNDING.yml (keep saweria), fix trailing whitespace
- Update anyhow 1.0.102 -> 1.0.104 (RUSTSEC-2026-0190 unsoundness warning)
- Fix 25 clippy warnings across src/ (idiomatic fixes; two justified
#[allow(too_many_arguments)] on internal pass-through helpers)
- Normalize formatting via cargo fmt
- Correct stale version reference in AGENTS.md (1.32.4 -> 1.34.0)
2026-08-25 00:54:07 +07:00
Devid HW
e94ec8153d
Add get_latest_report tool with equity chart support
...
**New Tool: get_latest_report**
- Returns the most recent backtest report from the database
- Includes full report details: metrics, paths, tags, notes, verdict
- Optional include_chart parameter (default: true)
- Returns equity chart as base64 PNG when available
**Implementation:**
- ReportDb.get_latest(): Query for most recent report by created_at DESC
- handle_get_latest_report(): Fetches report and reads equity.png from charts_dir
- Base64 encoding using base64 crate v0.22
- Graceful handling when chart not found (equity_chart_error field)
**Files Changed:**
- storage/database.rs: Added get_latest() method
- tools/definitions.rs: Added tool_get_latest_report() definition
- tools/handlers/mod.rs: Added dispatch for get_latest_report
- tools/handlers/reports.rs: Implemented handler with base64 chart encoding
- Cargo.toml: Added base64 = 0.22 dependency
2026-04-19 01:56:41 +07:00
Devid HW
d8646074fb
Refactor handlers into SRP modules and add indicator/script tools
...
**Handler Refactoring:**
- Split monolithic handlers.rs (1468 lines) into 7 focused modules:
- system.rs: verify_setup, healthcheck, list_symbols
- experts.rs: list_experts, list_indicators, list_scripts, compile_ea
- backtest.rs: run_backtest, get_backtest_status, cache_status, clean_cache
- optimization.rs: run_optimization, get_optimization_results, list_jobs
- analysis.rs: analyze_report, compare_baseline
- setfiles.rs: read/write/patch/clone/diff set files
- reports.rs: list/search/prune reports, archive, promote, annotate
**New Tools:**
- list_indicators: List custom indicators in MQL5/Indicators
- list_scripts: List scripts in MQL5/Scripts
**Config Updates:**
- Added indicators_dir and scripts_dir to Config model
- Auto-discovery for MQL5/Indicators and MQL5/Scripts paths
- Updated healthcheck to validate new directories
**Benefits:**
- Single Responsibility Principle: each module handles one domain
- Easier maintenance and testing
- Clear separation of concerns
- Reduced cognitive load when modifying handlers
2026-04-18 18:38:28 +07:00