deerflow2/scripts
AochenShen99 0fb18e368c
refactor(lead-agent): make build_middlewares public to drop the last cross-module private import (#3458)
`client.py` imported the private `_build_middlewares` from `agent.py` across a
module boundary and called it as public API. Because the `_` name signals
"module-private, no external callers", any future rename or signature change
silently breaks the embedded `DeerFlowClient` path — and the test suite even
monkeypatched `deerflow.client._build_middlewares`, baking the leak in.

`DeerFlowClient` is a lead-agent variant that genuinely needs the lead agent's
full middleware composition, so make the dependency honest: promote the helper
to a documented public entry point `build_middlewares` and update every in-repo
caller. Found during #3341 review; #3341 already removed one such leak
(`_assemble_deferred` -> public `assemble_deferred_tools`) and left this one out
of scope on purpose.

- agent.py: rename def + both internal call sites; expand the docstring into a
  public-entry-point contract and document the previously-undocumented
  model_name / app_config / deferred_setup params
- client.py: import + call site now use the public name (removes the last
  cross-module private import)
- scripts/tool-error-degradation-detection.sh: update its import + call site
- tests (5 files): update monkeypatch/patch targets and direct calls
- docs (backend/CLAUDE.md, plan_mode_usage.md, middlewares.mdx): sync the live
  references that describe the symbol as current API

Pure mechanical rename, no behavior change. Historical design docs (rfc,
superpowers spec) intentionally keep the old name as point-in-time records.

Closes #3431
2026-06-09 11:56:28 +08:00
..
wizard feat: MiniMax provider for image/video/podcast skills + new music-generation skill (#3437) 2026-06-08 22:04:38 +08:00
check.py fix(check): windows pnpm version detection in check script (#2189) 2026-04-14 10:29:44 +08:00
check.sh feat(dx): Setup Wizard + doctor command — closes #2030 (#2034) 2026-04-10 17:43:39 +08:00
cleanup-containers.sh feat: send custom event 2026-02-06 17:48:15 +08:00
config-upgrade.sh Fix Windows startup and dependency checks (#1709) 2026-04-01 23:13:00 +08:00
configure.py fix: make check/config cross-platform for Windows (#1080) (#1093) 2026-03-13 21:33:12 +08:00
deploy.sh fix(auth): share internal gateway token across workers (#3184) 2026-05-26 23:19:57 +08:00
detect_blocking_io_static.py Add static blocking IO inventory (#3208) 2026-05-26 23:30:24 +08:00
detect_thread_boundaries.py chore(dev): add async/thread boundary detector (#2936) 2026-05-20 10:00:17 +08:00
detect_uv_extras.py feat(channels): enhance Discord with mention-only mode, thread routing, and typing indicators (#2842) 2026-05-15 22:30:05 +08:00
docker.sh fix(web_fetch): support proxy for Jina reader in restricted networks (#3418) (#3430) 2026-06-08 23:25:29 +08:00
doctor.py feat(dx): Setup Wizard + doctor command — closes #2030 (#2034) 2026-04-10 17:43:39 +08:00
export_claude_code_oauth.py feat: add Claude Code OAuth and Codex CLI as LLM providers (#1166) 2026-03-22 22:39:50 +08:00
load_memory_sample.py feat: add memory management actions and local filters in memory settings (#1467) 2026-03-29 13:14:45 +08:00
run-with-git-bash.cmd fix: use Git Bash for Windows local startup (#1551) 2026-03-29 21:38:29 +08:00
sandbox_memory_profile.py chore: add sandbox memory profiling tools (#3249) 2026-06-03 22:02:27 +08:00
serve.sh fix(dev): exclude runtime state from gateway reload (#3426) 2026-06-08 22:54:23 +08:00
setup_wizard.py feat: MiniMax provider for image/video/podcast skills + new music-generation skill (#3437) 2026-06-08 22:04:38 +08:00
setup-sandbox.sh fix(makefile): extract setup-sandbox inline bash to script for Windows compatibility (#3326) 2026-06-01 07:28:13 +08:00
start-daemon.sh feat: unified serve.sh with gateway mode support (#1847) 2026-04-05 21:07:35 +08:00
sync_labels.py feat(ci): PR/issue auto-labeling + declarative label sync (#3360) 2026-06-03 16:40:24 +08:00
tool-error-degradation-detection.sh refactor(lead-agent): make build_middlewares public to drop the last cross-module private import (#3458) 2026-06-09 11:56:28 +08:00
wait-for-port.sh fix(scripts): Cloud Provider Reports Security Issue(aliyun could) (#2323) 2026-04-18 19:33:32 +08:00