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: