gitextract_d__9ladc/ ├── .dockerignore ├── .github/ │ ├── CODE_OF_CONDUCT.md │ ├── COMMIT_CONVENTION.md │ └── ISSUE_TEMPLATE/ │ └── bug_report.yml ├── .gitignore ├── .sequelizerc ├── CONTRIBUTING.md ├── Dockerfile.backend ├── Dockerfile.frontend ├── ENVEXAMPLE ├── LICENSE ├── README.md ├── SETUP.md ├── browser/ │ ├── .dockerignore │ ├── Dockerfile │ ├── package.json │ ├── server.ts │ └── tsconfig.json ├── docker-compose.yml ├── docker-entrypoint.sh ├── docs/ │ ├── nginx.conf │ └── self-hosting-docker.md ├── index.html ├── legacy/ │ ├── server/ │ │ └── worker.ts │ └── src/ │ ├── AddWhatCondModal.tsx │ ├── AddWhereCondModal.tsx │ ├── Canvas.tsx │ ├── DisplayWhereConditionSettings.tsx │ ├── Highlighter.tsx │ ├── LeftSidePanel.tsx │ ├── LeftSidePanelContent.tsx │ ├── LeftSidePanelSettings.tsx │ ├── Pair.tsx │ ├── PairDetail.tsx │ ├── PairDisplayDiv.tsx │ ├── PairEditForm.tsx │ ├── Renderer.tsx │ ├── RobotEdit.tsx │ ├── RobotSettings.tsx │ ├── ScheduleSettings.tsx │ ├── coordinateMapper.ts │ └── inputHelpers.ts ├── maxun-core/ │ ├── .gitignore │ ├── README.md │ ├── package.json │ ├── src/ │ │ ├── browserSide/ │ │ │ └── scraper.js │ │ ├── index.ts │ │ ├── interpret.ts │ │ ├── preprocessor.ts │ │ ├── types/ │ │ │ ├── logic.ts │ │ │ └── workflow.ts │ │ └── utils/ │ │ ├── concurrency.ts │ │ ├── logger.ts │ │ └── utils.ts │ └── tsconfig.json ├── nginx.conf ├── package.json ├── public/ │ └── locales/ │ ├── de.json │ ├── en.json │ ├── es.json │ ├── ja.json │ ├── tr.json │ └── zh.json ├── server/ │ ├── .gitignore │ ├── config/ │ │ └── config.json │ ├── docker-entrypoint.sh │ ├── src/ │ │ ├── api/ │ │ │ ├── record.ts │ │ │ └── sdk.ts │ │ ├── browser-management/ │ │ │ ├── browserConnection.ts │ │ │ ├── classes/ │ │ │ │ ├── BrowserPool.ts │ │ │ │ └── RemoteBrowser.ts │ │ │ ├── controller.ts │ │ │ └── inputHandlers.ts │ │ ├── constants/ │ │ │ └── config.ts │ │ ├── db/ │ │ │ ├── config/ │ │ │ │ └── database.js │ │ │ ├── migrate.js │ │ │ ├── migrations/ │ │ │ │ ├── 20250327111003-add-airtable-columns.js │ │ │ │ └── 20250527105655-add-webhooks.js │ │ │ └── models/ │ │ │ └── index.js │ │ ├── index.ts │ │ ├── logger.ts │ │ ├── markdownify/ │ │ │ ├── markdown.ts │ │ │ └── scrape.ts │ │ ├── mcp-worker.ts │ │ ├── middlewares/ │ │ │ ├── api.ts │ │ │ └── auth.ts │ │ ├── models/ │ │ │ ├── Robot.ts │ │ │ ├── Run.ts │ │ │ ├── User.ts │ │ │ └── associations.ts │ │ ├── pgboss-worker.ts │ │ ├── routes/ │ │ │ ├── auth.ts │ │ │ ├── index.ts │ │ │ ├── proxy.ts │ │ │ ├── record.ts │ │ │ ├── storage.ts │ │ │ ├── webhook.ts │ │ │ └── workflow.ts │ │ ├── schedule-worker.ts │ │ ├── sdk/ │ │ │ ├── browserSide/ │ │ │ │ └── pageAnalyzer.js │ │ │ ├── selectorValidator.ts │ │ │ └── workflowEnricher.ts │ │ ├── server.ts │ │ ├── socket-connection/ │ │ │ └── connection.ts │ │ ├── storage/ │ │ │ ├── db.ts │ │ │ ├── mino.ts │ │ │ ├── pgboss.ts │ │ │ └── schedule.ts │ │ ├── swagger/ │ │ │ └── config.ts │ │ ├── types/ │ │ │ └── index.ts │ │ ├── utils/ │ │ │ ├── analytics.ts │ │ │ ├── api.ts │ │ │ ├── auth.ts │ │ │ ├── env.ts │ │ │ └── schedule.ts │ │ └── workflow-management/ │ │ ├── classes/ │ │ │ ├── Generator.ts │ │ │ └── Interpreter.ts │ │ ├── integrations/ │ │ │ ├── airtable.ts │ │ │ └── gsheet.ts │ │ ├── scheduler/ │ │ │ └── index.ts │ │ ├── selector.ts │ │ ├── storage.ts │ │ └── utils.ts │ ├── start.sh │ ├── tsconfig.json │ └── tsconfig.mcp.json ├── src/ │ ├── App.tsx │ ├── api/ │ │ ├── auth.ts │ │ ├── integration.ts │ │ ├── proxy.ts │ │ ├── recording.ts │ │ ├── storage.ts │ │ ├── webhook.ts │ │ └── workflow.ts │ ├── apiConfig.js │ ├── components/ │ │ ├── action/ │ │ │ ├── ActionDescriptionBox.tsx │ │ │ ├── ActionSettings.tsx │ │ │ └── action-settings/ │ │ │ ├── Scrape.tsx │ │ │ ├── ScrapeSchema.tsx │ │ │ ├── Screenshot.tsx │ │ │ ├── Scroll.tsx │ │ │ └── index.ts │ │ ├── api/ │ │ │ └── ApiKey.tsx │ │ ├── browser/ │ │ │ ├── BrowserContent.tsx │ │ │ ├── BrowserNavBar.tsx │ │ │ ├── BrowserRecordingSave.tsx │ │ │ ├── BrowserTabs.tsx │ │ │ ├── BrowserWindow.tsx │ │ │ └── UrlForm.tsx │ │ ├── dashboard/ │ │ │ ├── MainMenu.tsx │ │ │ ├── NavBar.tsx │ │ │ └── NotFound.tsx │ │ ├── icons/ │ │ │ ├── DiscordIcon.tsx │ │ │ └── RecorderIcon.tsx │ │ ├── integration/ │ │ │ └── IntegrationSettings.tsx │ │ ├── pickers/ │ │ │ ├── DatePicker.tsx │ │ │ ├── DateTimeLocalPicker.tsx │ │ │ ├── Dropdown.tsx │ │ │ └── TimePicker.tsx │ │ ├── proxy/ │ │ │ └── ProxyForm.tsx │ │ ├── recorder/ │ │ │ ├── DOMBrowserRenderer.tsx │ │ │ ├── KeyValueForm.tsx │ │ │ ├── KeyValuePair.tsx │ │ │ ├── RightSidePanel.tsx │ │ │ ├── SaveRecording.tsx │ │ │ └── SidePanelHeader.tsx │ │ ├── robot/ │ │ │ ├── Recordings.tsx │ │ │ ├── RecordingsTable.tsx │ │ │ ├── ToggleButton.tsx │ │ │ └── pages/ │ │ │ ├── RobotConfigPage.tsx │ │ │ ├── RobotCreate.tsx │ │ │ ├── RobotDuplicatePage.tsx │ │ │ ├── RobotEditPage.tsx │ │ │ ├── RobotIntegrationPage.tsx │ │ │ ├── RobotSettingsPage.tsx │ │ │ └── ScheduleSettingsPage.tsx │ │ ├── run/ │ │ │ ├── ColapsibleRow.tsx │ │ │ ├── InterpretationButtons.tsx │ │ │ ├── InterpretationLog.tsx │ │ │ ├── RunContent.tsx │ │ │ ├── RunSettings.tsx │ │ │ ├── Runs.tsx │ │ │ └── RunsTable.tsx │ │ └── ui/ │ │ ├── AlertSnackbar.tsx │ │ ├── Box.tsx │ │ ├── ConfirmationBox.tsx │ │ ├── DropdownMui.tsx │ │ ├── Form.tsx │ │ ├── GenericModal.tsx │ │ ├── Loader.tsx │ │ ├── buttons/ │ │ │ ├── AddButton.tsx │ │ │ ├── BreakpointButton.tsx │ │ │ ├── Buttons.tsx │ │ │ ├── ClearButton.tsx │ │ │ ├── EditButton.tsx │ │ │ └── RemoveButton.tsx │ │ └── texts.tsx │ ├── constants/ │ │ └── const.ts │ ├── context/ │ │ ├── auth.tsx │ │ ├── browserActions.tsx │ │ ├── browserDimensions.tsx │ │ ├── browserSteps.tsx │ │ ├── globalInfo.tsx │ │ ├── socket.tsx │ │ └── theme-provider.tsx │ ├── helpers/ │ │ ├── capturedElementHighlighter.ts │ │ ├── clientListExtractor.ts │ │ ├── clientPaginationDetector.ts │ │ ├── clientSelectorGenerator.ts │ │ ├── dimensionUtils.ts │ │ └── uuid.ts │ ├── i18n.ts │ ├── index.css │ ├── index.tsx │ ├── pages/ │ │ ├── Login.tsx │ │ ├── MainPage.tsx │ │ ├── PageWrapper.tsx │ │ ├── RecordingPage.tsx │ │ └── Register.tsx │ ├── routes/ │ │ └── userRoute.tsx │ └── shared/ │ ├── constants.ts │ └── types.ts ├── tsconfig.json ├── typedoc.json ├── vite-env.d.ts └── vite.config.js