imperium-crawl 2.3.1 → 2.4.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 +69 -11
- package/dist/cli-explore.d.ts +30 -0
- package/dist/cli-explore.d.ts.map +1 -0
- package/dist/cli-explore.js +427 -0
- package/dist/cli-explore.js.map +1 -0
- package/dist/cli-recorder.d.ts +44 -0
- package/dist/cli-recorder.d.ts.map +1 -0
- package/dist/cli-recorder.js +67 -0
- package/dist/cli-recorder.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +28 -0
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/knowledge/index.d.ts +1 -0
- package/dist/knowledge/index.d.ts.map +1 -1
- package/dist/knowledge/index.js +1 -0
- package/dist/knowledge/index.js.map +1 -1
- package/dist/knowledge/record-browser.d.ts +17 -0
- package/dist/knowledge/record-browser.d.ts.map +1 -0
- package/dist/knowledge/record-browser.js +29 -0
- package/dist/knowledge/record-browser.js.map +1 -0
- package/dist/llm/retry.d.ts +4 -2
- package/dist/llm/retry.d.ts.map +1 -1
- package/dist/llm/retry.js +15 -4
- package/dist/llm/retry.js.map +1 -1
- package/dist/sessions/index.d.ts +1 -1
- package/dist/sessions/index.d.ts.map +1 -1
- package/dist/sessions/index.js +1 -1
- package/dist/sessions/index.js.map +1 -1
- package/dist/sessions/manager.d.ts +20 -0
- package/dist/sessions/manager.d.ts.map +1 -1
- package/dist/sessions/manager.js +57 -0
- package/dist/sessions/manager.js.map +1 -1
- package/dist/sessions/types.d.ts +2 -0
- package/dist/sessions/types.d.ts.map +1 -1
- package/dist/skills/chain.d.ts +61 -0
- package/dist/skills/chain.d.ts.map +1 -0
- package/dist/skills/chain.js +182 -0
- package/dist/skills/chain.js.map +1 -0
- package/dist/skills/conditions.d.ts +14 -0
- package/dist/skills/conditions.d.ts.map +1 -0
- package/dist/skills/conditions.js +208 -0
- package/dist/skills/conditions.js.map +1 -0
- package/dist/skills/manager.d.ts +47 -2
- package/dist/skills/manager.d.ts.map +1 -1
- package/dist/skills/manager.js.map +1 -1
- package/dist/skills/parameters.d.ts +49 -0
- package/dist/skills/parameters.d.ts.map +1 -0
- package/dist/skills/parameters.js +157 -0
- package/dist/skills/parameters.js.map +1 -0
- package/dist/stealth/index.d.ts +1 -0
- package/dist/stealth/index.d.ts.map +1 -1
- package/dist/stealth/index.js +61 -13
- package/dist/stealth/index.js.map +1 -1
- package/dist/tools/action-executor.d.ts +64 -0
- package/dist/tools/action-executor.d.ts.map +1 -0
- package/dist/tools/action-executor.js +365 -0
- package/dist/tools/action-executor.js.map +1 -0
- package/dist/tools/batch-scrape.d.ts +2 -2
- package/dist/tools/crawl.d.ts +2 -2
- package/dist/tools/create-skill.d.ts +2 -2
- package/dist/tools/discover-apis.d.ts +1 -1
- package/dist/tools/discover-apis.d.ts.map +1 -1
- package/dist/tools/discover-apis.js +3 -0
- package/dist/tools/discover-apis.js.map +1 -1
- package/dist/tools/download.d.ts +4 -4
- package/dist/tools/download.d.ts.map +1 -1
- package/dist/tools/download.js +3 -0
- package/dist/tools/download.js.map +1 -1
- package/dist/tools/extract.d.ts +1 -1
- package/dist/tools/image-search.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/instagram.d.ts +2 -2
- package/dist/tools/interact.d.ts +72 -44
- package/dist/tools/interact.d.ts.map +1 -1
- package/dist/tools/interact.js +33 -299
- package/dist/tools/interact.js.map +1 -1
- package/dist/tools/knowledge.d.ts +24 -0
- package/dist/tools/knowledge.d.ts.map +1 -0
- package/dist/tools/knowledge.js +99 -0
- package/dist/tools/knowledge.js.map +1 -0
- package/dist/tools/list-skills.js +1 -1
- package/dist/tools/list-skills.js.map +1 -1
- package/dist/tools/manifest.d.ts.map +1 -1
- package/dist/tools/manifest.js +5 -0
- package/dist/tools/manifest.js.map +1 -1
- package/dist/tools/monitor-websocket.d.ts +1 -1
- package/dist/tools/news-search.d.ts +1 -1
- package/dist/tools/query-api.d.ts +6 -6
- package/dist/tools/readability.d.ts +2 -2
- package/dist/tools/reddit.d.ts +4 -4
- package/dist/tools/run-skill.d.ts +14 -4
- package/dist/tools/run-skill.d.ts.map +1 -1
- package/dist/tools/run-skill.js +73 -0
- package/dist/tools/run-skill.js.map +1 -1
- package/dist/tools/scrape.d.ts +9 -6
- package/dist/tools/scrape.d.ts.map +1 -1
- package/dist/tools/scrape.js +2 -0
- package/dist/tools/scrape.js.map +1 -1
- package/dist/tools/screenshot.d.ts.map +1 -1
- package/dist/tools/screenshot.js +6 -0
- package/dist/tools/screenshot.js.map +1 -1
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/snapshot.d.ts +5 -5
- package/dist/tools/snapshot.d.ts.map +1 -1
- package/dist/tools/snapshot.js +3 -0
- package/dist/tools/snapshot.js.map +1 -1
- package/dist/tools/video-search.d.ts +1 -1
- package/dist/tools/youtube.d.ts +2 -2
- package/dist/utils/fetcher.d.ts.map +1 -1
- package/dist/utils/fetcher.js +33 -0
- package/dist/utils/fetcher.js.map +1 -1
- package/package.json +5 -2
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Parameters — template resolution engine for InteractSkillConfig.
|
|
3
|
+
*
|
|
4
|
+
* Template syntax:
|
|
5
|
+
* {{env:VAR_NAME}} — resolved from process.env
|
|
6
|
+
* {{input:field_name}} — resolved from user-provided params at runtime
|
|
7
|
+
* {{computed:name}} — built-in computed values (date_today, timestamp, etc.)
|
|
8
|
+
*
|
|
9
|
+
* The colon prefix prevents accidental matches on literal {{...}} in JS code.
|
|
10
|
+
*/
|
|
11
|
+
// ── Computed Values ──
|
|
12
|
+
const COMPUTED_VALUES = {
|
|
13
|
+
date_today: () => new Date().toISOString().split("T")[0],
|
|
14
|
+
date_yesterday: () => {
|
|
15
|
+
const d = new Date();
|
|
16
|
+
d.setDate(d.getDate() - 1);
|
|
17
|
+
return d.toISOString().split("T")[0];
|
|
18
|
+
},
|
|
19
|
+
date_7_days_ago: () => {
|
|
20
|
+
const d = new Date();
|
|
21
|
+
d.setDate(d.getDate() - 7);
|
|
22
|
+
return d.toISOString().split("T")[0];
|
|
23
|
+
},
|
|
24
|
+
date_30_days_ago: () => {
|
|
25
|
+
const d = new Date();
|
|
26
|
+
d.setDate(d.getDate() - 30);
|
|
27
|
+
return d.toISOString().split("T")[0];
|
|
28
|
+
},
|
|
29
|
+
timestamp: () => Date.now().toString(),
|
|
30
|
+
timestamp_iso: () => new Date().toISOString(),
|
|
31
|
+
random_string: () => Math.random().toString(36).substring(2, 10),
|
|
32
|
+
year: () => new Date().getFullYear().toString(),
|
|
33
|
+
month: () => String(new Date().getMonth() + 1).padStart(2, "0"),
|
|
34
|
+
day: () => String(new Date().getDate()).padStart(2, "0"),
|
|
35
|
+
};
|
|
36
|
+
// ── Template Regex ──
|
|
37
|
+
// Matches {{env:X}}, {{input:X}}, {{computed:X}}
|
|
38
|
+
const TEMPLATE_RE = /\{\{(env|input|computed):([^}]+)\}\}/g;
|
|
39
|
+
// ── Resolution ──
|
|
40
|
+
/**
|
|
41
|
+
* Resolve all template variables in a string.
|
|
42
|
+
* Unknown variables are left as-is (not replaced) so errors are visible.
|
|
43
|
+
*/
|
|
44
|
+
export function resolveString(text, params = {}, inputArgs = {}) {
|
|
45
|
+
return text.replace(TEMPLATE_RE, (match, source, key) => {
|
|
46
|
+
key = key.trim();
|
|
47
|
+
if (source === "env") {
|
|
48
|
+
const val = process.env[key];
|
|
49
|
+
if (val !== undefined)
|
|
50
|
+
return val;
|
|
51
|
+
// Check if parameter has a default
|
|
52
|
+
const param = Object.values(params).find((p) => p.source === "env" && p.key === key);
|
|
53
|
+
if (param?.default !== undefined)
|
|
54
|
+
return param.default;
|
|
55
|
+
return match; // Leave unresolved — caller can detect and warn
|
|
56
|
+
}
|
|
57
|
+
if (source === "input") {
|
|
58
|
+
// inputArgs key matches the template variable name (e.g. {{input:case_number}} → inputArgs.case_number)
|
|
59
|
+
if (inputArgs[key] !== undefined)
|
|
60
|
+
return inputArgs[key];
|
|
61
|
+
const param = params[key];
|
|
62
|
+
if (param?.default !== undefined)
|
|
63
|
+
return param.default;
|
|
64
|
+
return match;
|
|
65
|
+
}
|
|
66
|
+
if (source === "computed") {
|
|
67
|
+
const fn = COMPUTED_VALUES[key];
|
|
68
|
+
if (fn)
|
|
69
|
+
return fn();
|
|
70
|
+
return match;
|
|
71
|
+
}
|
|
72
|
+
return match;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Resolve all template variables in an action's string fields.
|
|
77
|
+
* Operates on a shallow copy — does not mutate the original action.
|
|
78
|
+
*/
|
|
79
|
+
export function resolveAction(action, params, inputArgs) {
|
|
80
|
+
const resolved = { ...action };
|
|
81
|
+
const STRING_FIELDS = ["text", "value", "script", "url", "selector", "key", "extract_script"];
|
|
82
|
+
for (const field of STRING_FIELDS) {
|
|
83
|
+
if (typeof resolved[field] === "string") {
|
|
84
|
+
resolved[field] = resolveString(resolved[field], params, inputArgs);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return resolved;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Resolve parameters in an array of actions.
|
|
91
|
+
*/
|
|
92
|
+
export function resolveActions(actions, params, inputArgs) {
|
|
93
|
+
return actions.map((action) => resolveAction(action, params, inputArgs));
|
|
94
|
+
}
|
|
95
|
+
// ── Auto-Detection Heuristics ──
|
|
96
|
+
/**
|
|
97
|
+
* Detect which action fields look like they should be parameterized.
|
|
98
|
+
* Returns a suggested SkillParameters map — caller can review and adjust.
|
|
99
|
+
*/
|
|
100
|
+
export function detectParameterCandidates(actions) {
|
|
101
|
+
const candidates = {};
|
|
102
|
+
const PASSWORD_PATTERNS = /password|passwd|pwd|secret/i;
|
|
103
|
+
const USERNAME_PATTERNS = /username|user|email|login|userid/i;
|
|
104
|
+
const SEARCH_PATTERNS = /search|query|keyword|term|filter|q=|case|number|id/i;
|
|
105
|
+
for (const action of actions) {
|
|
106
|
+
if (action.type !== "type")
|
|
107
|
+
continue;
|
|
108
|
+
const selector = String(action.selector ?? action.ref ?? "");
|
|
109
|
+
const text = String(action.text ?? "");
|
|
110
|
+
// Skip already templated values
|
|
111
|
+
if (text.includes("{{"))
|
|
112
|
+
continue;
|
|
113
|
+
// Detect password fields
|
|
114
|
+
if (PASSWORD_PATTERNS.test(selector) || PASSWORD_PATTERNS.test(text)) {
|
|
115
|
+
const paramName = "password";
|
|
116
|
+
if (!candidates[paramName]) {
|
|
117
|
+
const envKey = "SKILL_PASSWORD";
|
|
118
|
+
candidates[paramName] = { source: "env", key: envKey, description: "Login password", required: true };
|
|
119
|
+
action.text = `{{env:${envKey}}}`;
|
|
120
|
+
}
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
// Detect username/email fields
|
|
124
|
+
if (USERNAME_PATTERNS.test(selector)) {
|
|
125
|
+
const paramName = "username";
|
|
126
|
+
if (!candidates[paramName]) {
|
|
127
|
+
const envKey = "SKILL_USERNAME";
|
|
128
|
+
candidates[paramName] = { source: "env", key: envKey, description: "Login username or email", required: true };
|
|
129
|
+
action.text = `{{env:${envKey}}}`;
|
|
130
|
+
}
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
// Detect search/filter/query fields
|
|
134
|
+
if (SEARCH_PATTERNS.test(selector) && text.length > 0) {
|
|
135
|
+
const paramName = "query";
|
|
136
|
+
if (!candidates[paramName]) {
|
|
137
|
+
candidates[paramName] = { source: "input", key: "query", description: "Search query or filter value", required: false };
|
|
138
|
+
action.text = `{{input:query}}`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return candidates;
|
|
143
|
+
}
|
|
144
|
+
// ── Validation ──
|
|
145
|
+
/**
|
|
146
|
+
* Check all templates in a string are resolvable.
|
|
147
|
+
* Returns unresolved template names (empty array = all good).
|
|
148
|
+
*/
|
|
149
|
+
export function findUnresolved(text, params, inputArgs) {
|
|
150
|
+
const unresolved = [];
|
|
151
|
+
const resolved = resolveString(text, params, inputArgs);
|
|
152
|
+
// Find remaining {{...}} patterns
|
|
153
|
+
const remaining = resolved.match(/\{\{[^}]+\}\}/g) ?? [];
|
|
154
|
+
unresolved.push(...remaining);
|
|
155
|
+
return unresolved;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/skills/parameters.ts"],"names":[],"mappings":"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"}
|
package/dist/stealth/index.d.ts
CHANGED
|
@@ -24,6 +24,7 @@ export interface StealthOptions {
|
|
|
24
24
|
screenshot?: boolean;
|
|
25
25
|
proxy?: string;
|
|
26
26
|
chromeProfile?: string;
|
|
27
|
+
sessionId?: string;
|
|
27
28
|
}
|
|
28
29
|
export declare function smartFetch(url: string, options?: StealthOptions): Promise<FetchResult>;
|
|
29
30
|
export { isPlaywrightAvailable } from "./browser.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAgDA,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,YAAa,SAAQ,KAAK;aAGnB,SAAS,EAAE,YAAY;aACvB,UAAU,EAAE,MAAM;aAClB,aAAa,EAAE,MAAM,GAAG,IAAI;gBAH5C,OAAO,EAAE,MAAM,EACC,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI;CAK/C;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkGD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAyK5F;AAoBD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/stealth/index.js
CHANGED
|
@@ -7,6 +7,45 @@ import { resolveProxy } from "./proxy.js";
|
|
|
7
7
|
import { DEFAULT_TIMEOUT_MS } from "../constants.js";
|
|
8
8
|
import { getDomain } from "../utils/url.js";
|
|
9
9
|
import { getKnowledgeEngine } from "../knowledge/index.js";
|
|
10
|
+
/**
|
|
11
|
+
* Build a Cookie header string from stored session cookies,
|
|
12
|
+
* filtering by domain and path match for the given URL.
|
|
13
|
+
*/
|
|
14
|
+
function buildCookieHeader(cookies, url) {
|
|
15
|
+
const parsed = new URL(url);
|
|
16
|
+
const hostname = parsed.hostname;
|
|
17
|
+
const pathname = parsed.pathname;
|
|
18
|
+
const now = Date.now() / 1000;
|
|
19
|
+
return cookies
|
|
20
|
+
.filter((c) => {
|
|
21
|
+
// Domain match: cookie domain ".example.com" matches "sub.example.com"
|
|
22
|
+
const cookieDomain = c.domain.startsWith(".") ? c.domain : `.${c.domain}`;
|
|
23
|
+
if (!`.${hostname}`.endsWith(cookieDomain))
|
|
24
|
+
return false;
|
|
25
|
+
// Path match
|
|
26
|
+
if (c.path && !pathname.startsWith(c.path))
|
|
27
|
+
return false;
|
|
28
|
+
// Expiry check
|
|
29
|
+
if (c.expires && c.expires > 0 && c.expires < now)
|
|
30
|
+
return false;
|
|
31
|
+
return true;
|
|
32
|
+
})
|
|
33
|
+
.map((c) => `${c.name}=${c.value}`)
|
|
34
|
+
.join("; ");
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Load session cookies and build Cookie header if sessionId is provided.
|
|
38
|
+
*/
|
|
39
|
+
async function getSessionCookieHeader(sessionId, url) {
|
|
40
|
+
if (!sessionId)
|
|
41
|
+
return undefined;
|
|
42
|
+
const { getSessionManager } = await import("../sessions/manager.js");
|
|
43
|
+
const session = await getSessionManager().load(sessionId);
|
|
44
|
+
if (!session?.cookies.length)
|
|
45
|
+
return undefined;
|
|
46
|
+
const header = buildCookieHeader(session.cookies, url);
|
|
47
|
+
return header || undefined;
|
|
48
|
+
}
|
|
10
49
|
export class StealthError extends Error {
|
|
11
50
|
lastLevel;
|
|
12
51
|
httpStatus;
|
|
@@ -51,8 +90,13 @@ function cacheLevel(url, level) {
|
|
|
51
90
|
renderingCache.set(getDomain(url), { level, timestamp: Date.now() });
|
|
52
91
|
}
|
|
53
92
|
// ── Level Fetchers ──
|
|
54
|
-
async function level1Fetch(url, timeout, proxyUrl) {
|
|
93
|
+
async function level1Fetch(url, timeout, proxyUrl, sessionId) {
|
|
55
94
|
const headers = generateHeaders();
|
|
95
|
+
// Inject session cookies if available
|
|
96
|
+
const cookieHeader = await getSessionCookieHeader(sessionId, url);
|
|
97
|
+
if (cookieHeader) {
|
|
98
|
+
headers["Cookie"] = cookieHeader;
|
|
99
|
+
}
|
|
56
100
|
const fetchOptions = {
|
|
57
101
|
headers,
|
|
58
102
|
redirect: "follow",
|
|
@@ -68,8 +112,11 @@ async function level1Fetch(url, timeout, proxyUrl) {
|
|
|
68
112
|
const responseHeaders = Object.fromEntries(res.headers.entries());
|
|
69
113
|
return { html, status: res.status, url: res.url, level: 1, headers: responseHeaders, proxyUsed: proxyUrl };
|
|
70
114
|
}
|
|
71
|
-
async function level2Fetch(url, timeout, proxyUrl) {
|
|
72
|
-
|
|
115
|
+
async function level2Fetch(url, timeout, proxyUrl, sessionId) {
|
|
116
|
+
// Inject session cookies as custom headers for Impit
|
|
117
|
+
const cookieHeader = await getSessionCookieHeader(sessionId, url);
|
|
118
|
+
const extraHeaders = cookieHeader ? { Cookie: cookieHeader } : undefined;
|
|
119
|
+
const result = await stealthFetch({ url, timeout, proxyUrl, headers: extraHeaders });
|
|
73
120
|
return { ...result, level: 2, proxyUsed: proxyUrl };
|
|
74
121
|
}
|
|
75
122
|
async function level3Fetch(url, timeout, screenshot, proxyUrl, chromeProfile) {
|
|
@@ -86,6 +133,7 @@ export async function smartFetch(url, options) {
|
|
|
86
133
|
const maxLevel = options?.maxLevel || 3;
|
|
87
134
|
const proxyUrl = resolveProxy(options?.proxy);
|
|
88
135
|
const chromeProfile = options?.chromeProfile;
|
|
136
|
+
const sessionId = options?.sessionId;
|
|
89
137
|
const domain = getDomain(url);
|
|
90
138
|
const engine = getKnowledgeEngine();
|
|
91
139
|
const fetchStart = Date.now();
|
|
@@ -117,7 +165,7 @@ export async function smartFetch(url, options) {
|
|
|
117
165
|
}
|
|
118
166
|
// Forced level — skip all heuristics
|
|
119
167
|
if (options?.forceLevel) {
|
|
120
|
-
const result = await fetchByLevel(url, timeout, options.forceLevel, options.screenshot, proxyUrl);
|
|
168
|
+
const result = await fetchByLevel(url, timeout, options.forceLevel, options.screenshot, proxyUrl, sessionId);
|
|
121
169
|
cacheLevel(url, options.forceLevel);
|
|
122
170
|
return recordSuccess(result);
|
|
123
171
|
}
|
|
@@ -125,7 +173,7 @@ export async function smartFetch(url, options) {
|
|
|
125
173
|
const cachedLevel = getCachedLevel(url);
|
|
126
174
|
if (cachedLevel && cachedLevel <= maxLevel) {
|
|
127
175
|
try {
|
|
128
|
-
const result = await fetchByLevel(url, timeout, cachedLevel, options?.screenshot, proxyUrl);
|
|
176
|
+
const result = await fetchByLevel(url, timeout, cachedLevel, options?.screenshot, proxyUrl, sessionId);
|
|
129
177
|
if (checkResult(result)) {
|
|
130
178
|
return recordSuccess(result);
|
|
131
179
|
}
|
|
@@ -143,7 +191,7 @@ export async function smartFetch(url, options) {
|
|
|
143
191
|
if (prediction && prediction.confidence >= 0.7 && prediction.startLevel > 1) {
|
|
144
192
|
const startLevel = Math.min(prediction.startLevel, maxLevel);
|
|
145
193
|
try {
|
|
146
|
-
const result = await fetchByLevel(url, timeout, startLevel, options?.screenshot, proxyUrl);
|
|
194
|
+
const result = await fetchByLevel(url, timeout, startLevel, options?.screenshot, proxyUrl, sessionId);
|
|
147
195
|
if (checkResult(result)) {
|
|
148
196
|
cacheLevel(url, startLevel);
|
|
149
197
|
return recordSuccess(result);
|
|
@@ -159,7 +207,7 @@ export async function smartFetch(url, options) {
|
|
|
159
207
|
// Level 1: native fetch + realistic headers
|
|
160
208
|
if (maxLevel >= 1) {
|
|
161
209
|
try {
|
|
162
|
-
const result = await level1Fetch(url, timeout, proxyUrl);
|
|
210
|
+
const result = await level1Fetch(url, timeout, proxyUrl, sessionId);
|
|
163
211
|
if (checkResult(result)) {
|
|
164
212
|
cacheLevel(url, 1);
|
|
165
213
|
return recordSuccess(result);
|
|
@@ -189,7 +237,7 @@ export async function smartFetch(url, options) {
|
|
|
189
237
|
// Level 2: impit TLS stealth
|
|
190
238
|
if (maxLevel >= 2) {
|
|
191
239
|
try {
|
|
192
|
-
const result = await level2Fetch(url, timeout, proxyUrl);
|
|
240
|
+
const result = await level2Fetch(url, timeout, proxyUrl, sessionId);
|
|
193
241
|
if (checkResult(result)) {
|
|
194
242
|
cacheLevel(url, 2);
|
|
195
243
|
return recordSuccess(result);
|
|
@@ -209,13 +257,13 @@ export async function smartFetch(url, options) {
|
|
|
209
257
|
}
|
|
210
258
|
// Fallback: return best effort from level 2, then level 1
|
|
211
259
|
try {
|
|
212
|
-
const result = await level2Fetch(url, timeout, proxyUrl);
|
|
260
|
+
const result = await level2Fetch(url, timeout, proxyUrl, sessionId);
|
|
213
261
|
lastLevel = 2;
|
|
214
262
|
return recordSuccess(result);
|
|
215
263
|
}
|
|
216
264
|
catch {
|
|
217
265
|
try {
|
|
218
|
-
const result = await level1Fetch(url, timeout, proxyUrl);
|
|
266
|
+
const result = await level1Fetch(url, timeout, proxyUrl, sessionId);
|
|
219
267
|
lastLevel = 1;
|
|
220
268
|
return recordSuccess(result);
|
|
221
269
|
}
|
|
@@ -236,12 +284,12 @@ export async function smartFetch(url, options) {
|
|
|
236
284
|
}
|
|
237
285
|
}
|
|
238
286
|
}
|
|
239
|
-
async function fetchByLevel(url, timeout, level, screenshot, proxyUrl) {
|
|
287
|
+
async function fetchByLevel(url, timeout, level, screenshot, proxyUrl, sessionId) {
|
|
240
288
|
switch (level) {
|
|
241
289
|
case 1:
|
|
242
|
-
return level1Fetch(url, timeout, proxyUrl);
|
|
290
|
+
return level1Fetch(url, timeout, proxyUrl, sessionId);
|
|
243
291
|
case 2:
|
|
244
|
-
return level2Fetch(url, timeout, proxyUrl);
|
|
292
|
+
return level2Fetch(url, timeout, proxyUrl, sessionId);
|
|
245
293
|
case 3:
|
|
246
294
|
return level3Fetch(url, timeout, screenshot, proxyUrl);
|
|
247
295
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action Executor — extracted from interact.ts.
|
|
3
|
+
*
|
|
4
|
+
* Shared between:
|
|
5
|
+
* - interact tool (automated action sequences)
|
|
6
|
+
* - explore REPL (interactive CLI browser session)
|
|
7
|
+
*
|
|
8
|
+
* All browser action handlers live here. interact.ts and cli-explore.ts
|
|
9
|
+
* import executeAction from this module.
|
|
10
|
+
*
|
|
11
|
+
* Note: evaluate and paginate actions use new Function() intentionally —
|
|
12
|
+
* the user explicitly provides JS scripts for browser-side execution.
|
|
13
|
+
* This is the same pattern used in the original interact.ts.
|
|
14
|
+
*/
|
|
15
|
+
import type { RefEntry } from "../snapshot/index.js";
|
|
16
|
+
export interface ActionResult {
|
|
17
|
+
type: string;
|
|
18
|
+
success: boolean;
|
|
19
|
+
error?: string;
|
|
20
|
+
result?: unknown;
|
|
21
|
+
}
|
|
22
|
+
export type ActionInput = {
|
|
23
|
+
type: string;
|
|
24
|
+
selector?: string;
|
|
25
|
+
ref?: string;
|
|
26
|
+
text?: string;
|
|
27
|
+
value?: string;
|
|
28
|
+
script?: string;
|
|
29
|
+
key?: string;
|
|
30
|
+
url?: string;
|
|
31
|
+
duration?: number;
|
|
32
|
+
x?: number;
|
|
33
|
+
y?: number;
|
|
34
|
+
target_selector?: string;
|
|
35
|
+
target_ref?: string;
|
|
36
|
+
file_paths?: string[];
|
|
37
|
+
storage?: "local" | "session";
|
|
38
|
+
auth_profile?: string;
|
|
39
|
+
next_selector?: string;
|
|
40
|
+
next_ref?: string;
|
|
41
|
+
extract_script?: string;
|
|
42
|
+
max_pages?: number;
|
|
43
|
+
wait_after_click?: number;
|
|
44
|
+
cookies?: Array<{
|
|
45
|
+
name: string;
|
|
46
|
+
value: string;
|
|
47
|
+
domain?: string;
|
|
48
|
+
path?: string;
|
|
49
|
+
expires?: number;
|
|
50
|
+
httpOnly?: boolean;
|
|
51
|
+
secure?: boolean;
|
|
52
|
+
sameSite?: "Strict" | "Lax" | "None";
|
|
53
|
+
}>;
|
|
54
|
+
};
|
|
55
|
+
export declare function humanDelay(): number;
|
|
56
|
+
export declare function resolveRefToLocator(page: import("rebrowser-playwright").Page, refEntry: RefEntry): import("rebrowser-playwright").Locator;
|
|
57
|
+
export declare function getTargetSelector(action: ActionInput, sessionId: string | undefined): {
|
|
58
|
+
selector?: string;
|
|
59
|
+
refEntry?: RefEntry;
|
|
60
|
+
error?: string;
|
|
61
|
+
};
|
|
62
|
+
export declare function buildCssSelectorFromRef(refEntry: RefEntry): string;
|
|
63
|
+
export declare function executeAction(page: import("rebrowser-playwright").Page, action: ActionInput, screenshots: string[], timeout: number, sessionId?: string): Promise<ActionResult>;
|
|
64
|
+
//# sourceMappingURL=action-executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-executor.d.ts","sourceRoot":"","sources":["../../src/tools/action-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAKrD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KACtC,CAAC,CAAC;CACJ,CAAC;AAIF,wBAAgB,UAAU,IAAI,MAAM,CAKnC;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,sBAAsB,EAAE,IAAI,EACzC,QAAQ,EAAE,QAAQ,GACjB,OAAO,sBAAsB,EAAE,OAAO,CASxC;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAe5D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAWlE;AAID,wBAAsB,aAAa,CACjC,IAAI,EAAE,OAAO,sBAAsB,EAAE,IAAI,EACzC,MAAM,EAAE,WAAW,EACnB,WAAW,EAAE,MAAM,EAAE,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAyRvB"}
|