Skip to content

ref: Type 8 Goal #1 PUBLIC endpoints (trace, profiling, replay, releases)#117276

Merged
azulus merged 3 commits into
masterfrom
jeremy/type-goal1-cleanup
Jun 10, 2026
Merged

ref: Type 8 Goal #1 PUBLIC endpoints (trace, profiling, replay, releases)#117276
azulus merged 3 commits into
masterfrom
jeremy/type-goal1-cleanup

Conversation

@azulus

@azulus azulus commented Jun 9, 2026

Copy link
Copy Markdown
Member

Tightens 8 of the 14 Goal #1 untyped PUBLIC endpoints:

  • release_threshold_status_index.get → typed against existing dict[str, list[EnrichedThreshold]] decorator T
  • organization_trace_meta.getResponse[OrganizationTraceMetaResponse] via existing helper return type
  • organization_trace.getResponse[list[SerializedSpan | SerializedIssue | SerializedUptimeCheck]] matching the decorator
  • organization_profiling_profiles flamegraph + chunks endpoints → Response[None] | Response[ValidationErrorResponse] | HttpResponse (the success path is the proxy_profiling_service HttpResponse)
  • project_profiling_profile.getResponse[dict[str, Any]] | Response[None] | HttpResponse
  • project_replay_recording_segment_details.get → corrects the decorator from list[dict[str, Any]] to a structured {"data": ...} envelope via new local _SegmentDetailsResponse + _SegmentMetadataResponse TypedDicts. Spec-only correction; runtime has always emitted the envelope.
  • project_replay_video_details.getResponse[DetailResponse] | HttpResponseBase
  • organization_stats_summary.getResponse[StatsSummaryApiResponse] | HttpResponse

Validation paths route through as_validation_errors(). No wire changes.

…ses)

Tightens 8 of the 14 Goal #1 untyped PUBLIC endpoints:

- release_threshold_status_index.get → typed against existing
  dict[str, list[EnrichedThreshold]] decorator T
- organization_trace_meta.get → Response[OrganizationTraceMetaResponse]
  via existing helper return type
- organization_trace.get → Response[list[SerializedSpan |
  SerializedIssue | SerializedUptimeCheck]] matching the decorator
- organization_profiling_profiles flamegraph + chunks endpoints →
  Response[None] | Response[ValidationErrorResponse] | HttpResponse
  (the success path is the proxy_profiling_service HttpResponse)
- project_profiling_profile.get → Response[dict[str, Any]] | Response[None] | HttpResponse
- project_replay_recording_segment_details.get → corrects the decorator
  from list[dict[str, Any]] to a structured `{"data": ...}` envelope via
  new local _SegmentDetailsResponse + _SegmentMetadataResponse TypedDicts.
  Spec-only correction; runtime has always emitted the envelope.
- project_replay_video_details.get → Response[DetailResponse] | HttpResponseBase
- organization_stats_summary.get → Response[StatsSummaryApiResponse] | HttpResponse

Validation paths route through as_validation_errors(). No wire changes.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Jun 9, 2026
The GET_REPLAY_SEGMENT OpenAPI example documented a list of rrweb event
objects, but the runtime endpoint has always returned
`{"data": {replayId, segmentId, projectId, dateAdded}}`. The previous
example matched neither the old (incorrect) `list[dict[str, Any]]`
declaration nor the now-corrected envelope schema.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@azulus azulus marked this pull request as ready for review June 10, 2026 00:04
@azulus azulus requested review from a team as code owners June 10, 2026 00:04
@azulus

azulus commented Jun 10, 2026

Copy link
Copy Markdown
Member Author

openapi diff change is representative of openapi spec not matching current actual API behavior, this brings it inline

@azulus azulus merged commit 4b6e776 into master Jun 10, 2026
63 of 64 checks passed
@azulus azulus deleted the jeremy/type-goal1-cleanup branch June 10, 2026 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants