@taodigital/crawler 0.0.0-stage → 1.2.1
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,84 @@
|
|
|
1
|
+
import { type Page } from 'playwright';
|
|
2
|
+
import type { ExecutionStep } from '@taodigital/agents';
|
|
3
|
+
export interface StepResult {
|
|
4
|
+
stepNumber: number;
|
|
5
|
+
description: string;
|
|
6
|
+
status: 'PASSED' | 'FAILED' | 'SKIPPED';
|
|
7
|
+
duration: number;
|
|
8
|
+
error?: string;
|
|
9
|
+
screenshotPath?: string;
|
|
10
|
+
healed?: boolean;
|
|
11
|
+
/** 'mechanical' = same selector text, different Playwright locator strategy.
|
|
12
|
+
* 'ai' = AI Self-Healing Agent matched a semantically different element
|
|
13
|
+
* (the app's selector text itself changed, e.g. "Sign In" -> "Log In"). */
|
|
14
|
+
healedVia?: 'mechanical' | 'ai';
|
|
15
|
+
healReasoning?: string;
|
|
16
|
+
healConfidence?: number;
|
|
17
|
+
elementBoundingRect?: {
|
|
18
|
+
x: number;
|
|
19
|
+
y: number;
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
} | null;
|
|
23
|
+
elementSelector?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ExecutionResult {
|
|
26
|
+
stepResults: StepResult[];
|
|
27
|
+
status: 'PASSED' | 'FAILED' | 'ERROR' | 'FLAKY';
|
|
28
|
+
errorStep?: number;
|
|
29
|
+
totalDuration: number;
|
|
30
|
+
finalScreenshotPath?: string;
|
|
31
|
+
retryCount?: number;
|
|
32
|
+
consoleLogs?: Array<{
|
|
33
|
+
type: string;
|
|
34
|
+
text: string;
|
|
35
|
+
timestamp: number;
|
|
36
|
+
}>;
|
|
37
|
+
networkErrors?: Array<{
|
|
38
|
+
url: string;
|
|
39
|
+
status: number;
|
|
40
|
+
method: string;
|
|
41
|
+
timestamp: number;
|
|
42
|
+
}>;
|
|
43
|
+
rootCauseSummary?: string;
|
|
44
|
+
networkTimings?: Array<{
|
|
45
|
+
url: string;
|
|
46
|
+
method: string;
|
|
47
|
+
status: number;
|
|
48
|
+
duration: number;
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
51
|
+
export declare function executeExecutionStep(page: Page, step: ExecutionStep, options?: {
|
|
52
|
+
healCtx?: {
|
|
53
|
+
tenantId: string;
|
|
54
|
+
projectId: string;
|
|
55
|
+
};
|
|
56
|
+
allowUnsafeLocalUrlsForTests?: boolean;
|
|
57
|
+
}): Promise<Pick<StepResult, 'healed' | 'healedVia' | 'healReasoning' | 'healConfidence' | 'elementBoundingRect' | 'elementSelector'>>;
|
|
58
|
+
export declare function executeTestPlan(plan: ExecutionStep[], options: {
|
|
59
|
+
screenshotDir: string;
|
|
60
|
+
testRunId: string;
|
|
61
|
+
viewport?: {
|
|
62
|
+
width: number;
|
|
63
|
+
height: number;
|
|
64
|
+
};
|
|
65
|
+
onStepComplete?: (result: StepResult) => void;
|
|
66
|
+
/** Run the test up to this many times to detect flakiness (default 1). */
|
|
67
|
+
maxRuns?: number;
|
|
68
|
+
browser?: 'chromium' | 'firefox' | 'webkit';
|
|
69
|
+
/** Data row for parameterized execution: substitutes {{varname}} in step fields. */
|
|
70
|
+
dataRow?: Record<string, string>;
|
|
71
|
+
/** Enables the AI Self-Healing Agent tier when a step's selector can't be resolved
|
|
72
|
+
* even after trying alternate locator strategies. Omit to keep mechanical-only
|
|
73
|
+
* healing (no LLM calls during execution). */
|
|
74
|
+
healCtx?: {
|
|
75
|
+
tenantId: string;
|
|
76
|
+
projectId: string;
|
|
77
|
+
};
|
|
78
|
+
/** Decrypted Playwright storageState JSON — restores a logged-in session so
|
|
79
|
+
* steps don't have to re-authenticate. Without this, any test case behind a
|
|
80
|
+
* login wall fails at the first authenticated step. */
|
|
81
|
+
storageState?: string;
|
|
82
|
+
/** Test fixtures may run on loopback; production callers must leave this unset. */
|
|
83
|
+
allowUnsafeLocalUrlsForTests?: boolean;
|
|
84
|
+
}): Promise<ExecutionResult>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TLS fingerprint spoofing — Chrome JA3 cipher suite ordering.
|
|
3
|
+
*
|
|
4
|
+
* Node.js TLS doesn't expose JA3 hash control directly, but ordering
|
|
5
|
+
* cipher suites to match Chrome's TLS ClientHello reduces fingerprint
|
|
6
|
+
* detectability vs the default OpenSSL order.
|
|
7
|
+
*
|
|
8
|
+
* For full JA3 bypass, pair with the browser-stealth engine (Camoufox).
|
|
9
|
+
*/
|
|
10
|
+
import { Agent as HttpsAgent } from 'node:https';
|
|
11
|
+
export declare const CHROME_CIPHERS: string;
|
|
12
|
+
export declare const CHROME_CURVES = "X25519:P-256:P-384";
|
|
13
|
+
export interface TlsFingerprintOptions {
|
|
14
|
+
rejectUnauthorized?: boolean;
|
|
15
|
+
keepAlive?: boolean;
|
|
16
|
+
keepAliveMsecs?: number;
|
|
17
|
+
maxSockets?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Returns an HTTPS agent configured with Chrome-like TLS settings.
|
|
21
|
+
* Drop-in replacement for the default agent in fetch/got/axios.
|
|
22
|
+
*/
|
|
23
|
+
export declare function createChromeTlsAgent(opts?: TlsFingerprintOptions): HttpsAgent;
|
|
24
|
+
/**
|
|
25
|
+
* Probe a host and return its JA3-relevant TLS parameters.
|
|
26
|
+
* Useful for verifying that the fingerprint changed vs default.
|
|
27
|
+
*/
|
|
28
|
+
export declare function probeTlsFingerprint(host: string, port?: number): Promise<{
|
|
29
|
+
protocol: string;
|
|
30
|
+
cipher: string;
|
|
31
|
+
authorized: boolean;
|
|
32
|
+
subjectCN: string | null;
|
|
33
|
+
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Node.js fetch dispatcher options with Chrome TLS agent.
|
|
36
|
+
* Pass as the `dispatcher` option to undici or as `agent` to node-fetch.
|
|
37
|
+
*/
|
|
38
|
+
export declare const chromeTlsAgent: HttpsAgent;
|
|
39
|
+
export declare const CHROME_TLS_HEADERS: {
|
|
40
|
+
'Accept-Encoding': string;
|
|
41
|
+
'Accept-Language': string;
|
|
42
|
+
'sec-ch-ua': string;
|
|
43
|
+
'sec-ch-ua-mobile': string;
|
|
44
|
+
'sec-ch-ua-platform': string;
|
|
45
|
+
'Sec-Fetch-Dest': string;
|
|
46
|
+
'Sec-Fetch-Mode': string;
|
|
47
|
+
'Sec-Fetch-Site': string;
|
|
48
|
+
'Sec-Fetch-User': string;
|
|
49
|
+
'Upgrade-Insecure-Requests': string;
|
|
50
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* P1: URL Pattern LLM Completion
|
|
3
|
+
*
|
|
4
|
+
* After BFS crawl completes, runs a single LLM call to predict URLs that exist
|
|
5
|
+
* but were never linked from within the app. Validates each candidate with
|
|
6
|
+
* HTTP HEAD before emitting as crawl evidence (URL_CANDIDATES).
|
|
7
|
+
*
|
|
8
|
+
* Cost: ~1 LLM call + N HEAD requests. Takes ~5-30 seconds depending on
|
|
9
|
+
* candidate count. Does NOT launch a browser.
|
|
10
|
+
*/
|
|
11
|
+
export interface UrlCandidate {
|
|
12
|
+
url: string;
|
|
13
|
+
confidence: number;
|
|
14
|
+
reason: string;
|
|
15
|
+
status: 'hit' | 'miss' | 'error';
|
|
16
|
+
}
|
|
17
|
+
interface LlmCfg {
|
|
18
|
+
provider: string;
|
|
19
|
+
model: string;
|
|
20
|
+
apiKey?: string;
|
|
21
|
+
baseUrl?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns validated URL candidates (HEAD=200) predicted by LLM from
|
|
25
|
+
* the pattern of already-discovered URLs.
|
|
26
|
+
*/
|
|
27
|
+
export declare function runUrlPatternCompletion(discoveredUrls: string[], appUrl: string, llmCfg: LlmCfg | null | undefined): Promise<UrlCandidate[]>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure visual-diff verdict logic, split out of crawler.ts so it can be unit-tested
|
|
3
|
+
* without pulling in crawler.ts's full import graph (Playwright, Stagehand, and
|
|
4
|
+
* transitively @taodigital/database, which instantiates a PrismaClient at module load and
|
|
5
|
+
* so requires a live DATABASE_URL just to import the module).
|
|
6
|
+
*/
|
|
7
|
+
export interface VisualDiffVerdict {
|
|
8
|
+
changeType: 'NONE' | 'MINOR' | 'SIGNIFICANT' | 'CRITICAL';
|
|
9
|
+
recommendation: 'APPROVE' | 'REVIEW' | 'FLAG' | 'BLOCK';
|
|
10
|
+
changes: Array<{
|
|
11
|
+
location: string;
|
|
12
|
+
severity: string;
|
|
13
|
+
description: string;
|
|
14
|
+
}>;
|
|
15
|
+
bugReportDraft?: {
|
|
16
|
+
title: string;
|
|
17
|
+
severity: string;
|
|
18
|
+
steps: string[];
|
|
19
|
+
expected: string;
|
|
20
|
+
actual: string;
|
|
21
|
+
};
|
|
22
|
+
aiSummary?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Cheap, always-on first-pass verdict from perceptual hash distance + layout/element diffs. */
|
|
25
|
+
export declare function pHashVerdict(pHashDistance: number, changeLevel: 'IDENTICAL' | 'MINOR' | 'MODERATE' | 'SIGNIFICANT', changes: Array<{
|
|
26
|
+
location: string;
|
|
27
|
+
severity: string;
|
|
28
|
+
description: string;
|
|
29
|
+
}>): VisualDiffVerdict;
|
|
30
|
+
/** Replaces a pHash-only verdict with the AI's semantic judgment once it's available,
|
|
31
|
+
* and drafts a bug report for anything still CRITICAL/SIGNIFICANT after AI review
|
|
32
|
+
* (pHash flags plenty of anti-aliasing/font-rendering noise the AI correctly discards
|
|
33
|
+
* as NONE/MINOR — only what survives AI review is worth a draft). */
|
|
34
|
+
export declare function mergeAiVisualVerdict(pHashResult: VisualDiffVerdict, aiResult: {
|
|
35
|
+
changeType: string;
|
|
36
|
+
changes: any[];
|
|
37
|
+
recommendation: string;
|
|
38
|
+
diffScore: number;
|
|
39
|
+
summary?: string;
|
|
40
|
+
}, screenName: string): VisualDiffVerdict;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webhook notifier — fire HTTP POST callbacks on crawl lifecycle events.
|
|
3
|
+
*
|
|
4
|
+
* Supports: crawl.started, crawl.progress, crawl.completed, crawl.failed
|
|
5
|
+
* Payload format compatible with Slack, Discord, and generic REST webhooks.
|
|
6
|
+
* Retries 3x on failure with exponential backoff.
|
|
7
|
+
*/
|
|
8
|
+
export type CrawlEventType = 'crawl.started' | 'crawl.progress' | 'crawl.completed' | 'crawl.failed';
|
|
9
|
+
export interface WebhookPayload {
|
|
10
|
+
event: CrawlEventType;
|
|
11
|
+
jobId: string;
|
|
12
|
+
projectId: string;
|
|
13
|
+
tenantId: string;
|
|
14
|
+
timestamp: string;
|
|
15
|
+
data: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export interface WebhookNotifierOpts {
|
|
18
|
+
url: string;
|
|
19
|
+
secret?: string;
|
|
20
|
+
headers?: Record<string, string>;
|
|
21
|
+
timeoutMs?: number;
|
|
22
|
+
maxRetries?: number;
|
|
23
|
+
}
|
|
24
|
+
export declare class WebhookNotifier {
|
|
25
|
+
private readonly opts;
|
|
26
|
+
constructor(opts: WebhookNotifierOpts);
|
|
27
|
+
notify(event: CrawlEventType, jobId: string, projectId: string, tenantId: string, data?: Record<string, unknown>): Promise<void>;
|
|
28
|
+
/** Slack-compatible message format */
|
|
29
|
+
static slackPayload(event: CrawlEventType, data: Record<string, unknown>): Record<string, unknown>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket detection — intercepts WS connections opened during page crawl.
|
|
3
|
+
* Records connection URLs, message schemas, and message counts.
|
|
4
|
+
* This lets ZeTa discover real-time API contracts (chat, notifications, presence)
|
|
5
|
+
* that would be invisible to HTTP-only crawlers.
|
|
6
|
+
*/
|
|
7
|
+
export interface WsConnection {
|
|
8
|
+
url: string;
|
|
9
|
+
framesSent: number;
|
|
10
|
+
framesReceived: number;
|
|
11
|
+
/** Sampled message bodies (first 10 per connection, truncated to 500 chars) */
|
|
12
|
+
samples: Array<{
|
|
13
|
+
direction: 'sent' | 'received';
|
|
14
|
+
payload: string;
|
|
15
|
+
ts: string;
|
|
16
|
+
}>;
|
|
17
|
+
/** Inferred protocol: 'json-rpc' | 'socket.io' | 'graphql-ws' | 'raw' */
|
|
18
|
+
protocol: string;
|
|
19
|
+
openedAt: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function attachWebSocketDetector(cdpSession: any): {
|
|
22
|
+
getConnections(): WsConnection[];
|
|
23
|
+
detach(): void;
|
|
24
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|