bb-browser 0.5.2 → 0.7.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/README.md +18 -5
- package/README.zh-CN.md +18 -5
- package/dist/cli.js +96 -3
- package/dist/cli.js.map +1 -1
- package/dist/openclaw-bridge-P3G4KGYM.js +43 -0
- package/dist/openclaw-bridge-P3G4KGYM.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "./chunk-D4HDZEJT.js";
|
|
3
|
+
|
|
4
|
+
// packages/cli/src/openclaw-bridge.ts
|
|
5
|
+
import { execFileSync } from "child_process";
|
|
6
|
+
function runOpenClaw(args, timeout) {
|
|
7
|
+
return execFileSync("npx", ["openclaw", "browser", ...args], {
|
|
8
|
+
encoding: "utf-8",
|
|
9
|
+
timeout,
|
|
10
|
+
stdio: ["pipe", "pipe", "pipe"]
|
|
11
|
+
}).trim();
|
|
12
|
+
}
|
|
13
|
+
function ocGetTabs() {
|
|
14
|
+
const raw = runOpenClaw(["tabs", "--json"], 15e3);
|
|
15
|
+
const data = JSON.parse(raw);
|
|
16
|
+
return (data.tabs || []).filter((tab) => tab.type === "page");
|
|
17
|
+
}
|
|
18
|
+
function ocFindTabByDomain(tabs, domain) {
|
|
19
|
+
return tabs.find((tab) => {
|
|
20
|
+
try {
|
|
21
|
+
const hostname = new URL(tab.url).hostname;
|
|
22
|
+
return hostname === domain || hostname.endsWith(`.${domain}`);
|
|
23
|
+
} catch {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function ocOpenTab(url) {
|
|
29
|
+
const raw = runOpenClaw(["open", url, "--json"], 3e4);
|
|
30
|
+
const data = JSON.parse(raw);
|
|
31
|
+
return data.id || data.targetId;
|
|
32
|
+
}
|
|
33
|
+
function ocEvaluate(targetId, fn) {
|
|
34
|
+
const raw = runOpenClaw(["evaluate", "--fn", fn, "--target-id", targetId], 3e4);
|
|
35
|
+
return JSON.parse(raw);
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
ocEvaluate,
|
|
39
|
+
ocFindTabByDomain,
|
|
40
|
+
ocGetTabs,
|
|
41
|
+
ocOpenTab
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=openclaw-bridge-P3G4KGYM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../packages/cli/src/openclaw-bridge.ts"],"sourcesContent":["import { execFileSync } from \"node:child_process\";\n\nexport interface OCTab {\n targetId: string;\n url: string;\n title: string;\n type: string;\n}\n\nfunction runOpenClaw(args: string[], timeout: number): string {\n return execFileSync(\"npx\", [\"openclaw\", \"browser\", ...args], {\n encoding: \"utf-8\",\n timeout,\n stdio: [\"pipe\", \"pipe\", \"pipe\"],\n }).trim();\n}\n\nexport function ocGetTabs(): OCTab[] {\n const raw = runOpenClaw([\"tabs\", \"--json\"], 15000);\n const data = JSON.parse(raw);\n return (data.tabs || []).filter((tab: OCTab) => tab.type === \"page\");\n}\n\nexport function ocFindTabByDomain(tabs: OCTab[], domain: string): OCTab | undefined {\n return tabs.find((tab) => {\n try {\n const hostname = new URL(tab.url).hostname;\n return hostname === domain || hostname.endsWith(`.${domain}`);\n } catch {\n return false;\n }\n });\n}\n\nexport function ocOpenTab(url: string): string {\n const raw = runOpenClaw([\"open\", url, \"--json\"], 30000);\n const data = JSON.parse(raw);\n return data.id || data.targetId;\n}\n\nexport function ocEvaluate(targetId: string, fn: string): unknown {\n const raw = runOpenClaw([\"evaluate\", \"--fn\", fn, \"--target-id\", targetId], 30000);\n return JSON.parse(raw);\n}\n"],"mappings":";;;;AAAA,SAAS,oBAAoB;AAS7B,SAAS,YAAY,MAAgB,SAAyB;AAC5D,SAAO,aAAa,OAAO,CAAC,YAAY,WAAW,GAAG,IAAI,GAAG;AAAA,IAC3D,UAAU;AAAA,IACV;AAAA,IACA,OAAO,CAAC,QAAQ,QAAQ,MAAM;AAAA,EAChC,CAAC,EAAE,KAAK;AACV;AAEO,SAAS,YAAqB;AACnC,QAAM,MAAM,YAAY,CAAC,QAAQ,QAAQ,GAAG,IAAK;AACjD,QAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,UAAQ,KAAK,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAe,IAAI,SAAS,MAAM;AACrE;AAEO,SAAS,kBAAkB,MAAe,QAAmC;AAClF,SAAO,KAAK,KAAK,CAAC,QAAQ;AACxB,QAAI;AACF,YAAM,WAAW,IAAI,IAAI,IAAI,GAAG,EAAE;AAClC,aAAO,aAAa,UAAU,SAAS,SAAS,IAAI,MAAM,EAAE;AAAA,IAC9D,QAAQ;AACN,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAEO,SAAS,UAAU,KAAqB;AAC7C,QAAM,MAAM,YAAY,CAAC,QAAQ,KAAK,QAAQ,GAAG,GAAK;AACtD,QAAM,OAAO,KAAK,MAAM,GAAG;AAC3B,SAAO,KAAK,MAAM,KAAK;AACzB;AAEO,SAAS,WAAW,UAAkB,IAAqB;AAChE,QAAM,MAAM,YAAY,CAAC,YAAY,QAAQ,IAAI,eAAe,QAAQ,GAAG,GAAK;AAChF,SAAO,KAAK,MAAM,GAAG;AACvB;","names":[]}
|