From 11efecfda9785d483854b47c7438ad7904ada83c Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Tue, 17 Mar 2026 06:27:12 -0700 Subject: [PATCH] feat: [US-024] - Add TypeScript SDK browser monitoring, crawl, context, and cookie methods Co-Authored-By: Claude Opus 4.6 (1M context) --- sdks/typescript/src/client.ts | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/sdks/typescript/src/client.ts b/sdks/typescript/src/client.ts index 4322655..5b5e7b6 100644 --- a/sdks/typescript/src/client.ts +++ b/sdks/typescript/src/client.ts @@ -32,9 +32,19 @@ import { type AgentListResponse, type BrowserActionResponse, type BrowserClickRequest, + type BrowserConsoleQuery, + type BrowserConsoleResponse, type BrowserContentQuery, type BrowserContentResponse, + type BrowserContextCreateRequest, + type BrowserContextInfo, + type BrowserContextListResponse, + type BrowserCookiesQuery, + type BrowserCookiesResponse, + type BrowserCrawlRequest, + type BrowserCrawlResponse, type BrowserCreateTabRequest, + type BrowserDeleteCookiesQuery, type BrowserDialogRequest, type BrowserExecuteRequest, type BrowserExecuteResponse, @@ -42,6 +52,8 @@ import { type BrowserLinksResponse, type BrowserMarkdownResponse, type BrowserNavigateRequest, + type BrowserNetworkQuery, + type BrowserNetworkResponse, type BrowserPageInfo, type BrowserPdfQuery, type BrowserReloadRequest, @@ -50,6 +62,7 @@ import { type BrowserScrapeRequest, type BrowserScrapeResponse, type BrowserSelectRequest, + type BrowserSetCookiesRequest, type BrowserSnapshotResponse, type BrowserStartRequest, type BrowserStatusResponse, @@ -2173,6 +2186,42 @@ export class SandboxAgent { return this.requestJson("POST", `${API_PREFIX}/browser/dialog`, { body: request }); } + async getBrowserConsole(query?: BrowserConsoleQuery): Promise { + return this.requestJson("GET", `${API_PREFIX}/browser/console`, { query }); + } + + async getBrowserNetwork(query?: BrowserNetworkQuery): Promise { + return this.requestJson("GET", `${API_PREFIX}/browser/network`, { query }); + } + + async crawlBrowser(request: BrowserCrawlRequest): Promise { + return this.requestJson("POST", `${API_PREFIX}/browser/crawl`, { body: request }); + } + + async getBrowserContexts(): Promise { + return this.requestJson("GET", `${API_PREFIX}/browser/contexts`); + } + + async createBrowserContext(request: BrowserContextCreateRequest): Promise { + return this.requestJson("POST", `${API_PREFIX}/browser/contexts`, { body: request }); + } + + async deleteBrowserContext(contextId: string): Promise { + return this.requestJson("DELETE", `${API_PREFIX}/browser/contexts/${contextId}`); + } + + async getBrowserCookies(query?: BrowserCookiesQuery): Promise { + return this.requestJson("GET", `${API_PREFIX}/browser/cookies`, { query }); + } + + async setBrowserCookies(request: BrowserSetCookiesRequest): Promise { + return this.requestJson("POST", `${API_PREFIX}/browser/cookies`, { body: request }); + } + + async deleteBrowserCookies(query?: BrowserDeleteCookiesQuery): Promise { + return this.requestJson("DELETE", `${API_PREFIX}/browser/cookies`, { query }); + } + private async getLiveConnection(agent: string): Promise { await this.awaitHealthy();