You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(models): reconcile Integration/EscalationPolicy/TeamMember against production API (#34)
* fix(models): reconcile Integration/EscalationPolicy/TeamMember against production API (#9606db)
- Fix Integration crash: alias was 'type' but API returns 'channel'; rename alias
to 'channel', keep Python attribute as integration_type for compat
- Remove phantom active field from Integration (API never returns it)
- Promote Integration fields: created_by, created_at, region, metadata
- Define EscalationStep sub-model with uuid, wait_before, channels, temp_id
- Promote EscalationPolicy fields: created_by, created_at, grouped_alerts_window,
grouped_alerts_enabled, monitor_count; type steps as list[EscalationStep]
- Add sso_picture_url to TeamMember
- Export EscalationStep from hyperping.models and hyperping top-level
* test(models): update mocks to production shapes for Integration/EscalationPolicy/TeamMember (#9606db)
- Sync test: use channel instead of type in Integration mocks, assert new fields
- Sync test: enrich EscalationPolicy mocks with steps/createdAt/monitorCount, add EscalationStep assertions
- Sync test: add ssoPictureUrl to TeamMember mock, assert sso_picture_url
- Async test: mirror all sync mock updates and assertions
* chore: sync uv.lock version to v1.8.0
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
* test(mcp): wrap oncall_models import to satisfy ruff E501/I001
Adding EscalationStep to the oncall_models import pushed the line past
the 100-character limit. Split it across lines using parentheses so
both E501 and I001 stay clean.
---------
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
0 commit comments