mirror of
https://github.com/whit3rabbit/anyllm-proxy.git
synced 2026-09-22 00:00:50 +00:00
Large admin-ui refactor (Performative component system, sidebar nav,
provider/route tabs) plus backend module restructuring.
Admin UI contract fixes (this session):
- Fix Models page crash: useBackends unwraps {backends:[...]}; align
ModelEntry to {model_name, deployments} and ModelsResponse.strategy;
fix add-model body to {model_name, actual_model, backend_name}.
- Fix Backends/Providers health rendering: source per-backend status and
latency from the uptime endpoint (health_checks); narrow Backend type to
the real get_backends shape.
- Route + sidebar-link the previously-unrouted Backends tab.
Verified: cargo test (exit 0), clippy -D warnings (exit 0), fmt --check,
admin-ui tsc + vite build all green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1019 B
1019 B
anyllm_batch_engine
Batch job orchestration: SQLite-backed queue, workers, file store, and event-driven webhook notifications. Powers the proxy's Batch API.
See root ../../CLAUDE.md for workspace-wide commands and conventions.
Test
cargo test -p anyllm_batch_engine
Layout
engine.rs— worker loop / orchestration.job.rs— job model + lifecycle states.queue/sqlite.rs— the durable queue (trait inqueue/mod.rs).db.rs— schema + persistence.file_store.rs— input/output file blobs for batch jobs.webhook/dispatcher.rs+webhook/sqlite.rs— delivery with retry, durable state.validation.rs— request validation before enqueue.
Gotchas
- Queue and webhook state are both persisted in SQLite — a restart resumes in-flight jobs. Don't assume in-memory state survives only the process; it does not for jobs.
- This crate owns batch persistence; the proxy's
batch/module is the HTTP surface that calls into it. Keep the boundary clean.