browser-use 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +761 -0
- package/dist/agent/cloud-events.d.ts +264 -0
- package/dist/agent/cloud-events.js +318 -0
- package/dist/agent/gif.d.ts +15 -0
- package/dist/agent/gif.js +215 -0
- package/dist/agent/index.d.ts +8 -0
- package/dist/agent/index.js +8 -0
- package/dist/agent/message-manager/service.d.ts +30 -0
- package/dist/agent/message-manager/service.js +208 -0
- package/dist/agent/message-manager/utils.d.ts +2 -0
- package/dist/agent/message-manager/utils.js +41 -0
- package/dist/agent/message-manager/views.d.ts +26 -0
- package/dist/agent/message-manager/views.js +73 -0
- package/dist/agent/prompts.d.ts +52 -0
- package/dist/agent/prompts.js +259 -0
- package/dist/agent/service.d.ts +290 -0
- package/dist/agent/service.js +2200 -0
- package/dist/agent/views.d.ts +741 -0
- package/dist/agent/views.js +537 -0
- package/dist/browser/browser.d.ts +7 -0
- package/dist/browser/browser.js +5 -0
- package/dist/browser/context.d.ts +8 -0
- package/dist/browser/context.js +4 -0
- package/dist/browser/dvd-screensaver.d.ts +101 -0
- package/dist/browser/dvd-screensaver.js +270 -0
- package/dist/browser/extensions.d.ts +63 -0
- package/dist/browser/extensions.js +359 -0
- package/dist/browser/index.d.ts +10 -0
- package/dist/browser/index.js +9 -0
- package/dist/browser/playwright-manager.d.ts +47 -0
- package/dist/browser/playwright-manager.js +146 -0
- package/dist/browser/profile.d.ts +196 -0
- package/dist/browser/profile.js +815 -0
- package/dist/browser/session.d.ts +505 -0
- package/dist/browser/session.js +3409 -0
- package/dist/browser/types.d.ts +1184 -0
- package/dist/browser/types.js +1 -0
- package/dist/browser/utils.d.ts +1 -0
- package/dist/browser/utils.js +19 -0
- package/dist/browser/views.d.ts +78 -0
- package/dist/browser/views.js +72 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +44 -0
- package/dist/config.d.ts +108 -0
- package/dist/config.js +430 -0
- package/dist/controller/index.d.ts +3 -0
- package/dist/controller/index.js +3 -0
- package/dist/controller/registry/index.d.ts +2 -0
- package/dist/controller/registry/index.js +2 -0
- package/dist/controller/registry/service.d.ts +45 -0
- package/dist/controller/registry/service.js +184 -0
- package/dist/controller/registry/views.d.ts +55 -0
- package/dist/controller/registry/views.js +174 -0
- package/dist/controller/service.d.ts +49 -0
- package/dist/controller/service.js +1176 -0
- package/dist/controller/views.d.ts +241 -0
- package/dist/controller/views.js +88 -0
- package/dist/dom/clickable-element-processor/service.d.ts +11 -0
- package/dist/dom/clickable-element-processor/service.js +60 -0
- package/dist/dom/dom_tree/index.js +1400 -0
- package/dist/dom/history-tree-processor/service.d.ts +14 -0
- package/dist/dom/history-tree-processor/service.js +75 -0
- package/dist/dom/history-tree-processor/view.d.ts +54 -0
- package/dist/dom/history-tree-processor/view.js +56 -0
- package/dist/dom/playground/extraction.d.ts +19 -0
- package/dist/dom/playground/extraction.js +187 -0
- package/dist/dom/playground/process-dom.d.ts +1 -0
- package/dist/dom/playground/process-dom.js +5 -0
- package/dist/dom/playground/test-accessibility.d.ts +44 -0
- package/dist/dom/playground/test-accessibility.js +111 -0
- package/dist/dom/service.d.ts +19 -0
- package/dist/dom/service.js +227 -0
- package/dist/dom/utils.d.ts +1 -0
- package/dist/dom/utils.js +6 -0
- package/dist/dom/views.d.ts +61 -0
- package/dist/dom/views.js +247 -0
- package/dist/event-bus.d.ts +11 -0
- package/dist/event-bus.js +19 -0
- package/dist/exceptions.d.ts +10 -0
- package/dist/exceptions.js +22 -0
- package/dist/filesystem/file-system.d.ts +68 -0
- package/dist/filesystem/file-system.js +412 -0
- package/dist/filesystem/index.d.ts +1 -0
- package/dist/filesystem/index.js +1 -0
- package/dist/index.d.ts +31 -0
- package/dist/index.js +33 -0
- package/dist/integrations/gmail/actions.d.ts +12 -0
- package/dist/integrations/gmail/actions.js +113 -0
- package/dist/integrations/gmail/index.d.ts +2 -0
- package/dist/integrations/gmail/index.js +2 -0
- package/dist/integrations/gmail/service.d.ts +61 -0
- package/dist/integrations/gmail/service.js +260 -0
- package/dist/llm/anthropic/chat.d.ts +28 -0
- package/dist/llm/anthropic/chat.js +126 -0
- package/dist/llm/anthropic/index.d.ts +2 -0
- package/dist/llm/anthropic/index.js +2 -0
- package/dist/llm/anthropic/serializer.d.ts +68 -0
- package/dist/llm/anthropic/serializer.js +285 -0
- package/dist/llm/aws/chat-anthropic.d.ts +61 -0
- package/dist/llm/aws/chat-anthropic.js +176 -0
- package/dist/llm/aws/chat-bedrock.d.ts +15 -0
- package/dist/llm/aws/chat-bedrock.js +80 -0
- package/dist/llm/aws/index.d.ts +3 -0
- package/dist/llm/aws/index.js +3 -0
- package/dist/llm/aws/serializer.d.ts +5 -0
- package/dist/llm/aws/serializer.js +68 -0
- package/dist/llm/azure/chat.d.ts +15 -0
- package/dist/llm/azure/chat.js +83 -0
- package/dist/llm/azure/index.d.ts +1 -0
- package/dist/llm/azure/index.js +1 -0
- package/dist/llm/base.d.ts +16 -0
- package/dist/llm/base.js +1 -0
- package/dist/llm/deepseek/chat.d.ts +15 -0
- package/dist/llm/deepseek/chat.js +51 -0
- package/dist/llm/deepseek/index.d.ts +2 -0
- package/dist/llm/deepseek/index.js +2 -0
- package/dist/llm/deepseek/serializer.d.ts +6 -0
- package/dist/llm/deepseek/serializer.js +57 -0
- package/dist/llm/exceptions.d.ts +10 -0
- package/dist/llm/exceptions.js +18 -0
- package/dist/llm/google/chat.d.ts +20 -0
- package/dist/llm/google/chat.js +144 -0
- package/dist/llm/google/index.d.ts +2 -0
- package/dist/llm/google/index.js +2 -0
- package/dist/llm/google/serializer.d.ts +6 -0
- package/dist/llm/google/serializer.js +64 -0
- package/dist/llm/groq/chat.d.ts +15 -0
- package/dist/llm/groq/chat.js +52 -0
- package/dist/llm/groq/index.d.ts +3 -0
- package/dist/llm/groq/index.js +3 -0
- package/dist/llm/groq/parser.d.ts +32 -0
- package/dist/llm/groq/parser.js +189 -0
- package/dist/llm/groq/serializer.d.ts +6 -0
- package/dist/llm/groq/serializer.js +56 -0
- package/dist/llm/messages.d.ts +77 -0
- package/dist/llm/messages.js +157 -0
- package/dist/llm/ollama/chat.d.ts +15 -0
- package/dist/llm/ollama/chat.js +77 -0
- package/dist/llm/ollama/index.d.ts +2 -0
- package/dist/llm/ollama/index.js +2 -0
- package/dist/llm/ollama/serializer.d.ts +6 -0
- package/dist/llm/ollama/serializer.js +53 -0
- package/dist/llm/openai/chat.d.ts +38 -0
- package/dist/llm/openai/chat.js +174 -0
- package/dist/llm/openai/index.d.ts +3 -0
- package/dist/llm/openai/index.js +3 -0
- package/dist/llm/openai/like.d.ts +17 -0
- package/dist/llm/openai/like.js +19 -0
- package/dist/llm/openai/serializer.d.ts +6 -0
- package/dist/llm/openai/serializer.js +57 -0
- package/dist/llm/openrouter/chat.d.ts +15 -0
- package/dist/llm/openrouter/chat.js +74 -0
- package/dist/llm/openrouter/index.d.ts +2 -0
- package/dist/llm/openrouter/index.js +2 -0
- package/dist/llm/openrouter/serializer.d.ts +3 -0
- package/dist/llm/openrouter/serializer.js +3 -0
- package/dist/llm/schema.d.ts +6 -0
- package/dist/llm/schema.js +77 -0
- package/dist/llm/views.d.ts +15 -0
- package/dist/llm/views.js +12 -0
- package/dist/logging-config.d.ts +25 -0
- package/dist/logging-config.js +89 -0
- package/dist/mcp/client.d.ts +142 -0
- package/dist/mcp/client.js +638 -0
- package/dist/mcp/controller.d.ts +6 -0
- package/dist/mcp/controller.js +38 -0
- package/dist/mcp/index.d.ts +3 -0
- package/dist/mcp/index.js +3 -0
- package/dist/mcp/server.d.ts +134 -0
- package/dist/mcp/server.js +759 -0
- package/dist/observability-decorators.d.ts +158 -0
- package/dist/observability-decorators.js +286 -0
- package/dist/observability.d.ts +23 -0
- package/dist/observability.js +58 -0
- package/dist/screenshots/index.d.ts +1 -0
- package/dist/screenshots/index.js +1 -0
- package/dist/screenshots/service.d.ts +6 -0
- package/dist/screenshots/service.js +28 -0
- package/dist/sync/auth.d.ts +27 -0
- package/dist/sync/auth.js +205 -0
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.js +2 -0
- package/dist/sync/service.d.ts +21 -0
- package/dist/sync/service.js +146 -0
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/telemetry/index.js +2 -0
- package/dist/telemetry/service.d.ts +12 -0
- package/dist/telemetry/service.js +85 -0
- package/dist/telemetry/views.d.ts +112 -0
- package/dist/telemetry/views.js +112 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/index.js +2 -0
- package/dist/tokens/service.d.ts +35 -0
- package/dist/tokens/service.js +423 -0
- package/dist/tokens/views.d.ts +58 -0
- package/dist/tokens/views.js +1 -0
- package/dist/utils.d.ts +128 -0
- package/dist/utils.js +529 -0
- package/package.json +94 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const async_playwright = async () => import('playwright');
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const normalize_url: (url: string) => string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const SPECIAL_PROTOCOLS = [
|
|
2
|
+
'about:',
|
|
3
|
+
'mailto:',
|
|
4
|
+
'tel:',
|
|
5
|
+
'ftp:',
|
|
6
|
+
'file:',
|
|
7
|
+
'data:',
|
|
8
|
+
'javascript:',
|
|
9
|
+
];
|
|
10
|
+
export const normalize_url = (url) => {
|
|
11
|
+
const normalized = url.trim();
|
|
12
|
+
if (normalized.includes('://')) {
|
|
13
|
+
return normalized;
|
|
14
|
+
}
|
|
15
|
+
if (SPECIAL_PROTOCOLS.some((protocol) => normalized.startsWith(protocol))) {
|
|
16
|
+
return normalized;
|
|
17
|
+
}
|
|
18
|
+
return `https://${normalized}`;
|
|
19
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { DOMState } from '../dom/views.js';
|
|
2
|
+
import type { DOMHistoryElement } from '../dom/history-tree-processor/view.js';
|
|
3
|
+
export declare const PLACEHOLDER_4PX_SCREENSHOT = "iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAFElEQVR4nGP8//8/AwwwMSAB3BwAlm4DBfIlvvkAAAAASUVORK5CYII=";
|
|
4
|
+
export interface TabInfo {
|
|
5
|
+
page_id: number;
|
|
6
|
+
url: string;
|
|
7
|
+
title: string;
|
|
8
|
+
parent_page_id?: number | null;
|
|
9
|
+
}
|
|
10
|
+
export interface PageInfo {
|
|
11
|
+
viewport_width: number;
|
|
12
|
+
viewport_height: number;
|
|
13
|
+
page_width: number;
|
|
14
|
+
page_height: number;
|
|
15
|
+
scroll_x: number;
|
|
16
|
+
scroll_y: number;
|
|
17
|
+
pixels_above: number;
|
|
18
|
+
pixels_below: number;
|
|
19
|
+
pixels_left: number;
|
|
20
|
+
pixels_right: number;
|
|
21
|
+
}
|
|
22
|
+
interface BrowserStateSummaryInit {
|
|
23
|
+
url: string;
|
|
24
|
+
title: string;
|
|
25
|
+
tabs: TabInfo[];
|
|
26
|
+
screenshot?: string | null;
|
|
27
|
+
page_info?: PageInfo | null;
|
|
28
|
+
pixels_above?: number;
|
|
29
|
+
pixels_below?: number;
|
|
30
|
+
browser_errors?: string[];
|
|
31
|
+
is_pdf_viewer?: boolean;
|
|
32
|
+
loading_status?: string | null;
|
|
33
|
+
}
|
|
34
|
+
export declare class BrowserStateSummary extends DOMState {
|
|
35
|
+
url: string;
|
|
36
|
+
title: string;
|
|
37
|
+
tabs: TabInfo[];
|
|
38
|
+
screenshot: string | null;
|
|
39
|
+
page_info: PageInfo | null;
|
|
40
|
+
pixels_above: number;
|
|
41
|
+
pixels_below: number;
|
|
42
|
+
browser_errors: string[];
|
|
43
|
+
is_pdf_viewer: boolean;
|
|
44
|
+
loading_status: string | null;
|
|
45
|
+
constructor(dom_state: DOMState, init: BrowserStateSummaryInit);
|
|
46
|
+
}
|
|
47
|
+
export declare class BrowserStateHistory {
|
|
48
|
+
url: string;
|
|
49
|
+
title: string;
|
|
50
|
+
tabs: TabInfo[];
|
|
51
|
+
interacted_element: Array<DOMHistoryElement | null>;
|
|
52
|
+
screenshot_path: string | null;
|
|
53
|
+
constructor(url: string, title: string, tabs: TabInfo[], interacted_element: Array<DOMHistoryElement | null>, screenshot_path?: string | null);
|
|
54
|
+
get_screenshot(): string | null;
|
|
55
|
+
to_dict(): {
|
|
56
|
+
tabs: TabInfo[];
|
|
57
|
+
screenshot_path: string | null;
|
|
58
|
+
interacted_element: ({
|
|
59
|
+
tag_name: string;
|
|
60
|
+
xpath: string;
|
|
61
|
+
highlight_index: number | null;
|
|
62
|
+
entire_parent_branch_path: string[];
|
|
63
|
+
attributes: Record<string, string>;
|
|
64
|
+
shadow_root: boolean;
|
|
65
|
+
css_selector: string | null;
|
|
66
|
+
page_coordinates: import("../index.js").CoordinateSet | null;
|
|
67
|
+
viewport_coordinates: import("../index.js").CoordinateSet | null;
|
|
68
|
+
viewport_info: import("../index.js").ViewportInfo | null;
|
|
69
|
+
} | null)[];
|
|
70
|
+
url: string;
|
|
71
|
+
title: string;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export declare class BrowserError extends Error {
|
|
75
|
+
}
|
|
76
|
+
export declare class URLNotAllowedError extends BrowserError {
|
|
77
|
+
}
|
|
78
|
+
export {};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { DOMState } from '../dom/views.js';
|
|
4
|
+
export const PLACEHOLDER_4PX_SCREENSHOT = 'iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAIAAAAmkwkpAAAAFElEQVR4nGP8//8/AwwwMSAB3BwAlm4DBfIlvvkAAAAASUVORK5CYII=';
|
|
5
|
+
export class BrowserStateSummary extends DOMState {
|
|
6
|
+
url;
|
|
7
|
+
title;
|
|
8
|
+
tabs;
|
|
9
|
+
screenshot;
|
|
10
|
+
page_info;
|
|
11
|
+
pixels_above;
|
|
12
|
+
pixels_below;
|
|
13
|
+
browser_errors;
|
|
14
|
+
is_pdf_viewer;
|
|
15
|
+
loading_status;
|
|
16
|
+
constructor(dom_state, init) {
|
|
17
|
+
super(dom_state.element_tree, dom_state.selector_map);
|
|
18
|
+
this.url = init.url;
|
|
19
|
+
this.title = init.title;
|
|
20
|
+
this.tabs = init.tabs;
|
|
21
|
+
this.screenshot = init.screenshot ?? null;
|
|
22
|
+
this.page_info = init.page_info ?? null;
|
|
23
|
+
this.pixels_above = init.pixels_above ?? 0;
|
|
24
|
+
this.pixels_below = init.pixels_below ?? 0;
|
|
25
|
+
this.browser_errors = init.browser_errors ?? [];
|
|
26
|
+
this.is_pdf_viewer = init.is_pdf_viewer ?? false;
|
|
27
|
+
this.loading_status = init.loading_status ?? null;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class BrowserStateHistory {
|
|
31
|
+
url;
|
|
32
|
+
title;
|
|
33
|
+
tabs;
|
|
34
|
+
interacted_element;
|
|
35
|
+
screenshot_path;
|
|
36
|
+
constructor(url, title, tabs, interacted_element, screenshot_path = null) {
|
|
37
|
+
this.url = url;
|
|
38
|
+
this.title = title;
|
|
39
|
+
this.tabs = tabs;
|
|
40
|
+
this.interacted_element = interacted_element;
|
|
41
|
+
this.screenshot_path = screenshot_path;
|
|
42
|
+
}
|
|
43
|
+
get_screenshot() {
|
|
44
|
+
if (!this.screenshot_path) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
const resolved = path.resolve(this.screenshot_path);
|
|
48
|
+
if (!fs.existsSync(resolved)) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const data = fs.readFileSync(resolved);
|
|
53
|
+
return data.toString('base64');
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
to_dict() {
|
|
60
|
+
return {
|
|
61
|
+
tabs: this.tabs,
|
|
62
|
+
screenshot_path: this.screenshot_path,
|
|
63
|
+
interacted_element: this.interacted_element.map((element) => element?.to_dict?.() ?? null),
|
|
64
|
+
url: this.url,
|
|
65
|
+
title: this.title,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export class BrowserError extends Error {
|
|
70
|
+
}
|
|
71
|
+
export class URLNotAllowedError extends BrowserError {
|
|
72
|
+
}
|
package/dist/cli.d.ts
ADDED
package/dist/cli.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { Agent } from './agent/service.js';
|
|
3
|
+
import { ChatOpenAI } from './llm/openai/chat.js';
|
|
4
|
+
import { MCPServer } from './mcp/server.js';
|
|
5
|
+
import { get_browser_use_version } from './utils.js';
|
|
6
|
+
import dotenv from 'dotenv';
|
|
7
|
+
dotenv.config();
|
|
8
|
+
async function runMcpServer() {
|
|
9
|
+
const server = new MCPServer('browser-use', get_browser_use_version());
|
|
10
|
+
await server.start();
|
|
11
|
+
const shutdown = async () => {
|
|
12
|
+
await server.stop();
|
|
13
|
+
process.exit(0);
|
|
14
|
+
};
|
|
15
|
+
process.once('SIGINT', () => void shutdown());
|
|
16
|
+
process.once('SIGTERM', () => void shutdown());
|
|
17
|
+
await new Promise(() => { });
|
|
18
|
+
}
|
|
19
|
+
async function main() {
|
|
20
|
+
const args = process.argv.slice(2);
|
|
21
|
+
if (args.includes('--mcp')) {
|
|
22
|
+
await runMcpServer();
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (args.length === 0 || args.includes('--help')) {
|
|
26
|
+
console.log('Usage: browser-use <task>');
|
|
27
|
+
console.log(' browser-use --mcp');
|
|
28
|
+
process.exit(1);
|
|
29
|
+
}
|
|
30
|
+
const task = args.join(' ');
|
|
31
|
+
console.log(`Starting task: ${task}`);
|
|
32
|
+
const llm = new ChatOpenAI();
|
|
33
|
+
const agent = new Agent({ task, llm });
|
|
34
|
+
try {
|
|
35
|
+
await agent.run();
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
console.error('Error running agent:', error);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
43
|
+
main();
|
|
44
|
+
}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
export declare const is_running_in_docker: () => boolean;
|
|
2
|
+
declare class OldConfig {
|
|
3
|
+
private _dirs_created;
|
|
4
|
+
get BROWSER_USE_LOGGING_LEVEL(): string;
|
|
5
|
+
get ANONYMIZED_TELEMETRY(): boolean;
|
|
6
|
+
get BROWSER_USE_CLOUD_SYNC(): boolean;
|
|
7
|
+
get BROWSER_USE_CLOUD_API_URL(): string;
|
|
8
|
+
get BROWSER_USE_CLOUD_UI_URL(): string;
|
|
9
|
+
get XDG_CACHE_HOME(): string;
|
|
10
|
+
get XDG_CONFIG_HOME(): string;
|
|
11
|
+
get BROWSER_USE_CONFIG_DIR(): string;
|
|
12
|
+
get BROWSER_USE_CONFIG_FILE(): string;
|
|
13
|
+
get BROWSER_USE_PROFILES_DIR(): string;
|
|
14
|
+
get BROWSER_USE_DEFAULT_USER_DATA_DIR(): string;
|
|
15
|
+
get BROWSER_USE_EXTENSIONS_DIR(): string;
|
|
16
|
+
get OPENAI_API_KEY(): string;
|
|
17
|
+
get ANTHROPIC_API_KEY(): string;
|
|
18
|
+
get GOOGLE_API_KEY(): string;
|
|
19
|
+
get DEEPSEEK_API_KEY(): string;
|
|
20
|
+
get GROK_API_KEY(): string;
|
|
21
|
+
get NOVITA_API_KEY(): string;
|
|
22
|
+
get AZURE_OPENAI_ENDPOINT(): string;
|
|
23
|
+
get AZURE_OPENAI_KEY(): string;
|
|
24
|
+
get SKIP_LLM_API_KEY_VERIFICATION(): boolean;
|
|
25
|
+
get IN_DOCKER(): boolean;
|
|
26
|
+
get IS_IN_EVALS(): boolean;
|
|
27
|
+
get WIN_FONT_DIR(): string;
|
|
28
|
+
_ensure_dirs(base_dir?: string): void;
|
|
29
|
+
}
|
|
30
|
+
declare class FlatEnvConfig {
|
|
31
|
+
get BROWSER_USE_LOGGING_LEVEL(): string;
|
|
32
|
+
get ANONYMIZED_TELEMETRY(): boolean;
|
|
33
|
+
get BROWSER_USE_CLOUD_SYNC(): boolean | null;
|
|
34
|
+
get BROWSER_USE_CLOUD_API_URL(): string;
|
|
35
|
+
get BROWSER_USE_CLOUD_UI_URL(): string;
|
|
36
|
+
get XDG_CACHE_HOME(): string;
|
|
37
|
+
get XDG_CONFIG_HOME(): string;
|
|
38
|
+
get BROWSER_USE_CONFIG_DIR(): string | null;
|
|
39
|
+
get OPENAI_API_KEY(): string;
|
|
40
|
+
get ANTHROPIC_API_KEY(): string;
|
|
41
|
+
get GOOGLE_API_KEY(): string;
|
|
42
|
+
get DEEPSEEK_API_KEY(): string;
|
|
43
|
+
get GROK_API_KEY(): string;
|
|
44
|
+
get NOVITA_API_KEY(): string;
|
|
45
|
+
get AZURE_OPENAI_ENDPOINT(): string;
|
|
46
|
+
get AZURE_OPENAI_KEY(): string;
|
|
47
|
+
get SKIP_LLM_API_KEY_VERIFICATION(): boolean;
|
|
48
|
+
get IN_DOCKER(): boolean | null;
|
|
49
|
+
get IS_IN_EVALS(): boolean;
|
|
50
|
+
get WIN_FONT_DIR(): string;
|
|
51
|
+
get BROWSER_USE_CONFIG_PATH(): string | null;
|
|
52
|
+
get BROWSER_USE_HEADLESS(): boolean | null;
|
|
53
|
+
get BROWSER_USE_ALLOWED_DOMAINS(): string | null;
|
|
54
|
+
get BROWSER_USE_LLM_MODEL(): string | null;
|
|
55
|
+
}
|
|
56
|
+
interface DBStyleEntry {
|
|
57
|
+
id: string;
|
|
58
|
+
default: boolean;
|
|
59
|
+
created_at: string;
|
|
60
|
+
}
|
|
61
|
+
export interface BrowserProfileEntry extends DBStyleEntry {
|
|
62
|
+
headless?: boolean | null;
|
|
63
|
+
user_data_dir?: string | null;
|
|
64
|
+
allowed_domains?: string[] | null;
|
|
65
|
+
downloads_path?: string | null;
|
|
66
|
+
[key: string]: unknown;
|
|
67
|
+
}
|
|
68
|
+
export interface LLMEntry extends DBStyleEntry {
|
|
69
|
+
api_key?: string | null;
|
|
70
|
+
model?: string | null;
|
|
71
|
+
temperature?: number | null;
|
|
72
|
+
max_tokens?: number | null;
|
|
73
|
+
}
|
|
74
|
+
export interface AgentEntry extends DBStyleEntry {
|
|
75
|
+
max_steps?: number | null;
|
|
76
|
+
use_vision?: boolean | null;
|
|
77
|
+
system_prompt?: string | null;
|
|
78
|
+
}
|
|
79
|
+
export interface DBStyleConfigJSON {
|
|
80
|
+
browser_profile: Record<string, BrowserProfileEntry>;
|
|
81
|
+
llm: Record<string, LLMEntry>;
|
|
82
|
+
agent: Record<string, AgentEntry>;
|
|
83
|
+
}
|
|
84
|
+
type RuntimeConfig = {
|
|
85
|
+
browser_profile: Record<string, any>;
|
|
86
|
+
llm: Record<string, any>;
|
|
87
|
+
agent: Record<string, any>;
|
|
88
|
+
};
|
|
89
|
+
declare class ConfigCore {
|
|
90
|
+
private _get_config_path;
|
|
91
|
+
private _get_db_config;
|
|
92
|
+
private _get_default_entry;
|
|
93
|
+
_get_default_profile(): Record<string, any>;
|
|
94
|
+
_get_default_llm(): Record<string, any>;
|
|
95
|
+
_get_default_agent(): Record<string, any>;
|
|
96
|
+
_load_config(): RuntimeConfig;
|
|
97
|
+
_ensure_dirs(): void;
|
|
98
|
+
load_config(): RuntimeConfig;
|
|
99
|
+
get_default_profile(): Record<string, any>;
|
|
100
|
+
get_default_llm(): Record<string, any>;
|
|
101
|
+
get_default_agent(): Record<string, any>;
|
|
102
|
+
}
|
|
103
|
+
type ConfigType = ConfigCore & OldConfig & FlatEnvConfig;
|
|
104
|
+
export declare const CONFIG: ConfigType;
|
|
105
|
+
export declare const load_browser_use_config: () => RuntimeConfig;
|
|
106
|
+
export declare const get_default_profile: (config: Record<string, any>) => any;
|
|
107
|
+
export declare const get_default_llm: (config: Record<string, any>) => any;
|
|
108
|
+
export {};
|