@taodigital/crawler 0.0.0-stage → 1.2.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.
- package/Dockerfile +82 -0
- package/README.md +10 -2
- package/dist/accessibility-auditor.d.ts +29 -0
- package/dist/accessibility-auditor.js +57 -0
- package/dist/accessibility-auditor.js.map +7 -0
- package/dist/accessibility-tree-crawler.d.ts +44 -0
- package/dist/accessibility-tree-crawler.js +156 -0
- package/dist/accessibility-tree-crawler.js.map +7 -0
- package/dist/advanced-ui-probes.d.ts +47 -0
- package/dist/advanced-ui-probes.js +310 -0
- package/dist/advanced-ui-probes.js.map +7 -0
- package/dist/ai-login.d.ts +32 -0
- package/dist/ai-login.js +250 -0
- package/dist/ai-login.js.map +7 -0
- package/dist/auth-token-rotator.d.ts +47 -0
- package/dist/auth-token-rotator.js +58 -0
- package/dist/auth-token-rotator.js.map +7 -0
- package/dist/auth.d.ts +20 -0
- package/dist/auth.js +348 -0
- package/dist/auth.js.map +7 -0
- package/dist/browser-extension.d.ts +37 -0
- package/dist/browser-extension.js +113 -0
- package/dist/browser-extension.js.map +7 -0
- package/dist/captcha-solver.d.ts +16 -0
- package/dist/captcha-solver.js +105 -0
- package/dist/captcha-solver.js.map +7 -0
- package/dist/color-contrast.d.ts +30 -0
- package/dist/color-contrast.js +78 -0
- package/dist/color-contrast.js.map +7 -0
- package/dist/content-chunker.d.ts +18 -0
- package/dist/content-chunker.js +152 -0
- package/dist/content-chunker.js.map +7 -0
- package/dist/content-dedup.d.ts +23 -0
- package/dist/content-dedup.js +60 -0
- package/dist/content-dedup.js.map +7 -0
- package/dist/cookie-consent.d.ts +25 -0
- package/dist/cookie-consent.js +78 -0
- package/dist/cookie-consent.js.map +7 -0
- package/dist/cookie-jar.d.ts +20 -0
- package/dist/cookie-jar.js +61 -0
- package/dist/cookie-jar.js.map +7 -0
- package/dist/crawl-session-manager.d.ts +44 -0
- package/dist/crawl-session-manager.js +145 -0
- package/dist/crawl-session-manager.js.map +7 -0
- package/dist/crawler.d.ts +233 -0
- package/dist/crawler.js +6239 -0
- package/dist/crawler.js.map +7 -0
- package/dist/crud-interaction.d.ts +31 -0
- package/dist/crud-interaction.js +264 -0
- package/dist/crud-interaction.js.map +7 -0
- package/dist/custom-js-injector.d.ts +42 -0
- package/dist/custom-js-injector.js +50 -0
- package/dist/custom-js-injector.js.map +7 -0
- package/dist/dark-mode-capture.d.ts +23 -0
- package/dist/dark-mode-capture.js +75 -0
- package/dist/dark-mode-capture.js.map +7 -0
- package/dist/dead-link-detector.d.ts +37 -0
- package/dist/dead-link-detector.js +50 -0
- package/dist/dead-link-detector.js.map +7 -0
- package/dist/dropdown-enumerator.d.ts +20 -0
- package/dist/dropdown-enumerator.js +230 -0
- package/dist/dropdown-enumerator.js.map +7 -0
- package/dist/element-hash.d.ts +9 -0
- package/dist/element-hash.js +9 -0
- package/dist/element-hash.js.map +7 -0
- package/dist/email-otp.d.ts +42 -0
- package/dist/email-otp.js +177 -0
- package/dist/email-otp.js.map +7 -0
- package/dist/engine-router.d.ts +47 -0
- package/dist/engine-router.js +94 -0
- package/dist/engine-router.js.map +7 -0
- package/dist/export/bulk-export.d.ts +26 -0
- package/dist/export/bulk-export.js +76 -0
- package/dist/export/bulk-export.js.map +7 -0
- package/dist/export/vector-export.d.ts +76 -0
- package/dist/export/vector-export.js +85 -0
- package/dist/export/vector-export.js.map +7 -0
- package/dist/extractors/advanced.d.ts +64 -0
- package/dist/extractors/advanced.js +265 -0
- package/dist/extractors/advanced.js.map +7 -0
- package/dist/extractors/artifact-envelope.d.ts +63 -0
- package/dist/extractors/artifact-envelope.js +63 -0
- package/dist/extractors/artifact-envelope.js.map +7 -0
- package/dist/extractors/branding-extractor.d.ts +46 -0
- package/dist/extractors/branding-extractor.js +104 -0
- package/dist/extractors/branding-extractor.js.map +7 -0
- package/dist/extractors/summary-extractor.d.ts +10 -0
- package/dist/extractors/summary-extractor.js +36 -0
- package/dist/extractors/summary-extractor.js.map +7 -0
- package/dist/failure-analysis-agent.d.ts +16 -0
- package/dist/failure-analysis-agent.js +42 -0
- package/dist/failure-analysis-agent.js.map +7 -0
- package/dist/feature-flag-detector.d.ts +30 -0
- package/dist/feature-flag-detector.js +55 -0
- package/dist/feature-flag-detector.js.map +7 -0
- package/dist/filter-pagination-crawler.d.ts +52 -0
- package/dist/filter-pagination-crawler.js +299 -0
- package/dist/filter-pagination-crawler.js.map +7 -0
- package/dist/form-detector.d.ts +34 -0
- package/dist/form-detector.js +58 -0
- package/dist/form-detector.js.map +7 -0
- package/dist/frontier.d.ts +40 -0
- package/dist/frontier.js +103 -0
- package/dist/frontier.js.map +7 -0
- package/dist/gap-pass.d.ts +36 -0
- package/dist/gap-pass.js +115 -0
- package/dist/gap-pass.js.map +7 -0
- package/dist/graphql-detector.d.ts +39 -0
- package/dist/graphql-detector.js +86 -0
- package/dist/graphql-detector.js.map +7 -0
- package/dist/http-engine.d.ts +80 -0
- package/dist/http-engine.js +318 -0
- package/dist/http-engine.js.map +7 -0
- package/dist/incremental-diff.d.ts +116 -0
- package/dist/incremental-diff.js +137 -0
- package/dist/incremental-diff.js.map +7 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +83 -0
- package/dist/index.js.map +7 -0
- package/dist/input-fuzzer.d.ts +30 -0
- package/dist/input-fuzzer.js +105 -0
- package/dist/input-fuzzer.js.map +7 -0
- package/dist/interactive-probe.d.ts +144 -0
- package/dist/interactive-probe.js +865 -0
- package/dist/interactive-probe.js.map +7 -0
- package/dist/job-queue.d.ts +297 -0
- package/dist/job-queue.js +3812 -0
- package/dist/job-queue.js.map +7 -0
- package/dist/js-coverage.d.ts +29 -0
- package/dist/js-coverage.js +56 -0
- package/dist/js-coverage.js.map +7 -0
- package/dist/js-router-detector.d.ts +17 -0
- package/dist/js-router-detector.js +90 -0
- package/dist/js-router-detector.js.map +7 -0
- package/dist/language-detector.d.ts +22 -0
- package/dist/language-detector.js +57 -0
- package/dist/language-detector.js.map +7 -0
- package/dist/link-classifier.d.ts +23 -0
- package/dist/link-classifier.js +40 -0
- package/dist/link-classifier.js.map +7 -0
- package/dist/live-view.d.ts +36 -0
- package/dist/live-view.js +105 -0
- package/dist/live-view.js.map +7 -0
- package/dist/locator-extractor.d.ts +46 -0
- package/dist/locator-extractor.js +220 -0
- package/dist/locator-extractor.js.map +7 -0
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +10 -0
- package/dist/logger.js.map +7 -0
- package/dist/markdown-extract.d.ts +8 -0
- package/dist/markdown-extract.js +54 -0
- package/dist/markdown-extract.js.map +7 -0
- package/dist/multi-context-handler.d.ts +55 -0
- package/dist/multi-context-handler.js +182 -0
- package/dist/multi-context-handler.js.map +7 -0
- package/dist/native-crawler.d.ts +69 -0
- package/dist/native-crawler.js +839 -0
- package/dist/native-crawler.js.map +7 -0
- package/dist/nested-window-crawler.d.ts +41 -0
- package/dist/nested-window-crawler.js +172 -0
- package/dist/nested-window-crawler.js.map +7 -0
- package/dist/network-action-correlator.d.ts +47 -0
- package/dist/network-action-correlator.js +209 -0
- package/dist/network-action-correlator.js.map +7 -0
- package/dist/network-observer.d.ts +49 -0
- package/dist/network-observer.js +149 -0
- package/dist/network-observer.js.map +7 -0
- package/dist/network-throttle.d.ts +25 -0
- package/dist/network-throttle.js +34 -0
- package/dist/network-throttle.js.map +7 -0
- package/dist/openapi-generator.d.ts +49 -0
- package/dist/openapi-generator.js +89 -0
- package/dist/openapi-generator.js.map +7 -0
- package/dist/pdf-extractor.d.ts +28 -0
- package/dist/pdf-extractor.js +81 -0
- package/dist/pdf-extractor.js.map +7 -0
- package/dist/performance-metrics-collector.d.ts +50 -0
- package/dist/performance-metrics-collector.js +155 -0
- package/dist/performance-metrics-collector.js.map +7 -0
- package/dist/performance-metrics.d.ts +52 -0
- package/dist/performance-metrics.js +83 -0
- package/dist/performance-metrics.js.map +7 -0
- package/dist/phash.d.ts +50 -0
- package/dist/phash.js +136 -0
- package/dist/phash.js.map +7 -0
- package/dist/pii-scrubber.d.ts +21 -0
- package/dist/pii-scrubber.js +75 -0
- package/dist/pii-scrubber.js.map +7 -0
- package/dist/playwright-recorder.d.ts +39 -0
- package/dist/playwright-recorder.js +123 -0
- package/dist/playwright-recorder.js.map +7 -0
- package/dist/policies/crawl-safety.d.ts +9 -0
- package/dist/policies/crawl-safety.js +41 -0
- package/dist/policies/crawl-safety.js.map +7 -0
- package/dist/profiles/domain-profile.d.ts +19 -0
- package/dist/profiles/domain-profile.js +160 -0
- package/dist/profiles/domain-profile.js.map +7 -0
- package/dist/proxy.d.ts +50 -0
- package/dist/proxy.js +165 -0
- package/dist/proxy.js.map +7 -0
- package/dist/rate-limiter.d.ts +31 -0
- package/dist/rate-limiter.js +64 -0
- package/dist/rate-limiter.js.map +7 -0
- package/dist/redirect-tracker.d.ts +37 -0
- package/dist/redirect-tracker.js +65 -0
- package/dist/redirect-tracker.js.map +7 -0
- package/dist/redis-frontier.d.ts +48 -0
- package/dist/redis-frontier.js +126 -0
- package/dist/redis-frontier.js.map +7 -0
- package/dist/redis-queue.d.ts +48 -0
- package/dist/redis-queue.js +165 -0
- package/dist/redis-queue.js.map +7 -0
- package/dist/response-cache.d.ts +38 -0
- package/dist/response-cache.js +140 -0
- package/dist/response-cache.js.map +7 -0
- package/dist/responsive-detector.d.ts +29 -0
- package/dist/responsive-detector.js +46 -0
- package/dist/responsive-detector.js.map +7 -0
- package/dist/retry-policy.d.ts +20 -0
- package/dist/retry-policy.js +54 -0
- package/dist/retry-policy.js.map +7 -0
- package/dist/robots-txt.d.ts +9 -0
- package/dist/robots-txt.js +77 -0
- package/dist/robots-txt.js.map +7 -0
- package/dist/screen-reader.d.ts +15 -0
- package/dist/screen-reader.js +48 -0
- package/dist/screen-reader.js.map +7 -0
- package/dist/screenshot-masker.d.ts +28 -0
- package/dist/screenshot-masker.js +62 -0
- package/dist/screenshot-masker.js.map +7 -0
- package/dist/seo-checker.d.ts +33 -0
- package/dist/seo-checker.js +91 -0
- package/dist/seo-checker.js.map +7 -0
- package/dist/service-worker-interceptor.d.ts +36 -0
- package/dist/service-worker-interceptor.js +136 -0
- package/dist/service-worker-interceptor.js.map +7 -0
- package/dist/session-capture.d.ts +39 -0
- package/dist/session-capture.js +274 -0
- package/dist/session-capture.js.map +7 -0
- package/dist/session-export.d.ts +49 -0
- package/dist/session-export.js +117 -0
- package/dist/session-export.js.map +7 -0
- package/dist/shadow-dom-crawler.d.ts +35 -0
- package/dist/shadow-dom-crawler.js +132 -0
- package/dist/shadow-dom-crawler.js.map +7 -0
- package/dist/sitemap-writer.d.ts +21 -0
- package/dist/sitemap-writer.js +47 -0
- package/dist/sitemap-writer.js.map +7 -0
- package/dist/sitemap.d.ts +51 -0
- package/dist/sitemap.js +160 -0
- package/dist/sitemap.js.map +7 -0
- package/dist/skyvern.d.ts +56 -0
- package/dist/skyvern.js +129 -0
- package/dist/skyvern.js.map +7 -0
- package/dist/sqs-queue.d.ts +13 -0
- package/dist/sqs-queue.js +115 -0
- package/dist/sqs-queue.js.map +7 -0
- package/dist/sso-token.d.ts +29 -0
- package/dist/sso-token.js +76 -0
- package/dist/sso-token.js.map +7 -0
- package/dist/state-graph.d.ts +59 -0
- package/dist/state-graph.js +193 -0
- package/dist/state-graph.js.map +7 -0
- package/dist/stealth/human-behavior.d.ts +20 -0
- package/dist/stealth/human-behavior.js +202 -0
- package/dist/stealth/human-behavior.js.map +7 -0
- package/dist/telemetry.d.ts +34 -0
- package/dist/telemetry.js +77 -0
- package/dist/telemetry.js.map +7 -0
- package/dist/test-executor.d.ts +81 -0
- package/dist/test-executor.js +443 -0
- package/dist/test-executor.js.map +7 -0
- package/dist/tls-fingerprint.d.ts +50 -0
- package/dist/tls-fingerprint.js +81 -0
- package/dist/tls-fingerprint.js.map +7 -0
- package/dist/url-pattern-completer.d.ts +28 -0
- package/dist/url-pattern-completer.js +122 -0
- package/dist/url-pattern-completer.js.map +7 -0
- package/dist/visual-diff-verdict.d.ts +40 -0
- package/dist/visual-diff-verdict.js +27 -0
- package/dist/visual-diff-verdict.js.map +7 -0
- package/dist/webhook-notifier.d.ts +30 -0
- package/dist/webhook-notifier.js +76 -0
- package/dist/webhook-notifier.js.map +7 -0
- package/dist/websocket-detector.d.ts +24 -0
- package/dist/websocket-detector.js +60 -0
- package/dist/websocket-detector.js.map +7 -0
- package/dist/worker.d.ts +1 -0
- package/dist/worker.js +33 -0
- package/dist/worker.js.map +7 -0
- package/package.json +49 -4
- package/src/accessibility-auditor.ts +102 -0
- package/src/accessibility-tree-crawler.ts +246 -0
- package/src/advanced-ui-probes.ts +470 -0
- package/src/ai-login.ts +298 -0
- package/src/auth-token-rotator.ts +89 -0
- package/src/auth.ts +418 -0
- package/src/browser-extension.ts +186 -0
- package/src/captcha-solver.ts +143 -0
- package/src/color-contrast.ts +116 -0
- package/src/content-chunker.ts +170 -0
- package/src/content-dedup.ts +99 -0
- package/src/cookie-consent.ts +106 -0
- package/src/cookie-jar.ts +91 -0
- package/src/crawl-session-manager.ts +231 -0
- package/src/crawler.ts +7123 -0
- package/src/crawler.ts.rej +12 -0
- package/src/crud-interaction.ts +386 -0
- package/src/custom-js-injector.ts +93 -0
- package/src/dark-mode-capture.ts +110 -0
- package/src/dead-link-detector.ts +76 -0
- package/src/dropdown-enumerator.ts +312 -0
- package/src/element-hash.ts +16 -0
- package/src/email-otp.ts +252 -0
- package/src/engine-router.ts +141 -0
- package/src/export/bulk-export.ts +85 -0
- package/src/export/vector-export.ts +160 -0
- package/src/extractors/advanced.ts +309 -0
- package/src/extractors/artifact-envelope.ts +111 -0
- package/src/extractors/branding-extractor.ts +159 -0
- package/src/extractors/summary-extractor.ts +49 -0
- package/src/failure-analysis-agent.ts +51 -0
- package/src/feature-flag-detector.ts +97 -0
- package/src/filter-pagination-crawler.ts +500 -0
- package/src/form-detector.ts +103 -0
- package/src/frontier.test.ts +64 -0
- package/src/frontier.ts +144 -0
- package/src/gap-pass.ts +165 -0
- package/src/graphql-detector.ts +129 -0
- package/src/http-engine.ts +453 -0
- package/src/incremental-diff.ts +259 -0
- package/src/index.ts +52 -0
- package/src/input-fuzzer.ts +129 -0
- package/src/interactive-probe.ts +1136 -0
- package/src/job-queue.test.ts +187 -0
- package/src/job-queue.ts +4504 -0
- package/src/js-coverage.ts +87 -0
- package/src/js-router-detector.ts +112 -0
- package/src/language-detector.ts +82 -0
- package/src/link-classifier.ts +65 -0
- package/src/live-view.ts +146 -0
- package/src/locator-extractor.ts +309 -0
- package/src/logger.ts +9 -0
- package/src/markdown-extract.test.ts +73 -0
- package/src/markdown-extract.ts +76 -0
- package/src/multi-context-handler.ts +296 -0
- package/src/native-crawler.ts +1108 -0
- package/src/nested-window-crawler.ts +310 -0
- package/src/network-action-correlator.ts +320 -0
- package/src/network-observer.ts +204 -0
- package/src/network-throttle.ts +69 -0
- package/src/openapi-generator.ts +135 -0
- package/src/pdf-extractor.ts +123 -0
- package/src/performance-metrics-collector.ts +243 -0
- package/src/performance-metrics.ts +134 -0
- package/src/phash.ts +184 -0
- package/src/pii-scrubber.ts +99 -0
- package/src/playwright-recorder.ts +170 -0
- package/src/policies/crawl-safety.ts +52 -0
- package/src/profiles/domain-profile.ts +190 -0
- package/src/proxy.ts +238 -0
- package/src/rate-limiter.ts +87 -0
- package/src/redirect-tracker.ts +97 -0
- package/src/redis-frontier.ts +143 -0
- package/src/redis-queue.ts +208 -0
- package/src/response-cache.ts +150 -0
- package/src/responsive-detector.ts +92 -0
- package/src/retry-policy.ts +87 -0
- package/src/robots-txt.ts +96 -0
- package/src/screen-reader.ts +98 -0
- package/src/screenshot-masker.ts +98 -0
- package/src/seo-checker.ts +134 -0
- package/src/service-worker-interceptor.ts +185 -0
- package/src/session-capture.ts +335 -0
- package/src/session-export.test.ts +75 -0
- package/src/session-export.ts +172 -0
- package/src/shadow-dom-crawler.ts +198 -0
- package/src/sitemap-writer.ts +65 -0
- package/src/sitemap.test.ts +127 -0
- package/src/sitemap.ts +233 -0
- package/src/skyvern.ts +199 -0
- package/src/sqs-queue.ts +129 -0
- package/src/sso-token.ts +120 -0
- package/src/state-graph.ts +280 -0
- package/src/stealth/human-behavior.ts +227 -0
- package/src/telemetry.ts +122 -0
- package/src/test-executor.test.ts +72 -0
- package/src/test-executor.ts +578 -0
- package/src/tls-fingerprint.ts +111 -0
- package/src/url-pattern-completer.ts +161 -0
- package/src/vendor.d.ts +20 -0
- package/src/visual-diff-verdict.test.ts +80 -0
- package/src/visual-diff-verdict.ts +59 -0
- package/src/webhook-notifier.ts +109 -0
- package/src/websocket-detector.ts +83 -0
- package/src/worker.ts +50 -0
- package/tsconfig.json +13 -0
- package/types/accessibility-auditor.d.ts +29 -0
- package/types/accessibility-tree-crawler.d.ts +44 -0
- package/types/advanced-ui-probes.d.ts +47 -0
- package/types/ai-login.d.ts +32 -0
- package/types/auth-token-rotator.d.ts +47 -0
- package/types/auth.d.ts +20 -0
- package/types/browser-extension.d.ts +37 -0
- package/types/bull-worker.d.ts +6 -0
- package/types/captcha-solver.d.ts +16 -0
- package/types/color-contrast.d.ts +30 -0
- package/types/content-chunker.d.ts +18 -0
- package/types/content-dedup.d.ts +23 -0
- package/types/cookie-consent.d.ts +25 -0
- package/types/cookie-jar.d.ts +20 -0
- package/types/crawl-session-manager.d.ts +44 -0
- package/types/crawler.d.ts +233 -0
- package/types/crud-interaction.d.ts +31 -0
- package/types/custom-js-injector.d.ts +42 -0
- package/types/dark-mode-capture.d.ts +23 -0
- package/types/dead-link-detector.d.ts +37 -0
- package/types/dropdown-enumerator.d.ts +20 -0
- package/types/element-hash.d.ts +9 -0
- package/types/email-otp.d.ts +42 -0
- package/types/engine-router.d.ts +47 -0
- package/types/export/bulk-export.d.ts +26 -0
- package/types/export/vector-export.d.ts +76 -0
- package/types/extractors/advanced.d.ts +64 -0
- package/types/extractors/artifact-envelope.d.ts +63 -0
- package/types/extractors/branding-extractor.d.ts +46 -0
- package/types/extractors/summary-extractor.d.ts +10 -0
- package/types/failure-analysis-agent.d.ts +16 -0
- package/types/feature-flag-detector.d.ts +30 -0
- package/types/filter-pagination-crawler.d.ts +52 -0
- package/types/form-detector.d.ts +34 -0
- package/types/frontier.d.ts +40 -0
- package/types/gap-pass.d.ts +36 -0
- package/types/graphql-detector.d.ts +39 -0
- package/types/http-engine.d.ts +80 -0
- package/types/incremental-diff.d.ts +116 -0
- package/types/index.d.ts +52 -0
- package/types/input-fuzzer.d.ts +30 -0
- package/types/interactive-probe.d.ts +144 -0
- package/types/job-queue.d.ts +308 -0
- package/types/js-coverage.d.ts +29 -0
- package/types/js-router-detector.d.ts +17 -0
- package/types/language-detector.d.ts +22 -0
- package/types/link-classifier.d.ts +23 -0
- package/types/live-view.d.ts +36 -0
- package/types/locator-extractor.d.ts +46 -0
- package/types/logger.d.ts +2 -0
- package/types/markdown-extract.d.ts +8 -0
- package/types/multi-context-handler.d.ts +55 -0
- package/types/native-crawler.d.ts +69 -0
- package/types/nested-window-crawler.d.ts +41 -0
- package/types/network-action-correlator.d.ts +47 -0
- package/types/network-observer.d.ts +49 -0
- package/types/network-throttle.d.ts +25 -0
- package/types/openapi-generator.d.ts +49 -0
- package/types/pdf-extractor.d.ts +28 -0
- package/types/performance-metrics-collector.d.ts +50 -0
- package/types/performance-metrics.d.ts +52 -0
- package/types/phash.d.ts +50 -0
- package/types/pii-scrubber.d.ts +21 -0
- package/types/playwright-recorder.d.ts +39 -0
- package/types/policies/crawl-safety.d.ts +9 -0
- package/types/profiles/domain-profile.d.ts +19 -0
- package/types/proxy.d.ts +50 -0
- package/types/rate-limiter.d.ts +31 -0
- package/types/redirect-tracker.d.ts +37 -0
- package/types/redis-frontier.d.ts +48 -0
- package/types/redis-queue.d.ts +48 -0
- package/types/response-cache.d.ts +38 -0
- package/types/responsive-detector.d.ts +29 -0
- package/types/retry-policy.d.ts +20 -0
- package/types/robots-txt.d.ts +9 -0
- package/types/screen-reader.d.ts +15 -0
- package/types/screenshot-masker.d.ts +28 -0
- package/types/seo-checker.d.ts +33 -0
- package/types/service-worker-interceptor.d.ts +36 -0
- package/types/session-capture.d.ts +39 -0
- package/types/session-export.d.ts +49 -0
- package/types/shadow-dom-crawler.d.ts +35 -0
- package/types/sitemap-writer.d.ts +21 -0
- package/types/sitemap.d.ts +51 -0
- package/types/skyvern.d.ts +56 -0
- package/types/sqs-queue.d.ts +13 -0
- package/types/sso-token.d.ts +29 -0
- package/types/state-graph.d.ts +59 -0
- package/types/stealth/human-behavior.d.ts +20 -0
- package/types/telemetry.d.ts +34 -0
- package/types/test-executor.d.ts +84 -0
- package/types/tls-fingerprint.d.ts +50 -0
- package/types/url-pattern-completer.d.ts +28 -0
- package/types/visual-diff-verdict.d.ts +40 -0
- package/types/webhook-notifier.d.ts +30 -0
- package/types/websocket-detector.d.ts +24 -0
- package/types/worker.d.ts +1 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ZeTa-AI Crawler — Stagehand hybrid architecture
|
|
3
|
+
*
|
|
4
|
+
* Three-layer stack:
|
|
5
|
+
* Layer 1 — Playwright (deterministic): navigation, screenshots, DOM fallbacks
|
|
6
|
+
* Layer 2 — Stagehand act/extract (AI): login, element understanding, smart link discovery
|
|
7
|
+
* Layer 3 — Skyvern (vision): fallback for CAPTCHAs, legacy apps, visual-only flows
|
|
8
|
+
*
|
|
9
|
+
* enableCaching: true → repeat crawls of the same site cost ~zero AI tokens after first run.
|
|
10
|
+
*/
|
|
11
|
+
import type { Credentials } from './auth.js';
|
|
12
|
+
import { type SkyvernConfig } from './skyvern.js';
|
|
13
|
+
import { type TraversalStrategy } from './frontier.js';
|
|
14
|
+
import { type ApiEndpointObservationInput } from './network-observer.js';
|
|
15
|
+
import type { ProxyTierConfig } from './proxy.js';
|
|
16
|
+
interface PerformanceMetric {
|
|
17
|
+
url: string;
|
|
18
|
+
screenName: string;
|
|
19
|
+
lcp?: number;
|
|
20
|
+
fcp?: number;
|
|
21
|
+
ttfb?: number;
|
|
22
|
+
cls?: number;
|
|
23
|
+
}
|
|
24
|
+
export interface DiscoveredLinkMeta {
|
|
25
|
+
url: string;
|
|
26
|
+
text?: string;
|
|
27
|
+
landmark?: string;
|
|
28
|
+
source: 'DOM' | 'AI' | 'INTERACTIVE';
|
|
29
|
+
}
|
|
30
|
+
export declare function getNonHeadlessUserAgent(executablePath?: string): Promise<string>;
|
|
31
|
+
/**
|
|
32
|
+
* Lightweight pre-crawl link discovery: loads the app URL in a headless (proxy-aware) browser
|
|
33
|
+
* and returns same-site `<a href>` links. Complements sitemap discovery for SPA/app sites that
|
|
34
|
+
* have no sitemap.xml. Best-effort — returns [] on any failure (bot wall, timeout, etc.).
|
|
35
|
+
* chromium.launch({ proxy }) handles proxy 407 auth itself (same client), so no CDP handler needed.
|
|
36
|
+
*/
|
|
37
|
+
export declare function discoverLinksViaBrowser(appUrl: string, opts?: {
|
|
38
|
+
proxyUrl?: string;
|
|
39
|
+
maxLinks?: number;
|
|
40
|
+
}): Promise<string[]>;
|
|
41
|
+
export declare function crawlProject(opts: {
|
|
42
|
+
tenantId: string;
|
|
43
|
+
projectId: string;
|
|
44
|
+
appUrl: string;
|
|
45
|
+
/** The viewport used for this crawl pass */
|
|
46
|
+
viewport?: 'DESKTOP' | 'MOBILE_PORTRAIT' | 'TABLET';
|
|
47
|
+
credentials?: Credentials;
|
|
48
|
+
/** Playwright storageState JSON string — if present, session is restored and AI login is skipped. */
|
|
49
|
+
storageState?: string;
|
|
50
|
+
screenshotDir?: string;
|
|
51
|
+
/** Cloud storage config for immediate screenshot upload. If set, screenshots are uploaded to cloud immediately after capture and cloudUrl is persisted. */
|
|
52
|
+
storageConfig?: {
|
|
53
|
+
provider: string;
|
|
54
|
+
bucket: string;
|
|
55
|
+
region?: string;
|
|
56
|
+
accountId?: string;
|
|
57
|
+
endpointUrl?: string;
|
|
58
|
+
accessKeyId?: string;
|
|
59
|
+
secretAccessKey?: string;
|
|
60
|
+
prefix?: string;
|
|
61
|
+
publicUrl?: string;
|
|
62
|
+
} | null;
|
|
63
|
+
/** When true, run a fast URL-only discovery crawl — skips screenshots, DB saves, and AI element extraction. Returns discoveredUrls in the result object. */
|
|
64
|
+
discoveryMode?: boolean;
|
|
65
|
+
maxScreens?: number;
|
|
66
|
+
/** Seed URLs added to the initial crawl queue — link discovery still runs from each page. */
|
|
67
|
+
startUrls?: string[];
|
|
68
|
+
/** When provided, crawl ONLY these exact URLs (no link-following, no full screen clear). Used for selected-screen recrawl. */
|
|
69
|
+
selectiveUrls?: string[];
|
|
70
|
+
/**
|
|
71
|
+
* URL path patterns that bypass the CUID/UUID generated-ID filter during BFS link discovery.
|
|
72
|
+
* Use {id} as a placeholder for any generated path segment (CUID, UUID, numeric ID, etc.).
|
|
73
|
+
* Example: ['/projects/{id}/tests', '/workspaces/{id}/settings']
|
|
74
|
+
* Without this, all URLs containing generated IDs are silently skipped by the BFS.
|
|
75
|
+
*/
|
|
76
|
+
seedPathPatterns?: string[];
|
|
77
|
+
/** When true, run the interactive probe after static crawl to capture real validation errors, toasts, and modals. */
|
|
78
|
+
interactive?: boolean;
|
|
79
|
+
/** Optional abort signal — abort() cancels the crawl between page navigations. */
|
|
80
|
+
abortSignal?: AbortSignal;
|
|
81
|
+
/** Platform job ID — stored on screens so we can diff which were found in each crawl. */
|
|
82
|
+
jobId?: string;
|
|
83
|
+
/** Device profiles to capture screenshots for after the main DESKTOP crawl.
|
|
84
|
+
* Values: 'MOBILE_PORTRAIT' | 'TABLET'
|
|
85
|
+
* The main crawl always runs as DESKTOP. Extra profiles trigger a screenshot-only pass.
|
|
86
|
+
*/
|
|
87
|
+
deviceProfiles?: string[];
|
|
88
|
+
/** HTTP Basic Auth credentials — injected as Authorization header on same-origin requests. */
|
|
89
|
+
httpBasicUsername?: string;
|
|
90
|
+
httpBasicPassword?: string;
|
|
91
|
+
/** Bearer/API token — injected as a request header and into localStorage. Skips AI login. */
|
|
92
|
+
authToken?: string;
|
|
93
|
+
/** Header name for authToken (default: 'Authorization'). */
|
|
94
|
+
authTokenHeader?: string;
|
|
95
|
+
/** Prefix for authToken value (default: 'Bearer '). */
|
|
96
|
+
authTokenPrefix?: string;
|
|
97
|
+
/** CAPTCHA solving API key (2captcha or CapSolver). */
|
|
98
|
+
captchaSolverApiKey?: string;
|
|
99
|
+
/** CAPTCHA solving service provider (default: '2captcha'). */
|
|
100
|
+
captchaSolverProvider?: '2captcha' | 'capsolver';
|
|
101
|
+
/**
|
|
102
|
+
* Path to a Chrome user data directory for profile inheritance.
|
|
103
|
+
* When set, the crawler exports the existing session from this profile and injects it,
|
|
104
|
+
* so the agent is already logged in. Works for local/self-hosted deployments only.
|
|
105
|
+
* Ignored on cloud/Docker (headless env cannot open another Chrome instance safely).
|
|
106
|
+
*/
|
|
107
|
+
chromeProfilePath?: string;
|
|
108
|
+
/** MailSlurp API key for email OTP auto-retrieval (GAP 5). */
|
|
109
|
+
mailslurpApiKey?: string;
|
|
110
|
+
/** MailSlurp inbox ID to poll for OTP emails (GAP 5). */
|
|
111
|
+
mailslurpInboxId?: string;
|
|
112
|
+
/** SSO provider for ROPC token flow — 'okta' | 'azure_ad' | 'generic_oidc' (GAP 18). */
|
|
113
|
+
ssoProvider?: string;
|
|
114
|
+
/** SSO domain or Azure tenant ID (GAP 18). */
|
|
115
|
+
ssoDomain?: string;
|
|
116
|
+
/** SSO OAuth2 client ID (GAP 18). */
|
|
117
|
+
ssoClientId?: string;
|
|
118
|
+
/** SSO OAuth2 client secret (GAP 18). */
|
|
119
|
+
ssoClientSecret?: string;
|
|
120
|
+
/** SSO scopes (space-separated, default: 'openid profile') (GAP 18). */
|
|
121
|
+
ssoScope?: string;
|
|
122
|
+
/** HTTP/HTTPS/SOCKS5 proxy URL — e.g. 'http://user:pass@proxy.example.com:8080' or 'socks5://proxy:1080'.
|
|
123
|
+
* Useful for sites that block datacenter IPs (Akamai, Cloudflare Bot Manager). */
|
|
124
|
+
proxyUrl?: string;
|
|
125
|
+
/** Tiered proxy configuration for automatic per-domain escalation (free → datacenter → residential → premium). */
|
|
126
|
+
proxyTiers?: ProxyTierConfig[];
|
|
127
|
+
/** Use Camoufox (Firefox) as a cookie bootstrapper before the main Chromium crawl.
|
|
128
|
+
* Camoufox visits the URL first to solve Cloudflare JS challenges and extract session
|
|
129
|
+
* cookies, which are then injected into the Chromium crawl as storageState.
|
|
130
|
+
* Enable via Project Settings → Crawl Config → useFirefox: true. */
|
|
131
|
+
useFirefox?: boolean;
|
|
132
|
+
/** Natural language login instructions for Stagehand AI login. E.g. "Click Sign In in the nav, fill email, click Continue". */
|
|
133
|
+
loginInstructions?: string;
|
|
134
|
+
/** Skyvern vision fallback config from workspace settings (overrides SKYVERN_API_URL/KEY env vars). */
|
|
135
|
+
skyvernConfig?: SkyvernConfig;
|
|
136
|
+
/**
|
|
137
|
+
* Max screens to crawl per segment (default 50).
|
|
138
|
+
* After this limit the crawl pauses and remaining URLs are saved so the
|
|
139
|
+
* next job can continue. Total crawl is unlimited — just runs in multiple jobs.
|
|
140
|
+
*/
|
|
141
|
+
segmentSize?: number;
|
|
142
|
+
/** URLs still queued from a previous segment — injected by the job-queue auto-continuation. */
|
|
143
|
+
resumeUrls?: string[];
|
|
144
|
+
/** Segment number (1-based) — used for progress display only. */
|
|
145
|
+
segmentIndex?: number;
|
|
146
|
+
/** Seed the crawl queue from the project's sitemap.xml, in addition to link-following. */
|
|
147
|
+
useSitemap?: boolean;
|
|
148
|
+
/** Explicit sitemap URL override — defaults to `${origin}/sitemap.xml` when useSitemap is set. */
|
|
149
|
+
sitemapUrl?: string;
|
|
150
|
+
/** Crawl queue traversal order. Default BFS — unchanged behavior from before this option existed. */
|
|
151
|
+
traversalStrategy?: TraversalStrategy;
|
|
152
|
+
/** BEST_FIRST only: URLs containing any of these (case-insensitive) are prioritized. */
|
|
153
|
+
bestFirstKeywords?: string[];
|
|
154
|
+
/** When true, skip URLs disallowed by the site's robots.txt. Default false. */
|
|
155
|
+
respectRobotsTxt?: boolean;
|
|
156
|
+
/** When true, dynamically slow crawl speed when server response latency is high (Scrapy-style AutoThrottle). Default false. */
|
|
157
|
+
autoThrottle?: boolean;
|
|
158
|
+
/** Regex pattern — only crawl URLs whose path+query match this pattern. */
|
|
159
|
+
urlFilter?: string;
|
|
160
|
+
/** Glob patterns — only enqueue URLs whose pathname matches at least one (supports * and **). */
|
|
161
|
+
includePatterns?: string[];
|
|
162
|
+
/** Glob patterns — skip URLs whose pathname matches any of these (supports * and **). */
|
|
163
|
+
excludePatterns?: string[];
|
|
164
|
+
/** Already-captured URLs from a previous failed job — pre-seeded into visited map so they're never re-crawled. */
|
|
165
|
+
skipUrls?: string[];
|
|
166
|
+
/** DOM hashes collected in a prior segment — prevents re-screenshotting structurally identical pages across segments. */
|
|
167
|
+
knownDomHashes?: string[];
|
|
168
|
+
/** When false, disables the puppeteer-extra stealth plugin (playwright-extra) for this crawl.
|
|
169
|
+
* Default true — stealth is applied unless explicitly set to false. */
|
|
170
|
+
stealth?: boolean;
|
|
171
|
+
/** Desktop viewport width in pixels (default: 1440). */
|
|
172
|
+
viewportWidth?: number;
|
|
173
|
+
/** Desktop viewport height in pixels (default: 900). */
|
|
174
|
+
viewportHeight?: number;
|
|
175
|
+
/** Called every 10 successful screen captures with current visited URLs and remaining queue — used for checkpoint persistence. */
|
|
176
|
+
onCheckpoint?: (visitedUrls: string[], pendingQueue: string[]) => Promise<void>;
|
|
177
|
+
/** Discovery mode only: called after each page with the current set of discovered original URLs — enables streaming partial results to callers. */
|
|
178
|
+
onUrlsDiscovered?: (urls: string[]) => Promise<void>;
|
|
179
|
+
}, onProgress?: (pct: number, step: string) => Promise<void>): Promise<{
|
|
180
|
+
discoveredUrls: string[];
|
|
181
|
+
screensFound: number;
|
|
182
|
+
screensErrored: number;
|
|
183
|
+
screensSkippedToNextSegment: number;
|
|
184
|
+
isPartial: boolean;
|
|
185
|
+
discovered: never[];
|
|
186
|
+
apiEndpoints: never[];
|
|
187
|
+
performanceMetrics: never[];
|
|
188
|
+
pendingUrls: never[];
|
|
189
|
+
segmentIndex: number;
|
|
190
|
+
hasMoreSegments: boolean;
|
|
191
|
+
domHashes: string[];
|
|
192
|
+
visitedUrls?: undefined;
|
|
193
|
+
wasTimeout?: undefined;
|
|
194
|
+
crawlWarnings?: undefined;
|
|
195
|
+
} | {
|
|
196
|
+
screensFound: number;
|
|
197
|
+
screensErrored: number;
|
|
198
|
+
screensSkippedToNextSegment: number;
|
|
199
|
+
isPartial: boolean;
|
|
200
|
+
discovered: {
|
|
201
|
+
url: string;
|
|
202
|
+
screenId?: string;
|
|
203
|
+
elements?: number;
|
|
204
|
+
elementFacts?: Array<{
|
|
205
|
+
meaning: string;
|
|
206
|
+
role: string;
|
|
207
|
+
expectedData?: string;
|
|
208
|
+
}>;
|
|
209
|
+
screenshotPath?: string;
|
|
210
|
+
version?: number;
|
|
211
|
+
error?: string;
|
|
212
|
+
}[];
|
|
213
|
+
apiEndpoints: ApiEndpointObservationInput[];
|
|
214
|
+
performanceMetrics: PerformanceMetric[];
|
|
215
|
+
pendingUrls: string[];
|
|
216
|
+
visitedUrls: string[];
|
|
217
|
+
wasTimeout: boolean;
|
|
218
|
+
segmentIndex: number;
|
|
219
|
+
hasMoreSegments: boolean;
|
|
220
|
+
domHashes: string[];
|
|
221
|
+
crawlWarnings: string[] | undefined;
|
|
222
|
+
discoveredUrls?: undefined;
|
|
223
|
+
}>;
|
|
224
|
+
export declare function domFallbackElements(page: any, rawPage?: any): Promise<Array<{
|
|
225
|
+
meaning: string;
|
|
226
|
+
role: string;
|
|
227
|
+
expectedData?: string;
|
|
228
|
+
notes?: string;
|
|
229
|
+
boundingRect?: Record<string, number>;
|
|
230
|
+
ariaState?: Record<string, string>;
|
|
231
|
+
parentLandmark?: string;
|
|
232
|
+
}>>;
|
|
233
|
+
export {};
|