From 4467e4ca254f409d16ccfe15de723cc97f9f8438 Mon Sep 17 00:00:00 2001 From: bpereira Date: Fri, 14 Aug 2026 02:20:12 +0100 Subject: [PATCH] BRAPI-1553: Add response metadata to Browser Run types Adds headers, finalUrl and redirectChain to BrowserRunResponseMeta, a BrowserRunRedirectHop type for the redirect entries, and meta on the links, scrape, json and markdown success responses. --- types/defines/browser-run.d.ts | 19 +++++++++++++++++++ .../experimental/index.d.ts | 18 ++++++++++++++++++ .../generated-snapshot/experimental/index.ts | 18 ++++++++++++++++++ types/generated-snapshot/index.d.ts | 18 ++++++++++++++++++ types/generated-snapshot/index.ts | 18 ++++++++++++++++++ 5 files changed, 91 insertions(+) diff --git a/types/defines/browser-run.d.ts b/types/defines/browser-run.d.ts index be458e2598c..c547b6b2970 100644 --- a/types/defines/browser-run.d.ts +++ b/types/defines/browser-run.d.ts @@ -258,11 +258,26 @@ type BrowserRunJsonOptions = BrowserRunCommonOptions & type BrowserRunContentOptions = BrowserRunCommonOptions; type BrowserRunMarkdownOptions = BrowserRunCommonOptions; +type BrowserRunRedirectHop = { + /** URL that returned the redirect. */ + url: string; + /** HTTP status of the redirect. */ + status: number; + /** Redirect response headers, including `location`. */ + headers: Record; +}; + type BrowserRunResponseMeta = { /** HTTP status code of the rendered page */ status: number; /** Page title */ title: string; + /** Origin response headers, lowercased. Repeated headers are joined with a newline. Credential and transport-only headers that do not survive rendering are omitted. */ + headers?: Record; + /** URL that served the response, after any redirects the browser followed. */ + finalUrl?: string; + /** HTTP redirects followed to reach `finalUrl`, oldest first. Omitted for direct navigation and for client-side redirects such as meta refresh. An empty array means redirects occurred but their intermediate responses could not be read. */ + redirectChain?: BrowserRunRedirectHop[]; }; /** Success response for `content` action. */ @@ -278,6 +293,7 @@ type BrowserRunLinksSuccessResponse = { success: true; /** Extracted links */ result: string[]; + meta: BrowserRunResponseMeta; }; /** Success response for `scrape` action. */ @@ -309,6 +325,7 @@ type BrowserRunScrapeSuccessResponse = { }>; }>; }>; + meta: BrowserRunResponseMeta; }; /** Success response for `snapshot` action. */ @@ -328,6 +345,7 @@ type BrowserRunJsonSuccessResponse = { success: true; /** JSON data extracted from the page using an AI model */ result: Record; + meta: BrowserRunResponseMeta; }; /** Success response for `markdown` action. */ @@ -335,6 +353,7 @@ type BrowserRunMarkdownSuccessResponse = { success: true; /** Extracted markdown content */ result: string; + meta: BrowserRunResponseMeta; }; /** Error response for BrowserRun actions. */ diff --git a/types/generated-snapshot/experimental/index.d.ts b/types/generated-snapshot/experimental/index.d.ts index 98f6070b955..1a00aa7441a 100755 --- a/types/generated-snapshot/experimental/index.d.ts +++ b/types/generated-snapshot/experimental/index.d.ts @@ -12742,11 +12742,25 @@ type BrowserRunJsonOptions = BrowserRunCommonOptions & ); type BrowserRunContentOptions = BrowserRunCommonOptions; type BrowserRunMarkdownOptions = BrowserRunCommonOptions; +type BrowserRunRedirectHop = { + /** URL that returned the redirect. */ + url: string; + /** HTTP status of the redirect. */ + status: number; + /** Redirect response headers, including `location`. */ + headers: Record; +}; type BrowserRunResponseMeta = { /** HTTP status code of the rendered page */ status: number; /** Page title */ title: string; + /** Origin response headers, lowercased. Repeated headers are joined with a newline. Credential and transport-only headers that do not survive rendering are omitted. */ + headers?: Record; + /** URL that served the response, after any redirects the browser followed. */ + finalUrl?: string; + /** HTTP redirects followed to reach `finalUrl`, oldest first. Omitted for direct navigation and for client-side redirects such as meta refresh. An empty array means redirects occurred but their intermediate responses could not be read. */ + redirectChain?: BrowserRunRedirectHop[]; }; /** Success response for `content` action. */ type BrowserRunContentSuccessResponse = { @@ -12760,6 +12774,7 @@ type BrowserRunLinksSuccessResponse = { success: true; /** Extracted links */ result: string[]; + meta: BrowserRunResponseMeta; }; /** Success response for `scrape` action. */ type BrowserRunScrapeSuccessResponse = { @@ -12790,6 +12805,7 @@ type BrowserRunScrapeSuccessResponse = { }>; }>; }>; + meta: BrowserRunResponseMeta; }; /** Success response for `snapshot` action. */ type BrowserRunSnapshotSuccessResponse = { @@ -12807,12 +12823,14 @@ type BrowserRunJsonSuccessResponse = { success: true; /** JSON data extracted from the page using an AI model */ result: Record; + meta: BrowserRunResponseMeta; }; /** Success response for `markdown` action. */ type BrowserRunMarkdownSuccessResponse = { success: true; /** Extracted markdown content */ result: string; + meta: BrowserRunResponseMeta; }; /** Error response for BrowserRun actions. */ type BrowserRunErrorResponse = { diff --git a/types/generated-snapshot/experimental/index.ts b/types/generated-snapshot/experimental/index.ts index 53654e79c51..8c3a9e60adb 100755 --- a/types/generated-snapshot/experimental/index.ts +++ b/types/generated-snapshot/experimental/index.ts @@ -12756,11 +12756,25 @@ export type BrowserRunJsonOptions = BrowserRunCommonOptions & ); export type BrowserRunContentOptions = BrowserRunCommonOptions; export type BrowserRunMarkdownOptions = BrowserRunCommonOptions; +export type BrowserRunRedirectHop = { + /** URL that returned the redirect. */ + url: string; + /** HTTP status of the redirect. */ + status: number; + /** Redirect response headers, including `location`. */ + headers: Record; +}; export type BrowserRunResponseMeta = { /** HTTP status code of the rendered page */ status: number; /** Page title */ title: string; + /** Origin response headers, lowercased. Repeated headers are joined with a newline. Credential and transport-only headers that do not survive rendering are omitted. */ + headers?: Record; + /** URL that served the response, after any redirects the browser followed. */ + finalUrl?: string; + /** HTTP redirects followed to reach `finalUrl`, oldest first. Omitted for direct navigation and for client-side redirects such as meta refresh. An empty array means redirects occurred but their intermediate responses could not be read. */ + redirectChain?: BrowserRunRedirectHop[]; }; /** Success response for `content` action. */ export type BrowserRunContentSuccessResponse = { @@ -12774,6 +12788,7 @@ export type BrowserRunLinksSuccessResponse = { success: true; /** Extracted links */ result: string[]; + meta: BrowserRunResponseMeta; }; /** Success response for `scrape` action. */ export type BrowserRunScrapeSuccessResponse = { @@ -12804,6 +12819,7 @@ export type BrowserRunScrapeSuccessResponse = { }>; }>; }>; + meta: BrowserRunResponseMeta; }; /** Success response for `snapshot` action. */ export type BrowserRunSnapshotSuccessResponse = { @@ -12821,12 +12837,14 @@ export type BrowserRunJsonSuccessResponse = { success: true; /** JSON data extracted from the page using an AI model */ result: Record; + meta: BrowserRunResponseMeta; }; /** Success response for `markdown` action. */ export type BrowserRunMarkdownSuccessResponse = { success: true; /** Extracted markdown content */ result: string; + meta: BrowserRunResponseMeta; }; /** Error response for BrowserRun actions. */ export type BrowserRunErrorResponse = { diff --git a/types/generated-snapshot/index.d.ts b/types/generated-snapshot/index.d.ts index aaf736c0446..185ceeb3cf9 100755 --- a/types/generated-snapshot/index.d.ts +++ b/types/generated-snapshot/index.d.ts @@ -12452,11 +12452,25 @@ type BrowserRunJsonOptions = BrowserRunCommonOptions & ); type BrowserRunContentOptions = BrowserRunCommonOptions; type BrowserRunMarkdownOptions = BrowserRunCommonOptions; +type BrowserRunRedirectHop = { + /** URL that returned the redirect. */ + url: string; + /** HTTP status of the redirect. */ + status: number; + /** Redirect response headers, including `location`. */ + headers: Record; +}; type BrowserRunResponseMeta = { /** HTTP status code of the rendered page */ status: number; /** Page title */ title: string; + /** Origin response headers, lowercased. Repeated headers are joined with a newline. Credential and transport-only headers that do not survive rendering are omitted. */ + headers?: Record; + /** URL that served the response, after any redirects the browser followed. */ + finalUrl?: string; + /** HTTP redirects followed to reach `finalUrl`, oldest first. Omitted for direct navigation and for client-side redirects such as meta refresh. An empty array means redirects occurred but their intermediate responses could not be read. */ + redirectChain?: BrowserRunRedirectHop[]; }; /** Success response for `content` action. */ type BrowserRunContentSuccessResponse = { @@ -12470,6 +12484,7 @@ type BrowserRunLinksSuccessResponse = { success: true; /** Extracted links */ result: string[]; + meta: BrowserRunResponseMeta; }; /** Success response for `scrape` action. */ type BrowserRunScrapeSuccessResponse = { @@ -12500,6 +12515,7 @@ type BrowserRunScrapeSuccessResponse = { }>; }>; }>; + meta: BrowserRunResponseMeta; }; /** Success response for `snapshot` action. */ type BrowserRunSnapshotSuccessResponse = { @@ -12517,12 +12533,14 @@ type BrowserRunJsonSuccessResponse = { success: true; /** JSON data extracted from the page using an AI model */ result: Record; + meta: BrowserRunResponseMeta; }; /** Success response for `markdown` action. */ type BrowserRunMarkdownSuccessResponse = { success: true; /** Extracted markdown content */ result: string; + meta: BrowserRunResponseMeta; }; /** Error response for BrowserRun actions. */ type BrowserRunErrorResponse = { diff --git a/types/generated-snapshot/index.ts b/types/generated-snapshot/index.ts index 9fa4d08f161..04b75fed1f6 100755 --- a/types/generated-snapshot/index.ts +++ b/types/generated-snapshot/index.ts @@ -12466,11 +12466,25 @@ export type BrowserRunJsonOptions = BrowserRunCommonOptions & ); export type BrowserRunContentOptions = BrowserRunCommonOptions; export type BrowserRunMarkdownOptions = BrowserRunCommonOptions; +export type BrowserRunRedirectHop = { + /** URL that returned the redirect. */ + url: string; + /** HTTP status of the redirect. */ + status: number; + /** Redirect response headers, including `location`. */ + headers: Record; +}; export type BrowserRunResponseMeta = { /** HTTP status code of the rendered page */ status: number; /** Page title */ title: string; + /** Origin response headers, lowercased. Repeated headers are joined with a newline. Credential and transport-only headers that do not survive rendering are omitted. */ + headers?: Record; + /** URL that served the response, after any redirects the browser followed. */ + finalUrl?: string; + /** HTTP redirects followed to reach `finalUrl`, oldest first. Omitted for direct navigation and for client-side redirects such as meta refresh. An empty array means redirects occurred but their intermediate responses could not be read. */ + redirectChain?: BrowserRunRedirectHop[]; }; /** Success response for `content` action. */ export type BrowserRunContentSuccessResponse = { @@ -12484,6 +12498,7 @@ export type BrowserRunLinksSuccessResponse = { success: true; /** Extracted links */ result: string[]; + meta: BrowserRunResponseMeta; }; /** Success response for `scrape` action. */ export type BrowserRunScrapeSuccessResponse = { @@ -12514,6 +12529,7 @@ export type BrowserRunScrapeSuccessResponse = { }>; }>; }>; + meta: BrowserRunResponseMeta; }; /** Success response for `snapshot` action. */ export type BrowserRunSnapshotSuccessResponse = { @@ -12531,12 +12547,14 @@ export type BrowserRunJsonSuccessResponse = { success: true; /** JSON data extracted from the page using an AI model */ result: Record; + meta: BrowserRunResponseMeta; }; /** Success response for `markdown` action. */ export type BrowserRunMarkdownSuccessResponse = { success: true; /** Extracted markdown content */ result: string; + meta: BrowserRunResponseMeta; }; /** Error response for BrowserRun actions. */ export type BrowserRunErrorResponse = {