@sentry/api 0.424.0 → 0.425.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -322,7 +322,7 @@ Sentry uses cursor-based pagination via `Link` headers. Choose one of three help
322
322
  | Task | Method | Result |
323
323
  | --- | --- | --- |
324
324
  | Display one page, with previous/next navigation | `sentry.fetchPage.<operation>(options, cursor?)` | `{ data, response, nextCursor?, prevCursor? }` |
325
- | Collect up to an item limit | `sentry.paginateUpTo.<operation>(options, { limit, ... })` | `{ data, stopReason, nextCursor? }` |
325
+ | Collect up to an item limit | `sentry.paginateUpTo.<operation>(options, { limit, ... })` | `{ data, stopReason, nextCursor?, continuation? }` |
326
326
  | Explicitly collect pages eagerly | `sentry.paginateAll.<operation>(options, { maxPages?, startCursor? }?)` | `{ data, stopReason, nextCursor? }` |
327
327
 
328
328
  `fetchPage` is available for operations whose schema declares a `cursor` query parameter. Collection helpers are available only when the operation's 200 response is an array. Compound response bodies remain intact. Ordinary operation methods such as `sentry.listOrganizations()` still make just one request.
@@ -380,7 +380,59 @@ Automatic sizing is deliberately limited to operations whose forward cursors hav
380
380
 
381
381
  Each request uses the smallest of the remaining item budget, the caller's requested page size (if supplied), and the verified maximum. Other operations retain their query options unchanged. In particular, **projects do not use 100 + 100 + 50**: their backend `OffsetPaginator` includes the page size in its cursor, and resizing mid-traversal can skip rows. Declaring `per_page` in the schema is not enough to enable resizing.
382
382
 
383
- If a server ignores the size or an operation cannot be resized, the helper trims any excess rows and omits the unsafe cursor. It reports `stopReason: "limit"`, even if that was the server's last page. Use `fetchPage` when every row and each page's headers must be retained.
383
+ If a server ignores the size or an operation cannot be resized, the helper trims any excess rows and omits the unsafe server `nextCursor`. It reports `stopReason: "limit"`, even if that was the server's last page. The separate `continuation` retains a position before the pending rows.
384
+
385
+ ### Resume a partially consumed page
386
+
387
+ ```ts
388
+ const options = {
389
+ path: { organization_id_or_slug: "my-org" },
390
+ query: { per_page: 100 },
391
+ };
392
+ const batch = await sentry.paginateUpTo.listOrganizationProjects(options, { limit: 250 });
393
+ // Requests three pages of 100 and returns 250 rows.
394
+ // nextCursor is absent: the next server page would skip the remaining 50.
395
+ if (batch.continuation) {
396
+ const next = await sentry.paginateUpTo.listOrganizationProjects(options, {
397
+ limit: 25,
398
+ resume: batch.continuation,
399
+ });
400
+ // Refetches the third page unchanged and returns its next 25 rows.
401
+ }
402
+ ```
403
+
404
+ `paginateUpTo` returns a `continuation` whenever more rows remain, including on the last server page. Pass it back as `resume`; do not combine it with `startCursor`. At a page boundary it contains the next opaque server `cursor` and `offset: 0`. Within a page it contains the cursor used to fetch that page (absent for the first page), the consumed `offset`, and the original `requestBudget`. It can round-trip through JSON. Keep the same operation, filters, page-size options and fetcher configuration. The SDK does not store credentials, requests or history in it.
405
+
406
+ For standalone `paginateUpTo(fetcher, options, context)`, the callback's second argument is a request budget. It normally equals the remaining item limit. On a partial replay it repeats the original budget so a custom fetcher reconstructs the same request, even when the new batch limit is smaller. After that page, the callback receives the new remaining budget. A callback must retain its own operation-specific sizing rules; the SDK never derives them from the cursor's contents.
407
+
408
+ The standalone collector also accepts a callback returning a normalized `{ data: T[], nextCursor? }` page, including the result of `fetchPage`. Such a callback owns response/error handling and rejects on failure; `request` and `error` are reserved for SDK operation envelopes. Its explicit `nextCursor` is authoritative; the collector does not reinterpret an attached `Response`. SDK operation results retain their existing unwrapping and error behavior. The exported `BudgetedPageFetcher` type is unchanged; `CollectionPageFetcher` describes this additional composition path.
409
+
410
+ ```ts
411
+ import { paginateUpTo } from "@sentry/api";
412
+
413
+ const batch = await paginateUpTo(
414
+ cursor => sentry.fetchPage.listOrganizationProjects(options, cursor),
415
+ { limit: 250 },
416
+ "listOrganizationProjects",
417
+ );
418
+ ```
419
+
420
+ `nextCursor` keeps its existing meaning and can still be sent directly to the API. A `continuation` is SDK state, not a server cursor. Existing single-page, custom-bookmark and infinite-query consumers can continue using ordinary operations or `fetchPage`; neither API changes.
421
+
422
+ ### Consume an already fetched page
423
+
424
+ For a consumer that owns fetching, `consumePage` shares the row-consumption logic without performing I/O or requiring a `Response`:
425
+
426
+ ```ts
427
+ import { consumePage } from "@sentry/api";
428
+
429
+ const page = await sentry.fetchPage.listOrganizationProjects(options, cursor);
430
+ const consumed = consumePage(page, { cursor, offset: 0 }, 25);
431
+ // Keep page.response and any consumer metadata separately.
432
+ // consumed.position identifies where to continue; absence means exhausted.
433
+ ```
434
+
435
+ To resume a position, fetch its cursor with the same page options and pass that position to `consumePage`. A manual `PagePosition` describes row consumption; `paginateUpTo` additionally records the request budget in its `PaginationContinuation`. The caller owns serialization, custom filtering/bookmarks and navigation history. Neither helper snapshots data against concurrent server changes.
384
436
 
385
437
  ### Eager collection and completion
386
438
 
@@ -393,7 +445,7 @@ console.log(projects.data, projects.stopReason);
393
445
  // If stopReason is "maxPages", projects.nextCursor resumes traversal.
394
446
  ```
395
447
 
396
- Both collection helpers return `PaginatedCollection<TItem>`:
448
+ Both collection helpers return `PaginatedCollection<TItem>`. Only `paginateUpTo` supplies the additional `continuation` described above:
397
449
 
398
450
  | `stopReason` | Meaning | `nextCursor` |
399
451
  | --- | --- | --- |
package/dist/index.d.ts CHANGED
@@ -2,8 +2,8 @@ export { addOrganizationMember, addOrganizationMemberTeam, addProjectSymbolSourc
2
2
  export type { ActionFilterValidator, AddOrganizationMemberData, AddOrganizationMemberErrors, AddOrganizationMemberResponse, AddOrganizationMemberResponses, AddOrganizationMemberTeamData, AddOrganizationMemberTeamErrors, AddOrganizationMemberTeamResponse, AddOrganizationMemberTeamResponses, AddProjectSymbolSourceData, AddProjectSymbolSourceErrors, AddProjectSymbolSourceResponse, AddProjectSymbolSourceResponses, AddProjectTeamData, AddProjectTeamErrors, AddProjectTeamResponse, AddProjectTeamResponses, ArtifactBundleAssembleResponse, AssembleOrganizationArtifactBundleData, AssembleOrganizationArtifactBundleErrors, AssembleOrganizationArtifactBundleResponse, AssembleOrganizationArtifactBundleResponses, AssembleProjectDebugFilesData, AssembleProjectDebugFilesErrors, AssembleProjectDebugFilesResponse, AssembleProjectDebugFilesResponse2, AssembleProjectDebugFilesResponses, AutofixPostResponse, AutofixStateResponse, BaseDataConditionGroupValidator, BaseDetectorTypeValidator, BaseTeam, BulkCodeMappingsPartialResponse, BulkCodeMappingsRequest, BulkCodeMappingsResponse, BulkEnvironment, BulkUpdateAlerts, BulkUpdateMonitors, BulkUpdateProjectEnvironments, BulkUpsertOrganizationCodeMappingsData, BulkUpsertOrganizationCodeMappingsErrors, BulkUpsertOrganizationCodeMappingsResponse, BulkUpsertOrganizationCodeMappingsResponses, CheckInList, ChunkUpload, ChunkUploadOptionsResponse, ClientOptions, Commit, CommitPatchSet, CommitSerializerResponse, ConfigValidator, CreateExternalIssueRequest, CreateOrganizationCodeMappingData, CreateOrganizationCodeMappingErrors, CreateOrganizationCodeMappingRequest, CreateOrganizationCodeMappingResponse, CreateOrganizationCodeMappingResponses, CreateOrganizationDashboardData, CreateOrganizationDashboardErrors, CreateOrganizationDashboardResponse, CreateOrganizationDashboardResponses, CreateOrganizationDiscoverSavedQueryData, CreateOrganizationDiscoverSavedQueryErrors, CreateOrganizationDiscoverSavedQueryResponse, CreateOrganizationDiscoverSavedQueryResponses, CreateOrganizationExternalUserData, CreateOrganizationExternalUserErrors, CreateOrganizationExternalUserResponse, CreateOrganizationExternalUserResponses, CreateOrganizationForwardingData, CreateOrganizationForwardingErrors, CreateOrganizationForwardingResponse, CreateOrganizationForwardingResponses, CreateOrganizationIssueIntegrationData, CreateOrganizationIssueIntegrationErrors, CreateOrganizationIssueIntegrationResponse, CreateOrganizationIssueIntegrationResponses, CreateOrganizationIssueViewData, CreateOrganizationIssueViewErrors, CreateOrganizationIssueViewResponse, CreateOrganizationIssueViewResponses, CreateOrganizationMonitorData, CreateOrganizationMonitorErrors, CreateOrganizationMonitorResponse, CreateOrganizationMonitorResponses, CreateOrganizationNotificationsActionData, CreateOrganizationNotificationsActionErrors, CreateOrganizationNotificationsActionResponse, CreateOrganizationNotificationsActionResponses, CreateOrganizationProjectData, CreateOrganizationProjectDetectorData, CreateOrganizationProjectDetectorErrors, CreateOrganizationProjectDetectorResponse, CreateOrganizationProjectDetectorResponses, CreateOrganizationProjectErrors, CreateOrganizationProjectResponse, CreateOrganizationProjectResponses, CreateOrganizationReleaseData, CreateOrganizationReleaseDeployData, CreateOrganizationReleaseDeployErrors, CreateOrganizationReleaseDeployResponse, CreateOrganizationReleaseDeployResponses, CreateOrganizationReleaseErrors, CreateOrganizationReleaseResponse, CreateOrganizationReleaseResponse2, CreateOrganizationReleaseResponses, CreateOrganizationSpikeProtectionData, CreateOrganizationSpikeProtectionErrors, CreateOrganizationSpikeProtectionResponses, CreateOrganizationTeamData, CreateOrganizationTeamErrors, CreateOrganizationTeamResponse, CreateOrganizationTeamResponses, CreateOrganizationWorkflowData, CreateOrganizationWorkflowErrors, CreateOrganizationWorkflowResponse, CreateOrganizationWorkflowResponses, CreateProjectCodeOwnersData, CreateProjectCodeOwnersErrors, CreateProjectCodeOwnersResponse, CreateProjectCodeOwnersResponses, CreateProjectCustomInboundFilterData, CreateProjectCustomInboundFilterErrors, CreateProjectCustomInboundFilterResponse, CreateProjectCustomInboundFilterResponses, CreateProjectHookData, CreateProjectHookErrors, CreateProjectHookResponse, CreateProjectHookResponses, CreateProjectKeyData, CreateProjectKeyErrors, CreateProjectKeyResponse, CreateProjectKeyResponses, CreateProjectPreprodSizeAnalysisSkippedStatusCheckData, CreateProjectPreprodSizeAnalysisSkippedStatusCheckErrors, CreateProjectPreprodSizeAnalysisSkippedStatusCheckResponses, CreateProjectPreprodSnapshotSkippedStatusCheckData, CreateProjectPreprodSnapshotSkippedStatusCheckErrors, CreateProjectPreprodSnapshotSkippedStatusCheckResponses, CreateProjectReplayDeletionJobData, CreateProjectReplayDeletionJobErrors, CreateProjectReplayDeletionJobResponse, CreateProjectReplayDeletionJobResponses, CreateProjectUserFeedbackData, CreateProjectUserFeedbackErrors, CreateProjectUserFeedbackResponse, CreateProjectUserFeedbackResponses, CreateReplayDeletionJob, CreateSentryAppInstallationExternalIssueData, CreateSentryAppInstallationExternalIssueErrors, CreateSentryAppInstallationExternalIssueResponse, CreateSentryAppInstallationExternalIssueResponses, CreateTeamExternalTeamData, CreateTeamExternalTeamErrors, CreateTeamExternalTeamResponse, CreateTeamExternalTeamResponses, CreateTeamProjectData, CreateTeamProjectErrors, CreateTeamProjectResponse, CreateTeamProjectResponses, CustomInboundFilter, CustomInboundFilterCondition, CustomInboundFilterWritable, Dashboard, DashboardCreateWidget, DashboardCreateWidgetLayout, DashboardDetails, DashboardDetailsModel, DashboardListResponse, DashboardPermissions, DashboardWidget, DashboardWidgetQuery, DashboardWidgetQueryOnDemand, DataForwarder, DataForwarderResponse, DeleteOrganizationCodeMappingData, DeleteOrganizationCodeMappingErrors, DeleteOrganizationCodeMappingResponse, DeleteOrganizationCodeMappingResponses, DeleteOrganizationDashboardData, DeleteOrganizationDashboardErrors, DeleteOrganizationDashboardResponse, DeleteOrganizationDashboardResponses, DeleteOrganizationDetectorData, DeleteOrganizationDetectorErrors, DeleteOrganizationDetectorResponse, DeleteOrganizationDetectorResponses, DeleteOrganizationDetectorsData, DeleteOrganizationDetectorsErrors, DeleteOrganizationDetectorsResponse, DeleteOrganizationDetectorsResponses, DeleteOrganizationDiscoverSavedQueryData, DeleteOrganizationDiscoverSavedQueryErrors, DeleteOrganizationDiscoverSavedQueryResponse, DeleteOrganizationDiscoverSavedQueryResponses, DeleteOrganizationExternalUserData, DeleteOrganizationExternalUserErrors, DeleteOrganizationExternalUserResponse, DeleteOrganizationExternalUserResponses, DeleteOrganizationForwardingData, DeleteOrganizationForwardingErrors, DeleteOrganizationForwardingResponse, DeleteOrganizationForwardingResponses, DeleteOrganizationIntegrationData, DeleteOrganizationIntegrationErrors, DeleteOrganizationIntegrationResponse, DeleteOrganizationIntegrationResponses, DeleteOrganizationIssueData, DeleteOrganizationIssueErrors, DeleteOrganizationIssueExternalIssueData, DeleteOrganizationIssueExternalIssueErrors, DeleteOrganizationIssueExternalIssueResponse, DeleteOrganizationIssueExternalIssueResponses, DeleteOrganizationIssueIntegrationData, DeleteOrganizationIssueIntegrationError, DeleteOrganizationIssueIntegrationErrors, DeleteOrganizationIssueIntegrationResponse, DeleteOrganizationIssueIntegrationResponses, DeleteOrganizationIssueResponses, DeleteOrganizationIssuesData, DeleteOrganizationIssuesErrors, DeleteOrganizationIssuesResponse, DeleteOrganizationIssuesResponses, DeleteOrganizationMemberData, DeleteOrganizationMemberErrors, DeleteOrganizationMemberResponse, DeleteOrganizationMemberResponses, DeleteOrganizationMemberTeamData, DeleteOrganizationMemberTeamErrors, DeleteOrganizationMemberTeamResponse, DeleteOrganizationMemberTeamResponses, DeleteOrganizationMonitorData, DeleteOrganizationMonitorErrors, DeleteOrganizationMonitorResponses, DeleteOrganizationNotificationsActionData, DeleteOrganizationNotificationsActionResponse, DeleteOrganizationNotificationsActionResponses, DeleteOrganizationPreprodArtifactSnapshotData, DeleteOrganizationPreprodArtifactSnapshotErrors, DeleteOrganizationPreprodArtifactSnapshotResponse, DeleteOrganizationPreprodArtifactSnapshotResponses, DeleteOrganizationReleaseData, DeleteOrganizationReleaseErrors, DeleteOrganizationReleaseFileData, DeleteOrganizationReleaseFileErrors, DeleteOrganizationReleaseFileResponse, DeleteOrganizationReleaseFileResponses, DeleteOrganizationReleaseResponse, DeleteOrganizationReleaseResponses, DeleteOrganizationScimV2GroupData, DeleteOrganizationScimV2GroupErrors, DeleteOrganizationScimV2GroupResponse, DeleteOrganizationScimV2GroupResponses, DeleteOrganizationScimV2UserData, DeleteOrganizationScimV2UserErrors, DeleteOrganizationScimV2UserResponse, DeleteOrganizationScimV2UserResponses, DeleteOrganizationSpikeProtectionsData, DeleteOrganizationSpikeProtectionsErrors, DeleteOrganizationSpikeProtectionsResponses, DeleteOrganizationWorkflowData, DeleteOrganizationWorkflowErrors, DeleteOrganizationWorkflowResponse, DeleteOrganizationWorkflowResponses, DeleteOrganizationWorkflowsData, DeleteOrganizationWorkflowsErrors, DeleteOrganizationWorkflowsResponse, DeleteOrganizationWorkflowsResponses, DeleteProjectCodeOwnersData, DeleteProjectCodeOwnersErrors, DeleteProjectCodeOwnersResponse, DeleteProjectCodeOwnersResponses, DeleteProjectCustomInboundFilterData, DeleteProjectCustomInboundFilterErrors, DeleteProjectCustomInboundFilterResponse, DeleteProjectCustomInboundFilterResponses, DeleteProjectData, DeleteProjectErrors, DeleteProjectHookData, DeleteProjectHookErrors, DeleteProjectHookResponse, DeleteProjectHookResponses, DeleteProjectIssuesData, DeleteProjectIssuesErrors, DeleteProjectIssuesResponse, DeleteProjectIssuesResponses, DeleteProjectKeyData, DeleteProjectKeyErrors, DeleteProjectKeyResponse, DeleteProjectKeyResponses, DeleteProjectMonitorData, DeleteProjectMonitorErrors, DeleteProjectMonitorResponses, DeleteProjectReleaseFileData, DeleteProjectReleaseFileErrors, DeleteProjectReleaseFileResponse, DeleteProjectReleaseFileResponses, DeleteProjectReplayData, DeleteProjectReplayErrors, DeleteProjectReplayResponse, DeleteProjectReplayResponses, DeleteProjectResponse, DeleteProjectResponses, DeleteProjectSymbolSourceData, DeleteProjectSymbolSourceErrors, DeleteProjectSymbolSourceResponse, DeleteProjectSymbolSourceResponses, DeleteProjectTeamData, DeleteProjectTeamErrors, DeleteProjectTeamResponse, DeleteProjectTeamResponses, DeleteSentryAppData, DeleteSentryAppErrors, DeleteSentryAppInstallationExternalIssueData, DeleteSentryAppInstallationExternalIssueErrors, DeleteSentryAppInstallationExternalIssueResponse, DeleteSentryAppInstallationExternalIssueResponses, DeleteSentryAppResponse, DeleteSentryAppResponses, DeleteTeamData, DeleteTeamErrors, DeleteTeamExternalTeamData, DeleteTeamExternalTeamErrors, DeleteTeamExternalTeamResponse, DeleteTeamExternalTeamResponses, DeleteTeamResponse, DeleteTeamResponses, Deploy, DeployResponse, DetailedProject, Detector, DiscoverSavedQuery, DiscoverSavedQueryListResponse, DiscoverSavedQueryModel, DynamicSamplingBias, DynamicSdkLoaderOption, Environment, EnvironmentProject, EventAttachmentDetailsResponse, EventIdLookupResponse, ExecuteSentryAppInstallationExternalIssueActionData, ExecuteSentryAppInstallationExternalIssueActionErrors, ExecuteSentryAppInstallationExternalIssueActionResponse, ExecuteSentryAppInstallationExternalIssueActionResponses, ExplorerAutofixRequest, ExternalActor, ExternalIssueLinkResponse, ExternalTeam, ExternalUser, ExternalUserWritable, Filters, GetFlagLogResponse, GetOrganizationChunkUploadOptionsData, GetOrganizationChunkUploadOptionsErrors, GetOrganizationChunkUploadOptionsResponse, GetOrganizationChunkUploadOptionsResponses, GetOrganizationConfigIntegrationsData, GetOrganizationConfigIntegrationsErrors, GetOrganizationConfigIntegrationsResponse, GetOrganizationConfigIntegrationsResponses, GetOrganizationDashboardData, GetOrganizationDashboardErrors, GetOrganizationDashboardResponse, GetOrganizationDashboardResponses, GetOrganizationData, GetOrganizationDetectorData, GetOrganizationDetectorErrors, GetOrganizationDetectorResponse, GetOrganizationDetectorResponses, GetOrganizationDiscoverSavedQueryData, GetOrganizationDiscoverSavedQueryErrors, GetOrganizationDiscoverSavedQueryResponse, GetOrganizationDiscoverSavedQueryResponses, GetOrganizationErrors, GetOrganizationIntegrationData, GetOrganizationIntegrationResponse, GetOrganizationIntegrationResponses, GetOrganizationIssueAutofixStateData, GetOrganizationIssueAutofixStateErrors, GetOrganizationIssueAutofixStateResponse, GetOrganizationIssueAutofixStateResponses, GetOrganizationIssueData, GetOrganizationIssueErrors, GetOrganizationIssueEventData, GetOrganizationIssueEventErrors, GetOrganizationIssueEventResponse, GetOrganizationIssueEventResponses, GetOrganizationIssueIntegrationData, GetOrganizationIssueIntegrationErrors, GetOrganizationIssueIntegrationResponse, GetOrganizationIssueIntegrationResponses, GetOrganizationIssueResponse, GetOrganizationIssueResponses, GetOrganizationIssueTagData, GetOrganizationIssueTagErrors, GetOrganizationIssueTagResponse, GetOrganizationIssueTagResponses, GetOrganizationMemberData, GetOrganizationMemberErrors, GetOrganizationMemberResponse, GetOrganizationMemberResponses, GetOrganizationMonitorData, GetOrganizationMonitorErrors, GetOrganizationMonitorResponse, GetOrganizationMonitorResponses, GetOrganizationNotificationsActionData, GetOrganizationNotificationsActionResponse, GetOrganizationNotificationsActionResponses, GetOrganizationPreprodArtifactInstallDetailsData, GetOrganizationPreprodArtifactInstallDetailsErrors, GetOrganizationPreprodArtifactInstallDetailsResponse, GetOrganizationPreprodArtifactInstallDetailsResponses, GetOrganizationPreprodArtifactSizeAnalysisData, GetOrganizationPreprodArtifactSizeAnalysisErrors, GetOrganizationPreprodArtifactSizeAnalysisResponse, GetOrganizationPreprodArtifactSizeAnalysisResponses, GetOrganizationPreprodArtifactSnapshotData, GetOrganizationPreprodArtifactSnapshotErrors, GetOrganizationPreprodArtifactSnapshotImageData, GetOrganizationPreprodArtifactSnapshotImageErrors, GetOrganizationPreprodArtifactSnapshotImageResponse, GetOrganizationPreprodArtifactSnapshotImageResponses, GetOrganizationPreprodArtifactSnapshotLatestBaseData, GetOrganizationPreprodArtifactSnapshotLatestBaseErrors, GetOrganizationPreprodArtifactSnapshotLatestBaseResponse, GetOrganizationPreprodArtifactSnapshotLatestBaseResponses, GetOrganizationPreprodArtifactSnapshotResponse, GetOrganizationPreprodArtifactSnapshotResponses, GetOrganizationProfilingFlamegraphData, GetOrganizationProfilingFlamegraphErrors, GetOrganizationProfilingFlamegraphResponse, GetOrganizationProfilingFlamegraphResponses, GetOrganizationReleaseData, GetOrganizationReleaseErrors, GetOrganizationReleaseFileData, GetOrganizationReleaseFileErrors, GetOrganizationReleaseFileResponse, GetOrganizationReleaseFileResponses, GetOrganizationReleaseResponse, GetOrganizationReleaseResponses, GetOrganizationReplayCountData, GetOrganizationReplayCountErrors, GetOrganizationReplayCountResponse, GetOrganizationReplayCountResponses, GetOrganizationReplayData, GetOrganizationReplayErrors, GetOrganizationReplayResponse, GetOrganizationReplayResponses, GetOrganizationResponse, GetOrganizationResponses, GetOrganizationScimV2GroupData, GetOrganizationScimV2GroupErrors, GetOrganizationScimV2GroupResponse, GetOrganizationScimV2GroupResponses, GetOrganizationScimV2ResourceTypeData, GetOrganizationScimV2ResourceTypeErrors, GetOrganizationScimV2ResourceTypeResponse, GetOrganizationScimV2ResourceTypeResponses, GetOrganizationScimV2SchemaData, GetOrganizationScimV2SchemaErrors, GetOrganizationScimV2SchemaResponse, GetOrganizationScimV2SchemaResponses, GetOrganizationScimV2ServiceProviderConfigData, GetOrganizationScimV2ServiceProviderConfigErrors, GetOrganizationScimV2ServiceProviderConfigResponse, GetOrganizationScimV2ServiceProviderConfigResponses, GetOrganizationScimV2UserData, GetOrganizationScimV2UserErrors, GetOrganizationScimV2UserResponse, GetOrganizationScimV2UserResponses, GetOrganizationSessionsData, GetOrganizationSessionsErrors, GetOrganizationSessionsResponse, GetOrganizationSessionsResponses, GetOrganizationStatsSummaryData, GetOrganizationStatsSummaryErrors, GetOrganizationStatsSummaryResponse, GetOrganizationStatsSummaryResponses, GetOrganizationTraceData, GetOrganizationTraceErrors, GetOrganizationTraceMetaData, GetOrganizationTraceMetaErrors, GetOrganizationTraceMetaResponse, GetOrganizationTraceMetaResponses, GetOrganizationTraceResponse, GetOrganizationTraceResponses, GetOrganizationWorkflowData, GetOrganizationWorkflowErrors, GetOrganizationWorkflowResponse, GetOrganizationWorkflowResponses, GetProjectCustomInboundFilterData, GetProjectCustomInboundFilterErrors, GetProjectCustomInboundFilterResponse, GetProjectCustomInboundFilterResponses, GetProjectData, GetProjectEnvironmentData, GetProjectEnvironmentErrors, GetProjectEnvironmentResponse, GetProjectEnvironmentResponses, GetProjectErrors, GetProjectEventAttachmentData, GetProjectEventAttachmentErrors, GetProjectEventAttachmentResponse, GetProjectEventAttachmentResponses, GetProjectEventData, GetProjectEventErrors, GetProjectEventResponse, GetProjectEventResponses, GetProjectEventSourceMapDebugData, GetProjectEventSourceMapDebugErrors, GetProjectEventSourceMapDebugResponse, GetProjectEventSourceMapDebugResponses, GetProjectHookData, GetProjectHookErrors, GetProjectHookResponse, GetProjectHookResponses, GetProjectInstallableBuildLatestData, GetProjectInstallableBuildLatestErrors, GetProjectInstallableBuildLatestResponse, GetProjectInstallableBuildLatestResponses, GetProjectKeyData, GetProjectKeyErrors, GetProjectKeyResponse, GetProjectKeyResponses, GetProjectMonitorData, GetProjectMonitorErrors, GetProjectMonitorResponse, GetProjectMonitorResponses, GetProjectOwnershipData, GetProjectOwnershipResponse, GetProjectOwnershipResponses, GetProjectPreprodSizeAnalysisStatusCheckRulesData, GetProjectPreprodSizeAnalysisStatusCheckRulesErrors, GetProjectPreprodSizeAnalysisStatusCheckRulesResponse, GetProjectPreprodSizeAnalysisStatusCheckRulesResponses, GetProjectPreprodSnapshotStatusCheckRulesData, GetProjectPreprodSnapshotStatusCheckRulesErrors, GetProjectPreprodSnapshotStatusCheckRulesResponse, GetProjectPreprodSnapshotStatusCheckRulesResponses, GetProjectProfilingProfileData, GetProjectProfilingProfileErrors, GetProjectProfilingProfileResponse, GetProjectProfilingProfileResponses, GetProjectReleaseFileData, GetProjectReleaseFileErrors, GetProjectReleaseFileResponse, GetProjectReleaseFileResponses, GetProjectReleaseSetupCompletionData, GetProjectReleaseSetupCompletionErrors, GetProjectReleaseSetupCompletionResponse, GetProjectReleaseSetupCompletionResponses, GetProjectReplayDeletionJobData, GetProjectReplayDeletionJobErrors, GetProjectReplayDeletionJobResponse, GetProjectReplayDeletionJobResponses, GetProjectReplayRecordingSegmentData, GetProjectReplayRecordingSegmentErrors, GetProjectReplayRecordingSegmentResponse, GetProjectReplayRecordingSegmentResponses, GetProjectResponse, GetProjectResponses, GetProjectStacktraceLinkData, GetProjectStacktraceLinkErrors, GetProjectStacktraceLinkResponse, GetProjectStacktraceLinkResponses, GetReplay, GetReplayDeletionJob, GetReplayRecordingSegment, GetReplayViewedBy, GetSentryAppData, GetSentryAppInstallationExternalRequestOptionsData, GetSentryAppInstallationExternalRequestOptionsErrors, GetSentryAppInstallationExternalRequestOptionsResponse, GetSentryAppInstallationExternalRequestOptionsResponses, GetSentryAppResponse, GetSentryAppResponses, GetTeamData, GetTeamErrors, GetTeamResponse, GetTeamResponses, GroupDetailsResponse, GroupEventsResponseDict, GroupExternalIssueResponse, GroupHashesResponse, GroupSearchViewPostValidator, GroupSearchViewTimeFilters, GroupUpdateResponse, GroupValidator, InCommitValidator, InstallInfoResponse, IntegrationChannelsResponse, IntegrationChannelValidationResponse, IntegrationIssueConfigResponse, IntegrationRepositoriesResponse, IssueEventDetailsResponse, IssueIntegrationsResponse, IssueLinkConflict, LatestBaseSnapshotResponse, LatestInstallableBuildResponse, Layout, LegacyBrowserFilter, LinkedDashboard, LinkExternalIssueRequest, LinkProjectRepositoryData, LinkProjectRepositoryErrors, LinkProjectRepositoryResponse, LinkProjectRepositoryResponses, ListClientKeysResponse, ListDataForwarderResponse, ListDetectorSerializerResponse, ListEventAttachmentsResponse, ListFlagLogsResponse, ListMemberOnTeamResponse, ListOrganizationAiConversationsData, ListOrganizationAiConversationsErrors, ListOrganizationAiConversationsResponse, ListOrganizationAiConversationsResponse2, ListOrganizationAiConversationsResponses, ListOrganizationClientKeysResponse, ListOrganizationCodeMappingsData, ListOrganizationCodeMappingsErrors, ListOrganizationCodeMappingsResponse, ListOrganizationCodeMappingsResponse2, ListOrganizationCodeMappingsResponses, ListOrganizationCodeownersAssociationsData, ListOrganizationCodeownersAssociationsErrors, ListOrganizationCodeownersAssociationsResponse, ListOrganizationCodeownersAssociationsResponses, ListOrganizationDashboardsData, ListOrganizationDashboardsErrors, ListOrganizationDashboardsResponse, ListOrganizationDashboardsResponses, ListOrganizationDetectorsData, ListOrganizationDetectorsErrors, ListOrganizationDetectorsResponse, ListOrganizationDetectorsResponses, ListOrganizationDiscoverSavedQueriesData, ListOrganizationDiscoverSavedQueriesErrors, ListOrganizationDiscoverSavedQueriesResponse, ListOrganizationDiscoverSavedQueriesResponses, ListOrganizationEnvironmentsData, ListOrganizationEnvironmentsErrors, ListOrganizationEnvironmentsResponse, ListOrganizationEnvironmentsResponses, ListOrganizationEventsData, ListOrganizationEventsDroppedData, ListOrganizationEventsDroppedErrors, ListOrganizationEventsDroppedResponse, ListOrganizationEventsDroppedResponses, ListOrganizationEventsErrors, ListOrganizationEventsResponse, ListOrganizationEventsResponses, ListOrganizationEventsTimeseriesData, ListOrganizationEventsTimeseriesErrors, ListOrganizationEventsTimeseriesResponse, ListOrganizationEventsTimeseriesResponses, ListOrganizationFlagLogsData, ListOrganizationFlagLogsErrors, ListOrganizationFlagLogsResponse, ListOrganizationFlagLogsResponses, ListOrganizationForwardingData, ListOrganizationForwardingResponse, ListOrganizationForwardingResponses, ListOrganizationIntegrationChannelsData, ListOrganizationIntegrationChannelsErrors, ListOrganizationIntegrationChannelsResponse, ListOrganizationIntegrationChannelsResponses, ListOrganizationIntegrationRepositoriesData, ListOrganizationIntegrationRepositoriesErrors, ListOrganizationIntegrationRepositoriesResponse, ListOrganizationIntegrationRepositoriesResponses, ListOrganizationIntegrationResponse, ListOrganizationIntegrationsData, ListOrganizationIntegrationsResponse, ListOrganizationIntegrationsResponses, ListOrganizationIssueEventsData, ListOrganizationIssueEventsErrors, ListOrganizationIssueEventsResponse, ListOrganizationIssueEventsResponses, ListOrganizationIssueExternalIssuesData, ListOrganizationIssueExternalIssuesResponse, ListOrganizationIssueExternalIssuesResponses, ListOrganizationIssueHashesData, ListOrganizationIssueHashesErrors, ListOrganizationIssueHashesResponse, ListOrganizationIssueHashesResponses, ListOrganizationIssueIntegrationsData, ListOrganizationIssueIntegrationsResponse, ListOrganizationIssueIntegrationsResponses, ListOrganizationIssuesData, ListOrganizationIssuesErrors, ListOrganizationIssuesResponse, ListOrganizationIssuesResponses, ListOrganizationIssueTagValuesData, ListOrganizationIssueTagValuesErrors, ListOrganizationIssueTagValuesResponse, ListOrganizationIssueTagValuesResponses, ListOrganizationIssueViewsData, ListOrganizationIssueViewsErrors, ListOrganizationIssueViewsResponse, ListOrganizationIssueViewsResponses, ListOrganizationMemberResponse, ListOrganizationMembersData, ListOrganizationMembersErrors, ListOrganizationMembersResponse, ListOrganizationMembersResponses, ListOrganizationMonitorCheckinsData, ListOrganizationMonitorCheckinsErrors, ListOrganizationMonitorCheckinsResponse, ListOrganizationMonitorCheckinsResponses, ListOrganizationMonitorsData, ListOrganizationMonitorsErrors, ListOrganizationMonitorsResponse, ListOrganizationMonitorsResponses, ListOrganizationNotificationsActionsData, ListOrganizationNotificationsActionsErrors, ListOrganizationNotificationsActionsResponse, ListOrganizationNotificationsActionsResponses, ListOrganizationProfilingChunksData, ListOrganizationProfilingChunksErrors, ListOrganizationProfilingChunksResponse, ListOrganizationProfilingChunksResponses, ListOrganizationProjectKeysData, ListOrganizationProjectKeysErrors, ListOrganizationProjectKeysResponse, ListOrganizationProjectKeysResponses, ListOrganizationProjectsData, ListOrganizationProjectsErrors, ListOrganizationProjectsResponse, ListOrganizationProjectsResponses, ListOrganizationRelayUsageData, ListOrganizationRelayUsageErrors, ListOrganizationRelayUsageResponse, ListOrganizationRelayUsageResponses, ListOrganizationReleaseCommitfilesData, ListOrganizationReleaseCommitfilesErrors, ListOrganizationReleaseCommitfilesResponses, ListOrganizationReleaseCommitsData, ListOrganizationReleaseCommitsErrors, ListOrganizationReleaseCommitsResponse, ListOrganizationReleaseCommitsResponse2, ListOrganizationReleaseCommitsResponses, ListOrganizationReleaseDeploysData, ListOrganizationReleaseDeploysResponse, ListOrganizationReleaseDeploysResponses, ListOrganizationReleaseFilesData, ListOrganizationReleaseFilesErrors, ListOrganizationReleaseFilesResponse, ListOrganizationReleaseFilesResponses, ListOrganizationReleasesData, ListOrganizationReleasesErrors, ListOrganizationReleasesResponse, ListOrganizationReleasesResponse2, ListOrganizationReleasesResponses, ListOrganizationReleaseThresholdStatusesData, ListOrganizationReleaseThresholdStatusesErrors, ListOrganizationReleaseThresholdStatusesResponse, ListOrganizationReleaseThresholdStatusesResponses, ListOrganizationReplaysData, ListOrganizationReplaySelectorsData, ListOrganizationReplaySelectorsErrors, ListOrganizationReplaySelectorsResponse, ListOrganizationReplaySelectorsResponses, ListOrganizationReplaysErrors, ListOrganizationReplaysResponse, ListOrganizationReplaysResponses, ListOrganizationRepoCommitsData, ListOrganizationRepoCommitsErrors, ListOrganizationRepoCommitsResponse, ListOrganizationRepoCommitsResponses, ListOrganizationReposData, ListOrganizationReposErrors, ListOrganizationRepositoriesResponse, ListOrganizationReposResponse, ListOrganizationReposResponses, ListOrganizations, ListOrganizationScimV2GroupsData, ListOrganizationScimV2GroupsErrors, ListOrganizationScimV2GroupsResponse, ListOrganizationScimV2GroupsResponses, ListOrganizationScimV2ResourceTypesData, ListOrganizationScimV2ResourceTypesErrors, ListOrganizationScimV2ResourceTypesResponse, ListOrganizationScimV2ResourceTypesResponses, ListOrganizationScimV2UsersData, ListOrganizationScimV2UsersErrors, ListOrganizationScimV2UsersResponse, ListOrganizationScimV2UsersResponses, ListOrganizationsData, ListOrganizationSentryAppComponentsData, ListOrganizationSentryAppComponentsErrors, ListOrganizationSentryAppComponentsResponse, ListOrganizationSentryAppComponentsResponses, ListOrganizationSentryAppInstallationsData, ListOrganizationSentryAppInstallationsErrors, ListOrganizationSentryAppInstallationsResponse, ListOrganizationSentryAppInstallationsResponses, ListOrganizationSentryAppsData, ListOrganizationSentryAppsResponse, ListOrganizationSentryAppsResponses, ListOrganizationsErrors, ListOrganizationsResponse, ListOrganizationsResponses, ListOrganizationStatsV2Data, ListOrganizationStatsV2Errors, ListOrganizationStatsV2Response, ListOrganizationStatsV2Responses, ListOrganizationTagsData, ListOrganizationTagsErrors, ListOrganizationTagsResponse, ListOrganizationTagsResponse2, ListOrganizationTagsResponses, ListOrganizationTeamsData, ListOrganizationTeamsErrors, ListOrganizationTeamsResponse, ListOrganizationTeamsResponses, ListOrganizationTraceItemAttributesData, ListOrganizationTraceItemAttributesErrors, ListOrganizationTraceItemAttributesResponse, ListOrganizationTraceItemAttributesResponses, ListOrganizationTraceItemsStatsData, ListOrganizationTraceItemsStatsErrors, ListOrganizationTraceItemsStatsResponse, ListOrganizationTraceItemsStatsResponses, ListOrganizationTraceMetricsData, ListOrganizationTraceMetricsErrors, ListOrganizationTraceMetricsResponse, ListOrganizationTraceMetricsResponse2, ListOrganizationTraceMetricsResponses, ListOrganizationUserTeamsData, ListOrganizationUserTeamsErrors, ListOrganizationUserTeamsResponse, ListOrganizationUserTeamsResponses, ListOrganizationWorkflowsData, ListOrganizationWorkflowsErrors, ListOrganizationWorkflowsResponse, ListOrganizationWorkflowsResponses, ListOrgMembersResponse, ListOrgTeamResponse, ListProjectCodeOwnersData, ListProjectCodeOwnersErrors, ListProjectCodeOwnersResponse, ListProjectCodeOwnersResponses, ListProjectCustomInboundFiltersData, ListProjectCustomInboundFiltersErrors, ListProjectCustomInboundFiltersResponse, ListProjectCustomInboundFiltersResponses, ListProjectDebugFilesData, ListProjectDebugFilesErrors, ListProjectDebugFilesResponse, ListProjectDebugFilesResponse2, ListProjectDebugFilesResponses, ListProjectEnvironments, ListProjectEnvironmentsData, ListProjectEnvironmentsErrors, ListProjectEnvironmentsResponse, ListProjectEnvironmentsResponses, ListProjectEventAttachmentsData, ListProjectEventAttachmentsErrors, ListProjectEventAttachmentsResponse, ListProjectEventAttachmentsResponses, ListProjectEventsData, ListProjectEventsErrors, ListProjectEventsResponse, ListProjectEventsResponses, ListProjectFiltersData, ListProjectFiltersErrors, ListProjectFiltersResponse, ListProjectFiltersResponses, ListProjectHooksData, ListProjectHooksErrors, ListProjectHooksResponse, ListProjectHooksResponses, ListProjectIssuesData, ListProjectIssuesErrors, ListProjectIssuesResponse, ListProjectIssuesResponses, ListProjectKeysData, ListProjectKeysErrors, ListProjectKeysResponse, ListProjectKeysResponses, ListProjectMembersData, ListProjectMembersErrors, ListProjectMembersResponse, ListProjectMembersResponses, ListProjectMonitorCheckinsData, ListProjectMonitorCheckinsErrors, ListProjectMonitorCheckinsResponse, ListProjectMonitorCheckinsResponses, ListProjectReleaseCommitsData, ListProjectReleaseCommitsErrors, ListProjectReleaseCommitsResponse, ListProjectReleaseCommitsResponse2, ListProjectReleaseCommitsResponses, ListProjectReleaseFilesData, ListProjectReleaseFilesErrors, ListProjectReleaseFilesResponse, ListProjectReleaseFilesResponses, ListProjectReleasesData, ListProjectReleasesErrors, ListProjectReleasesResponse, ListProjectReleasesResponse2, ListProjectReleasesResponses, ListProjectReplayClicksData, ListProjectReplayClicksErrors, ListProjectReplayClicksResponse, ListProjectReplayClicksResponses, ListProjectReplayDeletionJobsData, ListProjectReplayDeletionJobsErrors, ListProjectReplayDeletionJobsResponse, ListProjectReplayDeletionJobsResponses, ListProjectReplayRecordingSegmentsData, ListProjectReplayRecordingSegmentsErrors, ListProjectReplayRecordingSegmentsResponse, ListProjectReplayRecordingSegmentsResponses, ListProjectReplayViewedByData, ListProjectReplayViewedByErrors, ListProjectReplayViewedByResponse, ListProjectReplayViewedByResponses, ListProjectRepositoriesData, ListProjectRepositoriesResponse, ListProjectRepositoriesResponses, ListProjectStatsData, ListProjectStatsErrors, ListProjectStatsResponse, ListProjectStatsResponses, ListProjectSymbolSourcesData, ListProjectSymbolSourcesErrors, ListProjectSymbolSourcesResponse, ListProjectSymbolSourcesResponses, ListProjectTagValuesData, ListProjectTagValuesErrors, ListProjectTagValuesResponse, ListProjectTagValuesResponses, ListProjectTeamsData, ListProjectTeamsErrors, ListProjectTeamsResponse, ListProjectTeamsResponses, ListProjectUserFeedbackData, ListProjectUserFeedbackErrors, ListProjectUserFeedbackResponse, ListProjectUserFeedbackResponses, ListProjectUsersData, ListProjectUsersErrors, ListProjectUsersResponse, ListProjectUsersResponse2, ListProjectUsersResponses, ListReleaseFiles, ListReleaseSetupSteps, ListReplayClicks, ListReplayDeletionJobs, ListReplayRecordingSegments, ListReplays, ListSeerModelsData, ListSeerModelsResponse, ListSeerModelsResponses, ListSelectors, ListStackCodeMappingPrefixesData, ListStackCodeMappingPrefixesErrors, ListStackCodeMappingPrefixesResponse, ListStackCodeMappingPrefixesResponses, ListTeamMembersData, ListTeamMembersErrors, ListTeamMembersResponse, ListTeamMembersResponses, ListTeamProjectResponse, ListTeamProjectsData, ListTeamProjectsErrors, ListTeamProjectsResponse, ListTeamProjectsResponses, ListTraceItemAttributesResponse, ListWorkflow, MappingItem, Monitor, MonitorList, MonitorValidator, NotificationAction, OrganizationCodeMappingResponse, OrganizationCodeOwnersAssociationsResponse, OrganizationConfigIntegrationsEndpointResponse, OrganizationDetailsPut, OrganizationEnvironmentResponse, OrganizationEventsDroppedResponse, OrganizationEventsResponseDict, OrganizationEventsTimeseriesResponse, OrganizationGroupIndexGetResponse, OrganizationGroupIndexPutResponse, OrganizationIntegrationResponse, OrganizationIssueView, OrganizationIssueViewList, OrganizationMember, OrganizationMemberRequest, OrganizationMemberRequestWritable, OrganizationMemberScim, OrganizationMemberTeam, OrganizationMemberTeamDetails, OrganizationMemberWithRoles, OrganizationProfilingChunksResponse, OrganizationProfilingFlamegraphResponse, OrganizationProjectResponseDict, OrganizationRelayResponse, OrganizationRelease, OrganizationRepositorySettingsResponse, OrganizationSentryAppDetailsResponse, OrganizationStatsSummaryResponse, OrganizationSummary, OrganizationTraceMetaResponse, OrganizationTraceResponse, OrganizationWithProjectsAndTeams, OrgReleaseResponse, OutcomesResponse, OutgoingNotificationAction, PlatformExternalIssueResponse, ProjectAdmin, ProjectCodeOwners, ProjectCodeOwnersCreateRequest, ProjectCodeOwnersList, ProjectCodeOwnersUpdateRequest, ProjectEventDetailsResponse, ProjectEventsResponseDict, ProjectFilterResponse, ProjectKey, ProjectKeyPost, ProjectOwnership, ProjectOwnershipRequest, ProjectPost, ProjectProfilingProfileResponse, ProjectRepoLinkRequest, ProjectRepoLinkResponse, ProjectRepoListResponse, ProjectSizeStatusCheckRulesResponse, ProjectSnapshotStatusCheckRulesResponse, ProjectStats, ProjectSummary, ProjectTeamsResponse, ProjectWithTeam, ProvisionOrganizationScimV2GroupData, ProvisionOrganizationScimV2GroupErrors, ProvisionOrganizationScimV2GroupResponse, ProvisionOrganizationScimV2GroupResponses, ProvisionOrganizationScimV2UserData, ProvisionOrganizationScimV2UserErrors, ProvisionOrganizationScimV2UserResponse, ProvisionOrganizationScimV2UserResponses, RateLimit, ReleaseFile, ReleaseFileResponse, ReleaseFileUpload, ReleaseHeadCommit, ReleaseHeadCommitSerializerDeprecated, ReleaseSerializerWithProjects, ReleaseThresholdStatusResponse, ReplayCounts, ReplayDeletionJobCreate, ReplayDeletionJobCreateData, RepositoryProjectPathConfig, RepositorySettings, ResolveOrganizationEventIdData, ResolveOrganizationEventIdErrors, ResolveOrganizationEventIdResponse, ResolveOrganizationEventIdResponses, ResolveOrganizationShortIdData, ResolveOrganizationShortIdErrors, ResolveOrganizationShortIdResponse, ResolveOrganizationShortIdResponses, RetrieveOrganizationAiConversationData, RetrieveOrganizationAiConversationErrors, RetrieveOrganizationAiConversationResponse, RetrieveOrganizationAiConversationResponse2, RetrieveOrganizationAiConversationResponses, RetrieveOrganizationFlagLogData, RetrieveOrganizationFlagLogErrors, RetrieveOrganizationFlagLogResponse, RetrieveOrganizationFlagLogResponses, RetrieveProjectCodeOwnersData, RetrieveProjectCodeOwnersErrors, RetrieveProjectCodeOwnersResponse, RetrieveProjectCodeOwnersResponses, ScimListResourceTypesResponse, ScimListResponseEnvelopeScimMemberIndexResponse, ScimListResponseEnvelopeScimTeamIndexResponse, ScimMemberProvision, ScimPatchOperation, ScimPatchRequest, ScimResourceTypeResponse, ScimSchemaResponse, ScimServiceProviderConfigResponse, ScimTeamPatchOperation, ScimTeamPatchRequest, ScimTeamRequestBody, SeerModelsResponse, SentryAppComponentsResponse, SentryAppDetailsResponse, SentryAppExternalRequestOptionsResponse, SentryAppInstallationExternalIssueActions, SentryAppParser, SessionsQueryResult, ShortIdLookupResponse, SizeAnalysisResponse, SkipStatusCheck, SnapshotCreateResponse, SnapshotDetailsResponse, SnapshotImageDetailResponse, Source, SourceMapDebug, StackPrefixesResponse, StacktraceLinkResponse, StarOrganizationServiceSpanData, StarOrganizationServiceSpanErrors, StarOrganizationServiceSpanResponses, StarSegment, StartOrganizationIssueAutofixData, StartOrganizationIssueAutofixErrors, StartOrganizationIssueAutofixResponse, StartOrganizationIssueAutofixResponses, StatusDetailsValidator, TagKeyDetailsDict, TagKeyValuesDict, Team, TeamDetails, TeamPost, TeamScim, TraceItemStatsResponse, UnstarOrganizationServiceSpanData, UnstarOrganizationServiceSpanErrors, UnstarOrganizationServiceSpanResponses, UpdateClientKey, UpdateOrganizationCodeMappingData, UpdateOrganizationCodeMappingErrors, UpdateOrganizationCodeMappingResponse, UpdateOrganizationCodeMappingResponses, UpdateOrganizationDashboardData, UpdateOrganizationDashboardErrors, UpdateOrganizationDashboardResponse, UpdateOrganizationDashboardResponses, UpdateOrganizationData, UpdateOrganizationDetectorData, UpdateOrganizationDetectorErrors, UpdateOrganizationDetectorResponse, UpdateOrganizationDetectorResponses, UpdateOrganizationDetectorsData, UpdateOrganizationDetectorsErrors, UpdateOrganizationDetectorsResponse, UpdateOrganizationDetectorsResponses, UpdateOrganizationDiscoverSavedQueryData, UpdateOrganizationDiscoverSavedQueryErrors, UpdateOrganizationDiscoverSavedQueryResponse, UpdateOrganizationDiscoverSavedQueryResponses, UpdateOrganizationErrors, UpdateOrganizationExternalUserData, UpdateOrganizationExternalUserErrors, UpdateOrganizationExternalUserResponse, UpdateOrganizationExternalUserResponses, UpdateOrganizationForwardingData, UpdateOrganizationForwardingErrors, UpdateOrganizationForwardingResponse, UpdateOrganizationForwardingResponses, UpdateOrganizationIssueData, UpdateOrganizationIssueErrors, UpdateOrganizationIssueIntegrationData, UpdateOrganizationIssueIntegrationError, UpdateOrganizationIssueIntegrationErrors, UpdateOrganizationIssueIntegrationResponse, UpdateOrganizationIssueIntegrationResponses, UpdateOrganizationIssueResponse, UpdateOrganizationIssueResponses, UpdateOrganizationIssuesData, UpdateOrganizationIssuesErrors, UpdateOrganizationIssuesResponse, UpdateOrganizationIssuesResponses, UpdateOrganizationMemberData, UpdateOrganizationMemberErrors, UpdateOrganizationMemberResponse, UpdateOrganizationMemberResponses, UpdateOrganizationMemberTeamData, UpdateOrganizationMemberTeamErrors, UpdateOrganizationMemberTeamResponse, UpdateOrganizationMemberTeamResponses, UpdateOrganizationMonitorData, UpdateOrganizationMonitorErrors, UpdateOrganizationMonitorResponse, UpdateOrganizationMonitorResponses, UpdateOrganizationNotificationsActionData, UpdateOrganizationNotificationsActionErrors, UpdateOrganizationNotificationsActionResponse, UpdateOrganizationNotificationsActionResponses, UpdateOrganizationReleaseData, UpdateOrganizationReleaseErrors, UpdateOrganizationReleaseFileData, UpdateOrganizationReleaseFileErrors, UpdateOrganizationReleaseFileResponse, UpdateOrganizationReleaseFileResponses, UpdateOrganizationReleaseResponse, UpdateOrganizationReleaseResponses, UpdateOrganizationRepositorySettingsData, UpdateOrganizationRepositorySettingsErrors, UpdateOrganizationRepositorySettingsResponse, UpdateOrganizationRepositorySettingsResponses, UpdateOrganizationResponse, UpdateOrganizationResponses, UpdateOrganizationScimV2GroupData, UpdateOrganizationScimV2GroupErrors, UpdateOrganizationScimV2GroupResponse, UpdateOrganizationScimV2GroupResponses, UpdateOrganizationScimV2UserData, UpdateOrganizationScimV2UserErrors, UpdateOrganizationScimV2UserResponse, UpdateOrganizationScimV2UserResponses, UpdateOrganizationWorkflowData, UpdateOrganizationWorkflowErrors, UpdateOrganizationWorkflowResponse, UpdateOrganizationWorkflowResponses, UpdateOrganizationWorkflowsData, UpdateOrganizationWorkflowsErrors, UpdateOrganizationWorkflowsResponse, UpdateOrganizationWorkflowsResponses, UpdateOrgMemberRoles, UpdateProjectCodeOwnersData, UpdateProjectCodeOwnersErrors, UpdateProjectCodeOwnersResponse, UpdateProjectCodeOwnersResponses, UpdateProjectCustomInboundFilterData, UpdateProjectCustomInboundFilterErrors, UpdateProjectCustomInboundFilterResponse, UpdateProjectCustomInboundFilterResponses, UpdateProjectData, UpdateProjectEnvironmentData, UpdateProjectEnvironmentErrors, UpdateProjectEnvironmentResponse, UpdateProjectEnvironmentResponses, UpdateProjectEnvironmentsData, UpdateProjectEnvironmentsErrors, UpdateProjectEnvironmentsResponse, UpdateProjectEnvironmentsResponses, UpdateProjectErrors, UpdateProjectFilterData, UpdateProjectFilterErrors, UpdateProjectFilterResponse, UpdateProjectFilterResponses, UpdateProjectHookData, UpdateProjectHookErrors, UpdateProjectHookResponse, UpdateProjectHookResponses, UpdateProjectIssuesData, UpdateProjectIssuesErrors, UpdateProjectIssuesResponse, UpdateProjectIssuesResponses, UpdateProjectKeyData, UpdateProjectKeyErrors, UpdateProjectKeyResponse, UpdateProjectKeyResponses, UpdateProjectMonitorData, UpdateProjectMonitorErrors, UpdateProjectMonitorResponse, UpdateProjectMonitorResponses, UpdateProjectOwnershipData, UpdateProjectOwnershipErrors, UpdateProjectOwnershipResponse, UpdateProjectOwnershipResponses, UpdateProjectReleaseFileData, UpdateProjectReleaseFileErrors, UpdateProjectReleaseFileResponse, UpdateProjectReleaseFileResponses, UpdateProjectResponse, UpdateProjectResponses, UpdateProjectSymbolSourceData, UpdateProjectSymbolSourceErrors, UpdateProjectSymbolSourceResponse, UpdateProjectSymbolSourceResponses, UpdateSentryAppData, UpdateSentryAppErrors, UpdateSentryAppResponse, UpdateSentryAppResponses, UpdateTeamData, UpdateTeamErrors, UpdateTeamExternalTeamData, UpdateTeamExternalTeamErrors, UpdateTeamExternalTeamResponse, UpdateTeamExternalTeamResponses, UpdateTeamResponse, UpdateTeamResponses, UploadOrganizationChunksData, UploadOrganizationChunksErrors, UploadOrganizationChunksResponses, UploadOrganizationReleaseFileData, UploadOrganizationReleaseFileErrors, UploadOrganizationReleaseFileResponse, UploadOrganizationReleaseFileResponses, UploadProjectPreprodArtifactSnapshotData, UploadProjectPreprodArtifactSnapshotErrors, UploadProjectPreprodArtifactSnapshotResponse, UploadProjectPreprodArtifactSnapshotResponses, UploadProjectReleaseFileData, UploadProjectReleaseFileErrors, UploadProjectReleaseFileResponse, UploadProjectReleaseFileResponses, ValidateOrganizationIntegrationChannelData, ValidateOrganizationIntegrationChannelErrors, ValidateOrganizationIntegrationChannelResponse, ValidateOrganizationIntegrationChannelResponses, WidgetLayout, Workflow, WorkflowValidator } from './types.gen';
3
3
  export { callWithTypedErrors, narrowError, SentryApiError } from './sentry-errors.ts';
4
4
  export type { DocumentedSentryApiError, NarrowedResult, SentryApiResultError, SentryApiTransportError, SdkResult, UndocumentedSentryApiError } from './sentry-errors.ts';
5
- export { parseSentryLinkHeader, unwrapResult, unwrapPaginatedResult, fetchPage, paginateAll, paginateUpTo } from './sentry-pagination.ts';
6
- export type { UnwrappedResult, PaginatedResponse, PaginatedCollection, PaginateAllOptions, PaginateUpToOptions, PageFetcher, BudgetedPageFetcher } from './sentry-pagination.ts';
5
+ export { parseSentryLinkHeader, unwrapResult, unwrapPaginatedResult, fetchPage, paginateAll, paginateUpTo, consumePage } from './sentry-pagination.ts';
6
+ export type { UnwrappedResult, PaginatedResponse, PaginatedCollection, PaginateAllOptions, PaginateUpToOptions, PageFetcher, BudgetedPageFetcher, CollectionPage, CollectionPageFetcher, PagePosition, PaginationContinuation } from './sentry-pagination.ts';
7
7
  export * from './error-results.gen.ts';
8
8
  export type * from './query-enums.gen.ts';
9
9
  export * from './pagination.gen.ts';
package/dist/index.js CHANGED
@@ -2540,6 +2540,32 @@ function assertPositiveInteger(value, name) {
2540
2540
  throw new Error(`${name} must be a positive safe integer, got ${value}`);
2541
2541
  }
2542
2542
  }
2543
+ function assertPagePosition(position) {
2544
+ if (!Number.isSafeInteger(position.offset) || position.offset < 0) {
2545
+ throw new Error(`pagination: offset must be a non-negative safe integer, got ${position.offset}`);
2546
+ }
2547
+ if (position.cursor !== undefined && typeof position.cursor !== "string") {
2548
+ throw new Error("pagination: cursor must be a string");
2549
+ }
2550
+ }
2551
+ function consumePage(page, position, limit = Number.POSITIVE_INFINITY) {
2552
+ assertPagePosition(position);
2553
+ if (limit !== Number.POSITIVE_INFINITY && (!Number.isSafeInteger(limit) || limit < 0)) {
2554
+ throw new Error(`consumePage: limit must be a non-negative safe integer, got ${limit}`);
2555
+ }
2556
+ const end = Math.min(page.data.length, position.offset + limit);
2557
+ const data = page.data.slice(position.offset, end);
2558
+ if (end < page.data.length) {
2559
+ return { data, position: { ...position, offset: end } };
2560
+ }
2561
+ if (page.nextCursor !== undefined) {
2562
+ return {
2563
+ data,
2564
+ position: { cursor: page.nextCursor, offset: Math.max(0, position.offset - page.data.length) }
2565
+ };
2566
+ }
2567
+ return { data };
2568
+ }
2543
2569
  var parseSentryLinkHeader = (header) => {
2544
2570
  if (!header) {
2545
2571
  return {};
@@ -2649,26 +2675,48 @@ var paginateUpTo = async (fetcher, options, context) => {
2649
2675
  assertPositiveInteger(options.limit, "paginateUpTo: limit");
2650
2676
  const maxPages = options.maxPages ?? 50;
2651
2677
  assertPositiveInteger(maxPages, "paginateUpTo: maxPages");
2678
+ if (options.resume !== undefined && options.startCursor !== undefined) {
2679
+ throw new Error("paginateUpTo: use either resume or startCursor, not both");
2680
+ }
2681
+ if (options.resume !== undefined) {
2682
+ assertPagePosition(options.resume);
2683
+ if (options.resume.offset > 0 || options.resume.requestBudget !== undefined) {
2684
+ assertPositiveInteger(options.resume.requestBudget, "paginateUpTo: resume.requestBudget");
2685
+ }
2686
+ }
2652
2687
  const allItems = [];
2653
- let cursor = options.startCursor;
2688
+ let position = options.resume ?? { cursor: options.startCursor, offset: 0 };
2689
+ let replayBudget = options.resume?.offset ? options.resume.requestBudget : undefined;
2690
+ let continuation;
2654
2691
  for (let page = 0;page < maxPages; page++) {
2655
2692
  const remaining = options.limit - allItems.length;
2656
- const result = await fetcher(cursor, remaining);
2657
- const { data, nextCursor } = unwrapPaginatedResult(result, context);
2658
- allItems.push(...data.slice(0, remaining));
2693
+ const requestBudget = replayBudget ?? remaining;
2694
+ const result = await fetcher(position.cursor, requestBudget);
2695
+ const { data, nextCursor } = result.request !== undefined ? unwrapPaginatedResult(result, context) : result;
2696
+ const consumed = consumePage({ data, nextCursor }, position, remaining);
2697
+ allItems.push(...consumed.data);
2659
2698
  options.onPage?.(allItems.length, options.limit);
2660
- if (data.length > remaining) {
2661
- return { data: allItems, stopReason: "limit" };
2662
- }
2663
- if (nextCursor === undefined) {
2699
+ if (consumed.position === undefined) {
2664
2700
  return { data: allItems, stopReason: "exhausted" };
2665
2701
  }
2702
+ position = consumed.position;
2703
+ continuation = position.offset === 0 ? { ...position, offset: 0 } : { ...position, requestBudget };
2666
2704
  if (allItems.length === options.limit) {
2667
- return { data: allItems, stopReason: "limit", nextCursor };
2705
+ return {
2706
+ data: allItems,
2707
+ stopReason: "limit",
2708
+ ...position.offset === 0 && position.cursor !== undefined ? { nextCursor: position.cursor } : {},
2709
+ continuation
2710
+ };
2668
2711
  }
2669
- cursor = nextCursor;
2712
+ replayBudget = position.offset > 0 ? requestBudget : undefined;
2670
2713
  }
2671
- return { data: allItems, stopReason: "maxPages", nextCursor: cursor };
2714
+ return {
2715
+ data: allItems,
2716
+ stopReason: "maxPages",
2717
+ ...position.offset === 0 && position.cursor !== undefined ? { nextCursor: position.cursor } : {},
2718
+ continuation
2719
+ };
2672
2720
  };
2673
2721
  // src/error-results.gen.ts
2674
2722
  var narrowError_addOrganizationMember = async (options) => callWithTypedErrors(() => addOrganizationMember({ ...options, responseStyle: "fields", throwOnError: false }), [401, 403, 404]);
@@ -4170,6 +4218,7 @@ export {
4170
4218
  createOrganizationDiscoverSavedQuery,
4171
4219
  createOrganizationDashboard,
4172
4220
  createOrganizationCodeMapping,
4221
+ consumePage,
4173
4222
  callWithTypedErrors,
4174
4223
  bulkUpsertOrganizationCodeMappings,
4175
4224
  assembleProjectDebugFiles,
@@ -19,12 +19,32 @@ export type PaginatedResponse<T> = {
19
19
  /** Cursor for the previous page. `undefined` on the first page. */
20
20
  prevCursor?: string;
21
21
  };
22
+ /** A position within a page fetched with an opaque server cursor. */
23
+ export type PagePosition = {
24
+ readonly cursor?: string;
25
+ /** Rows already consumed, before applying the next item budget. */
26
+ readonly offset: number;
27
+ };
28
+ /**
29
+ * Serializable continuation returned by `paginateUpTo`.
30
+ * Keep the same operation, query and fetcher configuration when resuming.
31
+ * Partial pages retain the fetcher's original request budget for exact replay;
32
+ * page boundaries use the next call's budget instead.
33
+ */
34
+ export type PaginationContinuation = PagePosition & ({
35
+ readonly offset: 0;
36
+ readonly requestBudget?: never;
37
+ } | {
38
+ readonly requestBudget: number;
39
+ });
22
40
  /** Aggregate data has no single HTTP response. Only `exhausted` means complete. */
23
41
  export type PaginatedCollection<TItem> = {
24
42
  data: Array<TItem>;
25
43
  stopReason: "exhausted" | "limit" | "maxPages";
26
44
  /** Omitted when exhausted or when trimming a page makes continuation unsafe. */
27
45
  nextCursor?: string;
46
+ /** `paginateUpTo` can resume here, including within a partially consumed page. */
47
+ continuation?: PaginationContinuation;
28
48
  };
29
49
  export type PaginateAllOptions = {
30
50
  /** Hard cap on the number of pages fetched. Default: 50. */
@@ -39,12 +59,42 @@ export type PaginateUpToOptions = {
39
59
  maxPages?: number;
40
60
  /** Resume forward traversal from a previous nextCursor, keeping the same query. */
41
61
  startCursor?: string;
62
+ /** Resume a batch, including pending rows in its last page. Cannot combine with startCursor. */
63
+ resume?: PaginationContinuation;
42
64
  /** Called after each page is fetched. Useful for progress indicators. */
43
65
  onPage?: (fetched: number, limit: number) => void;
44
66
  };
45
67
  export type PageFetcher<TData, TError> = (cursor: string | undefined) => Promise<SdkResult<TData, TError>>;
46
- /** The remaining item budget lets a custom fetcher reduce its HTTP page size. */
47
- export type BudgetedPageFetcher<TData, TError> = (cursor: string | undefined, remaining: number) => Promise<SdkResult<TData, TError>>;
68
+ /**
69
+ * The request budget lets a custom fetcher reduce its HTTP page size.
70
+ * Normally the remaining item budget; replaying a partial page repeats the
71
+ * original value even when the new batch has a different limit.
72
+ */
73
+ export type BudgetedPageFetcher<TData, TError> = (cursor: string | undefined, requestBudget: number) => Promise<SdkResult<TData, TError>>;
74
+ /** A page whose consumer already handled the HTTP response and any errors. */
75
+ export type CollectionPage<TItem> = {
76
+ data: Array<TItem>;
77
+ nextCursor?: string;
78
+ /** Reserved for SDK operation envelopes; normalized fetchers reject on failure. */
79
+ request?: never;
80
+ error?: never;
81
+ };
82
+ /** Compose an existing page fetcher with bounded collection, without HTTP objects. */
83
+ export type CollectionPageFetcher<TItem> = (cursor: string | undefined, requestBudget: number) => Promise<CollectionPage<TItem>>;
84
+ /**
85
+ * Consume rows from an already fetched page without fetching or interpreting cursors.
86
+ * Returns a position for the next consumption, or none when the page is fully
87
+ * consumed and the server advertises no next page. The caller retains the
88
+ * original response, headers and envelope; neither input is mutated.
89
+ *
90
+ * A position inside the current page requires fetching that page again with
91
+ * the same request options. An offset beyond a short page carries forward to
92
+ * its successor. Like server pagination, this does not snapshot changing data.
93
+ */
94
+ export declare function consumePage<T>(page: Pick<PaginatedResponse<Array<T>>, "data" | "nextCursor">, position: PagePosition, limit?: number): {
95
+ data: Array<T>;
96
+ position?: PagePosition;
97
+ };
48
98
  /**
49
99
  * Parse Sentry's Link header to extract pagination cursors.
50
100
  *
@@ -143,11 +193,12 @@ export declare const fetchPage: <TData, TError = unknown>(fetcher: PageFetcher<T
143
193
  */
144
194
  export declare const paginateAll: <TItem, TError = unknown>(fetcher: PageFetcher<Array<TItem>, TError>, context: string, options?: PaginateAllOptions) => Promise<PaginatedCollection<TItem>>;
145
195
  /**
146
- * Collect up to `limit` items, passing the remaining budget to the fetcher.
147
- * Generated wrappers use it to reduce supported HTTP page sizes.
196
+ * Collect up to `limit` items, passing a request budget to the fetcher.
197
+ * Generated wrappers use it to reduce supported HTTP page sizes. A partial
198
+ * continuation replays the original request budget before skipping consumed rows.
148
199
  *
149
200
  * If a server still returns more items than fit, trim the page and omit its
150
- * cursor: resuming past discarded items would skip records. Such a result
151
- * has `stopReason: "limit"`, even if the server has no further pages.
201
+ * server cursor: resuming past discarded items would skip records. The separate
202
+ * continuation preserves the pending rows, even if the server has no further pages.
152
203
  */
153
- export declare const paginateUpTo: <TItem, TError = unknown>(fetcher: BudgetedPageFetcher<Array<TItem>, TError>, options: PaginateUpToOptions, context: string) => Promise<PaginatedCollection<TItem>>;
204
+ export declare const paginateUpTo: <TItem, TError = unknown>(fetcher: BudgetedPageFetcher<Array<TItem>, TError> | CollectionPageFetcher<TItem>, options: PaginateUpToOptions, context: string) => Promise<PaginatedCollection<TItem>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/api",
3
- "version": "0.424.0",
3
+ "version": "0.425.0",
4
4
  "description": "Official auto-generated TypeScript client for the Sentry public REST API",
5
5
  "keywords": [
6
6
  "sentry",