@tangle-network/browser-agent-driver 0.6.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 (208) hide show
  1. package/LICENSE +196 -0
  2. package/README.md +149 -0
  3. package/dist/artifacts/composite-sink.d.ts +15 -0
  4. package/dist/artifacts/composite-sink.d.ts.map +1 -0
  5. package/dist/artifacts/composite-sink.js +27 -0
  6. package/dist/artifacts/composite-sink.js.map +1 -0
  7. package/dist/artifacts/filesystem-sink.d.ts +26 -0
  8. package/dist/artifacts/filesystem-sink.d.ts.map +1 -0
  9. package/dist/artifacts/filesystem-sink.js +81 -0
  10. package/dist/artifacts/filesystem-sink.js.map +1 -0
  11. package/dist/artifacts/types.d.ts +97 -0
  12. package/dist/artifacts/types.d.ts.map +1 -0
  13. package/dist/artifacts/types.js +9 -0
  14. package/dist/artifacts/types.js.map +1 -0
  15. package/dist/artifacts/webhook-sink.d.ts +71 -0
  16. package/dist/artifacts/webhook-sink.d.ts.map +1 -0
  17. package/dist/artifacts/webhook-sink.js +117 -0
  18. package/dist/artifacts/webhook-sink.js.map +1 -0
  19. package/dist/brain/index.d.ts +149 -0
  20. package/dist/brain/index.d.ts.map +1 -0
  21. package/dist/brain/index.js +1030 -0
  22. package/dist/brain/index.js.map +1 -0
  23. package/dist/browser-launch.d.ts +27 -0
  24. package/dist/browser-launch.d.ts.map +1 -0
  25. package/dist/browser-launch.js +92 -0
  26. package/dist/browser-launch.js.map +1 -0
  27. package/dist/cli.d.ts +14 -0
  28. package/dist/cli.d.ts.map +1 -0
  29. package/dist/cli.js +1035 -0
  30. package/dist/cli.js.map +1 -0
  31. package/dist/config.d.ts +143 -0
  32. package/dist/config.d.ts.map +1 -0
  33. package/dist/config.js +205 -0
  34. package/dist/config.js.map +1 -0
  35. package/dist/context-budget.d.ts +14 -0
  36. package/dist/context-budget.d.ts.map +1 -0
  37. package/dist/context-budget.js +39 -0
  38. package/dist/context-budget.js.map +1 -0
  39. package/dist/design-audit.d.ts +48 -0
  40. package/dist/design-audit.d.ts.map +1 -0
  41. package/dist/design-audit.js +172 -0
  42. package/dist/design-audit.js.map +1 -0
  43. package/dist/domain-policy.d.ts +4 -0
  44. package/dist/domain-policy.d.ts.map +1 -0
  45. package/dist/domain-policy.js +69 -0
  46. package/dist/domain-policy.js.map +1 -0
  47. package/dist/drivers/block-patterns.d.ts +11 -0
  48. package/dist/drivers/block-patterns.d.ts.map +1 -0
  49. package/dist/drivers/block-patterns.js +123 -0
  50. package/dist/drivers/block-patterns.js.map +1 -0
  51. package/dist/drivers/cdp-page-state.d.ts +22 -0
  52. package/dist/drivers/cdp-page-state.d.ts.map +1 -0
  53. package/dist/drivers/cdp-page-state.js +38 -0
  54. package/dist/drivers/cdp-page-state.js.map +1 -0
  55. package/dist/drivers/cdp-snapshot.d.ts +32 -0
  56. package/dist/drivers/cdp-snapshot.d.ts.map +1 -0
  57. package/dist/drivers/cdp-snapshot.js +120 -0
  58. package/dist/drivers/cdp-snapshot.js.map +1 -0
  59. package/dist/drivers/playwright.d.ts +84 -0
  60. package/dist/drivers/playwright.d.ts.map +1 -0
  61. package/dist/drivers/playwright.js +385 -0
  62. package/dist/drivers/playwright.js.map +1 -0
  63. package/dist/drivers/snapshot.d.ts +134 -0
  64. package/dist/drivers/snapshot.d.ts.map +1 -0
  65. package/dist/drivers/snapshot.js +354 -0
  66. package/dist/drivers/snapshot.js.map +1 -0
  67. package/dist/drivers/types.d.ts +37 -0
  68. package/dist/drivers/types.d.ts.map +1 -0
  69. package/dist/drivers/types.js +5 -0
  70. package/dist/drivers/types.js.map +1 -0
  71. package/dist/env-loader.d.ts +2 -0
  72. package/dist/env-loader.d.ts.map +1 -0
  73. package/dist/env-loader.js +35 -0
  74. package/dist/env-loader.js.map +1 -0
  75. package/dist/formatters/slack.d.ts +37 -0
  76. package/dist/formatters/slack.d.ts.map +1 -0
  77. package/dist/formatters/slack.js +97 -0
  78. package/dist/formatters/slack.js.map +1 -0
  79. package/dist/index.d.ts +60 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +53 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/memory/analyzer.d.ts +67 -0
  84. package/dist/memory/analyzer.d.ts.map +1 -0
  85. package/dist/memory/analyzer.js +265 -0
  86. package/dist/memory/analyzer.js.map +1 -0
  87. package/dist/memory/knowledge.d.ts +55 -0
  88. package/dist/memory/knowledge.d.ts.map +1 -0
  89. package/dist/memory/knowledge.js +115 -0
  90. package/dist/memory/knowledge.js.map +1 -0
  91. package/dist/memory/project-store.d.ts +43 -0
  92. package/dist/memory/project-store.d.ts.map +1 -0
  93. package/dist/memory/project-store.js +119 -0
  94. package/dist/memory/project-store.js.map +1 -0
  95. package/dist/memory/selectors.d.ts +46 -0
  96. package/dist/memory/selectors.d.ts.map +1 -0
  97. package/dist/memory/selectors.js +89 -0
  98. package/dist/memory/selectors.js.map +1 -0
  99. package/dist/memory/store.d.ts +39 -0
  100. package/dist/memory/store.d.ts.map +1 -0
  101. package/dist/memory/store.js +193 -0
  102. package/dist/memory/store.js.map +1 -0
  103. package/dist/model-pricing.d.ts +41 -0
  104. package/dist/model-pricing.d.ts.map +1 -0
  105. package/dist/model-pricing.js +197 -0
  106. package/dist/model-pricing.js.map +1 -0
  107. package/dist/multi-actor.d.ts +108 -0
  108. package/dist/multi-actor.d.ts.map +1 -0
  109. package/dist/multi-actor.js +192 -0
  110. package/dist/multi-actor.js.map +1 -0
  111. package/dist/override-pipeline.d.ts +57 -0
  112. package/dist/override-pipeline.d.ts.map +1 -0
  113. package/dist/override-pipeline.js +26 -0
  114. package/dist/override-pipeline.js.map +1 -0
  115. package/dist/personas.d.ts +19 -0
  116. package/dist/personas.d.ts.map +1 -0
  117. package/dist/personas.js +86 -0
  118. package/dist/personas.js.map +1 -0
  119. package/dist/preview.d.ts +32 -0
  120. package/dist/preview.d.ts.map +1 -0
  121. package/dist/preview.js +138 -0
  122. package/dist/preview.js.map +1 -0
  123. package/dist/provider-defaults.d.ts +6 -0
  124. package/dist/provider-defaults.d.ts.map +1 -0
  125. package/dist/provider-defaults.js +40 -0
  126. package/dist/provider-defaults.js.map +1 -0
  127. package/dist/providers/sandbox-backend.d.ts +22 -0
  128. package/dist/providers/sandbox-backend.d.ts.map +1 -0
  129. package/dist/providers/sandbox-backend.js +259 -0
  130. package/dist/providers/sandbox-backend.js.map +1 -0
  131. package/dist/recovery.d.ts +91 -0
  132. package/dist/recovery.d.ts.map +1 -0
  133. package/dist/recovery.js +500 -0
  134. package/dist/recovery.js.map +1 -0
  135. package/dist/reporters/junit.d.ts +8 -0
  136. package/dist/reporters/junit.d.ts.map +1 -0
  137. package/dist/reporters/junit.js +99 -0
  138. package/dist/reporters/junit.js.map +1 -0
  139. package/dist/run-metrics.d.ts +4 -0
  140. package/dist/run-metrics.d.ts.map +1 -0
  141. package/dist/run-metrics.js +48 -0
  142. package/dist/run-metrics.js.map +1 -0
  143. package/dist/run-state.d.ts +22 -0
  144. package/dist/run-state.d.ts.map +1 -0
  145. package/dist/run-state.js +33 -0
  146. package/dist/run-state.js.map +1 -0
  147. package/dist/runner/goal-verification.d.ts +13 -0
  148. package/dist/runner/goal-verification.d.ts.map +1 -0
  149. package/dist/runner/goal-verification.js +152 -0
  150. package/dist/runner/goal-verification.js.map +1 -0
  151. package/dist/runner/index.d.ts +12 -0
  152. package/dist/runner/index.d.ts.map +1 -0
  153. package/dist/runner/index.js +18 -0
  154. package/dist/runner/index.js.map +1 -0
  155. package/dist/runner/overrides.d.ts +75 -0
  156. package/dist/runner/overrides.d.ts.map +1 -0
  157. package/dist/runner/overrides.js +385 -0
  158. package/dist/runner/overrides.js.map +1 -0
  159. package/dist/runner/page-analysis.d.ts +23 -0
  160. package/dist/runner/page-analysis.d.ts.map +1 -0
  161. package/dist/runner/page-analysis.js +91 -0
  162. package/dist/runner/page-analysis.js.map +1 -0
  163. package/dist/runner/runner.d.ts +66 -0
  164. package/dist/runner/runner.d.ts.map +1 -0
  165. package/dist/runner/runner.js +1314 -0
  166. package/dist/runner/runner.js.map +1 -0
  167. package/dist/runner/scout.d.ts +29 -0
  168. package/dist/runner/scout.d.ts.map +1 -0
  169. package/dist/runner/scout.js +81 -0
  170. package/dist/runner/scout.js.map +1 -0
  171. package/dist/runner/search-guidance.d.ts +31 -0
  172. package/dist/runner/search-guidance.d.ts.map +1 -0
  173. package/dist/runner/search-guidance.js +210 -0
  174. package/dist/runner/search-guidance.js.map +1 -0
  175. package/dist/runner/utils.d.ts +28 -0
  176. package/dist/runner/utils.d.ts.map +1 -0
  177. package/dist/runner/utils.js +119 -0
  178. package/dist/runner/utils.js.map +1 -0
  179. package/dist/runner.d.ts +8 -0
  180. package/dist/runner.d.ts.map +1 -0
  181. package/dist/runner.js +21 -0
  182. package/dist/runner.js.map +1 -0
  183. package/dist/supervisor/critic.d.ts +29 -0
  184. package/dist/supervisor/critic.d.ts.map +1 -0
  185. package/dist/supervisor/critic.js +320 -0
  186. package/dist/supervisor/critic.js.map +1 -0
  187. package/dist/supervisor/policy.d.ts +11 -0
  188. package/dist/supervisor/policy.d.ts.map +1 -0
  189. package/dist/supervisor/policy.js +118 -0
  190. package/dist/supervisor/policy.js.map +1 -0
  191. package/dist/test-report.d.ts +15 -0
  192. package/dist/test-report.d.ts.map +1 -0
  193. package/dist/test-report.js +241 -0
  194. package/dist/test-report.js.map +1 -0
  195. package/dist/test-runner.d.ts +99 -0
  196. package/dist/test-runner.d.ts.map +1 -0
  197. package/dist/test-runner.js +1075 -0
  198. package/dist/test-runner.js.map +1 -0
  199. package/dist/types.d.ts +493 -0
  200. package/dist/types.d.ts.map +1 -0
  201. package/dist/types.js +5 -0
  202. package/dist/types.js.map +1 -0
  203. package/dist/wallet/automation.d.ts +52 -0
  204. package/dist/wallet/automation.d.ts.map +1 -0
  205. package/dist/wallet/automation.js +507 -0
  206. package/dist/wallet/automation.js.map +1 -0
  207. package/package.json +101 -0
  208. package/scripts/postinstall-provider-patches.mjs +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Scout / branch preview — visible link scouting and bounded branch exploration.
3
+ */
4
+ import type { PageState } from '../types.js';
5
+ export interface BranchPreview {
6
+ finalUrl: string;
7
+ title: string;
8
+ text: string;
9
+ }
10
+ export declare function shouldUseVisibleLinkScout(candidates: Array<{
11
+ ref: string;
12
+ text: string;
13
+ score: number;
14
+ }>, config: {
15
+ minTopScore?: number;
16
+ maxScoreGap?: number;
17
+ }): boolean;
18
+ export declare function shouldUseVisibleLinkScoutPage(state: PageState, goal: string, allowedDomains?: string[]): boolean;
19
+ export declare function shouldUseBoundedBranchExplorer(candidates: Array<{
20
+ ref: string;
21
+ text: string;
22
+ score: number;
23
+ }>, config: {
24
+ minTopScore?: number;
25
+ maxScoreGap?: number;
26
+ }): boolean;
27
+ export declare function inspectBranchPreview(currentPage: import('playwright').Page, href: string, timeoutMs: number): Promise<BranchPreview | undefined>;
28
+ export declare function scoreBranchPreview(goal: string, preview: BranchPreview, allowedDomains?: string[]): number;
29
+ //# sourceMappingURL=scout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout.d.ts","sourceRoot":"","sources":["../../src/runner/scout.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/D,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAST;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,OAAO,CAET;AAED,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAC/D,MAAM,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD,OAAO,CAMT;AAED,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,OAAO,YAAY,EAAE,IAAI,EACtC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAepC;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,EACtB,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,CAiCR"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Scout / branch preview — visible link scouting and bounded branch exploration.
3
+ */
4
+ import { buildSearchResultsGuidance, extractGoalSignals, isFirstPartyContentHub } from './search-guidance.js';
5
+ import { safeHostname, PRESS_RELEASE_RE, NON_RELEASE_CONTENT_RE, NON_RELEASE_URL_RE } from './utils.js';
6
+ export function shouldUseVisibleLinkScout(candidates, config) {
7
+ if (candidates.length < 2)
8
+ return false;
9
+ const [top, second] = candidates;
10
+ const minTopScore = config.minTopScore ?? 12;
11
+ const maxScoreGap = config.maxScoreGap ?? 4;
12
+ const scoreGap = top.score - second.score;
13
+ return top.score < minTopScore || scoreGap <= maxScoreGap;
14
+ }
15
+ export function shouldUseVisibleLinkScoutPage(state, goal, allowedDomains) {
16
+ return buildSearchResultsGuidance(state, goal, allowedDomains).length > 0 || isFirstPartyContentHub(state);
17
+ }
18
+ export function shouldUseBoundedBranchExplorer(candidates, config) {
19
+ if (candidates.length < 2)
20
+ return false;
21
+ const [top, second] = candidates;
22
+ const minTopScore = config.minTopScore ?? 12;
23
+ const maxScoreGap = config.maxScoreGap ?? 4;
24
+ return top.score < minTopScore || top.score - second.score <= maxScoreGap;
25
+ }
26
+ export async function inspectBranchPreview(currentPage, href, timeoutMs) {
27
+ const branchPage = await currentPage.context().newPage();
28
+ try {
29
+ await branchPage.goto(href, { waitUntil: 'domcontentloaded', timeout: timeoutMs });
30
+ const preview = await branchPage.evaluate(() => ({
31
+ finalUrl: window.location.href,
32
+ title: document.title,
33
+ text: (document.body?.innerText || '').replace(/\s+/g, ' ').trim().slice(0, 2500),
34
+ }));
35
+ return preview;
36
+ }
37
+ catch {
38
+ return undefined;
39
+ }
40
+ finally {
41
+ await branchPage.close().catch(() => { });
42
+ }
43
+ }
44
+ export function scoreBranchPreview(goal, preview, allowedDomains) {
45
+ const signals = extractGoalSignals(goal);
46
+ const haystack = `${preview.finalUrl} ${preview.title} ${preview.text}`.toLowerCase();
47
+ let score = 0;
48
+ const host = safeHostname(preview.finalUrl);
49
+ const allowedHosts = new Set((allowedDomains ?? []).map((domain) => domain.toLowerCase()));
50
+ for (const keyword of signals.keywords) {
51
+ if (haystack.includes(keyword))
52
+ score += 2;
53
+ }
54
+ for (const phrase of signals.exactPhrases) {
55
+ if (haystack.includes(phrase))
56
+ score += 4;
57
+ }
58
+ if (signals.wantsPressRelease && (PRESS_RELEASE_RE.test(haystack) || /\/news-releases?\//.test(haystack))) {
59
+ score += 10;
60
+ }
61
+ if (signals.wantsPressRelease && /\bpress room\b|\brecent news releases\b|\bnews events\b/.test(haystack)) {
62
+ score += 5;
63
+ }
64
+ if (/\berror\b|\baccess denied\b|\brequest could not be satisfied\b|\b403\b/.test(haystack)) {
65
+ score -= 12;
66
+ }
67
+ if (signals.wantsPressRelease && NON_RELEASE_CONTENT_RE.test(haystack)) {
68
+ score -= 10;
69
+ }
70
+ if (signals.wantsPressRelease && NON_RELEASE_URL_RE.test(haystack)) {
71
+ score -= 8;
72
+ }
73
+ if (allowedHosts.size > 0) {
74
+ if (host && allowedHosts.has(host))
75
+ score += 5;
76
+ else if (host)
77
+ score -= 8;
78
+ }
79
+ return score;
80
+ }
81
+ //# sourceMappingURL=scout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scout.js","sourceRoot":"","sources":["../../src/runner/scout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Search guidance — heuristics for ranking search results and visible links.
3
+ */
4
+ import type { PageState } from '../types.js';
5
+ export declare function buildSearchResultsGuidance(state: PageState, goal: string, allowedDomains?: string[]): string;
6
+ export declare function extractGoalSignals(goal: string): {
7
+ keywords: string[];
8
+ exactPhrases: string[];
9
+ wantsPressRelease: boolean;
10
+ };
11
+ export declare function rankSearchCandidates(goal: string, candidates: Array<{
12
+ title: string;
13
+ href: string;
14
+ }>, allowedDomains?: string[]): Array<{
15
+ title: string;
16
+ href: string;
17
+ score: number;
18
+ }>;
19
+ export declare function buildVisibleLinkRecommendation(state: PageState, goal: string, allowedDomains?: string[]): string;
20
+ export declare function getVisibleLinkRecommendation(state: PageState, goal: string, allowedDomains?: string[]): {
21
+ ref: string;
22
+ text: string;
23
+ score: number;
24
+ } | undefined;
25
+ export declare function getRankedVisibleLinkCandidates(state: PageState, goal: string, allowedDomains?: string[]): Array<{
26
+ ref: string;
27
+ text: string;
28
+ score: number;
29
+ }>;
30
+ export declare function isFirstPartyContentHub(state: PageState): boolean;
31
+ //# sourceMappingURL=search-guidance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-guidance.d.ts","sourceRoot":"","sources":["../../src/runner/search-guidance.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAU7C,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,CA0CR;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAA;CAAE,CA2B3H;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,EAClD,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA8CvD;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM,CAWR;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAG1D;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CASrD;AAsED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAOhE"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Search guidance — heuristics for ranking search results and visible links.
3
+ */
4
+ import { hasFullDate, safeHostname, requiresPressReleaseLikeContent, PRESS_RELEASE_RE, NON_RELEASE_CONTENT_RE, NON_RELEASE_URL_RE, } from './utils.js';
5
+ export function buildSearchResultsGuidance(state, goal, allowedDomains) {
6
+ const url = state.url.toLowerCase();
7
+ const title = state.title.toLowerCase();
8
+ const snapshot = state.snapshot.toLowerCase();
9
+ const looksLikeSearchPage = /\bsearch\b|\bquery=/.test(url)
10
+ || /\bsearch results\b/.test(title)
11
+ || /\bsearch results\b/.test(snapshot);
12
+ if (!looksLikeSearchPage)
13
+ return '';
14
+ const needsStructuredExtraction = /\bfirst\b/.test(goal.toLowerCase())
15
+ || /\bextract\b/.test(goal.toLowerCase())
16
+ || /\btitle\b/.test(goal.toLowerCase())
17
+ || /\bdate\b/.test(goal.toLowerCase());
18
+ if (needsStructuredExtraction) {
19
+ const lines = [
20
+ 'SEARCH RESULTS HEURISTIC: do not open random results one by one.',
21
+ 'Rank visible results against the requested entity and content type before clicking.',
22
+ 'If the ranking is ambiguous, use runScript to extract the top result titles and URLs first, then choose the best match.',
23
+ 'Prefer result titles or URLs that match the requested content type exactly (for example, press release, news release, pricing, docs, settings).',
24
+ ];
25
+ if (requiresPressReleaseLikeContent(goal)) {
26
+ lines.push('For press-release tasks, avoid topic pages, fact sheets, and Research Matters-style articles unless no release/news hub is visible.');
27
+ }
28
+ if (allowedDomains && allowedDomains.length > 0) {
29
+ lines.push(`Hard constraint: only choose results whose hostname is in this allowlist: ${allowedDomains.join(', ')}.`);
30
+ lines.push('Strongly avoid results from sibling subdomains unless the allowlist explicitly includes them.');
31
+ }
32
+ return lines.join('\n');
33
+ }
34
+ const lines = [
35
+ 'SEARCH RESULTS HEURISTIC: prefer the highest-signal matching result rather than exploratory clicks.',
36
+ 'Use visible titles, snippets, and URLs to choose the best candidate before clicking.',
37
+ ];
38
+ if (allowedDomains && allowedDomains.length > 0) {
39
+ lines.push(`Host constraint: prefer only results from ${allowedDomains.join(', ')}.`);
40
+ }
41
+ return lines.join('\n');
42
+ }
43
+ export function extractGoalSignals(goal) {
44
+ const lowerGoal = goal.toLowerCase();
45
+ const exactPhrases = Array.from(new Set([...lowerGoal.matchAll(/"([^"]{3,})"/g)]
46
+ .map((match) => match[1]?.trim())
47
+ .filter((phrase) => Boolean(phrase))));
48
+ const stopwords = new Set([
49
+ 'site', 'find', 'information', 'extract', 'first', 'related', 'using', 'feature', 'their',
50
+ 'title', 'publication', 'date', 'only', 'https', 'http', 'achieve', 'task', 'other',
51
+ 'achievable', 'with', 'just', 'navigation', 'from', 'this', 'search', 'result', 'results',
52
+ 'click', 'visit', 'page', 'pages', 'requested', 'current', 'through', 'would', 'should',
53
+ ]);
54
+ const keywords = Array.from(new Set(lowerGoal
55
+ .replace(/[^a-z0-9\s-]/g, ' ')
56
+ .split(/\s+/)
57
+ .filter(Boolean)
58
+ .filter((token) => token.length >= 4)
59
+ .filter((token) => !stopwords.has(token))));
60
+ const wantsPressRelease = PRESS_RELEASE_RE.test(lowerGoal);
61
+ return { keywords, exactPhrases, wantsPressRelease };
62
+ }
63
+ export function rankSearchCandidates(goal, candidates, allowedDomains) {
64
+ const signals = extractGoalSignals(goal);
65
+ const allowedHosts = new Set((allowedDomains ?? []).map((domain) => domain.toLowerCase()));
66
+ return candidates
67
+ .map((candidate) => {
68
+ const haystack = `${candidate.title} ${candidate.href}`.toLowerCase();
69
+ let score = 0;
70
+ const host = safeHostname(candidate.href);
71
+ for (const keyword of signals.keywords) {
72
+ if (haystack.includes(keyword))
73
+ score += 2;
74
+ }
75
+ for (const phrase of signals.exactPhrases) {
76
+ if (haystack.includes(phrase))
77
+ score += 4;
78
+ }
79
+ if (signals.wantsPressRelease && /\bpress[- ]release\b|\bnews[- ]release\b/.test(haystack)) {
80
+ score += 6;
81
+ }
82
+ if (signals.wantsPressRelease && /\bnews events\b|\bnews releases\b|\bpress room\b/.test(haystack)) {
83
+ score += 4;
84
+ }
85
+ if (/\/news-events\/news-releases\//.test(haystack)) {
86
+ score += 8;
87
+ }
88
+ else if (signals.wantsPressRelease && /\/news-events\//.test(haystack)) {
89
+ score += 3;
90
+ }
91
+ if (/\/science-updates\//.test(haystack)) {
92
+ score -= 2;
93
+ }
94
+ if (signals.wantsPressRelease && (NON_RELEASE_CONTENT_RE.test(haystack) || /\bresearch centers\b/.test(haystack))) {
95
+ score -= 12;
96
+ }
97
+ if (signals.wantsPressRelease && NON_RELEASE_URL_RE.test(haystack)) {
98
+ score -= 8;
99
+ }
100
+ if (allowedHosts.size > 0) {
101
+ if (host && allowedHosts.has(host)) {
102
+ score += 10;
103
+ }
104
+ else if (host) {
105
+ score -= 12;
106
+ }
107
+ }
108
+ return { ...candidate, score };
109
+ })
110
+ .sort((a, b) => b.score - a.score)
111
+ .slice(0, 5);
112
+ }
113
+ export function buildVisibleLinkRecommendation(state, goal, allowedDomains) {
114
+ const top = getVisibleLinkRecommendation(state, goal, allowedDomains);
115
+ if (!top || top.score < 6)
116
+ return '';
117
+ const ranked = getRankedVisibleLinkCandidates(state, goal, allowedDomains);
118
+ return [
119
+ 'VISIBLE LINK RECOMMENDATION:',
120
+ `Prefer clicking ${top.ref} (${top.text}) because it is the strongest visible first-party match for the requested topic/content type.`,
121
+ ...ranked.slice(1, 3).map((candidate, index) => `Backup ${index + 1}: ${candidate.ref} (${candidate.text})`),
122
+ ].join('\n');
123
+ }
124
+ export function getVisibleLinkRecommendation(state, goal, allowedDomains) {
125
+ const ranked = getRankedVisibleLinkCandidates(state, goal, allowedDomains);
126
+ return ranked[0];
127
+ }
128
+ export function getRankedVisibleLinkCandidates(state, goal, allowedDomains) {
129
+ const currentHost = safeHostname(state.url);
130
+ if (allowedDomains && allowedDomains.length > 0 && currentHost && !allowedDomains.map((domain) => domain.toLowerCase()).includes(currentHost)) {
131
+ return [];
132
+ }
133
+ const candidates = extractSnapshotLinkCandidates(state.snapshot, goal);
134
+ if (candidates.length === 0)
135
+ return [];
136
+ return rankVisibleLinkCandidates(goal, candidates, { firstPartyContentHub: isFirstPartyContentHub(state) });
137
+ }
138
+ function extractSnapshotLinkCandidates(snapshot, goal) {
139
+ const source = selectRelevantSnapshotSection(snapshot, goal);
140
+ const candidates = [];
141
+ const pattern = /- link "([^"]+)" \[ref=([^\]]+)\]/g;
142
+ for (const match of source.matchAll(pattern)) {
143
+ const text = match[1]?.replace(/\s+/g, ' ').trim();
144
+ const ref = match[2]?.trim();
145
+ if (!text || !ref || text.length < 12)
146
+ continue;
147
+ candidates.push({ ref: `@${ref}`, text });
148
+ if (candidates.length >= 24)
149
+ break;
150
+ }
151
+ return candidates;
152
+ }
153
+ function rankVisibleLinkCandidates(goal, candidates, context) {
154
+ const signals = extractGoalSignals(goal);
155
+ return candidates
156
+ .map((candidate) => {
157
+ const haystack = candidate.text.toLowerCase();
158
+ let score = 0;
159
+ for (const keyword of signals.keywords) {
160
+ if (haystack.includes(keyword))
161
+ score += 2;
162
+ }
163
+ for (const phrase of signals.exactPhrases) {
164
+ if (haystack.includes(phrase))
165
+ score += 4;
166
+ }
167
+ if (signals.wantsPressRelease && (PRESS_RELEASE_RE.test(haystack) || /\bnews releases\b/.test(haystack))) {
168
+ score += 6;
169
+ }
170
+ if (signals.wantsPressRelease && context?.firstPartyContentHub && !/all news releases/.test(haystack)) {
171
+ score += 4;
172
+ }
173
+ if (hasFullDate(haystack)) {
174
+ score += 5;
175
+ }
176
+ else if (/\b\d{4}\b/.test(haystack)) {
177
+ score += 1;
178
+ }
179
+ if (/all news releases/.test(haystack)) {
180
+ score -= 3;
181
+ }
182
+ if (signals.wantsPressRelease && (NON_RELEASE_CONTENT_RE.test(haystack) || /\bcalendar of events\b|\bsocial media\b/.test(haystack))) {
183
+ score -= 8;
184
+ }
185
+ return { ...candidate, score };
186
+ })
187
+ .sort((a, b) => b.score - a.score)
188
+ .slice(0, 5);
189
+ }
190
+ function selectRelevantSnapshotSection(snapshot, goal) {
191
+ const lowerGoal = goal.toLowerCase();
192
+ if (!PRESS_RELEASE_RE.test(lowerGoal) || !snapshot.toLowerCase().includes('recent news releases')) {
193
+ return snapshot;
194
+ }
195
+ const lines = snapshot.split('\n');
196
+ const start = lines.findIndex((line) => line.toLowerCase().includes('recent news releases'));
197
+ if (start === -1)
198
+ return snapshot;
199
+ let end = lines.findIndex((line, index) => index > start && line.toLowerCase().includes('all news releases'));
200
+ if (end === -1)
201
+ end = Math.min(lines.length, start + 16);
202
+ return lines.slice(start, end + 1).join('\n');
203
+ }
204
+ export function isFirstPartyContentHub(state) {
205
+ const url = state.url.toLowerCase();
206
+ const snapshot = state.snapshot.toLowerCase();
207
+ return (url.includes('/news-events') &&
208
+ snapshot.includes('recent news releases'));
209
+ }
210
+ //# sourceMappingURL=search-guidance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-guidance.js","sourceRoot":"","sources":["../../src/runner/search-guidance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Runner utility functions — retry logic, snapshot helpers, text normalization.
3
+ */
4
+ import type { PageState } from '../types.js';
5
+ /** Retry wrapper for transient failures. Respects AbortSignal between attempts. */
6
+ export declare function withRetry<T>(fn: () => Promise<T>, retries: number, delayMs: number, onRetry?: (attempt: number, error: Error) => void, signal?: AbortSignal): Promise<T>;
7
+ /**
8
+ * Extract the element identity (e.g., 'button "Send"') for a given @ref
9
+ * from an a11y snapshot. Returns undefined if the ref is not found.
10
+ */
11
+ export declare function findElementForRef(snapshot: string, selector: string): string | undefined;
12
+ export declare function safeHostname(url: string): string | undefined;
13
+ export declare function requiresSearchWorkflowEvidence(goal: string): boolean;
14
+ export declare function requiresPressReleaseLikeContent(goal: string): boolean;
15
+ /** Matches press-release / news-release mentions in text. */
16
+ export declare const PRESS_RELEASE_RE: RegExp;
17
+ /** Matches NIH non-release content signals (research matters, fact sheets, topic pages). */
18
+ export declare const NON_RELEASE_CONTENT_RE: RegExp;
19
+ /** Matches URL path patterns typical of non-release content pages. */
20
+ export declare const NON_RELEASE_URL_RE: RegExp;
21
+ export declare function looksLikeSearchResultsPage(state: PageState): boolean;
22
+ export declare function normalizeLooseText(value: string): string;
23
+ export declare function extractRelevantSnapshotExcerpt(snapshot: string, terms: string[]): string;
24
+ export declare function findLinkRefByExactText(snapshot: string, text: string): string | undefined;
25
+ export declare function findLinkRefContainingText(snapshot: string, text: string): string | undefined;
26
+ export declare function pushGoalVerificationEvidence(target: string[], entry: string): void;
27
+ export declare function hasFullDate(text: string): boolean;
28
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/runner/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,mFAAmF;AACnF,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,EACjD,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CA4BZ;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxF;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM5D;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOpE;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrE;AAED,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB,QAAwC,CAAC;AAEtE,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,QAAgI,CAAC;AAEpK,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,QAAmF,CAAC;AAEnH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAGpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBxF;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIzF;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI5F;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKlF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}