nothing-browser 0.0.19 → 0.0.20
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 +20 -20
- package/README.md +253 -253
- package/dist/launch/detect.js +0 -8
- package/dist/launch/spawn.js +0 -8
- package/dist/piggy/launch/detect.d.ts +1 -1
- package/dist/piggy/launch/detect.d.ts.map +1 -1
- package/dist/piggy/register/index.d.ts.map +1 -1
- package/dist/piggy.d.ts +0 -1
- package/dist/piggy.d.ts.map +1 -1
- package/dist/piggy.js +14 -11
- package/dist/register/index.js +14 -3
- package/nothing_browser_pig_pink.svg +58 -58
- package/package.json +4 -3
- package/piggy/cache/memory.d.ts +6 -6
- package/piggy/cache/memory.ts +37 -37
- package/piggy/client/index.d.ts +78 -78
- package/piggy/client/index.ts +567 -567
- package/piggy/human/index.d.ts +6 -6
- package/piggy/human/index.ts +52 -52
- package/piggy/intercept/scripts.d.ts +12 -12
- package/piggy/intercept/scripts.ts +152 -152
- package/piggy/launch/detect.d.ts +2 -2
- package/piggy/launch/detect.ts +42 -51
- package/piggy/launch/spawn.d.ts +5 -5
- package/piggy/launch/spawn.ts +164 -164
- package/piggy/logger/index.d.ts +2 -2
- package/piggy/logger/index.ts +58 -58
- package/piggy/open/index.d.ts +3 -3
- package/piggy/open/index.ts +4 -4
- package/piggy/pool/index.d.ts +11 -11
- package/piggy/pool/index.ts +74 -74
- package/piggy/register/index.d.ts +6 -6
- package/piggy/register/index.ts +517 -506
- package/piggy/server/index.d.ts +57 -57
- package/piggy/server/index.ts +189 -189
- package/piggy/store/index.d.ts +25 -25
- package/piggy/store/index.ts +229 -229
- package/piggy.ts +216 -221
package/dist/piggy.js
CHANGED
|
@@ -6105,7 +6105,7 @@ var require_file_uri_to_path = __commonJS((exports, module) => {
|
|
|
6105
6105
|
|
|
6106
6106
|
// node_modules/bindings/bindings.js
|
|
6107
6107
|
var require_bindings = __commonJS((exports, module) => {
|
|
6108
|
-
var __filename = "
|
|
6108
|
+
var __filename = "C:\\Users\\CENTURY CYBER\\Desktop\\piggy\\nothing-browser\\node_modules\\bindings\\bindings.js";
|
|
6109
6109
|
var fs = __require("fs");
|
|
6110
6110
|
var path = __require("path");
|
|
6111
6111
|
var fileURLToPath = require_file_uri_to_path();
|
|
@@ -6870,14 +6870,6 @@ var BINARY_NAMES = {
|
|
|
6870
6870
|
headful: "nothing-browser-headful"
|
|
6871
6871
|
};
|
|
6872
6872
|
function detectBinary(mode = "headless") {
|
|
6873
|
-
if (mode !== "headless" && mode !== "headful") {
|
|
6874
|
-
if (existsSync(mode)) {
|
|
6875
|
-
logger_default.success(`Binary found (custom path): ${mode}`);
|
|
6876
|
-
return mode;
|
|
6877
|
-
}
|
|
6878
|
-
logger_default.error(`❌ Binary not found at custom path: ${mode}`);
|
|
6879
|
-
return null;
|
|
6880
|
-
}
|
|
6881
6873
|
const cwd = process.cwd();
|
|
6882
6874
|
const name = BINARY_NAMES[mode];
|
|
6883
6875
|
if (process.platform === "win32") {
|
|
@@ -28776,7 +28768,7 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
28776
28768
|
return client.hover(selector, t2);
|
|
28777
28769
|
}), `hover(${selector})`),
|
|
28778
28770
|
type: (selector, text, opts) => withErrScreen(() => withTab(async (t2) => {
|
|
28779
|
-
await client.waitForSelector(selector,
|
|
28771
|
+
await client.waitForSelector(selector, 30000, t2);
|
|
28780
28772
|
if (humanMode && !opts?.fact) {
|
|
28781
28773
|
const seq = humanTypeSequence(text);
|
|
28782
28774
|
let current = "";
|
|
@@ -28785,7 +28777,15 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
28785
28777
|
current = current.slice(0, -1);
|
|
28786
28778
|
else
|
|
28787
28779
|
current += action;
|
|
28788
|
-
await client.
|
|
28780
|
+
await client.evaluate(`
|
|
28781
|
+
(function() {
|
|
28782
|
+
const el = document.querySelector('${selector}');
|
|
28783
|
+
const nativeSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
|
|
28784
|
+
nativeSetter.call(el, '${current.replace(/'/g, "\\'")}');
|
|
28785
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
28786
|
+
el.dispatchEvent(new Event('change', { bubbles: true }));
|
|
28787
|
+
})()
|
|
28788
|
+
`, t2);
|
|
28789
28789
|
const wpm = opts?.wpm ?? 120;
|
|
28790
28790
|
const msPerChar = Math.round(60000 / (wpm * 5));
|
|
28791
28791
|
await randomDelay(msPerChar * 0.5, msPerChar * 1.8);
|
|
@@ -28798,6 +28798,9 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
28798
28798
|
} else {
|
|
28799
28799
|
await client.type(selector, text, t2);
|
|
28800
28800
|
}
|
|
28801
|
+
await client.evaluate(`
|
|
28802
|
+
document.querySelector('${selector}').dispatchEvent(new Event('blur', { bubbles: true }))
|
|
28803
|
+
`, t2);
|
|
28801
28804
|
logger_default.success(`[${name}] typed into: ${selector}`);
|
|
28802
28805
|
return true;
|
|
28803
28806
|
}), `type(${selector})`),
|
package/dist/register/index.js
CHANGED
|
@@ -6105,7 +6105,7 @@ var require_file_uri_to_path = __commonJS((exports, module) => {
|
|
|
6105
6105
|
|
|
6106
6106
|
// node_modules/bindings/bindings.js
|
|
6107
6107
|
var require_bindings = __commonJS((exports, module) => {
|
|
6108
|
-
var __filename = "
|
|
6108
|
+
var __filename = "C:\\Users\\CENTURY CYBER\\Desktop\\piggy\\nothing-browser\\node_modules\\bindings\\bindings.js";
|
|
6109
6109
|
var fs = __require("fs");
|
|
6110
6110
|
var path = __require("path");
|
|
6111
6111
|
var fileURLToPath = require_file_uri_to_path();
|
|
@@ -23054,7 +23054,7 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
23054
23054
|
return client.hover(selector, t2);
|
|
23055
23055
|
}), `hover(${selector})`),
|
|
23056
23056
|
type: (selector, text, opts) => withErrScreen(() => withTab(async (t2) => {
|
|
23057
|
-
await client.waitForSelector(selector,
|
|
23057
|
+
await client.waitForSelector(selector, 30000, t2);
|
|
23058
23058
|
if (humanMode && !opts?.fact) {
|
|
23059
23059
|
const seq = humanTypeSequence(text);
|
|
23060
23060
|
let current = "";
|
|
@@ -23063,7 +23063,15 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
23063
23063
|
current = current.slice(0, -1);
|
|
23064
23064
|
else
|
|
23065
23065
|
current += action;
|
|
23066
|
-
await client.
|
|
23066
|
+
await client.evaluate(`
|
|
23067
|
+
(function() {
|
|
23068
|
+
const el = document.querySelector('${selector}');
|
|
23069
|
+
const nativeSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
|
|
23070
|
+
nativeSetter.call(el, '${current.replace(/'/g, "\\'")}');
|
|
23071
|
+
el.dispatchEvent(new Event('input', { bubbles: true }));
|
|
23072
|
+
el.dispatchEvent(new Event('change', { bubbles: true }));
|
|
23073
|
+
})()
|
|
23074
|
+
`, t2);
|
|
23067
23075
|
const wpm = opts?.wpm ?? 120;
|
|
23068
23076
|
const msPerChar = Math.round(60000 / (wpm * 5));
|
|
23069
23077
|
await randomDelay(msPerChar * 0.5, msPerChar * 1.8);
|
|
@@ -23076,6 +23084,9 @@ function createSiteObject(name, registeredUrl, client, tabId, pool) {
|
|
|
23076
23084
|
} else {
|
|
23077
23085
|
await client.type(selector, text, t2);
|
|
23078
23086
|
}
|
|
23087
|
+
await client.evaluate(`
|
|
23088
|
+
document.querySelector('${selector}').dispatchEvent(new Event('blur', { bubbles: true }))
|
|
23089
|
+
`, t2);
|
|
23079
23090
|
logger_default.success(`[${name}] typed into: ${selector}`);
|
|
23080
23091
|
return true;
|
|
23081
23092
|
}), `type(${selector})`),
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
<svg width="100%" viewBox="0 0 680 620" role="img" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<title style="fill:rgb(0, 0, 0);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Nothing Browser pink pig logo</title>
|
|
3
|
-
<desc style="fill:rgb(0, 0, 0);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Pink version of the pig face shield logo</desc>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
<!-- SHIELD BACKGROUND (was black) -->
|
|
8
|
-
<path d="M340 55
 C380 55 460 75 490 120
 C515 158 510 220 495 270
 C475 335 430 390 375 430
 C362 439 351 445 340 450
 C329 445 318 439 305 430
 C250 390 205 335 185 270
 C170 220 165 158 190 120
 C220 75 300 55 340 55 Z" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
9
|
-
|
|
10
|
-
<!-- FACE circle (was white) -->
|
|
11
|
-
<circle cx="340" cy="268" r="130" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
12
|
-
|
|
13
|
-
<!-- LEFT EAR outer (dark) -->
|
|
14
|
-
<ellipse cx="262" cy="152" rx="42" ry="52" transform="rotate(-18 262 152)" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
15
|
-
<!-- LEFT EAR inner (light) -->
|
|
16
|
-
<ellipse cx="262" cy="153" rx="24" ry="30" transform="rotate(-18 262 153)" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
17
|
-
|
|
18
|
-
<!-- RIGHT EAR outer (dark) -->
|
|
19
|
-
<ellipse cx="418" cy="152" rx="42" ry="52" transform="rotate(18 418 152)" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
20
|
-
<!-- RIGHT EAR inner (light) -->
|
|
21
|
-
<ellipse cx="418" cy="153" rx="24" ry="30" transform="rotate(18 418 153)" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
22
|
-
|
|
23
|
-
<!-- LEFT EYE outer (dark oval) -->
|
|
24
|
-
<ellipse cx="298" cy="248" rx="22" ry="26" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
25
|
-
<!-- LEFT EYE white -->
|
|
26
|
-
<ellipse cx="298" cy="248" rx="14" ry="18" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
27
|
-
<!-- LEFT EYE pupil -->
|
|
28
|
-
<circle cx="301" cy="251" r="9" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
29
|
-
<!-- LEFT EYE shine -->
|
|
30
|
-
<circle cx="305" cy="246" r="4" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
31
|
-
|
|
32
|
-
<!-- RIGHT EYE outer -->
|
|
33
|
-
<ellipse cx="382" cy="248" rx="22" ry="26" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
34
|
-
<!-- RIGHT EYE white -->
|
|
35
|
-
<ellipse cx="382" cy="248" rx="14" ry="18" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
36
|
-
<!-- RIGHT EYE pupil -->
|
|
37
|
-
<circle cx="385" cy="251" r="9" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
38
|
-
<!-- RIGHT EYE shine -->
|
|
39
|
-
<circle cx="389" cy="246" r="4" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
40
|
-
|
|
41
|
-
<!-- SNOUT outer (dark) -->
|
|
42
|
-
<ellipse cx="340" cy="306" rx="54" ry="42" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
43
|
-
<!-- SNOUT inner (light) -->
|
|
44
|
-
<ellipse cx="340" cy="305" rx="44" ry="33" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
45
|
-
<!-- LEFT NOSTRIL -->
|
|
46
|
-
<ellipse cx="320" cy="308" rx="11" ry="13" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
47
|
-
<!-- RIGHT NOSTRIL -->
|
|
48
|
-
<ellipse cx="360" cy="308" rx="11" ry="13" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
49
|
-
|
|
50
|
-
<!-- SMILE lines -->
|
|
51
|
-
<path d="M 295 345 Q 310 362 340 365 Q 370 362 385 345" fill="none" stroke="#e0449a" stroke-width="5" stroke-linecap="round" style="fill:none;stroke:rgb(224, 68, 154);color:rgb(251, 251, 254);stroke-width:5px;stroke-linecap:round;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
52
|
-
|
|
53
|
-
<!-- Cheek blush dots -->
|
|
54
|
-
<circle cx="270" cy="310" r="6" opacity="0.5" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
55
|
-
<circle cx="256" cy="322" r="4" opacity="0.4" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
56
|
-
<circle cx="410" cy="310" r="6" opacity="0.5" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
57
|
-
<circle cx="424" cy="322" r="4" opacity="0.4" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
58
|
-
|
|
1
|
+
<svg width="100%" viewBox="0 0 680 620" role="img" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title style="fill:rgb(0, 0, 0);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Nothing Browser pink pig logo</title>
|
|
3
|
+
<desc style="fill:rgb(0, 0, 0);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto">Pink version of the pig face shield logo</desc>
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
<!-- SHIELD BACKGROUND (was black) -->
|
|
8
|
+
<path d="M340 55
 C380 55 460 75 490 120
 C515 158 510 220 495 270
 C475 335 430 390 375 430
 C362 439 351 445 340 450
 C329 445 318 439 305 430
 C250 390 205 335 185 270
 C170 220 165 158 190 120
 C220 75 300 55 340 55 Z" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
9
|
+
|
|
10
|
+
<!-- FACE circle (was white) -->
|
|
11
|
+
<circle cx="340" cy="268" r="130" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
12
|
+
|
|
13
|
+
<!-- LEFT EAR outer (dark) -->
|
|
14
|
+
<ellipse cx="262" cy="152" rx="42" ry="52" transform="rotate(-18 262 152)" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
15
|
+
<!-- LEFT EAR inner (light) -->
|
|
16
|
+
<ellipse cx="262" cy="153" rx="24" ry="30" transform="rotate(-18 262 153)" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
17
|
+
|
|
18
|
+
<!-- RIGHT EAR outer (dark) -->
|
|
19
|
+
<ellipse cx="418" cy="152" rx="42" ry="52" transform="rotate(18 418 152)" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
20
|
+
<!-- RIGHT EAR inner (light) -->
|
|
21
|
+
<ellipse cx="418" cy="153" rx="24" ry="30" transform="rotate(18 418 153)" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
22
|
+
|
|
23
|
+
<!-- LEFT EYE outer (dark oval) -->
|
|
24
|
+
<ellipse cx="298" cy="248" rx="22" ry="26" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
25
|
+
<!-- LEFT EYE white -->
|
|
26
|
+
<ellipse cx="298" cy="248" rx="14" ry="18" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
27
|
+
<!-- LEFT EYE pupil -->
|
|
28
|
+
<circle cx="301" cy="251" r="9" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
29
|
+
<!-- LEFT EYE shine -->
|
|
30
|
+
<circle cx="305" cy="246" r="4" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
31
|
+
|
|
32
|
+
<!-- RIGHT EYE outer -->
|
|
33
|
+
<ellipse cx="382" cy="248" rx="22" ry="26" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
34
|
+
<!-- RIGHT EYE white -->
|
|
35
|
+
<ellipse cx="382" cy="248" rx="14" ry="18" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
36
|
+
<!-- RIGHT EYE pupil -->
|
|
37
|
+
<circle cx="385" cy="251" r="9" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
38
|
+
<!-- RIGHT EYE shine -->
|
|
39
|
+
<circle cx="389" cy="246" r="4" style="fill:rgb(255, 224, 240);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
40
|
+
|
|
41
|
+
<!-- SNOUT outer (dark) -->
|
|
42
|
+
<ellipse cx="340" cy="306" rx="54" ry="42" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
43
|
+
<!-- SNOUT inner (light) -->
|
|
44
|
+
<ellipse cx="340" cy="305" rx="44" ry="33" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
45
|
+
<!-- LEFT NOSTRIL -->
|
|
46
|
+
<ellipse cx="320" cy="308" rx="11" ry="13" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
47
|
+
<!-- RIGHT NOSTRIL -->
|
|
48
|
+
<ellipse cx="360" cy="308" rx="11" ry="13" style="fill:rgb(224, 68, 154);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
49
|
+
|
|
50
|
+
<!-- SMILE lines -->
|
|
51
|
+
<path d="M 295 345 Q 310 362 340 365 Q 370 362 385 345" fill="none" stroke="#e0449a" stroke-width="5" stroke-linecap="round" style="fill:none;stroke:rgb(224, 68, 154);color:rgb(251, 251, 254);stroke-width:5px;stroke-linecap:round;stroke-linejoin:miter;opacity:1;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
52
|
+
|
|
53
|
+
<!-- Cheek blush dots -->
|
|
54
|
+
<circle cx="270" cy="310" r="6" opacity="0.5" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
55
|
+
<circle cx="256" cy="322" r="4" opacity="0.4" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
56
|
+
<circle cx="410" cy="310" r="6" opacity="0.5" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.5;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
57
|
+
<circle cx="424" cy="322" r="4" opacity="0.4" style="fill:rgb(255, 110, 180);stroke:none;color:rgb(251, 251, 254);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;opacity:0.4;font-family:"Anthropic Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;font-weight:400;text-anchor:start;dominant-baseline:auto"/>
|
|
58
|
+
|
|
59
59
|
</svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nothing-browser",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "Browser automation library powered by Nothing Browser",
|
|
5
5
|
"homepage": "https://github.com/ernest-tech-house-co-operation/nothing-browser#readme",
|
|
6
6
|
"repository": {
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@elysiajs/openapi": "^1.4.15",
|
|
53
53
|
"better-sqlite3": "^12.9.0",
|
|
54
|
-
"elysia": "^1.0.0"
|
|
54
|
+
"elysia": "^1.0.0",
|
|
55
|
+
"ernest-logger": "2.0.4"
|
|
55
56
|
},
|
|
56
57
|
"peerDependencies": {
|
|
57
58
|
"elysia": "^1.0.0"
|
|
@@ -59,7 +60,7 @@
|
|
|
59
60
|
"devDependencies": {
|
|
60
61
|
"@types/node": "^20.0.0",
|
|
61
62
|
"bun-types": "latest",
|
|
62
|
-
"typescript": "^
|
|
63
|
+
"typescript": "^6.0.3"
|
|
63
64
|
},
|
|
64
65
|
"engines": {
|
|
65
66
|
"node": ">=18.0.0",
|
package/piggy/cache/memory.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare function get(key: string): any | null;
|
|
2
|
-
export declare function set(key: string, data: any, ttlMs: number): void;
|
|
3
|
-
export declare function del(key: string): void;
|
|
4
|
-
export declare function clear(): void;
|
|
5
|
-
export declare function size(): number;
|
|
6
|
-
export declare function keys(): string[];
|
|
1
|
+
export declare function get(key: string): any | null;
|
|
2
|
+
export declare function set(key: string, data: any, ttlMs: number): void;
|
|
3
|
+
export declare function del(key: string): void;
|
|
4
|
+
export declare function clear(): void;
|
|
5
|
+
export declare function size(): number;
|
|
6
|
+
export declare function keys(): string[];
|
|
7
7
|
//# sourceMappingURL=memory.d.ts.map
|
package/piggy/cache/memory.ts
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
// piggy/cache/memory.ts
|
|
2
|
-
|
|
3
|
-
interface CacheEntry {
|
|
4
|
-
data: any;
|
|
5
|
-
expires: number;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const store = new Map<string, CacheEntry>();
|
|
9
|
-
|
|
10
|
-
export function get(key: string): any | null {
|
|
11
|
-
const entry = store.get(key);
|
|
12
|
-
if (!entry) return null;
|
|
13
|
-
if (Date.now() > entry.expires) {
|
|
14
|
-
store.delete(key);
|
|
15
|
-
return null;
|
|
16
|
-
}
|
|
17
|
-
return entry.data;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function set(key: string, data: any, ttlMs: number) {
|
|
21
|
-
store.set(key, { data, expires: Date.now() + ttlMs });
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function del(key: string) {
|
|
25
|
-
store.delete(key);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export function clear() {
|
|
29
|
-
store.clear();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export function size() {
|
|
33
|
-
return store.size;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function keys() {
|
|
37
|
-
return Array.from(store.keys());
|
|
1
|
+
// piggy/cache/memory.ts
|
|
2
|
+
|
|
3
|
+
interface CacheEntry {
|
|
4
|
+
data: any;
|
|
5
|
+
expires: number;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const store = new Map<string, CacheEntry>();
|
|
9
|
+
|
|
10
|
+
export function get(key: string): any | null {
|
|
11
|
+
const entry = store.get(key);
|
|
12
|
+
if (!entry) return null;
|
|
13
|
+
if (Date.now() > entry.expires) {
|
|
14
|
+
store.delete(key);
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return entry.data;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function set(key: string, data: any, ttlMs: number) {
|
|
21
|
+
store.set(key, { data, expires: Date.now() + ttlMs });
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function del(key: string) {
|
|
25
|
+
store.delete(key);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export function clear() {
|
|
29
|
+
store.clear();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function size() {
|
|
33
|
+
return store.size;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function keys() {
|
|
37
|
+
return Array.from(store.keys());
|
|
38
38
|
}
|
package/piggy/client/index.d.ts
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
export declare class PiggyClient {
|
|
2
|
-
private socketPath;
|
|
3
|
-
private socket;
|
|
4
|
-
private reqId;
|
|
5
|
-
private pending;
|
|
6
|
-
private buf;
|
|
7
|
-
private eventBuffer;
|
|
8
|
-
private eventHandlers;
|
|
9
|
-
private globalEventHandlers;
|
|
10
|
-
constructor(socketPath?: string);
|
|
11
|
-
connect(): Promise<void>;
|
|
12
|
-
private handleEvent;
|
|
13
|
-
onEvent(eventName: string, tabId: string, handler: (data: any) => void): () => void;
|
|
14
|
-
disconnect(): void;
|
|
15
|
-
send<T = any>(cmd: string, payload?: Record<string, any>): Promise<T>;
|
|
16
|
-
newTab(): Promise<string>;
|
|
17
|
-
closeTab(tabId: string): Promise<void>;
|
|
18
|
-
listTabs(): Promise<string[]>;
|
|
19
|
-
navigate(url: string, tabId?: string): Promise<void>;
|
|
20
|
-
reload(tabId?: string): Promise<void>;
|
|
21
|
-
goBack(tabId?: string): Promise<void>;
|
|
22
|
-
goForward(tabId?: string): Promise<void>;
|
|
23
|
-
getTitle(tabId?: string): Promise<string>;
|
|
24
|
-
getUrl(tabId?: string): Promise<string>;
|
|
25
|
-
content(tabId?: string): Promise<string>;
|
|
26
|
-
evaluate(js: string, tabId?: string): Promise<any>;
|
|
27
|
-
addInitScript(js: string, tabId?: string): Promise<void>;
|
|
28
|
-
click(selector: string, tabId?: string): Promise<boolean>;
|
|
29
|
-
doubleClick(selector: string, tabId?: string): Promise<boolean>;
|
|
30
|
-
hover(selector: string, tabId?: string): Promise<boolean>;
|
|
31
|
-
type(selector: string, text: string, tabId?: string): Promise<boolean>;
|
|
32
|
-
select(selector: string, value: string, tabId?: string): Promise<boolean>;
|
|
33
|
-
keyPress(key: string, tabId?: string): Promise<boolean>;
|
|
34
|
-
keyCombo(combo: string, tabId?: string): Promise<boolean>;
|
|
35
|
-
mouseMove(x: number, y: number, tabId?: string): Promise<boolean>;
|
|
36
|
-
mouseDrag(from: {
|
|
37
|
-
x: number;
|
|
38
|
-
y: number;
|
|
39
|
-
}, to: {
|
|
40
|
-
x: number;
|
|
41
|
-
y: number;
|
|
42
|
-
}, tabId?: string): Promise<boolean>;
|
|
43
|
-
scrollTo(selector: string, tabId?: string): Promise<boolean>;
|
|
44
|
-
scrollBy(px: number, tabId?: string): Promise<boolean>;
|
|
45
|
-
fetchText(query: string, tabId?: string): Promise<string | null>;
|
|
46
|
-
fetchLinks(query: string, tabId?: string): Promise<string[]>;
|
|
47
|
-
fetchImages(query: string, tabId?: string): Promise<string[]>;
|
|
48
|
-
searchCss(query: string, tabId?: string): Promise<any>;
|
|
49
|
-
searchId(query: string, tabId?: string): Promise<any>;
|
|
50
|
-
waitForSelector(selector: string, timeout?: number, tabId?: string): Promise<void>;
|
|
51
|
-
waitForNavigation(tabId?: string): Promise<void>;
|
|
52
|
-
waitForResponse(urlPattern: string, timeout?: number, tabId?: string): Promise<void>;
|
|
53
|
-
screenshot(filePath?: string, tabId?: string): Promise<string>;
|
|
54
|
-
pdf(filePath?: string, tabId?: string): Promise<string>;
|
|
55
|
-
blockImages(tabId?: string): Promise<void>;
|
|
56
|
-
unblockImages(tabId?: string): Promise<void>;
|
|
57
|
-
setCookie(name: string, value: string, domain: string, path?: string, tabId?: string): Promise<void>;
|
|
58
|
-
getCookie(name: string, tabId?: string): Promise<any>;
|
|
59
|
-
deleteCookie(name: string, tabId?: string): Promise<void>;
|
|
60
|
-
listCookies(tabId?: string): Promise<any[]>;
|
|
61
|
-
addInterceptRule(action: "block" | "redirect" | "modifyHeaders", pattern: string, options?: {
|
|
62
|
-
redirectUrl?: string;
|
|
63
|
-
headers?: Record<string, string>;
|
|
64
|
-
}, tabId?: string): Promise<void>;
|
|
65
|
-
clearInterceptRules(tabId?: string): Promise<void>;
|
|
66
|
-
captureStart(tabId?: string): Promise<void>;
|
|
67
|
-
captureStop(tabId?: string): Promise<void>;
|
|
68
|
-
captureRequests(tabId?: string): Promise<any[]>;
|
|
69
|
-
captureWs(tabId?: string): Promise<any[]>;
|
|
70
|
-
captureCookies(tabId?: string): Promise<any[]>;
|
|
71
|
-
captureStorage(tabId?: string): Promise<any>;
|
|
72
|
-
captureClear(tabId?: string): Promise<void>;
|
|
73
|
-
sessionExport(tabId?: string): Promise<any>;
|
|
74
|
-
sessionImport(data: any, tabId?: string): Promise<void>;
|
|
75
|
-
exposeFunction(name: string, handler: (data: any) => Promise<any> | any, tabId?: string): Promise<void>;
|
|
76
|
-
unexposeFunction(name: string, tabId?: string): Promise<void>;
|
|
77
|
-
clearExposedFunctions(tabId?: string): Promise<void>;
|
|
78
|
-
}
|
|
1
|
+
export declare class PiggyClient {
|
|
2
|
+
private socketPath;
|
|
3
|
+
private socket;
|
|
4
|
+
private reqId;
|
|
5
|
+
private pending;
|
|
6
|
+
private buf;
|
|
7
|
+
private eventBuffer;
|
|
8
|
+
private eventHandlers;
|
|
9
|
+
private globalEventHandlers;
|
|
10
|
+
constructor(socketPath?: string);
|
|
11
|
+
connect(): Promise<void>;
|
|
12
|
+
private handleEvent;
|
|
13
|
+
onEvent(eventName: string, tabId: string, handler: (data: any) => void): () => void;
|
|
14
|
+
disconnect(): void;
|
|
15
|
+
send<T = any>(cmd: string, payload?: Record<string, any>): Promise<T>;
|
|
16
|
+
newTab(): Promise<string>;
|
|
17
|
+
closeTab(tabId: string): Promise<void>;
|
|
18
|
+
listTabs(): Promise<string[]>;
|
|
19
|
+
navigate(url: string, tabId?: string): Promise<void>;
|
|
20
|
+
reload(tabId?: string): Promise<void>;
|
|
21
|
+
goBack(tabId?: string): Promise<void>;
|
|
22
|
+
goForward(tabId?: string): Promise<void>;
|
|
23
|
+
getTitle(tabId?: string): Promise<string>;
|
|
24
|
+
getUrl(tabId?: string): Promise<string>;
|
|
25
|
+
content(tabId?: string): Promise<string>;
|
|
26
|
+
evaluate(js: string, tabId?: string): Promise<any>;
|
|
27
|
+
addInitScript(js: string, tabId?: string): Promise<void>;
|
|
28
|
+
click(selector: string, tabId?: string): Promise<boolean>;
|
|
29
|
+
doubleClick(selector: string, tabId?: string): Promise<boolean>;
|
|
30
|
+
hover(selector: string, tabId?: string): Promise<boolean>;
|
|
31
|
+
type(selector: string, text: string, tabId?: string): Promise<boolean>;
|
|
32
|
+
select(selector: string, value: string, tabId?: string): Promise<boolean>;
|
|
33
|
+
keyPress(key: string, tabId?: string): Promise<boolean>;
|
|
34
|
+
keyCombo(combo: string, tabId?: string): Promise<boolean>;
|
|
35
|
+
mouseMove(x: number, y: number, tabId?: string): Promise<boolean>;
|
|
36
|
+
mouseDrag(from: {
|
|
37
|
+
x: number;
|
|
38
|
+
y: number;
|
|
39
|
+
}, to: {
|
|
40
|
+
x: number;
|
|
41
|
+
y: number;
|
|
42
|
+
}, tabId?: string): Promise<boolean>;
|
|
43
|
+
scrollTo(selector: string, tabId?: string): Promise<boolean>;
|
|
44
|
+
scrollBy(px: number, tabId?: string): Promise<boolean>;
|
|
45
|
+
fetchText(query: string, tabId?: string): Promise<string | null>;
|
|
46
|
+
fetchLinks(query: string, tabId?: string): Promise<string[]>;
|
|
47
|
+
fetchImages(query: string, tabId?: string): Promise<string[]>;
|
|
48
|
+
searchCss(query: string, tabId?: string): Promise<any>;
|
|
49
|
+
searchId(query: string, tabId?: string): Promise<any>;
|
|
50
|
+
waitForSelector(selector: string, timeout?: number, tabId?: string): Promise<void>;
|
|
51
|
+
waitForNavigation(tabId?: string): Promise<void>;
|
|
52
|
+
waitForResponse(urlPattern: string, timeout?: number, tabId?: string): Promise<void>;
|
|
53
|
+
screenshot(filePath?: string, tabId?: string): Promise<string>;
|
|
54
|
+
pdf(filePath?: string, tabId?: string): Promise<string>;
|
|
55
|
+
blockImages(tabId?: string): Promise<void>;
|
|
56
|
+
unblockImages(tabId?: string): Promise<void>;
|
|
57
|
+
setCookie(name: string, value: string, domain: string, path?: string, tabId?: string): Promise<void>;
|
|
58
|
+
getCookie(name: string, tabId?: string): Promise<any>;
|
|
59
|
+
deleteCookie(name: string, tabId?: string): Promise<void>;
|
|
60
|
+
listCookies(tabId?: string): Promise<any[]>;
|
|
61
|
+
addInterceptRule(action: "block" | "redirect" | "modifyHeaders", pattern: string, options?: {
|
|
62
|
+
redirectUrl?: string;
|
|
63
|
+
headers?: Record<string, string>;
|
|
64
|
+
}, tabId?: string): Promise<void>;
|
|
65
|
+
clearInterceptRules(tabId?: string): Promise<void>;
|
|
66
|
+
captureStart(tabId?: string): Promise<void>;
|
|
67
|
+
captureStop(tabId?: string): Promise<void>;
|
|
68
|
+
captureRequests(tabId?: string): Promise<any[]>;
|
|
69
|
+
captureWs(tabId?: string): Promise<any[]>;
|
|
70
|
+
captureCookies(tabId?: string): Promise<any[]>;
|
|
71
|
+
captureStorage(tabId?: string): Promise<any>;
|
|
72
|
+
captureClear(tabId?: string): Promise<void>;
|
|
73
|
+
sessionExport(tabId?: string): Promise<any>;
|
|
74
|
+
sessionImport(data: any, tabId?: string): Promise<void>;
|
|
75
|
+
exposeFunction(name: string, handler: (data: any) => Promise<any> | any, tabId?: string): Promise<void>;
|
|
76
|
+
unexposeFunction(name: string, tabId?: string): Promise<void>;
|
|
77
|
+
clearExposedFunctions(tabId?: string): Promise<void>;
|
|
78
|
+
}
|
|
79
79
|
//# sourceMappingURL=index.d.ts.map
|