v1.4.0
Resilience & Scale: Type safety hardening and storage pagination. Backward compatible with v1.3.0.
Added
Type Safety (S1)
- TaskRequest:
TaskRequestConfigmodel forconfig(timeout_seconds, priority, idempotency_key, streaming, persist_state, model, temperature) - TaskResponse:
TaskMetricsmodel formetrics(duration_ms, tokens_in, tokens_out, tokens_used, api_calls) - Entities:
CommonMetadatamodel for conversation metadata (purpose, ttl_hours, source, timestamp, tags; extra allowed) - Envelope: Payload typed as discriminated union; validator parses by
payload_type;payload_dictproperty for backward compatibility
Storage Pagination (S2)
- SLAStorage:
query_metrics(..., limit, offset)andcount_metrics(...);GET /sla/history?limit=&offset=withtotalin response - MeteringStorage:
query(..., limit, offset);GET /usage?limit=&offset=with paginated results - APIs: SLA history and Usage endpoints accept
limit(default 100, max 1000) andoffset; responses includecountand (SLA)total
Examples
- v1.4.0 Showcase:
uv run python -m asap.examples.v1_4_0_showcase— demonstrates pagination on Usage and SLA history APIs
Changed
- README: v1.4.0 Quick Info and showcase command; v1.4 (Resilience & Scale) marked complete in roadmap
- AGENTS.md: Status updated to v1.4.0
Technical Details
- Python: 3.13+
- Tests: 2335+ passing; type checker (mypy) and full test suite verified
- Coverage: Maintained
Full Changelog: v0.1.0...v1.4.0