Commit Graph

5 Commits

Author SHA1 Message Date
DaiChaoXiong bf92590fcd chore(workspace): project-wide cleanup, dependency trimming, docs sync
deps: focus-core no longer depends on tokio at all (the core is fully
synchronous); workspace-level tokio drops the fat feature list, members
declare only what they use (transport: net/io-util/time, providers: rt/time)

code: remove dead AgentHandle (never constructed) and the dead
App::clamp_scroll; wire focus-harness' describe_plan into the TUI compaction
note (it was unused public API); clean a no-op replace_messages + confusing
comment in the compaction integration test

docs: AGENTS.md §2.2 tokio table reflects the new feature sets; README test
count 177→181, new env-var section (FOCUS_DATA_DIR / FOCUS_SHELL /
FOCUS_DEBUG_FILE), wheel + two-level expansion keybindings; add LICENSE (MIT,
matching Cargo.toml); TUI /help notes the two-level expansion and merged
tool blocks; delete the .VSCodeCounter artifact dir

verification: fmt, clippy -D warnings, 181 tests, workspace build all green
2026-08-09 23:14:21 +08:00
DaiChaoXiong f695acc845 refactor(test): move all unit tests from src/ into tests/<module>_tests.rs
Per AGENTS.md §5.1 every test must live under crates/<name>/tests/, so the
inline #[cfg(test)] modules in harness/tools/providers/transport are gone:

- harness: session_tests / compaction_tests / prompt_tests (days_to_ymd made pub)
- tools: read / write / edit / shell tests (Tool trait imported explicitly)
- providers: config_tests; request-body and stop-reason coverage folded into
  integration tests via mock-recorded requests and SSE events (private builders
  no longer tested directly)
- transport: ChunkedDecoder made pub (with Default), decoder tests moved into
  transport_tests.rs

The only #[cfg(test)] left in src/ is the test-only TLS infra in tls.rs.
2026-08-09 21:09:01 +08:00
DaiChaoXiong 7f00886150 feat(transport): add incremental streaming body reader and custom ports
- Transport::stream_request returns a ChunkStream for true SSE streaming
  (head read incrementally, body drained chunk by chunk)
- transparent incremental chunked-transfer decoding (ChunkedDecoder)
- HttpRequest.port for non-standard base_url ports (Host header + TLS connect)
- per-read timeouts on the streaming path
2026-08-09 20:59:33 +08:00
DaiChaoXiong 5364ca004c ADD: 注释 2026-07-17 11:19:22 +08:00
DaiChaoXiong a7ddba035a INIT 2026-07-16 17:59:16 +08:00