@cogitator-ai/browser 0.1.2
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 +329 -0
- package/dist/__tests__/browser-tools.test.d.ts +2 -0
- package/dist/__tests__/browser-tools.test.d.ts.map +1 -0
- package/dist/__tests__/browser-tools.test.js +120 -0
- package/dist/__tests__/browser-tools.test.js.map +1 -0
- package/dist/__tests__/extraction.test.d.ts +2 -0
- package/dist/__tests__/extraction.test.d.ts.map +1 -0
- package/dist/__tests__/extraction.test.js +267 -0
- package/dist/__tests__/extraction.test.js.map +1 -0
- package/dist/__tests__/interaction.test.d.ts +2 -0
- package/dist/__tests__/interaction.test.d.ts.map +1 -0
- package/dist/__tests__/interaction.test.js +376 -0
- package/dist/__tests__/interaction.test.js.map +1 -0
- package/dist/__tests__/navigation.test.d.ts +2 -0
- package/dist/__tests__/navigation.test.d.ts.map +1 -0
- package/dist/__tests__/navigation.test.js +235 -0
- package/dist/__tests__/navigation.test.js.map +1 -0
- package/dist/__tests__/network.test.d.ts +2 -0
- package/dist/__tests__/network.test.d.ts.map +1 -0
- package/dist/__tests__/network.test.js +508 -0
- package/dist/__tests__/network.test.js.map +1 -0
- package/dist/__tests__/page-helpers.test.d.ts +2 -0
- package/dist/__tests__/page-helpers.test.d.ts.map +1 -0
- package/dist/__tests__/page-helpers.test.js +321 -0
- package/dist/__tests__/page-helpers.test.js.map +1 -0
- package/dist/__tests__/schemas.test.d.ts +2 -0
- package/dist/__tests__/schemas.test.d.ts.map +1 -0
- package/dist/__tests__/schemas.test.js +518 -0
- package/dist/__tests__/schemas.test.js.map +1 -0
- package/dist/__tests__/selectors.test.d.ts +2 -0
- package/dist/__tests__/selectors.test.d.ts.map +1 -0
- package/dist/__tests__/selectors.test.js +157 -0
- package/dist/__tests__/selectors.test.js.map +1 -0
- package/dist/__tests__/session.test.d.ts +2 -0
- package/dist/__tests__/session.test.d.ts.map +1 -0
- package/dist/__tests__/session.test.js +325 -0
- package/dist/__tests__/session.test.js.map +1 -0
- package/dist/__tests__/stealth.test.d.ts +2 -0
- package/dist/__tests__/stealth.test.d.ts.map +1 -0
- package/dist/__tests__/stealth.test.js +353 -0
- package/dist/__tests__/stealth.test.js.map +1 -0
- package/dist/__tests__/vision.test.d.ts +2 -0
- package/dist/__tests__/vision.test.d.ts.map +1 -0
- package/dist/__tests__/vision.test.js +226 -0
- package/dist/__tests__/vision.test.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/session.d.ts +29 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +190 -0
- package/dist/session.js.map +1 -0
- package/dist/stealth/evasions.d.ts +2 -0
- package/dist/stealth/evasions.d.ts.map +1 -0
- package/dist/stealth/evasions.js +83 -0
- package/dist/stealth/evasions.js.map +1 -0
- package/dist/stealth/human-like.d.ts +5 -0
- package/dist/stealth/human-like.d.ts.map +1 -0
- package/dist/stealth/human-like.js +52 -0
- package/dist/stealth/human-like.js.map +1 -0
- package/dist/stealth/index.d.ts +8 -0
- package/dist/stealth/index.d.ts.map +1 -0
- package/dist/stealth/index.js +24 -0
- package/dist/stealth/index.js.map +1 -0
- package/dist/stealth/user-agents.d.ts +3 -0
- package/dist/stealth/user-agents.d.ts.map +1 -0
- package/dist/stealth/user-agents.js +55 -0
- package/dist/stealth/user-agents.js.map +1 -0
- package/dist/tools/extraction.d.ts +96 -0
- package/dist/tools/extraction.d.ts.map +1 -0
- package/dist/tools/extraction.js +196 -0
- package/dist/tools/extraction.js.map +1 -0
- package/dist/tools/index.d.ts +15 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +40 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/interaction.d.ts +128 -0
- package/dist/tools/interaction.d.ts.map +1 -0
- package/dist/tools/interaction.js +229 -0
- package/dist/tools/interaction.js.map +1 -0
- package/dist/tools/navigation.d.ts +63 -0
- package/dist/tools/navigation.d.ts.map +1 -0
- package/dist/tools/navigation.js +140 -0
- package/dist/tools/navigation.js.map +1 -0
- package/dist/tools/network.d.ts +122 -0
- package/dist/tools/network.d.ts.map +1 -0
- package/dist/tools/network.js +223 -0
- package/dist/tools/network.js.map +1 -0
- package/dist/tools/vision.d.ts +83 -0
- package/dist/tools/vision.d.ts.map +1 -0
- package/dist/tools/vision.js +134 -0
- package/dist/tools/vision.js.map +1 -0
- package/dist/utils/page-helpers.d.ts +11 -0
- package/dist/utils/page-helpers.d.ts.map +1 -0
- package/dist/utils/page-helpers.js +73 -0
- package/dist/utils/page-helpers.js.map +1 -0
- package/dist/utils/schemas.d.ts +209 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +156 -0
- package/dist/utils/schemas.js.map +1 -0
- package/dist/utils/selectors.d.ts +4 -0
- package/dist/utils/selectors.d.ts.map +1 -0
- package/dist/utils/selectors.js +39 -0
- package/dist/utils/selectors.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
function escapeCssString(str) {
|
|
2
|
+
return str.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
3
|
+
}
|
|
4
|
+
export async function smartSelect(page, identifier) {
|
|
5
|
+
const cssLocator = page.locator(identifier);
|
|
6
|
+
if ((await cssLocator.count()) > 0)
|
|
7
|
+
return cssLocator.first();
|
|
8
|
+
if (identifier.startsWith('//') || identifier.startsWith('(')) {
|
|
9
|
+
const xpathLocator = page.locator(`xpath=${identifier}`);
|
|
10
|
+
if ((await xpathLocator.count()) > 0)
|
|
11
|
+
return xpathLocator.first();
|
|
12
|
+
}
|
|
13
|
+
const textLocator = page.getByText(identifier, { exact: false });
|
|
14
|
+
if ((await textLocator.count()) > 0)
|
|
15
|
+
return textLocator.first();
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
export async function findFormField(page, label) {
|
|
19
|
+
const escaped = escapeCssString(label);
|
|
20
|
+
const strategies = [
|
|
21
|
+
() => page.locator(`input[name="${escaped}"]`),
|
|
22
|
+
() => page.locator(`input[placeholder="${escaped}"]`),
|
|
23
|
+
() => page.locator(`input[aria-label="${escaped}"]`),
|
|
24
|
+
() => page.locator(`textarea[name="${escaped}"]`),
|
|
25
|
+
() => page.locator(`textarea[placeholder="${escaped}"]`),
|
|
26
|
+
() => page.locator(`select[name="${escaped}"]`),
|
|
27
|
+
() => page.locator(`label:has-text("${escaped}") input`),
|
|
28
|
+
() => page.locator(`label:has-text("${escaped}") textarea`),
|
|
29
|
+
() => page.locator(`label:has-text("${escaped}") select`),
|
|
30
|
+
() => page.getByLabel(label),
|
|
31
|
+
];
|
|
32
|
+
for (const getLocator of strategies) {
|
|
33
|
+
const locator = getLocator();
|
|
34
|
+
if ((await locator.count()) > 0)
|
|
35
|
+
return locator.first();
|
|
36
|
+
}
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/utils/selectors.ts"],"names":[],"mappings":"AAEA,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAU,EAAE,UAAkB;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC;IAE9D,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;QAAE,OAAO,WAAW,CAAC,KAAK,EAAE,CAAC;IAEhE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAU,EAAE,KAAa;IAC3D,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAyB;QACvC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,OAAO,IAAI,CAAC;QAC9C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,OAAO,IAAI,CAAC;QACrD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,OAAO,IAAI,CAAC;QACpD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,OAAO,IAAI,CAAC;QACjD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,OAAO,IAAI,CAAC;QACxD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,OAAO,IAAI,CAAC;QAC/C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,OAAO,UAAU,CAAC;QACxD,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,OAAO,aAAa,CAAC;QAC3D,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,OAAO,WAAW,CAAC;QACzD,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;KAC7B,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,UAAU,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@cogitator-ai/browser",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Browser automation tools for Cogitator AI agents",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"dev": "tsc --watch",
|
|
20
|
+
"clean": "rm -rf dist",
|
|
21
|
+
"typecheck": "tsc --noEmit",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@cogitator-ai/core": "workspace:*",
|
|
27
|
+
"@cogitator-ai/types": "workspace:*",
|
|
28
|
+
"playwright": "^1.50.0",
|
|
29
|
+
"zod": "^4.3.6"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"typescript": "^5.3.0",
|
|
33
|
+
"vitest": "^4.0.18"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/cogitator-ai/Cogitator-AI.git",
|
|
38
|
+
"directory": "packages/browser"
|
|
39
|
+
},
|
|
40
|
+
"publishConfig": {
|
|
41
|
+
"access": "public",
|
|
42
|
+
"registry": "https://npm.pkg.github.com"
|
|
43
|
+
},
|
|
44
|
+
"license": "MIT"
|
|
45
|
+
}
|