diff options
| author | amankumarsingh77 <amankumarsingh7702@gmail.com> | 2026-07-27 01:17:32 +0530 |
|---|---|---|
| committer | Aman Kumar <145339995+amankumarsingh77@users.noreply.github.com> | 2026-08-02 19:12:46 +0530 |
| commit | 9e9bf2a3badb59d0ce5bdb47c4e9d09ffb259e69 (patch) | |
| tree | 602a6e33a98de62bf1f0c1d873eeb2676c650242 /src/domains | |
| parent | d1b57558ff40ef6d6b19ee7eff0a44f7f4a585f6 (diff) | |
refactor(cdp): extract attachTo, getWindowId, evaluateJson helpers
Target.attachToTarget was decoded at 5 sites, Browser.getWindowForTarget
at 5, and Runtime.evaluate unwrapped at another. Each is now one typed
helper. Deletes the dead cdp/window-binding.ts.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'src/domains')
| -rw-r--r-- | src/domains/navigate.ts | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/domains/navigate.ts b/src/domains/navigate.ts index aa0d671..98a2c13 100644 --- a/src/domains/navigate.ts +++ b/src/domains/navigate.ts @@ -4,6 +4,7 @@ import { type Result, err, ok } from "../util/result"; import { defineBrowserTool, type ToolErr, type ToolOk } from "../util/tool"; import { applyTruncation } from "../util/truncate"; import { safeJs } from "../util/js-template"; +import { attachTo } from "../cdp/attach"; import { ensureHarnessWindow, openHarnessTab } from "../cdp/target-factory"; const NavigateArgs = Type.Object({ @@ -110,9 +111,9 @@ export const openUrlsTool = defineBrowserTool({ const settled = await Promise.all( created.filter((t) => t.ok).map(async (tab): Promise<TabResult> => { try { - const attached = await client.session().callBrowser("Target.attachToTarget", { targetId: tab.targetId, flatten: true }); + const attached = await attachTo(client.session(), tab.targetId); if (!attached.success) return { ...tab, ok: false, error: attached.error.message }; - const sid = (attached.data as { sessionId: string }).sessionId; // CDP boundary cast: Target.attachToTarget returns { sessionId: string } + const sid = attached.data; const enabled = await client.session().callOnTarget("Page.enable", {}, sid); if (!enabled.success) return { ...tab, ok: false, error: enabled.error.message }; const nav = await client.session().callOnTarget("Page.navigate", { url: tab.url }, sid); |
