nothing-browser 0.0.18 → 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/piggy/register/index.d.ts.map +1 -1
- package/dist/piggy.js +14 -3
- 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 -42
- 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 -216
|
@@ -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
|