autoLoad cascade hardening (extends #5578): - Singleflight wrapper around autoLoadSmallestModel so two send-button clicks in flight share one cascade instead of fanning out a fresh /load budget per click. - /validate POSTs were previously uncapped; a cache of N trust-blocked repos still produced N /validate calls. Adds MAX_AUTO_VALIDATE_ATTEMPTS = 10 with a counter inside canAutoLoad. - abortSignal from the adapter's run() now threads into the cascade and is checked on entry plus at each loop boundary, so a tab close or user abort mid-cascade stops further POSTs. Style consistency (extends #5577): - _release_self_exe_lock_windows / _restore_self_exe_lock_windows now emit via typer.echo to match the rest of the file's diagnostic surface. |
||
|---|---|---|
| .. | ||
| commands | ||
| __init__.py | ||
| _tool_policy.py | ||
| config.py | ||
| options.py | ||