SYMBOL INDEX (753 symbols across 138 files) FILE: browser/server.ts constant BROWSER_WS_PORT (line 12) | const BROWSER_WS_PORT = parseInt(process.env.BROWSER_WS_PORT || '3001', ... constant BROWSER_HEALTH_PORT (line 13) | const BROWSER_HEALTH_PORT = parseInt(process.env.BROWSER_HEALTH_PORT || ... constant BROWSER_WS_HOST (line 14) | const BROWSER_WS_HOST = process.env.BROWSER_WS_HOST || 'localhost'; function start (line 16) | async function start(): Promise { function shutdown (line 78) | async function shutdown(): Promise { FILE: legacy/server/worker.ts function jobCounts (line 65) | async function jobCounts() { FILE: legacy/src/AddWhatCondModal.tsx type AddWhatCondModalProps (line 10) | interface AddWhatCondModalProps { FILE: legacy/src/AddWhereCondModal.tsx type AddWhereCondModalProps (line 14) | interface AddWhereCondModalProps { FILE: legacy/src/Canvas.tsx type CreateRefCallback (line 11) | interface CreateRefCallback { type CanvasProps (line 15) | interface CanvasProps { type Coordinates (line 24) | interface Coordinates { FILE: legacy/src/DisplayWhereConditionSettings.tsx type DisplayConditionSettingsProps (line 9) | interface DisplayConditionSettingsProps { FILE: legacy/src/Highlighter.tsx type HighlighterProps (line 5) | interface HighlighterProps { type HighlighterLabelProps (line 77) | interface HighlighterLabelProps { type HighlighterOutlineProps (line 82) | interface HighlighterOutlineProps { FILE: legacy/src/LeftSidePanel.tsx type LeftSidePanelProps (line 25) | interface LeftSidePanelProps { FILE: legacy/src/LeftSidePanelContent.tsx type LeftSidePanelContentProps (line 12) | interface LeftSidePanelContentProps { FILE: legacy/src/LeftSidePanelSettings.tsx type LeftSidePanelSettingsProps (line 7) | interface LeftSidePanelSettingsProps { FILE: legacy/src/Pair.tsx type WhereWhatPair (line 15) | type WhereWhatPair = WorkflowFile["workflow"][number]; type PairProps (line 18) | interface PairProps { type ViewButtonProps (line 155) | interface ViewButtonProps { FILE: legacy/src/PairDetail.tsx type PairDetailProps (line 17) | interface PairDetailProps { type CollapseButtonProps (line 291) | interface CollapseButtonProps { FILE: legacy/src/PairDisplayDiv.tsx type PairDisplayDivProps (line 6) | interface PairDisplayDivProps { FILE: legacy/src/PairEditForm.tsx type PairProps (line 5) | interface PairProps { type PairEditFormProps (line 12) | interface PairEditFormProps { FILE: legacy/src/Renderer.tsx class CanvasRenderer (line 1) | class CanvasRenderer { method constructor (line 14) | constructor(canvas: HTMLCanvasElement) { method drawScreenshot (line 53) | public drawScreenshot( method renderFrame (line 81) | private renderFrame( method checkMemoryUsage (line 167) | private checkMemoryUsage(): void { method cleanupMemory (line 180) | private cleanupMemory(): void { method updateCanvasSize (line 203) | public updateCanvasSize(width: number, height: number): void { method dispose (line 224) | public dispose(): void { FILE: legacy/src/RobotEdit.tsx type RobotMeta (line 11) | interface RobotMeta { type RobotWorkflow (line 20) | interface RobotWorkflow { type ScheduleConfig (line 24) | interface ScheduleConfig { type RobotSettings (line 36) | interface RobotSettings { type RobotSettingsProps (line 49) | interface RobotSettingsProps { type CredentialInfo (line 56) | interface CredentialInfo { type Credentials (line 61) | interface Credentials { type CredentialVisibility (line 65) | interface CredentialVisibility { type GroupedCredentials (line 69) | interface GroupedCredentials { type ScrapeListLimit (line 76) | interface ScrapeListLimit { function extractInitialCredentials (line 161) | function extractInitialCredentials(workflow: any[]): Credentials { FILE: legacy/src/RobotSettings.tsx type RobotMeta (line 10) | interface RobotMeta { type RobotWorkflow (line 19) | interface RobotWorkflow { type ScheduleConfig (line 23) | interface ScheduleConfig { type RobotSettings (line 35) | interface RobotSettings { type RobotSettingsProps (line 48) | interface RobotSettingsProps { FILE: legacy/src/ScheduleSettings.tsx type ScheduleSettingsProps (line 11) | interface ScheduleSettingsProps { type ScheduleSettings (line 18) | interface ScheduleSettings { FILE: legacy/src/coordinateMapper.ts class CoordinateMapper (line 4) | class CoordinateMapper { method constructor (line 13) | constructor() { method mapCanvasToBrowser (line 21) | mapCanvasToBrowser(coord: { x: number, y: number }): { x: number, y: n... method mapBrowserToCanvas (line 28) | mapBrowserToCanvas(coord: { x: number, y: number }): { x: number, y: n... method mapBrowserRectToCanvas (line 35) | mapBrowserRectToCanvas(rect: DOMRect): DOMRect { method mapCanvasRectToBrowser (line 68) | mapCanvasRectToBrowser(rect: DOMRect): DOMRect { method updateDimensions (line 83) | updateDimensions(canvasWidth?: number, canvasHeight?: number, browserW... FILE: maxun-core/src/browserSide/scraper.js function getBiggestElement (line 5) | function getBiggestElement(selector) { function GetSelectorStructural (line 23) | function GetSelectorStructural(element) { function scrapableHeuristics (line 41) | function scrapableHeuristics(maxCountPerPage = 50, minArea = 20000, scro... function omap (line 193) | function omap(object, f, kf = (x) => x) { function ofilter (line 200) | function ofilter(object, f) { function findAllElements (line 207) | function findAllElements(config) { function getElementValue (line 308) | function getElementValue(element, attribute) { function getSeedKey (line 343) | function getSeedKey(listObj) { function getMBEs (line 353) | function getMBEs(elements) { FILE: maxun-core/src/interpret.ts type Window (line 22) | interface Window { type InterpreterOptions (line 38) | interface InterpreterOptions { class Interpreter (line 57) | class Interpreter extends EventEmitter { method constructor (line 93) | constructor(workflow: WorkflowFile, options?: Partial { method handlePagination (line 1735) | private async handlePagination(page: Page, config: { method getMatchingActionId (line 2353) | private getMatchingActionId(workflow: Workflow, pageState: PageState, ... method removeShadowSelectors (line 2369) | private removeShadowSelectors(workflow: Workflow) { method removeSpecialSelectors (line 2383) | private removeSpecialSelectors(workflow: Workflow) { method runLoop (line 2398) | private async runLoop(p: Page, workflow: Workflow) { method ensureScriptsLoaded (line 2578) | private async ensureScriptsLoaded(page: Page) { method run (line 2619) | public async run(page: Page, params?: ParamType): Promise { method stop (line 2664) | public async stop(): Promise { method cleanup (line 2676) | public async cleanup(): Promise { FILE: maxun-core/src/preprocessor.ts class Preprocessor (line 10) | class Preprocessor { method validateWorkflow (line 11) | static validateWorkflow(workflow: WorkflowFile): any { method getParams (line 56) | static getParams(workflow: WorkflowFile): string[] { method extractSelectors (line 79) | static extractSelectors(workflow: Workflow): SelectorArray { method initWorkflow (line 117) | static initWorkflow(workflow: Workflow, params?: ParamType): Workflow { FILE: maxun-core/src/types/workflow.ts type Operator (line 6) | type Operator = typeof operators[number]; type UnaryOperator (line 7) | type UnaryOperator = typeof unaryOperators[number]; type NAryOperator (line 8) | type NAryOperator = typeof naryOperators[number]; type Meta (line 10) | type Meta = typeof meta[number]; type SelectorArray (line 12) | type SelectorArray = string[]; type RegexableString (line 14) | type RegexableString = string | { '$regex': string }; type BaseConditions (line 16) | type BaseConditions = { type Where (line 22) | type Where = type MethodNames (line 27) | type MethodNames = { type CustomFunctions (line 31) | type CustomFunctions = 'scrape' | 'scrapeSchema' | 'scroll' | 'screensho... type What (line 33) | type What = { type PageState (line 40) | type PageState = Partial; type ParamType (line 42) | type ParamType = Record; type MetaData (line 44) | type MetaData = { type WhereWhatPair (line 49) | interface WhereWhatPair { type Workflow (line 55) | type Workflow = WhereWhatPair[]; type WorkflowFile (line 57) | type WorkflowFile = { FILE: maxun-core/src/utils/concurrency.ts class Concurrency (line 4) | class Concurrency { method constructor (line 29) | constructor(maxConcurrency: number) { method runNextJob (line 36) | private runNextJob(): void { method addJob (line 66) | addJob(job: () => Promise): void { method waitForCompletion (line 84) | waitForCompletion(): Promise { FILE: maxun-core/src/utils/logger.ts type Level (line 5) | enum Level { function logger (line 14) | function logger( FILE: maxun-core/src/utils/utils.ts function arrayToObject (line 11) | function arrayToObject(array : any[]) { FILE: server/src/api/record.ts function formatRunResponse (line 330) | function formatRunResponse(run: any) { function createWorkflowAndStoreMetadata (line 480) | async function createWorkflowAndStoreMetadata(id: string, userId: string... function withTimeout (line 569) | function withTimeout(promise: Promise, timeoutMs: number, operatio... function triggerIntegrationUpdates (line 578) | async function triggerIntegrationUpdates(runId: string, robotMetaId: str... function readyForRunHandler (line 604) | async function readyForRunHandler(browserId: string, id: string, userId:... function resetRecordingState (line 629) | function resetRecordingState(browserId: string, id: string) { function AddGeneratedFlags (line 634) | function AddGeneratedFlags(workflow: WorkflowFile) { function executeRun (line 645) | async function executeRun(id: string, userId: string, requestedFormats?:... function handleRunRecording (line 1195) | async function handleRunRecording(id: string, userId: string, isSDK: boo... function cleanupSocketConnection (line 1243) | function cleanupSocketConnection(socket: Socket, browserId: string, id: ... function waitForRunCompletion (line 1265) | async function waitForRunCompletion(runId: string, interval: number = 20... FILE: server/src/api/sdk.ts type AuthenticatedRequest (line 23) | interface AuthenticatedRequest extends Request { function waitForRunCompletion (line 503) | async function waitForRunCompletion(runId: string, interval: number = 20... FILE: server/src/browser-management/browserConnection.ts constant CONNECTION_CONFIG (line 8) | const CONNECTION_CONFIG = { function getBrowserServiceEndpoint (line 18) | async function getBrowserServiceEndpoint(): Promise { function launchLocalBrowser (line 47) | async function launchLocalBrowser(): Promise { function connectToRemoteBrowser (line 89) | async function connectToRemoteBrowser(retries?: number): Promise { function checkBrowserServiceHealth (line 136) | async function checkBrowserServiceHealth(): Promise { FILE: server/src/browser-management/classes/BrowserPool.ts type BrowserState (line 11) | type BrowserState = "recording" | "run"; type BrowserPoolInfo (line 13) | interface BrowserPoolInfo { type PoolDictionary (line 55) | interface PoolDictionary { class BrowserPool (line 65) | class BrowserPool { FILE: server/src/browser-management/classes/RemoteBrowser.ts type Window (line 22) | interface Window { class RemoteBrowser (line 42) | class RemoteBrowser { method constructor (line 118) | public constructor(socket: Socket, userId: string, poolId: string, isR... method normalizeUrl (line 177) | private normalizeUrl(url: string): string { method shouldEmitUrlChange (line 191) | private shouldEmitUrlChange(newUrl: string): boolean { method setupScrollEventListener (line 203) | private setupScrollEventListener(): void { method emitLoadingProgress (line 219) | private emitLoadingProgress(progress: number, pendingRequests: number)... method setupPageEventListeners (line 228) | private async setupPageEventListeners(page: Page) { method initializeRRWebRecording (line 289) | private async initializeRRWebRecording(page: Page): Promise { method getUserAgent (line 388) | private getUserAgent() { method applyEnhancedFingerprinting (line 404) | private async applyEnhancedFingerprinting(context: BrowserContext): Pr... method removeAllSocketListeners (line 642) | private removeAllSocketListeners(): void { method switchOff (line 704) | public async switchOff(): Promise { FILE: server/src/browser-management/inputHandlers.ts type CustomActionEventData (line 63) | interface CustomActionEventData { function evaluateSelector (line 749) | function evaluateSelector(sel: string): Element[] { function evaluateSelector (line 801) | function evaluateSelector(sel: string): Element[] { FILE: server/src/constants/config.ts constant SERVER_PORT (line 1) | const SERVER_PORT = process.env.BACKEND_PORT ? Number(process.env.BACKEN... constant DEBUG (line 2) | const DEBUG = process.env.DEBUG === 'true' constant LOGS_PATH (line 3) | const LOGS_PATH = process.env.LOGS_PATH ?? 'server/logs' constant ANALYTICS_ID (line 4) | const ANALYTICS_ID = 'oss' FILE: server/src/db/migrate.js function runMigrations (line 11) | async function runMigrations() { FILE: server/src/db/migrations/20250527105655-add-webhooks.js method up (line 4) | async up(queryInterface, Sequelize) { method down (line 20) | async down(queryInterface, Sequelize) { FILE: server/src/markdownify/markdown.ts function parseMarkdown (line 1) | async function parseMarkdown( function isRelativeUrl (line 103) | function isRelativeUrl(url: string): boolean { function getDomainFromUrl (line 107) | function getDomainFromUrl(url: string): string | null { function cleanUrl (line 116) | function cleanUrl(u: string): string { function cleanAttribute (line 120) | function cleanAttribute(attr: string) { function tidyHtml (line 124) | function tidyHtml(html: string): string { function fixBrokenLinks (line 146) | function fixBrokenLinks(md: string): string { function stripSkipLinks (line 158) | function stripSkipLinks(md: string): string { FILE: server/src/markdownify/scrape.ts function gotoWithFallback (line 5) | async function gotoWithFallback(page: any, url: string) { function convertPageToMarkdown (line 26) | async function convertPageToMarkdown(url: string, page: Page): Promise impl... FILE: server/src/models/Run.ts type InterpreterSettings (line 5) | interface InterpreterSettings { type RunAttributes (line 11) | interface RunAttributes { type RunCreationAttributes (line 32) | interface RunCreationAttributes extends Optional { } class Run (line 34) | class Run extends Model implements... FILE: server/src/models/User.ts type UserAttributes (line 4) | interface UserAttributes { type UserCreationAttributes (line 16) | interface UserCreationAttributes extends Optional { } class User (line 18) | class User extends Model impleme... FILE: server/src/models/associations.ts function setupAssociations (line 4) | function setupAssociations() { FILE: server/src/pgboss-worker.ts type InitializeBrowserData (line 31) | interface InitializeBrowserData { type InterpretWorkflow (line 35) | interface InterpretWorkflow { type StopInterpretWorkflow (line 39) | interface StopInterpretWorkflow { type DestroyBrowserData (line 43) | interface DestroyBrowserData { type ExecuteRunData (line 48) | interface ExecuteRunData { type AbortRunData (line 54) | interface AbortRunData { function extractJobData (line 68) | function extractJobData(job: Job | Job[]): T { function AddGeneratedFlags (line 78) | function AddGeneratedFlags(workflow: WorkflowFile) { function withTimeout (line 89) | function withTimeout(promise: Promise, timeoutMs: number, operatio... function triggerIntegrationUpdates (line 98) | async function triggerIntegrationUpdates(runId: string, robotMetaId: str... function processRunExecution (line 127) | async function processRunExecution(job: Job) { function abortRun (line 788) | async function abortRun(runId: string, userId: string): Promise { function registerWorkerForQueue (line 891) | async function registerWorkerForQueue(queueName: string) { function registerAbortWorkerForQueue (line 909) | async function registerAbortWorkerForQueue(queueName: string) { function registerRunExecutionWorker (line 931) | async function registerRunExecutionWorker() { function registerAbortRunWorker (line 979) | async function registerAbortRunWorker() { function startWorkers (line 1019) | async function startWorkers() { FILE: server/src/routes/auth.ts type SessionData (line 13) | interface SessionData { type AuthenticatedRequest (line 21) | interface AuthenticatedRequest extends Request { FILE: server/src/routes/proxy.ts type AuthenticatedRequest (line 9) | interface AuthenticatedRequest extends Request { FILE: server/src/routes/record.ts type AuthenticatedRequest (line 22) | interface AuthenticatedRequest extends Request { function waitForJobCompletion (line 26) | async function waitForJobCompletion(jobId: string, queueName: string, ti... FILE: server/src/routes/storage.ts function formatRunResponse (line 134) | function formatRunResponse(run: any) { type CredentialInfo (line 159) | interface CredentialInfo { type Credentials (line 164) | interface Credentials { function handleWorkflowActions (line 168) | function handleWorkflowActions(workflow: any[], credentials: Credentials) { function AddGeneratedFlags (line 895) | function AddGeneratedFlags(workflow: WorkflowFile) { constant MAX_CONSECUTIVE_ERRORS (line 1227) | const MAX_CONSECUTIVE_ERRORS = 3; constant CIRCUIT_BREAKER_COOLDOWN (line 1228) | const CIRCUIT_BREAKER_COOLDOWN = 30000; function processQueuedRuns (line 1231) | async function processQueuedRuns() { function recoverOrphanedRuns (line 1313) | async function recoverOrphanedRuns() { FILE: server/src/routes/webhook.ts type AuthenticatedRequest (line 9) | interface AuthenticatedRequest extends Request { type WebhookConfig (line 13) | interface WebhookConfig { FILE: server/src/schedule-worker.ts type ScheduledWorkflowData (line 24) | interface ScheduledWorkflowData { function processScheduledWorkflow (line 32) | async function processScheduledWorkflow(job: Job) { function registerScheduledWorkflowWorker (line 73) | async function registerScheduledWorkflowWorker() { function registerWorkerForQueue (line 92) | async function registerWorkerForQueue(queueName: string) { function startScheduleWorker (line 120) | async function startScheduleWorker() { FILE: server/src/sdk/browserSide/pageAnalyzer.js function evaluateSelector (line 12) | function evaluateSelector(selector, doc) { function cssToXPath (line 44) | function cssToXPath(cssSelector) { function convertCssPart (line 78) | function convertCssPart(cssPart) { function generateOptimizedChildXPaths (line 227) | function generateOptimizedChildXPaths(parentElement, listSelector, other... function getAllDescendantsIncludingShadow (line 272) | function getAllDescendantsIncludingShadow(parentElement) { function isMeaningfulElement (line 345) | function isMeaningfulElement(element) { function buildOptimizedAbsoluteXPath (line 382) | function buildOptimizedAbsoluteXPath(targetElement, listSelector, listEl... function getOptimizedStructuralPath (line 407) | function getOptimizedStructuralPath(targetElement, rootElement, otherLis... function generateOptimizedStructuralStep (line 462) | function generateOptimizedStructuralStep(element, rootElement, addPositi... function getCommonClassesAcrossLists (line 523) | function getCommonClassesAcrossLists(targetElement, otherListElements) { function normalizeClasses (line 600) | function normalizeClasses(classList) { function isAttributeCommonAcrossLists (line 617) | function isAttributeCommonAcrossLists(targetElement, attrName, attrValue... function getElementPath (line 640) | function getElementPath(element) { function findCorrespondingElement (line 656) | function findCorrespondingElement(rootElement, path) { function getSiblingPosition (line 673) | function getSiblingPosition(element, parent) { function queryElementsInScope (line 683) | function queryElementsInScope(rootElement, tagName) { function isInShadowDOM (line 694) | function isInShadowDOM(element) { function deepQuerySelectorAll (line 701) | function deepQuerySelectorAll(root, selector) { function elementContains (line 725) | function elementContains(container, element) { function generateMandatoryChildFallbackXPath (line 746) | function generateMandatoryChildFallbackXPath(childElement, parentElement) { function getMandatoryFallbackPath (line 778) | function getMandatoryFallbackPath(targetElement, rootElement) { function evaluateXPath (line 804) | function evaluateXPath(xpath, contextNode) { function createFieldsFromSelectors (line 835) | function createFieldsFromSelectors(selectorObjects, listElements, parent... function createFieldData (line 902) | function createFieldData(element, selector, forceAttribute) { function getElementPosition (line 951) | function getElementPosition(element) { function removeParentChildDuplicates (line 962) | function removeParentChildDuplicates(candidates) { function removeDuplicateContentAndFormat (line 995) | function removeDuplicateContentAndFormat(candidates) { function matchesAnyPattern (line 1068) | function matchesAnyPattern(text, patterns) { function isVisible (line 1072) | function isVisible(element) { function getClickableElements (line 1085) | function getClickableElements(root) { function isNearList (line 1098) | function isNearList(element, listCont) { function isSkippable (line 1123) | function isSkippable(element, listCont) { function isNextButton (line 1129) | function isNextButton(text, ariaLabel, combinedText) { function generatePaginationSelector (line 1136) | function generatePaginationSelector(element) { function getSelectors (line 1168) | function getSelectors(iframeDoc, coordinates) { function containsNumericPageLinks (line 1844) | function containsNumericPageLinks(container) { function containsPaginationLinks (line 1861) | function containsPaginationLinks(container) { function getListContainer (line 1874) | function getListContainer(listElements) { function findPaginationContainer (line 1893) | function findPaginationContainer(listCont) { function findLastPageLink (line 1926) | function findLastPageLink(container) { function detectFromPaginationWrapper (line 1945) | function detectFromPaginationWrapper(wrapper) { function detectFromNearbyElements (line 2000) | function detectFromNearbyElements(listCont) { function detectInfiniteScrollScore (line 2061) | function detectInfiniteScrollScore() { function detectFromFullDocument (line 2102) | function detectFromFullDocument(listCont) { FILE: server/src/sdk/selectorValidator.ts type SelectorInput (line 9) | interface SelectorInput { type EnrichedSelector (line 14) | interface EnrichedSelector { type ValidationResult (line 21) | interface ValidationResult { class SelectorValidator (line 27) | class SelectorValidator { method initialize (line 35) | async initialize(page: Page, url: string): Promise { method validateSelector (line 54) | async validateSelector(input: SelectorInput): Promise { method validateSchemaFields (line 113) | async validateSchemaFields( method validateListFields (line 143) | async validateListFields(config: { method detectInputType (line 187) | async detectInputType(selector: string): Promise { method autoDetectListFields (line 229) | async autoDetectListFields(listSelector: string): Promise<{ method autoDetectPagination (line 294) | async autoDetectPagination(listSelector: string): Promise<{ method testLoadMoreButton (line 394) | private async testLoadMoreButton(buttonSelector: string, listSelector:... method testInfiniteScrollByScrolling (line 492) | private async testInfiniteScrollByScrolling(listSelector: string): Pro... method close (line 581) | async close(): Promise { FILE: server/src/sdk/workflowEnricher.ts type SimplifiedAction (line 13) | interface SimplifiedAction { type RegexableString (line 20) | type RegexableString = string | { $regex: string }; type SimplifiedWorkflowPair (line 22) | interface SimplifiedWorkflowPair { class WorkflowEnricher (line 30) | class WorkflowEnricher { method enrichWorkflow (line 34) | static async enrichWorkflow( method generateWorkflowFromPrompt (line 276) | static async generateWorkflowFromPrompt( method analyzePageGroups (line 354) | private static async analyzePageGroups(validator: SelectorValidator): ... method getLLMDecisionWithVision (line 384) | private static async getLLMDecisionWithVision( method fallbackHeuristicDecision (line 617) | private static fallbackHeuristicDecision(prompt: string, elementGroups... method generateFieldLabels (line 649) | private static async generateFieldLabels( method generateFieldLabelsBatch (line 706) | private static async generateFieldLabelsBatch( method filterFieldsByIntent (line 941) | private static async filterFieldsByIntent( method extractFieldSamples (line 1162) | private static async extractFieldSamples( method generateListName (line 1246) | private static async generateListName( method buildWorkflowFromLLMDecision (line 1408) | private static async buildWorkflowFromLLMDecision( method generateWorkflowFromPromptWithSearch (line 1538) | static async generateWorkflowFromPromptWithSearch( method parseSearchIntent (line 1637) | private static async parseSearchIntent( method performDuckDuckGoSearch (line 1789) | private static async performDuckDuckGoSearch( method selectBestUrlFromResults (line 1891) | private static async selectBestUrlFromResults( FILE: server/src/server.ts type PgStoreOptions (line 51) | interface PgStoreOptions { FILE: server/src/storage/mino.ts function fixMinioBucketConfiguration (line 12) | async function fixMinioBucketConfiguration(bucketName: string) { function createBucketWithPolicy (line 53) | async function createBucketWithPolicy(bucketName: string, policy = 'publ... class BinaryOutputService (line 86) | class BinaryOutputService { method constructor (line 89) | constructor(bucketName: string) { method uploadAndStoreBinaryOutput (line 99) | async uploadAndStoreBinaryOutput(run: Run, binaryOutput: Record { function stopPgBossClient (line 57) | async function stopPgBossClient(): Promise { FILE: server/src/storage/schedule.ts function scheduleWorkflow (line 17) | async function scheduleWorkflow(id: string, userId: string, cronExpress... function cancelScheduledWorkflow (line 47) | async function cancelScheduledWorkflow(robotId: string) { FILE: server/src/types/index.ts type InterpreterSettings (line 7) | interface InterpreterSettings { type Coordinates (line 18) | interface Coordinates { type DatePickerEventData (line 27) | interface DatePickerEventData { type ScrollDeltas (line 37) | interface ScrollDeltas { type RemoteBrowserOptions (line 50) | interface RemoteBrowserOptions { type KeyboardInput (line 59) | interface KeyboardInput { type PossibleOverShadow (line 69) | type PossibleOverShadow = { type Rectangle (line 77) | interface Rectangle extends Coordinates { type ActionType (line 91) | enum ActionType { type TagName (line 109) | enum TagName { type BaseActionInfo (line 124) | interface BaseActionInfo { type IframeSelector (line 133) | interface IframeSelector { type ShadowSelector (line 138) | interface ShadowSelector { type Selectors (line 147) | interface Selectors { type BaseAction (line 167) | interface BaseAction extends BaseActionInfo{ type KeydownAction (line 185) | interface KeydownAction extends BaseAction { type InputAction (line 194) | interface InputAction extends BaseAction { type ClickAction (line 202) | interface ClickAction extends BaseAction { type DragAndDropAction (line 210) | interface DragAndDropAction extends BaseAction { type HoverAction (line 222) | interface HoverAction extends BaseAction { type LoadAction (line 230) | interface LoadAction extends BaseAction { type NavigateAction (line 239) | interface NavigateAction extends BaseAction { type WheelAction (line 249) | interface WheelAction extends BaseAction { type FullScreenshotAction (line 261) | interface FullScreenshotAction extends BaseAction { type AwaitTextAction (line 269) | interface AwaitTextAction extends BaseAction { type Action (line 278) | type Action = FILE: server/src/utils/analytics.ts constant DEFAULT_DISTINCT_ID (line 12) | const DEFAULT_DISTINCT_ID = "oss"; function getOssVersion (line 14) | function getOssVersion() { function analyticsMetadata (line 25) | function analyticsMetadata() { function capture (line 36) | function capture(event: any, data = {}) { FILE: server/src/utils/schedule.ts function computeNextRun (line 5) | function computeNextRun(cronExpression: string, timezone: string) { FILE: server/src/workflow-management/classes/Generator.ts type PersistedGeneratedData (line 22) | interface PersistedGeneratedData { type MetaData (line 30) | interface MetaData { type InputState (line 41) | interface InputState { class WorkflowGenerator (line 55) | class WorkflowGenerator { method constructor (line 83) | public constructor(socket: Socket, poolId: string) { method initializeSocketListeners (line 131) | private initializeSocketListeners() { method initializeDOMListeners (line 143) | private initializeDOMListeners() { method getSelectorsForSchema (line 199) | private async getSelectorsForSchema(page: Page, schema: Record { FILE: server/src/workflow-management/integrations/airtable.ts type AirtableUpdateTask (line 7) | interface AirtableUpdateTask { type SerializableOutput (line 14) | interface SerializableOutput { constant MAX_RETRIES (line 23) | const MAX_RETRIES = 3; constant BASE_API_DELAY (line 24) | const BASE_API_DELAY = 2000; constant MAX_QUEUE_SIZE (line 25) | const MAX_QUEUE_SIZE = 1000; function addAirtableUpdateTask (line 30) | function addAirtableUpdateTask(runId: string, task: AirtableUpdateTask):... function refreshAirtableToken (line 45) | async function refreshAirtableToken(refreshToken: string) { function mergeRelatedData (line 68) | function mergeRelatedData(serializableOutput: SerializableOutput, binary... function updateAirtable (line 321) | async function updateAirtable(robotId: string, runId: string) { function withTokenRefresh (line 369) | async function withTokenRefresh(robotId: string, apiCall: (accessToke... function writeDataToAirtable (line 409) | async function writeDataToAirtable( function deleteEmptyRecords (line 503) | async function deleteEmptyRecords(base: Airtable.Base, tableName: string... function retryableAirtableCreate (line 536) | async function retryableAirtableCreate( function getExistingFields (line 554) | async function getExistingFields(base: Airtable.Base, tableName: string)... function createAirtableField (line 574) | async function createAirtableField( function inferFieldType (line 613) | function inferFieldType(value: any): string { function isValidUrl (line 625) | function isValidUrl(str: string): boolean { FILE: server/src/workflow-management/integrations/gsheet.ts type GoogleSheetUpdateTask (line 6) | interface GoogleSheetUpdateTask { type SerializableOutput (line 13) | interface SerializableOutput { constant MAX_RETRIES (line 23) | const MAX_RETRIES = 5; constant MAX_QUEUE_SIZE (line 24) | const MAX_QUEUE_SIZE = 1000; function addGoogleSheetUpdateTask (line 29) | function addGoogleSheetUpdateTask(runId: string, task: GoogleSheetUpdate... function updateGoogleSheet (line 44) | async function updateGoogleSheet(robotId: string, runId: string) { function processOutputType (line 195) | async function processOutputType( function ensureSheetExists (line 225) | async function ensureSheetExists(spreadsheetId: string, sheetName: strin... function getOAuth2Client (line 260) | function getOAuth2Client(robotConfig: any) { function writeDataToSheet (line 275) | async function writeDataToSheet( FILE: server/src/workflow-management/scheduler/index.ts function createWorkflowAndStoreMetadata (line 18) | async function createWorkflowAndStoreMetadata(id: string, userId: string) { function withTimeout (line 104) | function withTimeout(promise: Promise, timeoutMs: number, operatio... function triggerIntegrationUpdates (line 113) | async function triggerIntegrationUpdates(runId: string, robotMetaId: str... function AddGeneratedFlags (line 139) | function AddGeneratedFlags(workflow: WorkflowFile) { function executeRun (line 150) | async function executeRun(id: string, userId: string) { function readyForRunHandler (line 676) | async function readyForRunHandler(browserId: string, id: string, userId:... function resetRecordingState (line 697) | function resetRecordingState(browserId: string, id: string) { function handleRunRecording (line 702) | async function handleRunRecording(id: string, userId: string) { function cleanupSocketConnection (line 744) | function cleanupSocketConnection(socket: Socket, browserId: string, id: ... FILE: server/src/workflow-management/selector.ts type Workflow (line 6) | type Workflow = WorkflowFile["workflow"]; method toJSON (line 803) | toJSON() { method toJSON (line 1028) | toJSON() { type Node (line 1103) | type Node = { type Path (line 1109) | type Path = Node[]; type Limit (line 1111) | enum Limit { type Options (line 1117) | type Options = { function finder (line 1133) | function finder(input: Element, options?: Partial) { function findRootDocument (line 1175) | function findRootDocument(rootNode: Element | Document, defaults: Option... function bottomUpSearch (line 1185) | function bottomUpSearch( function findUniquePath (line 1249) | function findUniquePath( function selector (line 1268) | function selector(path: Path): string { function penalty (line 1285) | function penalty(path: Path): number { function unique (line 1289) | function unique(path: Path) { function id (line 1302) | function id(input: Element): Node | null { function attr (line 1313) | function attr(input: Element): Node[] { function classNames (line 1331) | function classNames(input: Element): Node[] { function tagName (line 1342) | function tagName(input: Element): Node | null { function any (line 1353) | function any(): Node { function index (line 1360) | function index(input: Element): number | null { function nthChild (line 1387) | function nthChild(node: Node, i: number): Node { function dispensableNth (line 1394) | function dispensableNth(node: Node) { function maybe (line 1398) | function maybe(...level: (Node | null)[]): Node[] | null { function notEmpty (line 1406) | function notEmpty(value: T | null | undefined): value is T { function sort (line 1420) | function sort(paths: Iterable): Path[] { type Scope (line 1424) | type Scope = { function same (line 1462) | function same(path: Path, input: Element) { function cssesc (line 1478) | function cssesc(string: string, opt: Partial = {}) { function genAttributeSet (line 1941) | function genAttributeSet(element: HTMLElement, attributes: string[]) { function isAttributesDefined (line 1950) | function isAttributesDefined(element: HTMLElement, attributes: string[]) { function genValidAttributeFilter (line 1955) | function genValidAttributeFilter(element: HTMLElement, attributes: strin... function genSelectorForAttributes (line 1961) | function genSelectorForAttributes(element: HTMLElement, attributes: stri... function isCharacterNumber (line 1981) | function isCharacterNumber(char: string) { type SelectorResult (line 2010) | interface SelectorResult { type DOMContext (line 2023) | interface DOMContext { function getNonUniqueSelector (line 2189) | function getNonUniqueSelector(element: HTMLElement): string { function getContextPath (line 2279) | function getContextPath(element: HTMLElement): DOMContext[] { function getSelectorPath (line 2323) | function getSelectorPath(element: HTMLElement | null): string { function getNonUniqueSelector (line 2554) | function getNonUniqueSelector(element: HTMLElement): string { function getContextPath (line 2645) | function getContextPath(element: HTMLElement): DOMContext[] { function getSelectorPath (line 2689) | function getSelectorPath(element: HTMLElement | null): string { function getNonUniqueSelector (line 2762) | function getNonUniqueSelector(element: HTMLElement): string { function getSelectorPath (line 2803) | function getSelectorPath(element: HTMLElement): string { function getSpecialContextChildren (line 2833) | function getSpecialContextChildren(element: HTMLElement): HTMLElement[] { function getAllDescendantSelectors (line 2895) | function getAllDescendantSelectors(element: HTMLElement): string[] { FILE: server/src/workflow-management/storage.ts function promiseAllP (line 71) | function promiseAllP(items: any, block: any) { FILE: src/App.tsx function App (line 8) | function App() { FILE: src/api/storage.ts type CredentialInfo (line 8) | interface CredentialInfo { type Credentials (line 13) | interface Credentials { type CreateRunResponseWithQueue (line 227) | interface CreateRunResponseWithQueue extends CreateRunResponse { FILE: src/api/webhook.ts type WebhookConfig (line 4) | interface WebhookConfig { type WebhookResponse (line 17) | interface WebhookResponse { FILE: src/components/action/ActionDescriptionBox.tsx type CustomBoxContainerProps (line 8) | interface CustomBoxContainerProps { FILE: src/components/action/ActionSettings.tsx type ActionSettingsProps (line 7) | interface ActionSettingsProps { FILE: src/components/action/action-settings/Scrape.tsx method getSettings (line 9) | getSettings() { FILE: src/components/action/action-settings/ScrapeSchema.tsx method getSettings (line 10) | getSettings() { FILE: src/components/action/action-settings/Screenshot.tsx method getSettings (line 11) | getSettings() { FILE: src/components/action/action-settings/Scroll.tsx method getSettings (line 7) | getSettings() { FILE: src/components/browser/BrowserNavBar.tsx type NavBarProps (line 32) | interface NavBarProps { FILE: src/components/browser/BrowserTabs.tsx type BrowserTabsProp (line 6) | interface BrowserTabsProp { type CloseButtonProps (line 78) | interface CloseButtonProps { FILE: src/components/browser/BrowserWindow.tsx type ElementInfo (line 20) | interface ElementInfo { type AttributeOption (line 34) | interface AttributeOption { FILE: src/components/browser/UrlForm.tsx type Props (line 10) | type Props = { FILE: src/components/dashboard/MainMenu.tsx type MainMenuProps (line 10) | interface MainMenuProps { FILE: src/components/dashboard/NavBar.tsx type NavBarProps (line 38) | interface NavBarProps { FILE: src/components/dashboard/NotFound.tsx function NotFoundPage (line 3) | function NotFoundPage() { FILE: src/components/integration/IntegrationSettings.tsx type IntegrationProps (line 41) | interface IntegrationProps { type IntegrationSettings (line 48) | interface IntegrationSettings { FILE: src/components/pickers/DatePicker.tsx type Coordinates (line 4) | interface Coordinates { type DatePickerProps (line 9) | interface DatePickerProps { FILE: src/components/pickers/DateTimeLocalPicker.tsx type Coordinates (line 4) | interface Coordinates { type DateTimeLocalPickerProps (line 9) | interface DateTimeLocalPickerProps { FILE: src/components/pickers/Dropdown.tsx type Coordinates (line 4) | interface Coordinates { type DropdownProps (line 9) | interface DropdownProps { FILE: src/components/pickers/TimePicker.tsx type Coordinates (line 4) | interface Coordinates { type TimePickerProps (line 9) | interface TimePickerProps { FILE: src/components/recorder/DOMBrowserRenderer.tsx type ElementInfo (line 17) | interface ElementInfo { type RRWebDOMBrowserRendererProps (line 31) | interface RRWebDOMBrowserRendererProps { function findScrollableAncestor (line 90) | function findScrollableAncestor(element: Element, root: Element): Elemen... FILE: src/components/recorder/KeyValueForm.tsx method getObject (line 11) | getObject() { FILE: src/components/recorder/KeyValuePair.tsx type KeyValueFormProps (line 4) | interface KeyValueFormProps { method getKeyValuePair (line 13) | getKeyValuePair() { FILE: src/components/recorder/RightSidePanel.tsx type RightSidePanelProps (line 35) | interface RightSidePanelProps { function evaluateSelector (line 96) | function evaluateSelector(selector: string, doc: Document): Element[] { function evaluateSelector (line 390) | function evaluateSelector(selector: string, doc: Document): Element[] { function evaluateSelector (line 550) | function evaluateSelector(selector: string, doc: Document): Element[] { function evaluateSelector (line 768) | function evaluateSelector(selector: string, doc: Document): Element[] { function evaluateSelector (line 973) | function evaluateSelector(selector: string, doc: Document): Element[] { FILE: src/components/recorder/SaveRecording.tsx type SaveRecordingProps (line 14) | interface SaveRecordingProps { FILE: src/components/recorder/SidePanelHeader.tsx type SidePanelHeaderProps (line 5) | interface SidePanelHeaderProps { FILE: src/components/robot/Recordings.tsx type RecordingsProps (line 17) | interface RecordingsProps { FILE: src/components/robot/RecordingsTable.tsx type Window (line 47) | interface Window { type Column (line 52) | interface Column { type Data (line 60) | interface Data { type RecordingsTableProps (line 69) | interface RecordingsTableProps { function useDebounce (line 443) | function useDebounce(value: T, delay: number): T { type InterpretButtonProps (line 713) | interface InterpretButtonProps { type ScheduleButtonProps (line 728) | interface ScheduleButtonProps { type IntegrateButtonProps (line 743) | interface IntegrateButtonProps { type SettingsButtonProps (line 758) | interface SettingsButtonProps { type OptionsButtonProps (line 773) | interface OptionsButtonProps { FILE: src/components/robot/ToggleButton.tsx type ToggleButtonProps (line 4) | interface ToggleButtonProps { FILE: src/components/robot/pages/RobotConfigPage.tsx type RobotConfigPageProps (line 14) | interface RobotConfigPageProps { FILE: src/components/robot/pages/RobotCreate.tsx type TabPanelProps (line 32) | interface TabPanelProps { function TabPanel (line 38) | function TabPanel(props: TabPanelProps) { FILE: src/components/robot/pages/RobotDuplicatePage.tsx type RobotDuplicatePageProps (line 9) | interface RobotDuplicatePageProps { FILE: src/components/robot/pages/RobotEditPage.tsx type RobotMeta (line 25) | interface RobotMeta { type RobotWorkflow (line 39) | interface RobotWorkflow { type ScheduleConfig (line 43) | interface ScheduleConfig { type RobotSettings (line 62) | interface RobotSettings { type RobotSettingsProps (line 75) | interface RobotSettingsProps { type CredentialInfo (line 79) | interface CredentialInfo { type Credentials (line 84) | interface Credentials { type CredentialVisibility (line 88) | interface CredentialVisibility { type GroupedCredentials (line 92) | interface GroupedCredentials { type ScrapeListLimit (line 99) | interface ScrapeListLimit { type CrawlConfig (line 106) | interface CrawlConfig { type SearchConfig (line 117) | interface SearchConfig { function extractInitialCredentials (line 258) | function extractInitialCredentials(workflow: any[]): Credentials { FILE: src/components/robot/pages/RobotIntegrationPage.tsx type IntegrationProps (line 49) | interface IntegrationProps { type IntegrationSettings (line 55) | interface IntegrationSettings { FILE: src/components/robot/pages/RobotSettingsPage.tsx type RobotMeta (line 11) | interface RobotMeta { type RobotWorkflow (line 24) | interface RobotWorkflow { type ScheduleConfig (line 28) | interface ScheduleConfig { type RobotSettings (line 47) | interface RobotSettings { type RobotSettingsProps (line 60) | interface RobotSettingsProps { FILE: src/components/robot/pages/ScheduleSettingsPage.tsx type ScheduleSettingsProps (line 17) | interface ScheduleSettingsProps { type ScheduleSettings (line 21) | interface ScheduleSettings { FILE: src/components/run/ColapsibleRow.tsx function getOrCreateSocket (line 21) | function getOrCreateSocket(browserId: string): Socket { function cleanupSocketIfUnused (line 42) | function cleanupSocketIfUnused(browserId: string) { type RunTypeChipProps (line 55) | interface RunTypeChipProps { type CollapsibleRowProps (line 72) | interface CollapsibleRowProps { FILE: src/components/run/InterpretationButtons.tsx type InterpretationButtonsProps (line 10) | interface InterpretationButtonsProps { type InterpretationInfo (line 15) | interface InterpretationInfo { FILE: src/components/run/InterpretationLog.tsx type InterpretationLogProps (line 26) | interface InterpretationLogProps { FILE: src/components/run/RunContent.tsx type RunContentProps (line 27) | interface RunContentProps { FILE: src/components/run/RunSettings.tsx type RunSettingsProps (line 8) | interface RunSettingsProps { type RunSettings (line 16) | interface RunSettings { FILE: src/components/run/Runs.tsx type RunsProps (line 5) | interface RunsProps { FILE: src/components/run/RunsTable.tsx type SortDirection (line 32) | type SortDirection = 'asc' | 'desc' | 'none'; type AccordionSortConfig (line 34) | interface AccordionSortConfig { type Column (line 41) | interface Column { type Data (line 49) | interface Data { type RunsTableProps (line 69) | interface RunsTableProps { type PaginationState (line 76) | interface PaginationState { FILE: src/components/ui/AlertSnackbar.tsx type AlertSnackbarProps (line 13) | interface AlertSnackbarProps { FILE: src/components/ui/Box.tsx type BoxProps (line 4) | interface BoxProps { FILE: src/components/ui/ConfirmationBox.tsx type ConfirmationBoxProps (line 4) | interface ConfirmationBoxProps { FILE: src/components/ui/DropdownMui.tsx type DropdownProps (line 6) | interface DropdownProps { FILE: src/components/ui/GenericModal.tsx type ModalProps (line 5) | interface ModalProps { FILE: src/components/ui/Loader.tsx type LoaderProps (line 5) | interface LoaderProps { type StyledParagraphProps (line 25) | interface StyledParagraphProps { FILE: src/components/ui/buttons/AddButton.tsx type AddButtonProps (line 5) | interface AddButtonProps { FILE: src/components/ui/buttons/BreakpointButton.tsx type BreakpointButtonProps (line 4) | interface BreakpointButtonProps { FILE: src/components/ui/buttons/ClearButton.tsx type ClearButtonProps (line 5) | interface ClearButtonProps { FILE: src/components/ui/buttons/EditButton.tsx type EditButtonProps (line 5) | interface EditButtonProps { FILE: src/components/ui/buttons/RemoveButton.tsx type RemoveButtonProps (line 5) | interface RemoveButtonProps { FILE: src/constants/const.ts constant VIEWPORT_W (line 1) | const VIEWPORT_W = 900; constant VIEWPORT_H (line 2) | const VIEWPORT_H = 400; constant BROWSER_DEFAULT_WIDTH (line 5) | const BROWSER_DEFAULT_WIDTH = 1280; constant BROWSER_DEFAULT_HEIGHT (line 6) | const BROWSER_DEFAULT_HEIGHT = 720; constant ONE_PERCENT_OF_VIEWPORT_W (line 8) | const ONE_PERCENT_OF_VIEWPORT_W = VIEWPORT_W / 100; constant ONE_PERCENT_OF_VIEWPORT_H (line 9) | const ONE_PERCENT_OF_VIEWPORT_H = VIEWPORT_H / 100; FILE: src/context/auth.tsx type AuthProviderProps (line 6) | interface AuthProviderProps { type ActionType (line 10) | interface ActionType { type InitialStateType (line 15) | type InitialStateType = { constant AUTO_LOGOUT_TIME (line 25) | const AUTO_LOGOUT_TIME = 4 * 60 * 60 * 1000; FILE: src/context/browserActions.tsx type PaginationType (line 6) | type PaginationType = 'scrollDown' | 'scrollUp' | 'clickNext' | 'clickLo... type LimitType (line 7) | type LimitType = '10' | '100' | 'custom' | ''; type CaptureStage (line 8) | type CaptureStage = 'initial' | 'pagination' | 'limit' | 'complete' | ''; type ActionType (line 9) | type ActionType = 'text' | 'list' | 'screenshot'; type ActionContextProps (line 11) | interface ActionContextProps { FILE: src/context/browserDimensions.tsx type BrowserDimensionsContext (line 4) | interface BrowserDimensionsContext extends AppDimensions { FILE: src/context/browserSteps.tsx type TextStep (line 6) | interface TextStep { type ScreenshotStep (line 17) | interface ScreenshotStep { type ListStep (line 26) | interface ListStep { type BrowserStep (line 43) | type BrowserStep = TextStep | ScreenshotStep | ListStep; type SelectorObject (line 45) | interface SelectorObject { type BrowserStepsContextType (line 53) | interface BrowserStepsContextType { FILE: src/context/globalInfo.tsx type RobotMeta (line 23) | interface RobotMeta { type RobotWorkflow (line 36) | interface RobotWorkflow { type ScheduleConfig (line 40) | interface ScheduleConfig { type RobotSettings (line 52) | interface RobotSettings { type GlobalInfo (line 65) | interface GlobalInfo { class GlobalInfoStore (line 118) | class GlobalInfoStore implements Partial { FILE: src/context/socket.tsx constant SERVER_ENDPOINT (line 5) | const SERVER_ENDPOINT = apiUrl; type SocketState (line 7) | interface SocketState { class SocketStore (line 16) | class SocketStore implements Partial { FILE: src/helpers/capturedElementHighlighter.ts class CapturedElementHighlighter (line 5) | class CapturedElementHighlighter { method applyHighlights (line 12) | public applyHighlights(selectors: Array<{ selector: string }>): void { method clearHighlights (line 48) | public clearHighlights(): void { method getIframeDocument (line 61) | private getIframeDocument(): Document | null { method getCSSSelector (line 74) | private getCSSSelector(selector: string): string { FILE: src/helpers/clientListExtractor.ts type TextStep (line 1) | interface TextStep { type ExtractedListData (line 14) | interface ExtractedListData { type Field (line 18) | interface Field { class ClientListExtractor (line 25) | class ClientListExtractor { method createIndexedXPath (line 414) | private createIndexedXPath( FILE: src/helpers/clientPaginationDetector.ts type PaginationDetectionResult (line 9) | type PaginationDetectionResult = { constant MAX_BUTTON_TEXT_LENGTH (line 16) | const MAX_BUTTON_TEXT_LENGTH = 50; class ClientPaginationDetector (line 51) | class ClientPaginationDetector { method autoDetectPagination (line 52) | autoDetectPagination( method getListContainer (line 116) | private getListContainer(listElements: HTMLElement[]): HTMLElement { method findPaginationContainer (line 140) | private findPaginationContainer(listContainer: HTMLElement, _doc: Docu... method containsPaginationLinks (line 176) | private containsPaginationLinks(container: HTMLElement): boolean { method containsNumericPageLinks (line 194) | private containsNumericPageLinks(container: HTMLElement): boolean { method detectFromPaginationWrapper (line 218) | private detectFromPaginationWrapper( method findLastPageLink (line 297) | private findLastPageLink(container: HTMLElement): HTMLElement | null { method detectFromNearbyElements (line 320) | private detectFromNearbyElements( method detectFromFullDocument (line 404) | private detectFromFullDocument( method evaluateSelector (line 479) | private evaluateSelector(selector: string, doc: Document): HTMLElement... method getClickableElements (line 504) | private getClickableElements(doc: Document): HTMLElement[] { method getClickableElementsIn (line 513) | private getClickableElementsIn(container: HTMLElement): HTMLElement[] { method isVisible (line 525) | private isVisible(element: HTMLElement): boolean { method matchesAnyPattern (line 538) | private matchesAnyPattern(text: string, patterns: RegExp[]): boolean { method isNearList (line 542) | private isNearList(element: HTMLElement, listContainer: HTMLElement): ... method detectInfiniteScrollIndicators (line 572) | private detectInfiniteScrollIndicators(doc: Document, _listContainer: ... method generateSelectorsForElement (line 627) | private generateSelectorsForElement( FILE: src/helpers/clientSelectorGenerator.ts type Coordinates (line 1) | interface Coordinates { type ElementInfo (line 6) | interface ElementInfo { type Selectors (line 27) | interface Selectors { type ActionType (line 48) | enum ActionType { type TagName (line 61) | enum TagName { type Action (line 73) | interface Action { type ElementFingerprint (line 84) | interface ElementFingerprint { type ElementGroup (line 101) | interface ElementGroup { class ClientSelectorGenerator (line 107) | class ClientSelectorGenerator { method setListSelector (line 143) | public setListSelector(selector: string): void { method setGetList (line 147) | public setGetList(getList: boolean): void { method setPaginationMode (line 151) | public setPaginationMode(paginationMode: boolean): void { method getCurrentState (line 155) | public getCurrentState(): { method normalizeClasses (line 170) | private normalizeClasses(classList: DOMTokenList): string { method getStructuralFingerprint (line 188) | private getStructuralFingerprint( method calculateSimilarity (line 293) | private calculateSimilarity( method getAllVisibleElementsWithShadow (line 356) | private getAllVisibleElementsWithShadow(doc: Document): HTMLElement[] { method analyzeElementGroups (line 391) | public analyzeElementGroups(iframeDoc: Document): void { method hasAnyMeaningfulChildren (line 547) | private hasAnyMeaningfulChildren(element: HTMLElement): boolean { method getMeaningfulChildren (line 555) | private getMeaningfulChildren(element: HTMLElement): HTMLElement[] { method isMeaningfulElementCached (line 592) | private isMeaningfulElementCached(element: HTMLElement): boolean { method isMeaningfulElement (line 605) | private isMeaningfulElement(element: HTMLElement): boolean { method isElementGrouped (line 633) | public isElementGrouped(element: HTMLElement): boolean { method getElementGroup (line 640) | public getElementGroup(element: HTMLElement): ElementGroup | null { method getAllMatchingElements (line 644) | public getAllMatchingElements( method extractSelectorPattern (line 694) | private extractSelectorPattern(selector: string): { method arePatternsRelated (line 739) | private arePatternsRelated(pattern1: any, pattern2: any): boolean { method findElementsInShadowDOM (line 757) | private findElementsInShadowDOM( method parseChildXPath (line 795) | private parseChildXPath(xpath: string): { method findChildrenInElementShadowDOM (line 838) | private findChildrenInElementShadowDOM( method searchWithinShadowRoot (line 872) | private searchWithinShadowRoot( method findGroupedContainerAtPoint (line 963) | private findGroupedContainerAtPoint( method filterParentChildGroupedElements (line 1025) | private filterParentChildGroupedElements( method toJSON (line 1349) | toJSON() { method toJSON (line 1423) | toJSON() { type Node (line 1484) | type Node = { type Path (line 1490) | type Path = Node[]; type Limit (line 1492) | enum Limit { type Options (line 1498) | type Options = { method finder (line 1514) | function finder(input: Element, options?: Partial) { method findRootDocument (line 1560) | function findRootDocument( method bottomUpSearch (line 1573) | function bottomUpSearch( method findUniquePath (line 1637) | function findUniquePath( method selector (line 1656) | function selector(path: Path): string { method penalty (line 1673) | function penalty(path: Path): number { method unique (line 1677) | function unique(path: Path) { method id (line 1690) | function id(input: Element): Node | null { method attr (line 1701) | function attr(input: Element): Node[] { method classNames (line 1731) | function classNames(input: Element): Node[] { method tagName (line 1742) | function tagName(input: Element): Node | null { method any (line 1753) | function any(): Node { method index (line 1760) | function index(input: Element): number | null { method nthChild (line 1787) | function nthChild(node: Node, i: number): Node { method dispensableNth (line 1794) | function dispensableNth(node: Node) { method maybe (line 1798) | function maybe(...level: (Node | null)[]): Node[] | null { method notEmpty (line 1806) | function notEmpty(value: T | null | undefined): value is T { method sort (line 1826) | function sort(paths: Iterable): Path[] { type Scope (line 1830) | type Scope = { method same (line 1868) | function same(path: Path, input: Element) { method cssesc (line 1884) | function cssesc( method genAttributeSet (line 2452) | function genAttributeSet(element: HTMLElement, attributes: string[]) { method isAttributesDefined (line 2461) | function isAttributesDefined(element: HTMLElement, attributes: string[... method genValidAttributeFilter (line 2466) | function genValidAttributeFilter( method genSelectorForAttributes (line 2475) | function genSelectorForAttributes( method isCharacterNumber (line 2498) | function isCharacterNumber(char: string) { method getAllDescendantsIncludingShadow (line 2617) | private getAllDescendantsIncludingShadow( method generateOptimizedChildXPaths (line 2688) | private generateOptimizedChildXPaths( method generateOptimizedStructuralStep (line 2732) | private generateOptimizedStructuralStep( method getSiblingPosition (line 2805) | private getSiblingPosition( method queryElementsInScope (line 2816) | private queryElementsInScope( method isInShadowDOM (line 2830) | private isInShadowDOM(element: HTMLElement): boolean { method deepQuerySelectorAll (line 2835) | private deepQuerySelectorAll( method buildOptimizedAbsoluteXPath (line 2859) | private buildOptimizedAbsoluteXPath( method getOptimizedStructuralPath (line 2886) | private getOptimizedStructuralPath( method isAttributeCommonAcrossLists (line 2958) | private isAttributeCommonAcrossLists( method getElementPath (line 2986) | private getElementPath(element: HTMLElement): number[] { method findCorrespondingElement (line 2999) | private findCorrespondingElement( method getCommonClassesAcrossLists (line 3016) | private getCommonClassesAcrossLists( method elementContains (line 3094) | private elementContains(container: HTMLElement, element: HTMLElement):... method validateXPath (line 3116) | private validateXPath(xpath: string, document: Document): boolean { method precomputeSelectorMappings (line 3132) | private precomputeSelectorMappings( method getElementGridKey (line 3185) | private getElementGridKey(element: HTMLElement): string { method getNearbySelectorCandidates (line 3194) | private getNearbySelectorCandidates(element: HTMLElement): string[] { method findDirectMatches (line 3219) | private findDirectMatches( method sortByPositionalPriority (line 3268) | private sortByPositionalPriority(selectors: string[]): string[] { method findProximityMatch (line 3285) | private findProximityMatch( method calculateQuickSimilarity (line 3343) | private calculateQuickSimilarity( method findMatchingAbsoluteXPath (line 3387) | private findMatchingAbsoluteXPath( method precomputeChildSelectorMappings (line 3435) | public precomputeChildSelectorMappings( method calculateXPathSpecificity (line 3443) | private calculateXPathSpecificity(xpath: string): number { method buildTargetXPath (line 3462) | private buildTargetXPath( method evaluateXPath (line 3490) | private evaluateXPath( method isXPathSelector (line 3527) | private isXPathSelector(selector: string): boolean { method fallbackXPathEvaluation (line 3541) | private fallbackXPathEvaluation( method isElementInShadowDOM (line 3687) | private isElementInShadowDOM(element: HTMLElement): boolean { method generateDataForHighlighter (line 3704) | public generateDataForHighlighter( method generateGroupContainerSelector (line 3896) | private generateGroupContainerSelector(group: ElementGroup): string { method getCommonStrings (line 3947) | private getCommonStrings(lists: string[][]): string[] { method getCommonAttributes (line 3954) | private getCommonAttributes( method getDeepestElementFromPoint (line 4004) | private getDeepestElementFromPoint( method findAtomicChildAtPoint (line 4035) | private findAtomicChildAtPoint( method filterLogicalElements (line 4070) | private filterLogicalElements( method elementHasRelevantContentAtPoint (line 4088) | private elementHasRelevantContentAtPoint( method findTrulyDeepestElement (line 4131) | private findTrulyDeepestElement( method getElementDepth (line 4174) | private getElementDepth(element: HTMLElement): number { method isDialogElement (line 4191) | private isDialogElement(el: HTMLElement): boolean { method findAllDialogElements (line 4198) | private findAllDialogElements(doc: Document): HTMLElement[] { method getElementsFromDialogs (line 4214) | private getElementsFromDialogs(dialogElements: HTMLElement[]): HTMLEle... method getElementsFromShadowRoot (line 4259) | private getElementsFromShadowRoot(shadowRoot: ShadowRoot): HTMLElement... method cleanup (line 4289) | public cleanup(): void { method generateSelector (line 4305) | public generateSelector( FILE: src/helpers/dimensionUtils.ts constant WIDTH_BREAKPOINTS (line 3) | const WIDTH_BREAKPOINTS = { constant HEIGHT_BREAKPOINTS (line 11) | const HEIGHT_BREAKPOINTS = { type AppDimensions (line 31) | interface AppDimensions { FILE: src/pages/MainPage.tsx type MainPageProps (line 20) | interface MainPageProps { type CreateRunResponse (line 25) | interface CreateRunResponse { type ScheduleRunResponse (line 31) | interface ScheduleRunResponse { FILE: src/pages/RecordingPage.tsx type RecordingPageProps (line 20) | interface RecordingPageProps { type PairForEdit (line 24) | interface PairForEdit { FILE: src/shared/types.ts type Workflow (line 4) | type Workflow = WorkflowFile["workflow"]; type ScreenshotSettings (line 6) | interface ScreenshotSettings { type CustomActions (line 26) | type CustomActions = 'scrape' | 'scrapeSchema' | 'scroll' | 'screenshot'... FILE: vite-env.d.ts type ImportMetaEnv (line 1) | interface ImportMetaEnv { type ImportMeta (line 5) | interface ImportMeta {