UNPKG

donobu

Version:

Create browser automations with an LLM agent and replay them as Playwright scripts.

39 lines 1.79 kB
import { Tool } from './Tool'; import { ToolCallContext } from '../models/ToolCallContext'; import { ToolCallResult } from '../models/ToolCallResult'; import { BaseToolGptParameters } from '../models/BaseToolGptParameters'; export interface DetectBrokenLinksToolCoreParameters { /** * (Optional) Whether to capture screenshots for dead links for visual verification. */ captureScreenshots?: boolean; } export interface DetectBrokenLinksToolGptParameters extends BaseToolGptParameters, DetectBrokenLinksToolCoreParameters { } export declare class DetectBrokenLinksTool extends Tool<DetectBrokenLinksToolCoreParameters, DetectBrokenLinksToolGptParameters> { static readonly NAME = "detectBrokenLinks"; constructor(); call(context: ToolCallContext, parameters: DetectBrokenLinksToolCoreParameters): Promise<ToolCallResult>; callFromGpt(context: ToolCallContext, parameters: DetectBrokenLinksToolGptParameters): Promise<ToolCallResult>; /** * Returns an array of LinkInfo objects containing a URL and an array of all associated link texts. * Filters out invalid URLs. */ private static getLinksForPage; /** * Checks all links concurrently and returns a map from the original URL to its traversal result. * If a link is a mailto, it is marked as skipped. */ private static traverseLinks; /** * Traverses a single link, following redirects up to maxRedirects. * Returns a LinkTraversalResult that includes the full redirect chain. */ private static traverseSingleLink; /** * Generates a JSON report of the link scan. * The report now includes a "linkTexts" field for each link. */ private static generateJsonReport; } //# sourceMappingURL=DetectBrokenLinksTool.d.ts.map