Releases: tinhct/lux-agent
Releases · tinhct/lux-agent
Release list
v1.3.0
LUX Agent v1.3.0
Features & Improvements
Refactoring Backlog Implementation
- Stateless & Explicit App Construction: Refactored
app/core/config.pyto move environment variables loading and dotenv resolving insideload_settings(). Created dynamic factory functionscreate_workflowandcreate_appinapp/agent.py, removing all import-time side-effects and singleton state. - Isolated Runtime Replicas: Fixed the runtime cloning boundary in
app/agent_runtime_app.pyby implementing a realclone()factory that returns a separate, clean instance ofAgentEngineAppusing the stateless factory. - GCS Production Storage Adapter: Implemented
GcsAuditRepositoryinsideapp/core/persistence.py, enabling safe, concurrency-proof writes directly to Google Cloud Storage (GCS) in production while preserving local JSON for local dev. - Transport-Decoupled Middleware: Moved Starlette request stream body rewriting middleware completely out of
app/fast_api_app.pytoapp/core/adapters/pubsub.py, making FastAPI transport purely thin. - Dashboard Bootstrap & CORS Hardening: Extracted duplicate metadata/config lookups from
frontend/main.pyinto a newfrontend/config.pyhelper. Restructured CORS posture to use configurable settings allowed origins, dropping the permissive default wildcard*. - Toolchain Alignment: Synchronized the static type checker
tyPython environment target inpyproject.tomlto Python3.12. - Testing Expansion: Added unit tests for the dynamic GCS repository, repository routing factory, and cloned replica isolation, verifying all 32 tests in the suite pass.
v1.2.0
LUX Agent v1.2.0
Features & Improvements
Architectural Refactoring & Decompounding
- Centralized Configuration: Introduced
app/core/config.pywith an on-demandSettingsmodel, eliminating import-time environment variable branching. Exposes dynamic properties for location routing and MCP detection. - Isolated Persistence Adapter: Decoupled database state operations. Replaced direct file reads/writes with the
AuditRepositoryabstraction insideapp/core/persistence.py. - Monolithic Cleanliness: Decomposed
agent.pyinto isolated modules for validation (app/core/validation.py), security/redaction (app/core/security.py), and tools (app/tools/amazon_brands.py,app/tools/dma_rag.py). - Harden HTTP Boundaries: Migrated Starlette request stream body rewrite mutations into a dedicated Pub/Sub payload adapter (
app/core/adapters/pubsub.py). - Tightened Test Architecture: Disabled global
autouse=Truemock side-effects intests/conftest.py. Added unit tests for config, persistence, and pubsub adapter boundaries.