superbrowser-sdk 2.0.0__tar.gz
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.
- superbrowser_sdk-2.0.0/.env.example +26 -0
- superbrowser_sdk-2.0.0/.github/workflows/dco.yml +58 -0
- superbrowser_sdk-2.0.0/.github/workflows/publish.yml +32 -0
- superbrowser_sdk-2.0.0/.github/workflows/test.yml +79 -0
- superbrowser_sdk-2.0.0/.gitignore +63 -0
- superbrowser_sdk-2.0.0/.pre-commit-config.yaml +14 -0
- superbrowser_sdk-2.0.0/CHANGELOG.md +875 -0
- superbrowser_sdk-2.0.0/CONTRIBUTING.md +111 -0
- superbrowser_sdk-2.0.0/Dockerfile +46 -0
- superbrowser_sdk-2.0.0/LICENSE +190 -0
- superbrowser_sdk-2.0.0/PKG-INFO +562 -0
- superbrowser_sdk-2.0.0/README.md +499 -0
- superbrowser_sdk-2.0.0/Super-Browser.png +0 -0
- superbrowser_sdk-2.0.0/analysis/00-SOURCE-INVENTORY.md +545 -0
- superbrowser_sdk-2.0.0/analysis/01-TRIAGE-QUEUE.md +91 -0
- superbrowser_sdk-2.0.0/analysis/AGENT-BROWSER-ANALYSIS.md +157 -0
- superbrowser_sdk-2.0.0/analysis/AGENT-S-ANALYSIS.md +226 -0
- superbrowser_sdk-2.0.0/analysis/BROWSER-HARNESS-ANALYSIS.md +216 -0
- superbrowser_sdk-2.0.0/analysis/BROWSER-USE-ANALYSIS.md +203 -0
- superbrowser_sdk-2.0.0/analysis/CROSS-PROJECT-SYNTHESIS.md +365 -0
- superbrowser_sdk-2.0.0/analysis/FIRECRAWL-ANALYSIS.md +188 -0
- superbrowser_sdk-2.0.0/analysis/GAP-INVENTORY.md +489 -0
- superbrowser_sdk-2.0.0/analysis/HERMES-AGENT-ANALYSIS.md +213 -0
- superbrowser_sdk-2.0.0/analysis/HERMES-SELF-EVOLUTION-ANALYSIS.md +171 -0
- superbrowser_sdk-2.0.0/analysis/HTTPMORPH-ANALYSIS.md +164 -0
- superbrowser_sdk-2.0.0/analysis/IMPLEMENTATION-ROADMAP.md +252 -0
- superbrowser_sdk-2.0.0/analysis/LAVAGUE-ANALYSIS.md +127 -0
- superbrowser_sdk-2.0.0/analysis/OPENCLAW-ANALYSIS.md +177 -0
- superbrowser_sdk-2.0.0/analysis/PATCHRIGHT-ANALYSIS.md +188 -0
- superbrowser_sdk-2.0.0/analysis/PROJECT-CONFIG.md +156 -0
- superbrowser_sdk-2.0.0/analysis/SESSION-STATE.md +159 -0
- superbrowser_sdk-2.0.0/analysis/SKYVERN-ANALYSIS.md +156 -0
- superbrowser_sdk-2.0.0/analysis/STAGEHAND-ANALYSIS.md +227 -0
- superbrowser_sdk-2.0.0/analysis/UI-TARS-ANALYSIS.md +155 -0
- superbrowser_sdk-2.0.0/analysis/UI-TARS-DESKTOP-ANALYSIS.md +201 -0
- superbrowser_sdk-2.0.0/analysis/output/CHROMECLAW-ANALYSIS.md +550 -0
- superbrowser_sdk-2.0.0/analysis/output/CLAW-VARIANTS-ASSESSMENT.md +131 -0
- superbrowser_sdk-2.0.0/analysis/output/E2B-ANALYSIS.md +433 -0
- superbrowser_sdk-2.0.0/analysis/output/EVOSKILL-ANALYSIS.md +349 -0
- superbrowser_sdk-2.0.0/analysis/output/GO-INFRA-ASSESSMENT.md +74 -0
- superbrowser_sdk-2.0.0/analysis/output/GUARDRAILS-ANALYSIS.md +334 -0
- superbrowser_sdk-2.0.0/analysis/output/KHOJ-ANALYSIS.md +287 -0
- superbrowser_sdk-2.0.0/analysis/output/LETTA-ANALYSIS.md +265 -0
- superbrowser_sdk-2.0.0/analysis/output/MCP-AGENT-ANALYSIS.md +384 -0
- superbrowser_sdk-2.0.0/analysis/output/MCP-ZERO-ANALYSIS.md +78 -0
- superbrowser_sdk-2.0.0/analysis/output/MEM0-ANALYSIS.md +149 -0
- superbrowser_sdk-2.0.0/analysis/output/OPENFGA-ANALYSIS.md +582 -0
- superbrowser_sdk-2.0.0/analysis/output/SKYLL-ANALYSIS.md +176 -0
- superbrowser_sdk-2.0.0/analysis/output/TEMPORAL-ANALYSIS.md +493 -0
- superbrowser_sdk-2.0.0/analysis/output/TOOL-BENCHMARK-ASSESSMENT.md +66 -0
- superbrowser_sdk-2.0.0/benchmarks/fixtures/behavioral.html +35 -0
- superbrowser_sdk-2.0.0/benchmarks/fixtures/dom-heavy.html +20 -0
- superbrowser_sdk-2.0.0/benchmarks/fixtures/form.html +41 -0
- superbrowser_sdk-2.0.0/benchmarks/fixtures/simple.html +8 -0
- superbrowser_sdk-2.0.0/benchmarks/v1.11.0-baseline-patchright.json +182 -0
- superbrowser_sdk-2.0.0/benchmarks/v1.11.0-baseline-patchright.md +23 -0
- superbrowser_sdk-2.0.0/conftest.py +11 -0
- superbrowser_sdk-2.0.0/docker-compose.yml +18 -0
- superbrowser_sdk-2.0.0/docs/agent-reliability.md +176 -0
- superbrowser_sdk-2.0.0/docs/aiv/AIV_FRAMEWORK_v5.3.md +1859 -0
- superbrowser_sdk-2.0.0/docs/anti-detection-ejecta.md +121 -0
- superbrowser_sdk-2.0.0/docs/api-reference.md +1730 -0
- superbrowser_sdk-2.0.0/docs/api-stability.md +147 -0
- superbrowser_sdk-2.0.0/docs/architecture.md +471 -0
- superbrowser_sdk-2.0.0/docs/behavioral-synthesis.md +101 -0
- superbrowser_sdk-2.0.0/docs/browser-networking.md +63 -0
- superbrowser_sdk-2.0.0/docs/cloak-integration.md +191 -0
- superbrowser_sdk-2.0.0/docs/consistency-engine.md +74 -0
- superbrowser_sdk-2.0.0/docs/discovery/DISCOVERY-REPORT.md +251 -0
- superbrowser_sdk-2.0.0/docs/error-catalog.md +121 -0
- superbrowser_sdk-2.0.0/docs/fingerprint-scoring.md +262 -0
- superbrowser_sdk-2.0.0/docs/fingerprint-validation.md +69 -0
- superbrowser_sdk-2.0.0/docs/gap-analysis.md +581 -0
- superbrowser_sdk-2.0.0/docs/human-behavior.md +173 -0
- superbrowser_sdk-2.0.0/docs/memory.md +304 -0
- superbrowser_sdk-2.0.0/docs/migration/v1-to-v2.md +138 -0
- superbrowser_sdk-2.0.0/docs/migration/v1.8-to-v1.9.md +138 -0
- superbrowser_sdk-2.0.0/docs/operating-doctrine.md +181 -0
- superbrowser_sdk-2.0.0/docs/platform-abstraction.md +181 -0
- superbrowser_sdk-2.0.0/docs/plugins.md +220 -0
- superbrowser_sdk-2.0.0/docs/quickstart.md +402 -0
- superbrowser_sdk-2.0.0/docs/recording.md +285 -0
- superbrowser_sdk-2.0.0/docs/rfcs/README.md +10 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-decomposition.md +190 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-track-a-api-simplification.md +321 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-track-b-network-stealth.md +546 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-track-c-behavioral-realism.md +453 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-track-d-challenge-infrastructure.md +280 -0
- superbrowser_sdk-2.0.0/docs/rfcs/v2-track-e-e2e-harness.md +309 -0
- superbrowser_sdk-2.0.0/docs/stealth-coverage.md +173 -0
- superbrowser_sdk-2.0.0/examples/backend_selection.py +71 -0
- superbrowser_sdk-2.0.0/examples/basic_usage.py +149 -0
- superbrowser_sdk-2.0.0/examples/budget_tracking.py +216 -0
- superbrowser_sdk-2.0.0/examples/cloak_stealth.py +114 -0
- superbrowser_sdk-2.0.0/examples/error_handling.py +108 -0
- superbrowser_sdk-2.0.0/examples/fingerprint_scan.py +170 -0
- superbrowser_sdk-2.0.0/examples/human_behavior.py +130 -0
- superbrowser_sdk-2.0.0/examples/multi_tab_workflow.py +102 -0
- superbrowser_sdk-2.0.0/examples/session_persistence.py +81 -0
- superbrowser_sdk-2.0.0/examples/stealth_mode.py +235 -0
- superbrowser_sdk-2.0.0/labels/config.json +88 -0
- superbrowser_sdk-2.0.0/pyproject.toml +149 -0
- superbrowser_sdk-2.0.0/scripts/agent_efficiency_benchmark.py +325 -0
- superbrowser_sdk-2.0.0/scripts/browser_benchmark.py +555 -0
- superbrowser_sdk-2.0.0/scripts/run_stealth_gauntlet.sh +108 -0
- superbrowser_sdk-2.0.0/src/super_browser/__init__.py +17 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/__init__.py +37 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/config.py +18 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/debug.py +201 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/delegator.py +145 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/facade.py +1216 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/__init__.py +7 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/anthropic_client.py +326 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/browser_transport.py +352 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/budget_aware.py +195 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/factory.py +89 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/openai_client.py +409 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/llm/protocol.py +73 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/loop.py +647 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/loop_detector.py +75 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/plugins.py +38 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/registry.py +218 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/router.py +99 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/structured_logging.py +76 -0
- superbrowser_sdk-2.0.0/src/super_browser/agent/types.py +184 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/__init__.py +36 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/bezier.py +64 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/dwell.py +162 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/fitts.py +35 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/gauss.py +100 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/keyboard.py +183 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/mouse.py +198 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/navigation.py +144 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/orchestrator.py +221 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/prng.py +27 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/qwerty.py +163 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/scroll.py +113 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/session_seed.py +85 -0
- superbrowser_sdk-2.0.0/src/super_browser/behavioral/types.py +62 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/__init__.py +15 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/backends/__init__.py +43 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/backends/cdp_backend.py +613 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/backends/patchright_backend.py +351 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/backends/playwright_backend.py +368 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/backends/selenium_backend.py +567 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/cdp.py +241 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/cloak_backend.py +162 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/cloud.py +265 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/config.py +48 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/discovery.py +101 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/engine.py +326 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/fetch.py +384 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/injectors/__init__.py +46 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/injectors/bidi_injector.py +39 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/injectors/cdp_injector.py +83 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/injectors/page_injector.py +71 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/page.py +96 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/session.py +295 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/shutdown.py +75 -0
- superbrowser_sdk-2.0.0/src/super_browser/browser/tabs.py +140 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/__init__.py +40 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/cascade.py +142 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/client.py +132 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/compressor.py +218 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/cost_estimator.py +67 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/credential_pool.py +282 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/governor.py +279 -0
- superbrowser_sdk-2.0.0/src/super_browser/budget/types.py +227 -0
- superbrowser_sdk-2.0.0/src/super_browser/cli/__init__.py +214 -0
- superbrowser_sdk-2.0.0/src/super_browser/cli/commands.py +235 -0
- superbrowser_sdk-2.0.0/src/super_browser/cli/interactive.py +85 -0
- superbrowser_sdk-2.0.0/src/super_browser/cli/script.py +266 -0
- superbrowser_sdk-2.0.0/src/super_browser/cli.py +279 -0
- superbrowser_sdk-2.0.0/src/super_browser/config.py +479 -0
- superbrowser_sdk-2.0.0/src/super_browser/events/__init__.py +31 -0
- superbrowser_sdk-2.0.0/src/super_browser/events/bus.py +110 -0
- superbrowser_sdk-2.0.0/src/super_browser/events/types.py +42 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/__init__.py +32 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/cache.py +180 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/controller.py +648 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/decorator.py +41 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/presets.py +117 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/recovery.py +48 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/snapshot.py +153 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/types.py +135 -0
- superbrowser_sdk-2.0.0/src/super_browser/interaction/vision.py +56 -0
- superbrowser_sdk-2.0.0/src/super_browser/memory/__init__.py +6 -0
- superbrowser_sdk-2.0.0/src/super_browser/memory/integration.py +85 -0
- superbrowser_sdk-2.0.0/src/super_browser/memory/store.py +241 -0
- superbrowser_sdk-2.0.0/src/super_browser/memory/types.py +57 -0
- superbrowser_sdk-2.0.0/src/super_browser/plugins/__init__.py +10 -0
- superbrowser_sdk-2.0.0/src/super_browser/plugins/decorators.py +33 -0
- superbrowser_sdk-2.0.0/src/super_browser/plugins/hooks.py +28 -0
- superbrowser_sdk-2.0.0/src/super_browser/py.typed +0 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/__init__.py +19 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/persistence.py +49 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/recorder.py +189 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/replayer.py +218 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/report.py +123 -0
- superbrowser_sdk-2.0.0/src/super_browser/recording/types.py +124 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/__init__.py +67 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/checkpoint.py +317 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/classifier.py +235 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/coordinator.py +240 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/event_bus.py +67 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/format_validator.py +172 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/reflection.py +109 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/retry_tracker.py +81 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/session_recovery.py +248 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/types.py +178 -0
- superbrowser_sdk-2.0.0/src/super_browser/recovery/watchdogs.py +251 -0
- superbrowser_sdk-2.0.0/src/super_browser/results/__init__.py +54 -0
- superbrowser_sdk-2.0.0/src/super_browser/results/output.py +154 -0
- superbrowser_sdk-2.0.0/src/super_browser/results/typed.py +165 -0
- superbrowser_sdk-2.0.0/src/super_browser/results/types.py +361 -0
- superbrowser_sdk-2.0.0/src/super_browser/results/validation.py +126 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/__init__.py +75 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/action_redaction.py +127 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/approval.py +130 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/credential_vault.py +203 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/domain_filter.py +56 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/gate.py +114 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/injection.py +162 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/manager.py +185 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/policy.py +69 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/redactor.py +151 -0
- superbrowser_sdk-2.0.0/src/super_browser/security/types.py +215 -0
- superbrowser_sdk-2.0.0/src/super_browser/session/__init__.py +1 -0
- superbrowser_sdk-2.0.0/src/super_browser/session/proxy.py +153 -0
- superbrowser_sdk-2.0.0/src/super_browser/skills/__init__.py +31 -0
- superbrowser_sdk-2.0.0/src/super_browser/skills/activation.py +38 -0
- superbrowser_sdk-2.0.0/src/super_browser/skills/markdown.py +109 -0
- superbrowser_sdk-2.0.0/src/super_browser/skills/registry.py +335 -0
- superbrowser_sdk-2.0.0/src/super_browser/skills/types.py +123 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/__init__.py +94 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/action_policy.py +88 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/captcha.py +318 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/challenges/__init__.py +41 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/challenges/cache.py +293 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/challenges/pow.py +242 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/challenges/turnstile.py +259 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/__init__.py +28 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/dag.py +142 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/derive.py +282 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/errors.py +40 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/inject.py +429 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/inject_delivery.py +283 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/matrix.py +106 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/prng.py +115 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rule.py +64 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/__init__.py +40 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/audio.py +37 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/behavior.py +142 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/fonts.py +49 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/gpu.py +116 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/locale.py +66 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/navigator.py +70 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/screen.py +87 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/consistency/rules/user_agent.py +121 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/diagnostics.py +204 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/__init__.py +20 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/audio.py +182 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/browser_apis.py +225 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/canvas.py +210 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/config.py +48 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/registry.py +55 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/timing.py +159 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/types.py +30 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ejecta/webrtc.py +120 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/fingerprint_scanner.py +187 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/fingerprint_score.py +122 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/headers.py +115 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/human.py +419 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/human_config.py +158 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/ip_reputation.py +330 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/manager.py +463 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/__init__.py +145 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/data/linux-chrome-stable.json +98 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/data/macos-chrome-stable.json +130 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/data/macos-m4-chrome-stable.json +132 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/data/windows-chrome-stable.json +103 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/host_detect.py +32 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/profiles/schema.py +165 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/proxy.py +86 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/proxy_pool.py +490 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/report.py +111 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/scoring.py +54 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/tls_baselines.json +36 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/tls_fingerprint.py +494 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/types.py +179 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/user_agent_pool.py +148 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/validation/__init__.py +13 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/validation/checks.py +334 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/validation/harness.py +161 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/validation/report.py +31 -0
- superbrowser_sdk-2.0.0/src/super_browser/stealth/validation/suite.py +49 -0
- superbrowser_sdk-2.0.0/src/super_browser/testing.py +422 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/__init__.py +29 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/cost_analytics.py +49 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/flow_logger.py +283 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/middleware.py +42 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/session_db.py +243 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/sinks.py +166 -0
- superbrowser_sdk-2.0.0/src/super_browser/tracing/types.py +175 -0
- superbrowser_sdk-2.0.0/src/super_browser/verification/__init__.py +39 -0
- superbrowser_sdk-2.0.0/src/super_browser/verification/ax_diff.py +65 -0
- superbrowser_sdk-2.0.0/src/super_browser/verification/hasher.py +154 -0
- superbrowser_sdk-2.0.0/src/super_browser/verification/types.py +153 -0
- superbrowser_sdk-2.0.0/src/super_browser/verification/verifier.py +331 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/__init__.py +49 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/cache.py +178 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/controller.py +373 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/coords.py +57 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/factory.py +116 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/ocr.py +140 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/providers.py +348 -0
- superbrowser_sdk-2.0.0/src/super_browser/vision/types.py +110 -0
- superbrowser_sdk-2.0.0/tests/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/conftest.py +21 -0
- superbrowser_sdk-2.0.0/tests/discovery/__init__.py +1 -0
- superbrowser_sdk-2.0.0/tests/discovery/conftest.py +121 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_01_example_nav.py +65 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_02_google_search.py +95 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_03_github_login.py +81 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_04_amazon_search.py +117 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_05_google_forms.py +95 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_06_google_flights.py +113 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_07_wikipedia_extract.py +91 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_08_reddit_spa.py +92 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_09_form_complex.py +126 -0
- superbrowser_sdk-2.0.0/tests/discovery/test_task_10_signup_flow.py +125 -0
- superbrowser_sdk-2.0.0/tests/e2e/__init__.py +1 -0
- superbrowser_sdk-2.0.0/tests/e2e/conftest.py +267 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_behavioral_realism.py +127 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_challenge_detection.py +80 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_interaction.py +66 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_live_navigation.py +44 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_multi_tab.py +54 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_navigation.py +55 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_session_persistence.py +52 -0
- superbrowser_sdk-2.0.0/tests/e2e/test_stealth_overhead.py +51 -0
- superbrowser_sdk-2.0.0/tests/e2e_v1_3_journey.py +191 -0
- superbrowser_sdk-2.0.0/tests/integration/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/integration/conftest.py +224 -0
- superbrowser_sdk-2.0.0/tests/integration/test_config_composition.py +306 -0
- superbrowser_sdk-2.0.0/tests/integration/test_engine_backends.py +87 -0
- superbrowser_sdk-2.0.0/tests/integration/test_error_paths.py +357 -0
- superbrowser_sdk-2.0.0/tests/integration/test_facade_smoke.py +236 -0
- superbrowser_sdk-2.0.0/tests/integration/test_full_lifecycle.py +590 -0
- superbrowser_sdk-2.0.0/tests/integration/test_multi_backend.py +57 -0
- superbrowser_sdk-2.0.0/tests/integration/test_performance_smoke.py +261 -0
- superbrowser_sdk-2.0.0/tests/integration/test_playwright_integration.py +59 -0
- superbrowser_sdk-2.0.0/tests/integration/test_public_api.py +279 -0
- superbrowser_sdk-2.0.0/tests/integration/test_session_persistence.py +256 -0
- superbrowser_sdk-2.0.0/tests/integration/test_stealth_abstraction.py +72 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v1100_features.py +137 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v150_features.py +238 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v160_features.py +139 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v170_features.py +147 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v180_features.py +32 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v190_features.py +132 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v191_features.py +71 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v192_features.py +84 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v193_features.py +103 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v194_features.py +48 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v195_features.py +58 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v1_3_features.py +401 -0
- superbrowser_sdk-2.0.0/tests/integration/test_v1_4_features.py +491 -0
- superbrowser_sdk-2.0.0/tests/pattern_validation.py +720 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/conftest.py +46 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_chrome_runtime.py +49 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_cli_switches.py +47 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_headless_indicators.py +42 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_live_sites.py +233 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_runtime_enable.py +42 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_tls_fingerprint.py +37 -0
- superbrowser_sdk-2.0.0/tests/stealth_detection/test_webdriver.py +31 -0
- superbrowser_sdk-2.0.0/tests/test_agent/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_action_timeout.py +171 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_browser_transport.py +292 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_controller_rebinding.py +281 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_debug_mode.py +190 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_default_tooling.py +301 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_delegator.py +153 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_error_screenshots.py +123 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade.py +138 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade_security.py +336 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade_security_control.py +381 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade_security_file_tab.py +377 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade_security_network.py +246 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_facade_security_session.py +223 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_fail_fast.py +64 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_llm.py +227 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_llm_budget.py +421 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_llm_production.py +373 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_llm_streaming.py +376 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_loop.py +315 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_loop_detector.py +59 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_prompt_isolation.py +214 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_registry.py +224 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_retry_budget.py +159 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_streaming.py +246 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_structured_logging.py +136 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_tab_cap.py +219 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_task_02.py +182 -0
- superbrowser_sdk-2.0.0/tests/test_agent/test_types.py +79 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_behavioral.py +330 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_dwell.py +144 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_human_config_dwell.py +69 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_navigation.py +136 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_orchestrator.py +507 -0
- superbrowser_sdk-2.0.0/tests/test_behavioral/test_session_seed.py +120 -0
- superbrowser_sdk-2.0.0/tests/test_benchmark/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_benchmark/test_efficiency.py +215 -0
- superbrowser_sdk-2.0.0/tests/test_browser/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_cdp.py +92 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_cdp_backend.py +251 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_cloak_backend.py +230 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_cloak_docs.py +75 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_cloak_integration.py +196 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_config.py +42 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_discovery.py +52 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_engine_protocol.py +126 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_fetch.py +493 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_injectors.py +232 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_page.py +51 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_patchright_backend.py +227 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_playwright_backend.py +179 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_selenium_backend.py +264 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_session.py +82 -0
- superbrowser_sdk-2.0.0/tests/test_browser/test_shutdown.py +36 -0
- superbrowser_sdk-2.0.0/tests/test_budget/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_cascade.py +129 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_cascade_governor.py +189 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_circuit_breaker.py +90 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_client.py +146 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_compressor.py +145 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_cost_estimator.py +83 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_credential_pool.py +171 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_governor.py +194 -0
- superbrowser_sdk-2.0.0/tests/test_budget/test_types.py +196 -0
- superbrowser_sdk-2.0.0/tests/test_cli/test_interactive.py +307 -0
- superbrowser_sdk-2.0.0/tests/test_cli/test_script.py +335 -0
- superbrowser_sdk-2.0.0/tests/test_cli/test_stealth_check.py +161 -0
- superbrowser_sdk-2.0.0/tests/test_cli/test_stealth_validate.py +461 -0
- superbrowser_sdk-2.0.0/tests/test_config.py +285 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_audio.py +184 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_batch37_integration.py +72 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_batch38_integration.py +76 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_browser_apis.py +191 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_canvas.py +205 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_integration.py +75 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_timing.py +187 -0
- superbrowser_sdk-2.0.0/tests/test_ejecta/test_webrtc.py +129 -0
- superbrowser_sdk-2.0.0/tests/test_events/test_event_bus.py +177 -0
- superbrowser_sdk-2.0.0/tests/test_events/test_lifecycle_hooks.py +191 -0
- superbrowser_sdk-2.0.0/tests/test_governance_docs.py +77 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_cache.py +122 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_controller.py +342 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_decorator.py +66 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_injection.py +214 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_page_change.py +187 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_presets.py +105 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_recovery.py +221 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_snapshot.py +160 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_types.py +131 -0
- superbrowser_sdk-2.0.0/tests/test_interaction/test_vision.py +66 -0
- superbrowser_sdk-2.0.0/tests/test_memory/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_memory/test_cli_config.py +248 -0
- superbrowser_sdk-2.0.0/tests/test_memory/test_integration.py +294 -0
- superbrowser_sdk-2.0.0/tests/test_memory/test_store.py +271 -0
- superbrowser_sdk-2.0.0/tests/test_recording/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_recording/test_persistence.py +152 -0
- superbrowser_sdk-2.0.0/tests/test_recording/test_recorder.py +221 -0
- superbrowser_sdk-2.0.0/tests/test_recording/test_replayer.py +192 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_checkpoint.py +259 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_classifier.py +179 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_coordinator.py +154 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_event_bus.py +91 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_format_validator.py +114 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_reflection.py +95 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_retry_tracker.py +62 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_session_recovery.py +226 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_types.py +132 -0
- superbrowser_sdk-2.0.0/tests/test_recovery/test_watchdogs.py +163 -0
- superbrowser_sdk-2.0.0/tests/test_results/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_batch40_integration.py +133 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_categories.py +193 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_output.py +150 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_typed.py +87 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_types.py +134 -0
- superbrowser_sdk-2.0.0/tests/test_results/test_validation.py +68 -0
- superbrowser_sdk-2.0.0/tests/test_security/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_approval.py +130 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_credential_vault.py +134 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_domain_filter.py +81 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_injection.py +144 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_manager.py +205 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_policy.py +155 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_redaction_pipeline.py +159 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_redactor.py +182 -0
- superbrowser_sdk-2.0.0/tests/test_security/test_types.py +149 -0
- superbrowser_sdk-2.0.0/tests/test_session/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_session/test_proxy.py +114 -0
- superbrowser_sdk-2.0.0/tests/test_skills/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_skills/test_activation.py +94 -0
- superbrowser_sdk-2.0.0/tests/test_skills/test_integration.py +85 -0
- superbrowser_sdk-2.0.0/tests/test_skills/test_markdown.py +78 -0
- superbrowser_sdk-2.0.0/tests/test_skills/test_registry.py +431 -0
- superbrowser_sdk-2.0.0/tests/test_skills/test_types.py +166 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_action_policy.py +179 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_captcha.py +175 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_captcha_resolution.py +294 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_challenge_cache.py +355 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_challenge_config.py +82 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_consistency/test_consistency.py +454 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_consistency_inject.py +603 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_diagnostics.py +165 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_e2e_lifecycle.py +220 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_e2e_reporting.py +110 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_fingerprint_scanner.py +173 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_fingerprint_score.py +224 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_headers.py +98 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_human.py +171 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_human_behavior_v2.py +258 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_ip_reputation.py +360 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_kasada_detection.py +237 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_manager.py +404 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_network_stealth_config.py +92 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_profiles.py +348 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_proxy.py +143 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_proxy_pool.py +570 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_stealth_bridge.py +323 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_tls_fingerprint.py +412 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_turnstile_detection.py +249 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_types.py +175 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_user_agent_pool.py +114 -0
- superbrowser_sdk-2.0.0/tests/test_stealth/test_validation.py +299 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_cost_analytics.py +81 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_flow_logger.py +347 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_middleware.py +109 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_session_db.py +187 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_sinks.py +159 -0
- superbrowser_sdk-2.0.0/tests/test_tracing/test_types.py +200 -0
- superbrowser_sdk-2.0.0/tests/test_verification/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_verification/test_ax_diff.py +80 -0
- superbrowser_sdk-2.0.0/tests/test_verification/test_hasher.py +139 -0
- superbrowser_sdk-2.0.0/tests/test_verification/test_types.py +129 -0
- superbrowser_sdk-2.0.0/tests/test_verification/test_verifier.py +327 -0
- superbrowser_sdk-2.0.0/tests/test_vision/__init__.py +0 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_cache.py +155 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_controller.py +233 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_coords.py +62 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_factory.py +124 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_ocr.py +103 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_providers.py +147 -0
- superbrowser_sdk-2.0.0/tests/test_vision/test_types.py +125 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Super Browser Environment Variables
|
|
2
|
+
# Copy this file to .env and fill in your values.
|
|
3
|
+
# Config.from_env() reads these automatically.
|
|
4
|
+
|
|
5
|
+
# --- LLM Provider ---
|
|
6
|
+
# Required: Your AI provider API key
|
|
7
|
+
ANTHROPIC_API_KEY=
|
|
8
|
+
OPENAI_API_KEY=
|
|
9
|
+
|
|
10
|
+
# Optional: Override the default provider ("anthropic" or "openai")
|
|
11
|
+
LLM_PROVIDER=anthropic
|
|
12
|
+
|
|
13
|
+
# Optional: Override the default model
|
|
14
|
+
LLM_MODEL=claude-sonnet-4-20250514
|
|
15
|
+
|
|
16
|
+
# --- Budget ---
|
|
17
|
+
# Maximum daily spend in USD (default: 10.0)
|
|
18
|
+
BUDGET_DAILY_CAP_USD=10.0
|
|
19
|
+
|
|
20
|
+
# --- Browser ---
|
|
21
|
+
# Run browser in headless mode (default: true)
|
|
22
|
+
HEADLESS=true
|
|
23
|
+
|
|
24
|
+
# --- Debug ---
|
|
25
|
+
# Enable debug mode with screenshots and DOM snapshots
|
|
26
|
+
DEBUG=false
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
name: DCO
|
|
2
|
+
on:
|
|
3
|
+
pull_request:
|
|
4
|
+
types: [opened, synchronize, reopened]
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
check:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- name: Checkout Code
|
|
11
|
+
uses: actions/checkout@v4
|
|
12
|
+
with:
|
|
13
|
+
fetch-depth: 0
|
|
14
|
+
|
|
15
|
+
- name: Verify DCO Sign-off
|
|
16
|
+
run: |
|
|
17
|
+
BASE="${{ github.base_ref }}"
|
|
18
|
+
unsigned=""
|
|
19
|
+
count=0
|
|
20
|
+
|
|
21
|
+
while IFS= read -r commit; do
|
|
22
|
+
subject=$(git log -1 --format="%s" "$commit")
|
|
23
|
+
if ! git log -1 --format="%B" "$commit" | grep -qE "^Signed-off-by:"; then
|
|
24
|
+
unsigned="${unsigned} • ${subject}\n https://github.com/${{ github.repository }}/commit/${commit}\n\n"
|
|
25
|
+
count=$((count + 1))
|
|
26
|
+
fi
|
|
27
|
+
done < <(git log "origin/${BASE}..HEAD" --no-merges --format="%H")
|
|
28
|
+
|
|
29
|
+
if [ -n "$unsigned" ]; then
|
|
30
|
+
echo ""
|
|
31
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
32
|
+
echo "❌ DCO check failed: ${count} commit(s) missing Signed-off-by"
|
|
33
|
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
|
|
34
|
+
echo ""
|
|
35
|
+
echo "The following commits need a sign-off:"
|
|
36
|
+
echo ""
|
|
37
|
+
echo -e "$unsigned"
|
|
38
|
+
echo "How to fix:"
|
|
39
|
+
echo ""
|
|
40
|
+
echo " 1. Add your sign-off to the latest commit:"
|
|
41
|
+
echo " \$ git commit --amend --signoff"
|
|
42
|
+
echo ""
|
|
43
|
+
echo " 2. If you have multiple unsigned commits, sign all of them:"
|
|
44
|
+
echo " \$ git rebase --signoff origin/${BASE}"
|
|
45
|
+
echo ""
|
|
46
|
+
echo " 3. Force-push your branch:"
|
|
47
|
+
echo " \$ git push --force-with-lease"
|
|
48
|
+
echo ""
|
|
49
|
+
echo "What is DCO?"
|
|
50
|
+
echo " https://developercertificate.org/"
|
|
51
|
+
echo ""
|
|
52
|
+
echo "By signing off, you certify that you wrote or have the right"
|
|
53
|
+
echo "to submit the code under the project's license."
|
|
54
|
+
echo ""
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
|
|
58
|
+
echo "✅ All commits have proper DCO sign-off"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: Publish to PyPI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
build-and-publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
environment: pypi
|
|
12
|
+
permissions:
|
|
13
|
+
id-token: write # Trusted publisher
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
- uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.12"
|
|
20
|
+
|
|
21
|
+
- name: Install build tools
|
|
22
|
+
run: pip install build twine
|
|
23
|
+
|
|
24
|
+
- name: Build package
|
|
25
|
+
run: python -m build
|
|
26
|
+
|
|
27
|
+
- name: Verify package
|
|
28
|
+
run: twine check dist/*
|
|
29
|
+
|
|
30
|
+
- name: Publish to PyPI
|
|
31
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
32
|
+
# Uses trusted publisher (no API token needed)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
lint:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-python@v5
|
|
15
|
+
with:
|
|
16
|
+
python-version: "3.12"
|
|
17
|
+
- run: pip install ruff
|
|
18
|
+
- run: ruff check src/ tests/
|
|
19
|
+
|
|
20
|
+
mypy-check:
|
|
21
|
+
needs: lint
|
|
22
|
+
runs-on: ubuntu-latest
|
|
23
|
+
steps:
|
|
24
|
+
- uses: actions/checkout@v4
|
|
25
|
+
- uses: actions/setup-python@v5
|
|
26
|
+
with:
|
|
27
|
+
python-version: "3.12"
|
|
28
|
+
- name: Install package with dev deps
|
|
29
|
+
run: pip install -e ".[dev,all]"
|
|
30
|
+
- name: Type-check protocols and backends
|
|
31
|
+
run: >
|
|
32
|
+
python -m mypy
|
|
33
|
+
src/super_browser/browser/engine.py
|
|
34
|
+
src/super_browser/browser/backends/
|
|
35
|
+
--ignore-missing-imports
|
|
36
|
+
|
|
37
|
+
test:
|
|
38
|
+
needs: [lint, mypy-check]
|
|
39
|
+
strategy:
|
|
40
|
+
fail-fast: false
|
|
41
|
+
matrix:
|
|
42
|
+
os: [windows-latest, macos-latest, ubuntu-latest]
|
|
43
|
+
python-version: ["3.11", "3.12"]
|
|
44
|
+
runs-on: ${{ matrix.os }}
|
|
45
|
+
steps:
|
|
46
|
+
- uses: actions/checkout@v4
|
|
47
|
+
- uses: actions/setup-python@v5
|
|
48
|
+
with:
|
|
49
|
+
python-version: ${{ matrix.python-version }}
|
|
50
|
+
|
|
51
|
+
- name: Install package with dev deps
|
|
52
|
+
run: pip install -e ".[dev,all]"
|
|
53
|
+
|
|
54
|
+
- name: Install Patchright browser
|
|
55
|
+
run: python -m patchright install chromium
|
|
56
|
+
|
|
57
|
+
- name: Run tests
|
|
58
|
+
run: >
|
|
59
|
+
python -m pytest tests/
|
|
60
|
+
-p no:benchmark
|
|
61
|
+
-m "not flaky"
|
|
62
|
+
--ignore=tests/e2e_full_journey.py
|
|
63
|
+
--ignore=tests/e2e_advanced.py
|
|
64
|
+
--ignore=tests/e2e_quickstart.py
|
|
65
|
+
--ignore=tests/e2e_edge_cases.py
|
|
66
|
+
--ignore=tests/e2e/
|
|
67
|
+
--ignore=tests/pattern_validation.py
|
|
68
|
+
--ignore=tests/stealth_detection/
|
|
69
|
+
--ignore=tests/discovery/
|
|
70
|
+
-q
|
|
71
|
+
env:
|
|
72
|
+
PYTHONIOENCODING: utf-8
|
|
73
|
+
|
|
74
|
+
- name: Upload coverage
|
|
75
|
+
if: matrix.python-version == '3.12' && matrix.os == 'ubuntu-latest'
|
|
76
|
+
uses: actions/upload-artifact@v4
|
|
77
|
+
with:
|
|
78
|
+
name: coverage-report
|
|
79
|
+
path: .coverage
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Python bytecode
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.pyc
|
|
4
|
+
*.pyo
|
|
5
|
+
*.py[cod]
|
|
6
|
+
|
|
7
|
+
# Test / type caches
|
|
8
|
+
.pytest_cache/
|
|
9
|
+
.mypy_cache/
|
|
10
|
+
.benchmarks/
|
|
11
|
+
.coverage
|
|
12
|
+
htmlcov/
|
|
13
|
+
|
|
14
|
+
# Build artifacts
|
|
15
|
+
dist/
|
|
16
|
+
build/
|
|
17
|
+
*.egg-info/
|
|
18
|
+
*.egg
|
|
19
|
+
|
|
20
|
+
# Virtual environments
|
|
21
|
+
.venv/
|
|
22
|
+
venv/
|
|
23
|
+
|
|
24
|
+
# Environment / secrets
|
|
25
|
+
.env
|
|
26
|
+
*.env.local
|
|
27
|
+
|
|
28
|
+
# IDE
|
|
29
|
+
.vscode/
|
|
30
|
+
.idea/
|
|
31
|
+
.claude-plugin/
|
|
32
|
+
statuses/
|
|
33
|
+
|
|
34
|
+
# Logs
|
|
35
|
+
*.log
|
|
36
|
+
|
|
37
|
+
# AIV working documents (per-Batch docs)
|
|
38
|
+
docs/aiv/
|
|
39
|
+
!docs/aiv/AIV_FRAMEWORK_v5.3.md
|
|
40
|
+
|
|
41
|
+
# Session data
|
|
42
|
+
sessions/
|
|
43
|
+
views.json
|
|
44
|
+
/config.json
|
|
45
|
+
=10.0
|
|
46
|
+
Analysis-Framework/
|
|
47
|
+
*.png
|
|
48
|
+
!Super-Browser.png
|
|
49
|
+
|
|
50
|
+
# Lock files
|
|
51
|
+
uv.lock
|
|
52
|
+
|
|
53
|
+
# OS
|
|
54
|
+
.DS_Store
|
|
55
|
+
Thumbs.db
|
|
56
|
+
|
|
57
|
+
# Spill directory
|
|
58
|
+
~/.super-browser/spill/
|
|
59
|
+
*/__pycache__/
|
|
60
|
+
NUL
|
|
61
|
+
sessions/
|
|
62
|
+
sources/
|
|
63
|
+
events.jsonl
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
3
|
+
rev: v0.4.10
|
|
4
|
+
hooks:
|
|
5
|
+
- id: ruff
|
|
6
|
+
args: [--fix]
|
|
7
|
+
- id: ruff-format
|
|
8
|
+
|
|
9
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
10
|
+
rev: v1.10.0
|
|
11
|
+
hooks:
|
|
12
|
+
- id: mypy
|
|
13
|
+
args: [--ignore-missing-imports]
|
|
14
|
+
additional_dependencies: []
|