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.
Files changed (117) hide show
  1. package/README.md +69 -11
  2. package/dist/cli-explore.d.ts +30 -0
  3. package/dist/cli-explore.d.ts.map +1 -0
  4. package/dist/cli-explore.js +427 -0
  5. package/dist/cli-explore.js.map +1 -0
  6. package/dist/cli-recorder.d.ts +44 -0
  7. package/dist/cli-recorder.d.ts.map +1 -0
  8. package/dist/cli-recorder.js +67 -0
  9. package/dist/cli-recorder.js.map +1 -0
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +28 -0
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +3 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/knowledge/index.d.ts +1 -0
  17. package/dist/knowledge/index.d.ts.map +1 -1
  18. package/dist/knowledge/index.js +1 -0
  19. package/dist/knowledge/index.js.map +1 -1
  20. package/dist/knowledge/record-browser.d.ts +17 -0
  21. package/dist/knowledge/record-browser.d.ts.map +1 -0
  22. package/dist/knowledge/record-browser.js +29 -0
  23. package/dist/knowledge/record-browser.js.map +1 -0
  24. package/dist/llm/retry.d.ts +4 -2
  25. package/dist/llm/retry.d.ts.map +1 -1
  26. package/dist/llm/retry.js +15 -4
  27. package/dist/llm/retry.js.map +1 -1
  28. package/dist/sessions/index.d.ts +1 -1
  29. package/dist/sessions/index.d.ts.map +1 -1
  30. package/dist/sessions/index.js +1 -1
  31. package/dist/sessions/index.js.map +1 -1
  32. package/dist/sessions/manager.d.ts +20 -0
  33. package/dist/sessions/manager.d.ts.map +1 -1
  34. package/dist/sessions/manager.js +57 -0
  35. package/dist/sessions/manager.js.map +1 -1
  36. package/dist/sessions/types.d.ts +2 -0
  37. package/dist/sessions/types.d.ts.map +1 -1
  38. package/dist/skills/chain.d.ts +61 -0
  39. package/dist/skills/chain.d.ts.map +1 -0
  40. package/dist/skills/chain.js +182 -0
  41. package/dist/skills/chain.js.map +1 -0
  42. package/dist/skills/conditions.d.ts +14 -0
  43. package/dist/skills/conditions.d.ts.map +1 -0
  44. package/dist/skills/conditions.js +208 -0
  45. package/dist/skills/conditions.js.map +1 -0
  46. package/dist/skills/manager.d.ts +47 -2
  47. package/dist/skills/manager.d.ts.map +1 -1
  48. package/dist/skills/manager.js.map +1 -1
  49. package/dist/skills/parameters.d.ts +49 -0
  50. package/dist/skills/parameters.d.ts.map +1 -0
  51. package/dist/skills/parameters.js +157 -0
  52. package/dist/skills/parameters.js.map +1 -0
  53. package/dist/stealth/index.d.ts +1 -0
  54. package/dist/stealth/index.d.ts.map +1 -1
  55. package/dist/stealth/index.js +61 -13
  56. package/dist/stealth/index.js.map +1 -1
  57. package/dist/tools/action-executor.d.ts +64 -0
  58. package/dist/tools/action-executor.d.ts.map +1 -0
  59. package/dist/tools/action-executor.js +365 -0
  60. package/dist/tools/action-executor.js.map +1 -0
  61. package/dist/tools/batch-scrape.d.ts +2 -2
  62. package/dist/tools/crawl.d.ts +2 -2
  63. package/dist/tools/create-skill.d.ts +2 -2
  64. package/dist/tools/discover-apis.d.ts +1 -1
  65. package/dist/tools/discover-apis.d.ts.map +1 -1
  66. package/dist/tools/discover-apis.js +3 -0
  67. package/dist/tools/discover-apis.js.map +1 -1
  68. package/dist/tools/download.d.ts +4 -4
  69. package/dist/tools/download.d.ts.map +1 -1
  70. package/dist/tools/download.js +3 -0
  71. package/dist/tools/download.js.map +1 -1
  72. package/dist/tools/extract.d.ts +1 -1
  73. package/dist/tools/image-search.d.ts +1 -1
  74. package/dist/tools/index.d.ts.map +1 -1
  75. package/dist/tools/index.js +3 -0
  76. package/dist/tools/index.js.map +1 -1
  77. package/dist/tools/instagram.d.ts +2 -2
  78. package/dist/tools/interact.d.ts +72 -44
  79. package/dist/tools/interact.d.ts.map +1 -1
  80. package/dist/tools/interact.js +33 -299
  81. package/dist/tools/interact.js.map +1 -1
  82. package/dist/tools/knowledge.d.ts +24 -0
  83. package/dist/tools/knowledge.d.ts.map +1 -0
  84. package/dist/tools/knowledge.js +99 -0
  85. package/dist/tools/knowledge.js.map +1 -0
  86. package/dist/tools/list-skills.js +1 -1
  87. package/dist/tools/list-skills.js.map +1 -1
  88. package/dist/tools/manifest.d.ts.map +1 -1
  89. package/dist/tools/manifest.js +5 -0
  90. package/dist/tools/manifest.js.map +1 -1
  91. package/dist/tools/monitor-websocket.d.ts +1 -1
  92. package/dist/tools/news-search.d.ts +1 -1
  93. package/dist/tools/query-api.d.ts +6 -6
  94. package/dist/tools/readability.d.ts +2 -2
  95. package/dist/tools/reddit.d.ts +4 -4
  96. package/dist/tools/run-skill.d.ts +14 -4
  97. package/dist/tools/run-skill.d.ts.map +1 -1
  98. package/dist/tools/run-skill.js +73 -0
  99. package/dist/tools/run-skill.js.map +1 -1
  100. package/dist/tools/scrape.d.ts +9 -6
  101. package/dist/tools/scrape.d.ts.map +1 -1
  102. package/dist/tools/scrape.js +2 -0
  103. package/dist/tools/scrape.js.map +1 -1
  104. package/dist/tools/screenshot.d.ts.map +1 -1
  105. package/dist/tools/screenshot.js +6 -0
  106. package/dist/tools/screenshot.js.map +1 -1
  107. package/dist/tools/search.d.ts +1 -1
  108. package/dist/tools/snapshot.d.ts +5 -5
  109. package/dist/tools/snapshot.d.ts.map +1 -1
  110. package/dist/tools/snapshot.js +3 -0
  111. package/dist/tools/snapshot.js.map +1 -1
  112. package/dist/tools/video-search.d.ts +1 -1
  113. package/dist/tools/youtube.d.ts +2 -2
  114. package/dist/utils/fetcher.d.ts.map +1 -1
  115. package/dist/utils/fetcher.js +33 -0
  116. package/dist/utils/fetcher.js.map +1 -1
  117. 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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"}
@@ -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":"AAUA,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;CACxB;AAuFD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAwK5F;AAmBD,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC"}
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"}
@@ -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
- const result = await stealthFetch({ url, timeout, proxyUrl });
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"}