v0.1.12: HTTP 400 validation_error contract across all 6 tools
HTTP 400 validation_error contract across all 6 tools
All six query tools now catch McpError(InvalidParams) from the CDO service
layer on HTTP 400 responses and re-throw via ctx.fail('validation_error', ...)
with tool-specific recovery hints. This populates data.reason for machine
consumers routing on structured error fields.
Fixed:
- noaa_fetch_data and noaa_list_datasets: validation_error was declared but unreachable via ctx.fail (#8)
- noaa_find_locations, noaa_find_stations, noaa_list_data_categories, noaa_list_data_types: added validation_error contract entries and catch blocks (#9)
157 tests pass; bun run devcheck clean.