v0.1.7: POST timeout, def_codes guard, empty-result returns
POST timeout, def_codes guard, empty-result returns
Four bug fixes: POST requests now enforce the configured timeout via fetchWithTimeout (matching get()), disaster_spending validates def_codes for non-overview dimensions before hitting the upstream API, and both spending_by_geography and spending_over_time return structured empty responses with ctx.enrich.notice() instead of throwing.
Fixed:
- POST requests in USASpendingService now use fetchWithTimeout, enforcing timeoutMs for all analytics tools (#13)
- usaspending_disaster_spending throws ValidationError when def_codes is absent for non-overview dimensions (#7)
- usaspending_spending_by_geography returns structured empty response with notice instead of throwing no_data (#8)
- usaspending_spending_over_time dead-code guard converted to structured return with notice (#9)
203 tests pass; bun run devcheck clean.