healix 1.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.
- healix-1.0.0/.env.example +9 -0
- healix-1.0.0/.gitignore +16 -0
- healix-1.0.0/ARCHITECTURE.md +957 -0
- healix-1.0.0/CHANGELOG.md +291 -0
- healix-1.0.0/CODE_OF_CONDUCT.md +69 -0
- healix-1.0.0/CONTRIBUTING.md +113 -0
- healix-1.0.0/LICENSE +21 -0
- healix-1.0.0/PKG-INFO +1414 -0
- healix-1.0.0/README.md +1356 -0
- healix-1.0.0/healix/__init__.py +37 -0
- healix-1.0.0/healix/__main__.py +5 -0
- healix-1.0.0/healix/auth/__init__.py +39 -0
- healix-1.0.0/healix/auth/forms.py +179 -0
- healix-1.0.0/healix/auth/login_handler.py +402 -0
- healix-1.0.0/healix/classification/__init__.py +19 -0
- healix-1.0.0/healix/classification/rules.py +714 -0
- healix-1.0.0/healix/cli.py +270 -0
- healix-1.0.0/healix/config.py +167 -0
- healix-1.0.0/healix/discovery/__init__.py +0 -0
- healix-1.0.0/healix/discovery/crawler.py +437 -0
- healix-1.0.0/healix/discovery/manifest.py +324 -0
- healix-1.0.0/healix/doctor.py +174 -0
- healix-1.0.0/healix/driver/__init__.py +24 -0
- healix-1.0.0/healix/driver/base.py +161 -0
- healix-1.0.0/healix/driver/diagnose.py +25 -0
- healix-1.0.0/healix/driver/factory.py +72 -0
- healix-1.0.0/healix/driver/frames.py +484 -0
- healix-1.0.0/healix/driver/playwright_adapter.py +267 -0
- healix-1.0.0/healix/driver/selenium_adapter.py +467 -0
- healix-1.0.0/healix/events/__init__.py +38 -0
- healix-1.0.0/healix/events/emitter.py +55 -0
- healix-1.0.0/healix/events/schema.py +104 -0
- healix-1.0.0/healix/events/webhook.py +173 -0
- healix-1.0.0/healix/extraction/__init__.py +19 -0
- healix-1.0.0/healix/extraction/element_extractor.py +447 -0
- healix-1.0.0/healix/fs.py +42 -0
- healix-1.0.0/healix/generation/__init__.py +11 -0
- healix-1.0.0/healix/generation/script_writer.py +585 -0
- healix-1.0.0/healix/generation/templates/_imports.j2 +24 -0
- healix-1.0.0/healix/generation/templates/_session.j2 +25 -0
- healix-1.0.0/healix/generation/templates/action.j2 +44 -0
- healix-1.0.0/healix/generation/templates/pom.j2 +50 -0
- healix-1.0.0/healix/generation/templates/test.j2 +39 -0
- healix-1.0.0/healix/healer.py +248 -0
- healix-1.0.0/healix/healing/__init__.py +143 -0
- healix-1.0.0/healix/healing/baseline.py +63 -0
- healix-1.0.0/healix/healing/fingerprint.py +138 -0
- healix-1.0.0/healix/healing/history.py +154 -0
- healix-1.0.0/healix/healing/postgres_store.py +269 -0
- healix-1.0.0/healix/healing/resolver.py +311 -0
- healix-1.0.0/healix/healing/roles.py +138 -0
- healix-1.0.0/healix/healing/scorer.py +314 -0
- healix-1.0.0/healix/healing/store.py +324 -0
- healix-1.0.0/healix/ids.py +40 -0
- healix-1.0.0/healix/log.py +91 -0
- healix-1.0.0/healix/platform_adapters/__init__.py +27 -0
- healix-1.0.0/healix/platform_adapters/base.py +26 -0
- healix-1.0.0/healix/platform_adapters/salesforce_lwc.py +41 -0
- healix-1.0.0/healix/platform_adapters/sap_ui5.py +45 -0
- healix-1.0.0/healix/py.typed +0 -0
- healix-1.0.0/healix/sdk.py +418 -0
- healix-1.0.0/healix/timeutil.py +14 -0
- healix-1.0.0/pyproject.toml +131 -0
- healix-1.0.0/tests/__init__.py +0 -0
- healix-1.0.0/tests/auth/__init__.py +0 -0
- healix-1.0.0/tests/auth/screens.py +81 -0
- healix-1.0.0/tests/auth/test_forms.py +196 -0
- healix-1.0.0/tests/auth/test_login_handler.py +419 -0
- healix-1.0.0/tests/classification/__init__.py +0 -0
- healix-1.0.0/tests/classification/test_rules.py +388 -0
- healix-1.0.0/tests/classification/test_rules_integration.py +46 -0
- healix-1.0.0/tests/conftest.py +261 -0
- healix-1.0.0/tests/discovery/__init__.py +0 -0
- healix-1.0.0/tests/discovery/test_crawler.py +395 -0
- healix-1.0.0/tests/discovery/test_crawler_integration.py +52 -0
- healix-1.0.0/tests/discovery/test_manifest.py +182 -0
- healix-1.0.0/tests/driver/__init__.py +0 -0
- healix-1.0.0/tests/driver/backends.py +47 -0
- healix-1.0.0/tests/driver/dynamic_site.py +68 -0
- healix-1.0.0/tests/driver/test_backend_parity.py +126 -0
- healix-1.0.0/tests/driver/test_driver_contract.py +173 -0
- healix-1.0.0/tests/driver/test_frames.py +80 -0
- healix-1.0.0/tests/driver/test_selenium_adapter.py +109 -0
- healix-1.0.0/tests/driver/test_waiting.py +62 -0
- healix-1.0.0/tests/elements.py +62 -0
- healix-1.0.0/tests/events/__init__.py +0 -0
- healix-1.0.0/tests/events/test_emitter.py +69 -0
- healix-1.0.0/tests/events/test_schema.py +138 -0
- healix-1.0.0/tests/events/test_webhook.py +141 -0
- healix-1.0.0/tests/extraction/__init__.py +0 -0
- healix-1.0.0/tests/extraction/test_element_extractor.py +377 -0
- healix-1.0.0/tests/extraction/test_element_extractor_integration.py +131 -0
- healix-1.0.0/tests/extraction/test_fingerprint_recording.py +125 -0
- healix-1.0.0/tests/fakes.py +93 -0
- healix-1.0.0/tests/fixtures/classify/case_checkout.html +10 -0
- healix-1.0.0/tests/fixtures/classify/case_cookie_banner_article.html +4 -0
- healix-1.0.0/tests/fixtures/classify/case_dashboard.html +9 -0
- healix-1.0.0/tests/fixtures/classify/case_form_contact.html +11 -0
- healix-1.0.0/tests/fixtures/classify/case_list_cards.html +4 -0
- healix-1.0.0/tests/fixtures/classify/case_list_table.html +5 -0
- healix-1.0.0/tests/fixtures/classify/case_login_basic.html +10 -0
- healix-1.0.0/tests/fixtures/classify/case_login_no_cues.html +7 -0
- healix-1.0.0/tests/fixtures/classify/case_minimal.html +3 -0
- healix-1.0.0/tests/fixtures/classify/case_modal_over_page.html +9 -0
- healix-1.0.0/tests/fixtures/classify/case_modal_standalone.html +5 -0
- healix-1.0.0/tests/fixtures/classify/case_nav_shell.html +3 -0
- healix-1.0.0/tests/fixtures/classify/case_prefilled_password.html +8 -0
- healix-1.0.0/tests/fixtures/classify/case_search.html +5 -0
- healix-1.0.0/tests/fixtures/classify/case_signup.html +11 -0
- healix-1.0.0/tests/fixtures/classify/oauth/authorize.html +6 -0
- healix-1.0.0/tests/fixtures/classify/products/123.html +6 -0
- healix-1.0.0/tests/fixtures/site/foreign.html +2 -0
- healix-1.0.0/tests/fixtures/site/form.html +9 -0
- healix-1.0.0/tests/fixtures/site/index.html +33 -0
- healix-1.0.0/tests/fixtures/site/panel.html +7 -0
- healix-1.0.0/tests/fixtures/site/parity.html +32 -0
- healix-1.0.0/tests/generation/__init__.py +0 -0
- healix-1.0.0/tests/generation/pages.py +69 -0
- healix-1.0.0/tests/generation/test_generated_scripts_run.py +134 -0
- healix-1.0.0/tests/generation/test_script_writer.py +392 -0
- healix-1.0.0/tests/healing/__init__.py +0 -0
- healix-1.0.0/tests/healing/pages.py +156 -0
- healix-1.0.0/tests/healing/site.py +152 -0
- healix-1.0.0/tests/healing/test_baseline.py +71 -0
- healix-1.0.0/tests/healing/test_fingerprint.py +112 -0
- healix-1.0.0/tests/healing/test_healing_integration.py +287 -0
- healix-1.0.0/tests/healing/test_history.py +121 -0
- healix-1.0.0/tests/healing/test_resolver.py +401 -0
- healix-1.0.0/tests/healing/test_roles.py +100 -0
- healix-1.0.0/tests/healing/test_scorer.py +260 -0
- healix-1.0.0/tests/healing/test_store.py +398 -0
- healix-1.0.0/tests/loginsite.py +369 -0
- healix-1.0.0/tests/platform_adapters/__init__.py +0 -0
- healix-1.0.0/tests/platform_adapters/pages.py +62 -0
- healix-1.0.0/tests/platform_adapters/test_platform_adapters.py +185 -0
- healix-1.0.0/tests/platform_adapters/test_platform_detection.py +116 -0
- healix-1.0.0/tests/test_architecture.py +76 -0
- healix-1.0.0/tests/test_backend_pipeline.py +70 -0
- healix-1.0.0/tests/test_cli.py +298 -0
- healix-1.0.0/tests/test_cli_generate.py +155 -0
- healix-1.0.0/tests/test_config.py +154 -0
- healix-1.0.0/tests/test_doctor.py +147 -0
- healix-1.0.0/tests/test_healer.py +235 -0
- healix-1.0.0/tests/test_ids.py +29 -0
- healix-1.0.0/tests/test_log.py +86 -0
- healix-1.0.0/tests/test_login_integration.py +327 -0
- healix-1.0.0/tests/test_sdk.py +323 -0
- healix-1.0.0/tests/test_sdk_cli_integration.py +163 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Copy to .env (git-ignored) and fill in. Never commit real values.
|
|
2
|
+
# The healix CLI loads this file from the current directory (via python-dotenv).
|
|
3
|
+
WEBLIB_LOGIN_USERNAME=
|
|
4
|
+
WEBLIB_LOGIN_PASSWORD=
|
|
5
|
+
# A page classified as a login page is filled in with these; leave them empty to run
|
|
6
|
+
# without logging in (the run is then flagged "blocked on auth" if a login page is reached).
|
|
7
|
+
|
|
8
|
+
# Optional: sign webhook deliveries (HMAC-SHA256 of the body in X-Healix-Signature).
|
|
9
|
+
HEALIX_WEBHOOK_SECRET=
|