mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 09:01:17 +00:00
feat: [US-022] - Add TypeScript SDK browser content extraction methods
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9776e0f4cb
commit
f4c43a5ac5
1 changed files with 53 additions and 0 deletions
|
|
@ -31,10 +31,21 @@ import {
|
||||||
type AgentInstallResponse,
|
type AgentInstallResponse,
|
||||||
type AgentListResponse,
|
type AgentListResponse,
|
||||||
type BrowserActionResponse,
|
type BrowserActionResponse,
|
||||||
|
type BrowserContentQuery,
|
||||||
|
type BrowserContentResponse,
|
||||||
type BrowserCreateTabRequest,
|
type BrowserCreateTabRequest,
|
||||||
|
type BrowserExecuteRequest,
|
||||||
|
type BrowserExecuteResponse,
|
||||||
|
type BrowserLinksResponse,
|
||||||
|
type BrowserMarkdownResponse,
|
||||||
type BrowserNavigateRequest,
|
type BrowserNavigateRequest,
|
||||||
type BrowserPageInfo,
|
type BrowserPageInfo,
|
||||||
|
type BrowserPdfQuery,
|
||||||
type BrowserReloadRequest,
|
type BrowserReloadRequest,
|
||||||
|
type BrowserScreenshotQuery,
|
||||||
|
type BrowserScrapeRequest,
|
||||||
|
type BrowserScrapeResponse,
|
||||||
|
type BrowserSnapshotResponse,
|
||||||
type BrowserStartRequest,
|
type BrowserStartRequest,
|
||||||
type BrowserStatusResponse,
|
type BrowserStatusResponse,
|
||||||
type BrowserTabInfo,
|
type BrowserTabInfo,
|
||||||
|
|
@ -2085,6 +2096,48 @@ export class SandboxAgent {
|
||||||
return this.requestJson("DELETE", `${API_PREFIX}/browser/tabs/${tabId}`);
|
return this.requestJson("DELETE", `${API_PREFIX}/browser/tabs/${tabId}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async takeBrowserScreenshot(query: BrowserScreenshotQuery = {}): Promise<Uint8Array> {
|
||||||
|
const response = await this.requestRaw("GET", `${API_PREFIX}/browser/screenshot`, {
|
||||||
|
query,
|
||||||
|
accept: "image/*",
|
||||||
|
});
|
||||||
|
const buffer = await response.arrayBuffer();
|
||||||
|
return new Uint8Array(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
async getBrowserPdf(query: BrowserPdfQuery = {}): Promise<Uint8Array> {
|
||||||
|
const response = await this.requestRaw("GET", `${API_PREFIX}/browser/pdf`, {
|
||||||
|
query,
|
||||||
|
accept: "application/pdf",
|
||||||
|
});
|
||||||
|
const buffer = await response.arrayBuffer();
|
||||||
|
return new Uint8Array(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
async getBrowserContent(query: BrowserContentQuery = {}): Promise<BrowserContentResponse> {
|
||||||
|
return this.requestJson("GET", `${API_PREFIX}/browser/content`, { query });
|
||||||
|
}
|
||||||
|
|
||||||
|
async getBrowserMarkdown(): Promise<BrowserMarkdownResponse> {
|
||||||
|
return this.requestJson("GET", `${API_PREFIX}/browser/markdown`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async scrapeBrowser(request: BrowserScrapeRequest): Promise<BrowserScrapeResponse> {
|
||||||
|
return this.requestJson("POST", `${API_PREFIX}/browser/scrape`, { body: request });
|
||||||
|
}
|
||||||
|
|
||||||
|
async getBrowserLinks(): Promise<BrowserLinksResponse> {
|
||||||
|
return this.requestJson("GET", `${API_PREFIX}/browser/links`);
|
||||||
|
}
|
||||||
|
|
||||||
|
async executeBrowserScript(request: BrowserExecuteRequest): Promise<BrowserExecuteResponse> {
|
||||||
|
return this.requestJson("POST", `${API_PREFIX}/browser/execute`, { body: request });
|
||||||
|
}
|
||||||
|
|
||||||
|
async getBrowserSnapshot(): Promise<BrowserSnapshotResponse> {
|
||||||
|
return this.requestJson("GET", `${API_PREFIX}/browser/snapshot`);
|
||||||
|
}
|
||||||
|
|
||||||
private async getLiveConnection(agent: string): Promise<LiveAcpConnection> {
|
private async getLiveConnection(agent: string): Promise<LiveAcpConnection> {
|
||||||
await this.awaitHealthy();
|
await this.awaitHealthy();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue