forecast period cap in structuredContent; whitespace-only ID validation
nws_get_forecast hourly mode no longer floods structured-content clients, and blank office/zone IDs fail locally instead of reaching the NWS API.
Added:
- nws_get_forecast enrichment: totalPeriodCount (pre-cap upstream total) plus a truncation notice when the cap applies; periodCount now reports the returned count (#23)
Fixed:
- nws_get_forecast: the 48-period hourly cap applies in the handler, so structuredContent.periods and the content[] markdown share the same bounded set — previously only the markdown was truncated (#23)
- nws_get_office_discussion / nws_get_zone_forecast: office and zone_id use z.string().trim().min(1), rejecting whitespace-only input at parse time; the advertised input schema is unchanged (#24)
Dependency bumps:
- @biomejs/biome ^2.5.1 → ^2.5.2
- @types/node ^26.0.1 → ^26.1.0
267 tests pass; bun run devcheck clean.