From ed6b11432e1921021687b18c83fd0409e74cf0f7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 13 May 2026 03:27:07 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ...e.BrowserbaseClient.SessionsGetReplay.g.cs | 430 +++++++++++++++++ ...owserbaseClient.SessionsGetReplayPage.g.cs | 435 ++++++++++++++++++ ....IBrowserbaseClient.SessionsGetReplay.g.cs | 32 ++ ...owserbaseClient.SessionsGetReplayPage.g.cs | 36 ++ .../Browserbase.JsonSerializerContext.g.cs | 4 + ...rowserbase.JsonSerializerContextTypes.g.cs | 178 +++---- .../Browserbase.Models.ReplayPage.Json.g.cs | 92 ++++ .../Browserbase.Models.ReplayPage.g.cs | 75 +++ ...Models.SessionsGetReplayResponse.Json.g.cs | 92 ++++ ...base.Models.SessionsGetReplayResponse.g.cs | 55 +++ src/libs/Browserbase/openapi.yaml | 77 ++++ 11 files changed, 1425 insertions(+), 81 deletions(-) create mode 100644 src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplay.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplayPage.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplay.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplayPage.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.Json.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.Json.g.cs create mode 100644 src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.g.cs diff --git a/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplay.g.cs b/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplay.g.cs new file mode 100644 index 0000000..7a82e28 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplay.g.cs @@ -0,0 +1,430 @@ + +#nullable enable + +namespace Browserbase +{ + public partial class BrowserbaseClient + { + + + private static readonly global::Browserbase.EndPointSecurityRequirement s_SessionsGetReplaySecurityRequirement0 = + new global::Browserbase.EndPointSecurityRequirement + { + Authorizations = new global::Browserbase.EndPointAuthorizationRequirement[] + { new global::Browserbase.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Browserbase.EndPointSecurityRequirement[] s_SessionsGetReplaySecurityRequirements = + new global::Browserbase.EndPointSecurityRequirement[] + { s_SessionsGetReplaySecurityRequirement0, + }; + partial void PrepareSessionsGetReplayArguments( + global::System.Net.Http.HttpClient httpClient, + ref global::System.Guid id); + partial void PrepareSessionsGetReplayRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::System.Guid id); + partial void ProcessSessionsGetReplayResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSessionsGetReplayResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Session Replay
+ /// Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SessionsGetReplayAsync( + global::System.Guid id, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await SessionsGetReplayAsResponseAsync( + id: id, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get Session Replay
+ /// Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> SessionsGetReplayAsResponseAsync( + global::System.Guid id, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareSessionsGetReplayArguments( + httpClient: HttpClient, + id: ref id); + + + var __authorizations = global::Browserbase.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_SessionsGetReplaySecurityRequirements, + operationName: "SessionsGetReplayAsync"); + + using var __timeoutCancellationTokenSource = global::Browserbase.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Browserbase.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Browserbase.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Browserbase.PathBuilder( + path: $"/v1/sessions/{id}/replays", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::Browserbase.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Browserbase.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareSessionsGetReplayRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + id: id!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Browserbase.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplay", + methodName: "SessionsGetReplayAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Browserbase.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplay", + methodName: "SessionsGetReplayAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Browserbase.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Browserbase.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Browserbase.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplay", + methodName: "SessionsGetReplayAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Browserbase.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessSessionsGetReplayResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplay", + methodName: "SessionsGetReplayAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplay", + methodName: "SessionsGetReplayAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessSessionsGetReplayResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + var __value = global::Browserbase.SessionsGetReplayResponse.FromJson(__content, JsonSerializerContext) ?? + throw new global::System.InvalidOperationException($"Response deserialization failed for \"{__content}\" "); + return new global::Browserbase.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Browserbase.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + throw new global::Browserbase.ApiException( + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + statusCode: __response.StatusCode) + { + ResponseBody = __content, + ResponseHeaders = global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value), + }; + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + using var __content = await __response.Content.ReadAsStreamAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + var __value = await global::Browserbase.SessionsGetReplayResponse.FromJsonStreamAsync(__content, JsonSerializerContext).ConfigureAwait(false) ?? + throw new global::System.InvalidOperationException("Response deserialization failed."); + return new global::Browserbase.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Browserbase.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __value); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw new global::Browserbase.ApiException( + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + statusCode: __response.StatusCode) + { + ResponseBody = __content, + ResponseHeaders = global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value), + }; + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplayPage.g.cs b/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplayPage.g.cs new file mode 100644 index 0000000..da9b1e2 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.BrowserbaseClient.SessionsGetReplayPage.g.cs @@ -0,0 +1,435 @@ + +#nullable enable + +namespace Browserbase +{ + public partial class BrowserbaseClient + { + + + private static readonly global::Browserbase.EndPointSecurityRequirement s_SessionsGetReplayPageSecurityRequirement0 = + new global::Browserbase.EndPointSecurityRequirement + { + Authorizations = new global::Browserbase.EndPointAuthorizationRequirement[] + { new global::Browserbase.EndPointAuthorizationRequirement + { + Type = "Http", + SchemeId = "HttpBearer", + Location = "Header", + Name = "Bearer", + FriendlyName = "Bearer", + }, + }, + }; + private static readonly global::Browserbase.EndPointSecurityRequirement[] s_SessionsGetReplayPageSecurityRequirements = + new global::Browserbase.EndPointSecurityRequirement[] + { s_SessionsGetReplayPageSecurityRequirement0, + }; + partial void PrepareSessionsGetReplayPageArguments( + global::System.Net.Http.HttpClient httpClient, + ref global::System.Guid id, + ref string pageId); + partial void PrepareSessionsGetReplayPageRequest( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpRequestMessage httpRequestMessage, + global::System.Guid id, + string pageId); + partial void ProcessSessionsGetReplayPageResponse( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage); + + partial void ProcessSessionsGetReplayPageResponseContent( + global::System.Net.Http.HttpClient httpClient, + global::System.Net.Http.HttpResponseMessage httpResponseMessage, + ref string content); + + /// + /// Get Replay Page
+ /// Returns an HLS VOD media playlist (.m3u8) for a specific page of a session replay. + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task SessionsGetReplayPageAsync( + global::System.Guid id, + string pageId, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + var __response = await SessionsGetReplayPageAsResponseAsync( + id: id, + pageId: pageId, + requestOptions: requestOptions, + cancellationToken: cancellationToken + ).ConfigureAwait(false); + + return __response.Body; + } + /// + /// Get Replay Page
+ /// Returns an HLS VOD media playlist (.m3u8) for a specific page of a session replay. + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + public async global::System.Threading.Tasks.Task> SessionsGetReplayPageAsResponseAsync( + global::System.Guid id, + string pageId, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default) + { + PrepareArguments( + client: HttpClient); + PrepareSessionsGetReplayPageArguments( + httpClient: HttpClient, + id: ref id, + pageId: ref pageId); + + + var __authorizations = global::Browserbase.EndPointSecurityResolver.ResolveAuthorizations( + availableAuthorizations: Authorizations, + securityRequirements: s_SessionsGetReplayPageSecurityRequirements, + operationName: "SessionsGetReplayPageAsync"); + + using var __timeoutCancellationTokenSource = global::Browserbase.AutoSDKRequestOptionsSupport.CreateTimeoutCancellationTokenSource( + clientOptions: Options, + requestOptions: requestOptions, + cancellationToken: cancellationToken); + var __effectiveCancellationToken = __timeoutCancellationTokenSource?.Token ?? cancellationToken; + var __effectiveReadResponseAsString = global::Browserbase.AutoSDKRequestOptionsSupport.GetReadResponseAsString( + clientOptions: Options, + requestOptions: requestOptions, + fallbackValue: ReadResponseAsString); + var __maxAttempts = global::Browserbase.AutoSDKRequestOptionsSupport.GetMaxAttempts( + clientOptions: Options, + requestOptions: requestOptions, + supportsRetry: true); + + global::System.Net.Http.HttpRequestMessage __CreateHttpRequest() + { + + var __pathBuilder = new global::Browserbase.PathBuilder( + path: $"/v1/sessions/{id}/replays/{pageId}", + baseUri: HttpClient.BaseAddress); + var __path = __pathBuilder.ToString(); + __path = global::Browserbase.AutoSDKRequestOptionsSupport.AppendQueryParameters( + path: __path, + clientParameters: Options.QueryParameters, + requestParameters: requestOptions?.QueryParameters); + var __httpRequest = new global::System.Net.Http.HttpRequestMessage( + method: global::System.Net.Http.HttpMethod.Get, + requestUri: new global::System.Uri(__path, global::System.UriKind.RelativeOrAbsolute)); +#if NET6_0_OR_GREATER + __httpRequest.Version = global::System.Net.HttpVersion.Version11; + __httpRequest.VersionPolicy = global::System.Net.Http.HttpVersionPolicy.RequestVersionOrHigher; +#endif + + foreach (var __authorization in __authorizations) + { + if (__authorization.Type == "Http" || + __authorization.Type == "OAuth2" || + __authorization.Type == "OpenIdConnect") + { + __httpRequest.Headers.Authorization = new global::System.Net.Http.Headers.AuthenticationHeaderValue( + scheme: __authorization.Name, + parameter: __authorization.Value); + } + else if (__authorization.Type == "ApiKey" && + __authorization.Location == "Header") + { + __httpRequest.Headers.Add(__authorization.Name, __authorization.Value); + } + } + global::Browserbase.AutoSDKRequestOptionsSupport.ApplyHeaders( + request: __httpRequest, + clientHeaders: Options.Headers, + requestHeaders: requestOptions?.Headers); + + PrepareRequest( + client: HttpClient, + request: __httpRequest); + PrepareSessionsGetReplayPageRequest( + httpClient: HttpClient, + httpRequestMessage: __httpRequest, + id: id!, + pageId: pageId!); + + return __httpRequest; + } + + global::System.Net.Http.HttpRequestMessage? __httpRequest = null; + global::System.Net.Http.HttpResponseMessage? __response = null; + var __attemptNumber = 0; + try + { + for (var __attempt = 1; __attempt <= __maxAttempts; __attempt++) + { + __attemptNumber = __attempt; + __httpRequest = __CreateHttpRequest(); + await global::Browserbase.AutoSDKRequestOptionsSupport.OnBeforeRequestAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplayPage", + methodName: "SessionsGetReplayPageAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays/{pageId}\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + try + { + __response = await HttpClient.SendAsync( + request: __httpRequest, + completionOption: global::System.Net.Http.HttpCompletionOption.ResponseContentRead, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + } + catch (global::System.Net.Http.HttpRequestException __exception) + { + var __retryDelay = global::Browserbase.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: null, + attempt: __attempt); + var __willRetry = __attempt < __maxAttempts && !__effectiveCancellationToken.IsCancellationRequested; + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplayPage", + methodName: "SessionsGetReplayPageAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays/{pageId}\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: null, + exception: __exception, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: __willRetry, + retryDelay: __willRetry ? __retryDelay : (global::System.TimeSpan?)null, + retryReason: "exception", + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + if (!__willRetry) + { + throw; + } + + __httpRequest.Dispose(); + __httpRequest = null; + await global::Browserbase.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + if (__response != null && + __attempt < __maxAttempts && + global::Browserbase.AutoSDKRequestOptionsSupport.ShouldRetryStatusCode(__response.StatusCode)) + { + var __retryDelay = global::Browserbase.AutoSDKRequestOptionsSupport.GetRetryDelay( + clientOptions: Options, + requestOptions: requestOptions, + response: __response, + attempt: __attempt); + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplayPage", + methodName: "SessionsGetReplayPageAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays/{pageId}\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attempt, + maxAttempts: __maxAttempts, + willRetry: true, + retryDelay: __retryDelay, + retryReason: "status:" + ((int)__response.StatusCode).ToString(global::System.Globalization.CultureInfo.InvariantCulture), + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + __response.Dispose(); + __response = null; + __httpRequest.Dispose(); + __httpRequest = null; + await global::Browserbase.AutoSDKRequestOptionsSupport.DelayBeforeRetryAsync( + retryDelay: __retryDelay, + cancellationToken: __effectiveCancellationToken).ConfigureAwait(false); + continue; + } + + break; + } + + if (__response == null) + { + throw new global::System.InvalidOperationException("No response received."); + } + + using (__response) + { + + ProcessResponse( + client: HttpClient, + response: __response); + ProcessSessionsGetReplayPageResponse( + httpClient: HttpClient, + httpResponseMessage: __response); + if (__response.IsSuccessStatusCode) + { + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterSuccessAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplayPage", + methodName: "SessionsGetReplayPageAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays/{pageId}\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + else + { + await global::Browserbase.AutoSDKRequestOptionsSupport.OnAfterErrorAsync( + clientOptions: Options, + context: global::Browserbase.AutoSDKRequestOptionsSupport.CreateHookContext( + operationId: "SessionsGetReplayPage", + methodName: "SessionsGetReplayPageAsync", + pathTemplate: "$\"/v1/sessions/{id}/replays/{pageId}\"", + httpMethod: "GET", + baseUri: BaseUri, + request: __httpRequest!, + response: __response, + exception: null, + clientOptions: Options, + requestOptions: requestOptions, + attempt: __attemptNumber, + maxAttempts: __maxAttempts, + willRetry: false, + retryDelay: null, + retryReason: global::System.String.Empty, + cancellationToken: __effectiveCancellationToken)).ConfigureAwait(false); + } + + if (__effectiveReadResponseAsString) + { + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + ProcessResponseContent( + client: HttpClient, + response: __response, + content: ref __content); + ProcessSessionsGetReplayPageResponseContent( + httpClient: HttpClient, + httpResponseMessage: __response, + content: ref __content); + + try + { + __response.EnsureSuccessStatusCode(); + + return new global::Browserbase.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Browserbase.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __content); + } + catch (global::System.Exception __ex) + { + throw new global::Browserbase.ApiException( + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + statusCode: __response.StatusCode) + { + ResponseBody = __content, + ResponseHeaders = global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value), + }; + } + } + else + { + try + { + __response.EnsureSuccessStatusCode(); + var __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + + return new global::Browserbase.AutoSDKHttpResponse( + statusCode: __response.StatusCode, + headers: global::Browserbase.AutoSDKHttpResponse.CreateHeaders(__response), + requestUri: __response.RequestMessage?.RequestUri, + body: __content); + } + catch (global::System.Exception __ex) + { + string? __content = null; + try + { + __content = await __response.Content.ReadAsStringAsync( + #if NET5_0_OR_GREATER + __effectiveCancellationToken + #endif + ).ConfigureAwait(false); + } + catch (global::System.Exception) + { + } + + throw new global::Browserbase.ApiException( + message: __content ?? __response.ReasonPhrase ?? string.Empty, + innerException: __ex, + statusCode: __response.StatusCode) + { + ResponseBody = __content, + ResponseHeaders = global::System.Linq.Enumerable.ToDictionary( + __response.Headers, + h => h.Key, + h => h.Value), + }; + } + } + + } + } + finally + { + __httpRequest?.Dispose(); + } + } + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplay.g.cs b/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplay.g.cs new file mode 100644 index 0000000..e7adbe6 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplay.g.cs @@ -0,0 +1,32 @@ +#nullable enable + +namespace Browserbase +{ + public partial interface IBrowserbaseClient + { + /// + /// Get Session Replay
+ /// Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SessionsGetReplayAsync( + global::System.Guid id, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get Session Replay
+ /// Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist. + ///
+ /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> SessionsGetReplayAsResponseAsync( + global::System.Guid id, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplayPage.g.cs b/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplayPage.g.cs new file mode 100644 index 0000000..a2e5d65 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.IBrowserbaseClient.SessionsGetReplayPage.g.cs @@ -0,0 +1,36 @@ +#nullable enable + +namespace Browserbase +{ + public partial interface IBrowserbaseClient + { + /// + /// Get Replay Page
+ /// Returns an HLS VOD media playlist (.m3u8) for a specific page of a session replay. + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task SessionsGetReplayPageAsync( + global::System.Guid id, + string pageId, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + /// + /// Get Replay Page
+ /// Returns an HLS VOD media playlist (.m3u8) for a specific page of a session replay. + ///
+ /// + /// + /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. + /// The token to cancel the operation with + /// + global::System.Threading.Tasks.Task> SessionsGetReplayPageAsResponseAsync( + global::System.Guid id, + string pageId, + global::Browserbase.AutoSDKRequestOptions? requestOptions = default, + global::System.Threading.CancellationToken cancellationToken = default); + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContext.g.cs b/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContext.g.cs index 9fc7131..21574d8 100644 --- a/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContext.g.cs +++ b/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContext.g.cs @@ -129,6 +129,7 @@ namespace Browserbase [global::System.Text.Json.Serialization.JsonSerializable(typeof(int))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.ProjectUsage))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(long))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.ReplayPage))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.Session))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.SessionStatus), TypeInfoPropertyName = "SessionStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(bool))] @@ -209,6 +210,8 @@ namespace Browserbase [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.SessionsGetResponse2))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.SessionsGetReplayResponse))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Browserbase.SessionsUploadFileResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List>))] @@ -229,6 +232,7 @@ namespace Browserbase [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] public sealed partial class SourceGenerationContext : global::System.Text.Json.Serialization.JsonSerializerContext { } diff --git a/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContextTypes.g.cs b/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContextTypes.g.cs index 4fa4028..d10f6ee 100644 --- a/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContextTypes.g.cs +++ b/src/libs/Browserbase/Generated/Browserbase.JsonSerializerContextTypes.g.cs @@ -160,327 +160,339 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Browserbase.Session? Type33 { get; set; } + public global::Browserbase.ReplayPage? Type33 { get; set; } /// /// /// - public global::Browserbase.SessionStatus? Type34 { get; set; } + public global::Browserbase.Session? Type34 { get; set; } /// /// /// - public bool? Type35 { get; set; } + public global::Browserbase.SessionStatus? Type35 { get; set; } /// /// /// - public global::Browserbase.SessionRegion? Type36 { get; set; } + public bool? Type36 { get; set; } /// /// /// - public global::Browserbase.SessionLiveUrls? Type37 { get; set; } + public global::Browserbase.SessionRegion? Type37 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type38 { get; set; } + public global::Browserbase.SessionLiveUrls? Type38 { get; set; } /// /// /// - public global::Browserbase.SessionLiveUrlsPage? Type39 { get; set; } + public global::System.Collections.Generic.IList? Type39 { get; set; } /// /// /// - public global::Browserbase.SessionLog? Type40 { get; set; } + public global::Browserbase.SessionLiveUrlsPage? Type40 { get; set; } /// /// /// - public global::Browserbase.SessionLogRequest? Type41 { get; set; } + public global::Browserbase.SessionLog? Type41 { get; set; } /// /// /// - public global::Browserbase.SessionLogResponse? Type42 { get; set; } + public global::Browserbase.SessionLogRequest? Type42 { get; set; } /// /// /// - public global::Browserbase.SessionRecording? Type43 { get; set; } + public global::Browserbase.SessionLogResponse? Type43 { get; set; } /// /// /// - public global::Browserbase.ContextsCreateRequest? Type44 { get; set; } + public global::Browserbase.SessionRecording? Type44 { get; set; } /// /// /// - public global::Browserbase.ExtensionsUploadRequest? Type45 { get; set; } + public global::Browserbase.ContextsCreateRequest? Type45 { get; set; } /// /// /// - public byte[]? Type46 { get; set; } + public global::Browserbase.ExtensionsUploadRequest? Type46 { get; set; } /// /// /// - public global::Browserbase.FetchCreateRequest? Type47 { get; set; } + public byte[]? Type47 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequest? Type48 { get; set; } + public global::Browserbase.FetchCreateRequest? Type48 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParams? Type49 { get; set; } + public global::Browserbase.FunctionsInvokeRequest? Type49 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettings? Type50 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParams? Type50 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsContext? Type51 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettings? Type51 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsViewport? Type52 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsContext? Type52 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsOs? Type53 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsViewport? Type53 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsSize? Type54 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsOs? Type54 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type55 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsSize? Type55 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsExtension? Type56 { get; set; } + public global::System.Collections.Generic.IList? Type56 { get; set; } /// /// /// - public global::Browserbase.AnyOf>, bool?>? Type57 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsBrowserSettingsExtension? Type57 { get; set; } /// /// /// - public global::System.Collections.Generic.IList>? Type58 { get; set; } + public global::Browserbase.AnyOf>, bool?>? Type58 { get; set; } /// /// /// - public global::Browserbase.AnyOf? Type59 { get; set; } + public global::System.Collections.Generic.IList>? Type59 { get; set; } /// /// /// - public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsProxySettings? Type60 { get; set; } + public global::Browserbase.AnyOf? Type60 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type61 { get; set; } + public global::Browserbase.FunctionsInvokeRequestSessionCreateParamsProxySettings? Type61 { get; set; } /// /// /// - public global::Browserbase.SearchWebRequest? Type62 { get; set; } + public global::System.Collections.Generic.IList? Type62 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequest? Type63 { get; set; } + public global::Browserbase.SearchWebRequest? Type63 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequestBrowserSettings? Type64 { get; set; } + public global::Browserbase.SessionsCreateRequest? Type64 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequestBrowserSettingsContext? Type65 { get; set; } + public global::Browserbase.SessionsCreateRequestBrowserSettings? Type65 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequestBrowserSettingsViewport? Type66 { get; set; } + public global::Browserbase.SessionsCreateRequestBrowserSettingsContext? Type66 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequestBrowserSettingsOs? Type67 { get; set; } + public global::Browserbase.SessionsCreateRequestBrowserSettingsViewport? Type67 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateRequestRegion? Type68 { get; set; } + public global::Browserbase.SessionsCreateRequestBrowserSettingsOs? Type68 { get; set; } /// /// /// - public global::Browserbase.SessionsUpdateRequest? Type69 { get; set; } + public global::Browserbase.SessionsCreateRequestRegion? Type69 { get; set; } /// /// /// - public global::Browserbase.SessionsUpdateRequestStatus? Type70 { get; set; } + public global::Browserbase.SessionsUpdateRequest? Type70 { get; set; } /// /// /// - public global::Browserbase.SessionsUploadFileRequest? Type71 { get; set; } + public global::Browserbase.SessionsUpdateRequestStatus? Type71 { get; set; } /// /// /// - public global::Browserbase.SessionsListStatus? Type72 { get; set; } + public global::Browserbase.SessionsUploadFileRequest? Type72 { get; set; } /// /// /// - public global::Browserbase.ContextsCreateResponse? Type73 { get; set; } + public global::Browserbase.SessionsListStatus? Type73 { get; set; } /// /// /// - public byte? Type74 { get; set; } + public global::Browserbase.ContextsCreateResponse? Type74 { get; set; } /// /// /// - public global::Browserbase.ContextsUpdateResponse? Type75 { get; set; } + public byte? Type75 { get; set; } /// /// /// - public global::Browserbase.DownloadsListResponse? Type76 { get; set; } + public global::Browserbase.ContextsUpdateResponse? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type77 { get; set; } + public global::Browserbase.DownloadsListResponse? Type77 { get; set; } /// /// /// - public global::Browserbase.DownloadsListResponseDownload? Type78 { get; set; } + public global::System.Collections.Generic.IList? Type78 { get; set; } /// /// /// - public global::Browserbase.DownloadsGetResponse? Type79 { get; set; } + public global::Browserbase.DownloadsListResponseDownload? Type79 { get; set; } /// /// /// - public global::Browserbase.FetchCreateResponse? Type80 { get; set; } + public global::Browserbase.DownloadsGetResponse? Type80 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type81 { get; set; } + public global::Browserbase.FetchCreateResponse? Type81 { get; set; } /// /// /// - public global::Browserbase.FetchCreateResponse2? Type82 { get; set; } + public global::System.Collections.Generic.Dictionary? Type82 { get; set; } /// /// /// - public global::Browserbase.FetchCreateResponse3? Type83 { get; set; } + public global::Browserbase.FetchCreateResponse2? Type83 { get; set; } /// /// /// - public global::Browserbase.FetchCreateResponse4? Type84 { get; set; } + public global::Browserbase.FetchCreateResponse3? Type84 { get; set; } /// /// /// - public global::Browserbase.FetchCreateResponse5? Type85 { get; set; } + public global::Browserbase.FetchCreateResponse4? Type85 { get; set; } /// /// /// - public global::Browserbase.FunctionsListResponse? Type86 { get; set; } + public global::Browserbase.FetchCreateResponse5? Type86 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type87 { get; set; } + public global::Browserbase.FunctionsListResponse? Type87 { get; set; } /// /// /// - public global::Browserbase.FunctionBuildsListResponse? Type88 { get; set; } + public global::System.Collections.Generic.IList? Type88 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type89 { get; set; } + public global::Browserbase.FunctionBuildsListResponse? Type89 { get; set; } /// /// /// - public global::Browserbase.FunctionBuildsGetLogsResponse? Type90 { get; set; } + public global::System.Collections.Generic.IList? Type90 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type91 { get; set; } + public global::Browserbase.FunctionBuildsGetLogsResponse? Type91 { get; set; } /// /// /// - public global::Browserbase.AllOf? Type92 { get; set; } + public global::System.Collections.Generic.IList? Type92 { get; set; } /// /// /// - public global::Browserbase.InvocationsGetResponse2? Type93 { get; set; } + public global::Browserbase.AllOf? Type93 { get; set; } /// /// /// - public global::Browserbase.InvocationsGetResponseCause? Type94 { get; set; } + public global::Browserbase.InvocationsGetResponse2? Type94 { get; set; } /// /// /// - public global::Browserbase.InvocationsGetResponseCauseCode? Type95 { get; set; } + public global::Browserbase.InvocationsGetResponseCause? Type95 { get; set; } /// /// /// - public global::Browserbase.InvocationsGetLogsResponse? Type96 { get; set; } + public global::Browserbase.InvocationsGetResponseCauseCode? Type96 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type97 { get; set; } + public global::Browserbase.InvocationsGetLogsResponse? Type97 { get; set; } /// /// /// - public global::Browserbase.FunctionVersionsListInvocationsResponse? Type98 { get; set; } + public global::System.Collections.Generic.IList? Type98 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type99 { get; set; } + public global::Browserbase.FunctionVersionsListInvocationsResponse? Type99 { get; set; } /// /// /// - public global::Browserbase.FunctionsListVersionsResponse? Type100 { get; set; } + public global::System.Collections.Generic.IList? Type100 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type101 { get; set; } + public global::Browserbase.FunctionsListVersionsResponse? Type101 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type102 { get; set; } + public global::System.Collections.Generic.IList? Type102 { get; set; } /// /// /// - public global::Browserbase.SearchWebResponse? Type103 { get; set; } + public global::System.Collections.Generic.IList? Type103 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type104 { get; set; } + public global::Browserbase.SearchWebResponse? Type104 { get; set; } /// /// /// - public global::Browserbase.SearchWebResponseResult? Type105 { get; set; } + public global::System.Collections.Generic.IList? Type105 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type106 { get; set; } + public global::Browserbase.SearchWebResponseResult? Type106 { get; set; } /// /// /// - public global::Browserbase.AllOf? Type107 { get; set; } + public global::System.Collections.Generic.IList? Type107 { get; set; } /// /// /// - public global::Browserbase.SessionsCreateResponse2? Type108 { get; set; } + public global::Browserbase.AllOf? Type108 { get; set; } /// /// /// - public global::Browserbase.AllOf? Type109 { get; set; } + public global::Browserbase.SessionsCreateResponse2? Type109 { get; set; } /// /// /// - public global::Browserbase.SessionsGetResponse2? Type110 { get; set; } + public global::Browserbase.AllOf? Type110 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type111 { get; set; } + public global::Browserbase.SessionsGetResponse2? Type111 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type112 { get; set; } + public global::System.Collections.Generic.IList? Type112 { get; set; } /// /// /// - public global::Browserbase.SessionsUploadFileResponse? Type113 { get; set; } + public global::System.Collections.Generic.IList? Type113 { get; set; } + /// + /// + /// + public global::Browserbase.SessionsGetReplayResponse? Type114 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type115 { get; set; } + /// + /// + /// + public global::Browserbase.SessionsUploadFileResponse? Type116 { get; set; } /// /// @@ -558,5 +570,9 @@ public sealed partial class JsonSerializerContextTypes /// /// public global::System.Collections.Generic.List? ListType18 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.List? ListType19 { get; set; } } } \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.Json.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.Json.g.cs new file mode 100644 index 0000000..a30da0f --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Browserbase +{ + public sealed partial class ReplayPage + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Browserbase.ReplayPage? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Browserbase.ReplayPage), + jsonSerializerContext) as global::Browserbase.ReplayPage; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Browserbase.ReplayPage? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Browserbase.ReplayPage), + jsonSerializerContext).ConfigureAwait(false)) as global::Browserbase.ReplayPage; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.g.cs new file mode 100644 index 0000000..0afe401 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.Models.ReplayPage.g.cs @@ -0,0 +1,75 @@ + +#nullable enable + +namespace Browserbase +{ + /// + /// + /// + public sealed partial class ReplayPage + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pageId")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string PageId { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("startTimeMs")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double StartTimeMs { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("endTimeMs")] + [global::System.Text.Json.Serialization.JsonRequired] + public required double EndTimeMs { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public ReplayPage( + string pageId, + string url, + double startTimeMs, + double endTimeMs) + { + this.PageId = pageId ?? throw new global::System.ArgumentNullException(nameof(pageId)); + this.Url = url ?? throw new global::System.ArgumentNullException(nameof(url)); + this.StartTimeMs = startTimeMs; + this.EndTimeMs = endTimeMs; + } + + /// + /// Initializes a new instance of the class. + /// + public ReplayPage() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.Json.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.Json.g.cs new file mode 100644 index 0000000..6b12925 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Browserbase +{ + public sealed partial class SessionsGetReplayResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Browserbase.SessionsGetReplayResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Browserbase.SessionsGetReplayResponse), + jsonSerializerContext) as global::Browserbase.SessionsGetReplayResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Browserbase.SessionsGetReplayResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Browserbase.SessionsGetReplayResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Browserbase.SessionsGetReplayResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.g.cs b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.g.cs new file mode 100644 index 0000000..d423749 --- /dev/null +++ b/src/libs/Browserbase/Generated/Browserbase.Models.SessionsGetReplayResponse.g.cs @@ -0,0 +1,55 @@ + +#nullable enable + +namespace Browserbase +{ + /// + /// + /// + public sealed partial class SessionsGetReplayResponse + { + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pages")] + [global::System.Text.Json.Serialization.JsonRequired] + public required global::System.Collections.Generic.IList Pages { get; set; } + + /// + /// + /// + [global::System.Text.Json.Serialization.JsonPropertyName("pageCount")] + [global::System.Text.Json.Serialization.JsonRequired] + public required int PageCount { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public SessionsGetReplayResponse( + global::System.Collections.Generic.IList pages, + int pageCount) + { + this.Pages = pages ?? throw new global::System.ArgumentNullException(nameof(pages)); + this.PageCount = pageCount; + } + + /// + /// Initializes a new instance of the class. + /// + public SessionsGetReplayResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Browserbase/openapi.yaml b/src/libs/Browserbase/openapi.yaml index 4b4c730..e5b7c9c 100644 --- a/src/libs/Browserbase/openapi.yaml +++ b/src/libs/Browserbase/openapi.yaml @@ -1607,6 +1607,67 @@ paths: type: array items: $ref: '#/components/schemas/SessionRecording' + /v1/sessions/{id}/replays: + get: + operationId: Sessions_getReplay + summary: Get Session Replay + description: >- + Returns page metadata for a session replay, including timing information + and the URL of each page's HLS playlist. + parameters: + - name: id + in: path + description: Session ID + required: true + schema: + type: string + format: uuid + responses: + '200': + description: The request has succeeded. + content: + application/json: + schema: + type: object + properties: + pages: + type: array + items: + $ref: '#/components/schemas/ReplayPage' + pageCount: + type: integer + required: + - pages + - pageCount + /v1/sessions/{id}/replays/{pageId}: + get: + operationId: Sessions_getReplayPage + summary: Get Replay Page + description: >- + Returns an HLS VOD media playlist (.m3u8) for a specific page of a + session replay. + parameters: + - name: id + in: path + description: Session ID + required: true + schema: + type: string + format: uuid + - name: pageId + in: path + required: true + schema: + type: string + maxLength: 3 + pattern: ^\d+$ + responses: + '200': + description: The request has succeeded. + content: + application/vnd.apple.mpegurl: + schema: + type: string /v1/sessions/{id}/uploads: post: operationId: Sessions_uploadFile @@ -2037,6 +2098,22 @@ components: required: - browserMinutes - proxyBytes + ReplayPage: + type: object + properties: + pageId: + type: string + url: + type: string + startTimeMs: + type: number + endTimeMs: + type: number + required: + - pageId + - url + - startTimeMs + - endTimeMs Session: type: object properties: