Skip to content

SRouter v0.1.3

Choose a tag to compare

@seaavey seaavey released this 26 Aug 14:19
· 127 commits to main since this release

SRouter v0.1.3

SRouter v0.1.3 brings major architectural improvements with strict TypeScript type safety, full monorepo-wide PascalCase standardizations, new provider additions (CodeBuddy CN), Gemini & Antigravity token cache mapping, native multi-arch Docker CI pipelines, and a refined password-first dashboard authentication flow.


🚀 Key Highlights & New Features

🇨🇳 CodeBuddy CN Provider Support

  • Full OAuth Device Flow & Quota Integration: Seamlessly connect CodeBuddy CN accounts via device-code flow with automated token refresh and real-time live quota monitoring.

🧠 Antigravity & Gemini Token Cache Mapping

  • Cache Token Awareness: Integrated cachedContentTokenCount usage translation for Gemini / Antigravity payload adapters to accurately evaluate cached prompt costs.
  • Standardized Antigravity translator namespace across packages.

🔒 Password-First Dashboard Auth & Remote Access

  • Streamlined Onboarding: Removed restrictive 12-character minimum password limits for local setups.
  • Remote Access Routing Fix: Resolved apiKeyAuth catch-all interference that previously blocked dashboard UI assets and admin endpoints on remote setups.

🛡️ Monorepo-Wide Strict Type Safety & Clean Architecture

  • Zero unknown/any Policy: Eliminated loose type casts across dialect adapters (@srouter/translator), response builders, and event streams.
  • Strict SQLite Row Types: All database row models in @srouter/db strictly map to concrete types (string, number, null).
  • Standardized PascalCase Conventions: Renamed and standardized all controllers (AdminController, TunnelController, ChatController, AuthController, KeysController, etc.), middleware (AdminAuth, ApiKeyAuth, Validation), and domain logic.
  • Modular Zod Schemas: Extracted and centralized route validation schemas into @srouter/types/src/schemas/.
  • Modular Provider Constants: Per-provider definitions, metadata, and catalogs isolated into packages/constants/src/providers/.
  • Custom Models Deprecation: Cleaned up legacy custom models tables and database schemas in favor of direct catalog & provider matching.

⚡ Native Multi-Arch Docker CI

  • Rebuilt GitHub Actions publishing pipeline to build linux/amd64 and linux/arm64 images on native runners with proper manifest annotations.

🔗 Pull Requests & Commits

  • #59refactor(translator): decompose message mappers and enforce strict types by @seaavey
  • #58feat(providers): remove custom models feature and clean up schema by @seaavey
  • #57refactor(db): enforce strict row typing and PascalCase query standards by @seaavey
  • #56chore(release): bump version to 0.1.2-rc.2 and modularize provider constants by @seaavey
  • #54refactor(routes): extract AdminController and TunnelController, add Zod schemas and clean route declarations by @seaavey
  • #53refactor(middleware): rename to ApiKeyAuth.ts & Validation.ts and enforce PascalCase by @seaavey
  • #52refactor(middleware): rename adminAuth.ts to AdminAuth.ts by @seaavey
  • #51refactor(middleware): remove redundant adminAuth/requireAdmin aliases and enforce PascalCase by @seaavey
  • #50style: format all files with prettier by @seaavey
  • #49refactor(models): standardize ModelsLogic to PascalCase, simplify matching and add Zod schemas by @seaavey
  • #48refactor(controllers): standardize all API controllers with PascalCase and clean response helpers by @seaavey
  • #47refactor(chat,providers): standardize controllers & logic with PascalCase and strict typing by @seaavey
  • #46feat(auth,types,api): response helpers, zod modularization, and auth polling types by @seaavey
  • #45ci(docker): remove check-version job from docker-publish workflow by @seaavey
  • #44refactor(auth): centralize auth types, namespace provider handlers, and clean controllers by @seaavey
  • #43refactor(auth): simplify auth controller and routes to pure JSON by @seaavey
  • #41feat(providers): add CodeBuddy CN provider with OAuth device flow and live quota by @Sienz16
  • #40feat(auth): password-first setup, fix remote dashboard access, drop 12-char minimum by @Sienz16
  • #39ci(docker): fix merge job failure — quote labels, inspect real tag by @Sienz16
  • #38ci(docker): write digest to a file before uploading as artifact by @Sienz16
  • #37ci(docker): build multi-arch images on native runners by @Sienz16

👥 Contributors

Huge thanks to everyone contributing to SRouter v0.1.3:


🐳 Docker Container & Quick Start

# Pull latest stable v0.1.3
docker pull ghcr.io/seaavey/srouter:0.1.3
docker pull ghcr.io/seaavey/srouter:latest

# Run container
docker run -d \
  --name srouter \
  -p 3000:3000 \
  -p 1455:1455 \
  -v srouter_data:/app/data \
  ghcr.io/seaavey/srouter:0.1.3

Full Changelog: v0.1.2...v0.1.3