Commit Graph
26 Commits
Author SHA1 Message Date
whit3rabbitandClaude Sonnet 4.6 6a47df31f5 fix: stable catalog reference, pin windows runner
- Providers.tsx: wrap catalog in useMemo so filtered memo doesn't
  re-run on every render when catalogQuery.data is undefined
- ci.yml: pin windows-latest -> windows-2025 ahead of June 15 redirect

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 23:03:14 -05:00
whit3rabbitandClaude Sonnet 4.6 681b0d47d9 chore: bump to 0.9.8, add CHANGELOG, cargo update
- Version: 0.9.7 → 0.9.8 (workspace + all pinned inter-crate deps)
- New: AnthropicMessagesClient passthrough client
- New: RetryPolicy struct, retry_transport_errors flag, extra_header builder
- New: ssrf_allow_loopback, ssrf_allow_private, extra_headers in HttpClientConfig
- New: ChatMessage::effective_text(), claude-fable-5 in provider catalog
- Fix: relaxed serde defaults for lax local backends (Ollama, llama.cpp)
- Fix: warn on empty choices in openai_to_anthropic_response
- ci: create-release now uses CHANGELOG section as release body
- docs: CHANGELOG.md created, release process documented in CLAUDE.md
- deps: cargo update (~105 packages, tokio 1.52, axum 0.8.9, rustls 0.23.40)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-12 22:37:09 -05:00
whit3rabbit 2713f34336 Bump GitHub Actions to Node 24 releases 2026-05-23 20:47:42 -05:00
whit3rabbit 98bc1c833a fix: include pricing asset in proxy crate 2026-05-23 15:03:09 -05:00
whit3rabbit 4cdfef82e3 chore: prepare 0.9.3 release 2026-05-23 12:28:08 -05:00
whit3rabbitandClaude Opus 4.7 4cc854f6ef ci: clean up publish job for tag-triggered crates.io release
Drop job-level continue-on-error: true (was masking real failures since
each step already handles exit 101 inline). Remove the duplicate
anyllm_batch_engine step that lacked the exit-101 swallow. Canonical
publish order is now: translate -> providers -> client -> batch_engine
-> proxy with 30s sleeps for index propagation.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 19:26:36 -05:00
whit3rabbitandClaude Sonnet 4.6 02a9bb91d8 fix: handle crates.io version-already-exists (exit 101) in publish job
- Add continue-on-error: true to publish job (non-blocking for release)
- Add exit code 101 handling per step: already-published = success
- Add missing anyllm_batch_engine publish step

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 14:38:37 -05:00
whit3rabbitandClaude Sonnet 4.6 32272f2420 fix: add create-release job and complete crates.io publish sequence
- Add create-release job before upload jobs (gh release upload requires
  the release to exist first)
- Add anyllm_providers and anyllm_batch_engine to publish sequence;
  proxy depends on both, missing them caused publish to fail
- release-assets and brew-release now depend on create-release

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 14:29:00 -05:00
whit3rabbitandClaude Sonnet 4.6 ccaa4fd32b fix: correct GitHub Actions secrets context usage in if conditions
- secrets context is not allowed in job/step-level if conditions;
  move checks into shell (exit 0 if secret unset)
- Fixes YAML/semantic error causing 0s workflow file issue failures

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 13:53:34 -05:00
whit3rabbitandClaude Sonnet 4.6 d3474792c8 fix: resolve CI YAML parse error and vite 8 peer dep conflict
- Replace heredoc in brew-release job with printf statements to fix YAML
  parse error (heredoc content at col 0 broke YAML literal block scalar)
- Add --legacy-peer-deps to npm ci: @vitejs/plugin-react@4.7.0 peer deps
  only declare vite ^4-7 but is runtime-compatible with vite 8

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 13:35:55 -05:00
whit3rabbitandClaude Sonnet 4.6 e94b4e2acf feat: add Homebrew tap release job and ignore tool/config dirs
Add brew-release CI job that builds versioned macOS tarballs, uploads
them to the GitHub Release, and updates the homebrew-tap cask formula.
Ignore .mcp.json, .repowise/, and .superpowers/ in .gitignore. Add
Makefile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-09 03:25:40 -05:00
whit3rabbitandClaude Sonnet 4.6 545bdbbbd3 feat: add bedrock native passthrough, generic passthrough, provider docs, and managed backend fixes
Adds bedrock_native.rs (Converse/InvokeModel with SigV4) and
generic_passthrough.rs catch-all for Translate mode. Adds comprehensive
provider reference docs (docs/providers/, docs/ENDPOINTS.md). Fixes
managed backend admin UI (BackendForm, ManagedBackendsSection) and
admin route/model handler issues. Adds automated model pricing update
workflow (scripts/update_pricing.py, .github/workflows/update-pricing.yml).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-08 16:36:16 -05:00
whit3rabbitandClaude Sonnet 4.6 3980985b17 fix: review feedback - disable service in prerm, clobber on re-upload, remove redundant postinst re-run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:19:27 -05:00
whit3rabbitandClaude Sonnet 4.6 787ca25388 ci: upload deb packages to GitHub releases
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:14:45 -05:00
whit3rabbitandClaude Sonnet 4.6 37e7e2827f ci: add deb install verification job
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:14:34 -05:00
whit3rabbitandClaude Sonnet 4.6 cd7372a562 ci: build deb packages on Linux targets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-06 21:14:12 -05:00
whit3rabbitandClaude Sonnet 4.6 0fa7495574 feat: docker smoke tests, admin UI polish, and misc fixes
- ci: replace inline smoke test with docker-compose.test.yml + scripts/docker-smoke-test.sh (9 checks)
- add .env.example, .env.example.test, .anyllm.env.example, docker-compose.test.yml
- gitignore: add .anyllm.env*, *.db-shm, *.db-wal patterns
- admin UI: fix auth store, vite config, App.tsx updates; rebuild dist
- admin routes: keys, traffic, mod, db, health_check updates
- server: gemini_input, mod, routes adjustments
- translator: lib.rs, gemini_message_map, tools_map fixes
- batch: anthropic_batch cleanup
- docs: add React admin UI plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 18:58:38 -05:00
whit3rabbitandClaude Sonnet 4.6 dfed5b14ff feat: React admin UI migration — React 19 + TypeScript + Traffic/Uptime tabs
Replace 1,928-line monolithic vanilla JS admin SPA with React 19 + TypeScript 5
application. Adds Traffic and Uptime tabs backed by new Rust API endpoints.

- Vite + vite-plugin-singlefile: single dist/index.html with inlined JS/CSS
- Custom closeBundle plugin preserves __CSP_NONCE__ placeholder for Rust injection
- React Query v5 for server state, Zustand v5 for auth + WS connection state
- All existing backend contracts preserved (CSRF, WS auth, sessionStorage key)
- New: GET /admin/api/traffic (route load, P95, req/min, time series)
- New: GET /admin/api/uptime (proxy start time, per-backend 30d history)
- New: health_checks SQLite table + background Tokio health-checker (30s probe)
- BackendHealthChanged WS event for immediate Uptime tab refresh on status flip
- Dockerfile gains Node.js Stage 1 for frontend build
- CI gains frontend job (tsc + lint + build) before Rust test job

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 15:29:47 -05:00
whit3rabbitandClaude Sonnet 4.6 2e22cfef3c chore: stage pre-existing main branch changes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 15:28:55 -05:00
whit3rabbit 6b4c4c93f4 ci: download admin-ui-dist artifact in build-release job 2026-04-05 15:23:28 -05:00
whit3rabbit cc24cc5592 ci: add frontend job (tsc + lint + build) before Rust test job 2026-04-05 15:21:50 -05:00
whit3rabbitandClaude Sonnet 4.6 1f9bb02968 feat: add Docker support, Gemini input handler, and batch engine improvements
Adds multi-arch Docker build with docker-compose, GitHub Actions CI workflow,
Gemini native input parsing, batch engine SQLite/file/webhook refactors,
and Bedrock streaming fixes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 12:01:24 -05:00
whit3rabbit cca8f2740a ci: add nightly workflow for live OpenAI and Bedrock integration tests 2026-03-30 17:23:14 -05:00
whit3rabbit c9e9221caf ci: add cargo-audit step to catch crates with known CVEs
Runs after cargo test in the test job. Uses --locked for reproducibility.
2026-03-27 23:45:36 -05:00
whit3rabbitandClaude Sonnet 4.6 0942072b29 chore: docs, CI, and polish for litellm gap fill
Update CLAUDE.md and README.md to document new backends (Azure, Bedrock),
virtual key management, rate limiting, OTEL, and client v0.2.0. Add CI
workflow for the new integration test suite. Final task-list completions
and virtual key integration tests.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 06:36:09 -05:00
whit3rabbitandClaude Opus 4.6 d37d1e25f1 Add phases 12-20: release infra, transparent proxy, model mapping, mTLS, extended thinking, Gemini research
Phases 12-18: release infrastructure (LICENSE, README, Dockerfile, CI,
CHANGELOG), transparent proxy with anthropic-version/anthropic-beta header
passthrough and lossy translation warnings, BIG_MODEL/SMALL_MODEL env-based
model mapping, mTLS client cert support (P12/PEM), max_completion_tokens
and reasoning_effort passthrough via serde flatten, extended thinking type
support (thinking blocks stripped in translation), top_k typed field.

Phase 20: Gemini backend research with docs/gemini-api-diffs.md covering
native API format, tool calling, streaming, auth, schema restrictions,
and Vertex AI OpenAI-compatible endpoint. Task roadmap through Phase 22.

Test count: 169 -> expanded with new fixture and unit tests for all phases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 20:06:50 -05:00