@openacme/browser 0.4.0 → 0.5.0
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/dist/binaries.d.ts +63 -0
- package/dist/binaries.d.ts.map +1 -0
- package/dist/binaries.js +159 -0
- package/dist/binaries.js.map +1 -0
- package/dist/chrome.d.ts +22 -3
- package/dist/chrome.d.ts.map +1 -1
- package/dist/chrome.js +117 -16
- package/dist/chrome.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +40 -40
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +238 -253
- package/dist/manager.js.map +1 -1
- package/dist/providers/base.d.ts +44 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +2 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/browser-use.d.ts +24 -0
- package/dist/providers/browser-use.d.ts.map +1 -0
- package/dist/providers/browser-use.js +110 -0
- package/dist/providers/browser-use.js.map +1 -0
- package/dist/providers/browserbase.d.ts +29 -0
- package/dist/providers/browserbase.d.ts.map +1 -0
- package/dist/providers/browserbase.js +126 -0
- package/dist/providers/browserbase.js.map +1 -0
- package/dist/providers/firecrawl.d.ts +22 -0
- package/dist/providers/firecrawl.d.ts.map +1 -0
- package/dist/providers/firecrawl.js +101 -0
- package/dist/providers/firecrawl.js.map +1 -0
- package/dist/providers/index.d.ts +20 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +27 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/local.d.ts +35 -0
- package/dist/providers/local.d.ts.map +1 -0
- package/dist/providers/local.js +132 -0
- package/dist/providers/local.js.map +1 -0
- package/dist/types.d.ts +27 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
package/dist/manager.d.ts
CHANGED
|
@@ -1,52 +1,56 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BrowserProvider } from "./providers/base.js";
|
|
2
|
+
import type { AgentBrowserOverrides } from "./types.js";
|
|
3
|
+
import type { ActionResult, ClickCoordsParams, ClickParams, ConsoleMessagesParams, ConsoleMessagesResult, DialogResult, DragParams, EvaluateParams, EvaluateResult, FileUploadParams, FillFormParams, FillFormResult, HandleDialogParams, HoverParams, NavHistoryResult, NavigateParams, NavigateResult, PdfResult, PressKeyParams, ResizeParams, ResizeResult, SaveAsPdfParams, ScreenshotParams, ScreenshotResult, SelectOptionParams, SelectOptionResult, SnapshotParams, SnapshotResult, TabId, TabInfo, TypeParams, WaitForParams } from "./types.js";
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
5
|
+
* Per-agent browser orchestrator. Each agent that calls a browser tool
|
|
6
|
+
* gets its own session — a separate Chrome process for the local provider,
|
|
7
|
+
* a separate cloud session for Browserbase / Browser-Use / Firecrawl.
|
|
8
|
+
* Sessions are lazy and acquired on first tool call.
|
|
4
9
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* space. Cross-agent tab access is refused.
|
|
9
|
-
*
|
|
10
|
-
* Lazy: nothing happens until the first tool call. CDP disconnect on
|
|
11
|
-
* sleep/wake is recovered transparently — `cachedBrowser` is invalidated
|
|
12
|
-
* by the `disconnected` listener and re-established on next call.
|
|
10
|
+
* Why per-agent: shared cookies cascade bans across the workforce, and
|
|
11
|
+
* shared fingerprints get the whole org flagged on social-media-style
|
|
12
|
+
* sites. Each agent is a distinct persona; the runtime should reflect that.
|
|
13
13
|
*/
|
|
14
14
|
export declare class BrowserManager {
|
|
15
|
-
private readonly
|
|
16
|
-
private readonly
|
|
17
|
-
private
|
|
18
|
-
private
|
|
19
|
-
private
|
|
20
|
-
private launchingPromise;
|
|
21
|
-
private tabOwnership;
|
|
22
|
-
private agentTabs;
|
|
23
|
-
private activeTabByAgent;
|
|
24
|
-
private pageState;
|
|
15
|
+
private readonly provider;
|
|
16
|
+
private readonly resolveOverrides;
|
|
17
|
+
private readonly ensureOverrides;
|
|
18
|
+
private instances;
|
|
19
|
+
private connecting;
|
|
25
20
|
constructor(opts: {
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
provider: BrowserProvider;
|
|
22
|
+
/** Look up per-agent browser overrides at acquire time. AgentManager
|
|
23
|
+
* supplies this with a closure over agentStore. Without it, providers
|
|
24
|
+
* fall back to env vars / their own defaults. */
|
|
25
|
+
resolveOverrides?: (agentId: string) => AgentBrowserOverrides | undefined;
|
|
26
|
+
/** Lazy-provision a per-agent profile when the agent doesn't have one
|
|
27
|
+
* yet for the active provider. Called once per first-acquire when the
|
|
28
|
+
* resolved overrides are missing the provider-specific profile field.
|
|
29
|
+
* Returns the updated overrides (which AgentManager should also
|
|
30
|
+
* persist to the agent store, so the next acquire skips this). */
|
|
31
|
+
ensureOverrides?: (agentId: string, current: AgentBrowserOverrides | undefined) => Promise<AgentBrowserOverrides | undefined>;
|
|
28
32
|
});
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
private
|
|
32
|
-
private
|
|
33
|
-
private
|
|
33
|
+
get providerName(): string;
|
|
34
|
+
private getInstance;
|
|
35
|
+
private isInstanceAlive;
|
|
36
|
+
private connectFor;
|
|
37
|
+
private contextFor;
|
|
38
|
+
/** Release one agent's browser session. Idempotent. */
|
|
39
|
+
closeAgent(agentId: string): Promise<void>;
|
|
40
|
+
/** Release every agent and shut down the provider. */
|
|
34
41
|
close(): Promise<void>;
|
|
35
42
|
private observePage;
|
|
36
|
-
private agentTabsFor;
|
|
37
|
-
private assignTabAlias;
|
|
38
|
-
private trackPageForAgent;
|
|
39
|
-
private releaseTab;
|
|
40
|
-
private targetIdOf;
|
|
41
43
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
+
* Tab identity is the Page object itself — stable for the page's
|
|
45
|
+
* lifetime in Playwright. Avoids CDP-specific calls (`newCDPSession`)
|
|
46
|
+
* so Firefox-based backends (Camoufox) work the same as Chromium.
|
|
44
47
|
*/
|
|
48
|
+
private trackPage;
|
|
45
49
|
private resolvePage;
|
|
46
|
-
private findPageByTargetId;
|
|
47
50
|
/**
|
|
48
51
|
* Run an action with one-shot reconnect on transient CDP disconnects.
|
|
49
|
-
*
|
|
52
|
+
* Drops the agent's instance + cloud session before retrying so we
|
|
53
|
+
* don't reuse a server-side session that the provider already killed.
|
|
50
54
|
*/
|
|
51
55
|
private withReconnect;
|
|
52
56
|
navigate(agentId: string, p: NavigateParams): Promise<NavigateResult>;
|
|
@@ -73,10 +77,6 @@ export declare class BrowserManager {
|
|
|
73
77
|
selectOption(agentId: string, p: SelectOptionParams): Promise<SelectOptionResult>;
|
|
74
78
|
fillForm(agentId: string, p: FillFormParams): Promise<FillFormResult>;
|
|
75
79
|
fileUpload(agentId: string, p: FileUploadParams): Promise<ActionResult>;
|
|
76
|
-
/**
|
|
77
|
-
* Arm a one-shot dialog handler on the page. The handler resolves the
|
|
78
|
-
* NEXT dialog event with accept/dismiss + optional prompt text.
|
|
79
|
-
*/
|
|
80
80
|
handleDialog(agentId: string, p: HandleDialogParams): Promise<DialogResult>;
|
|
81
81
|
resize(agentId: string, p: ResizeParams): Promise<ResizeResult>;
|
|
82
82
|
navigateBack(agentId: string, p: {
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|