Component Diagrams
Details
Static architecture map of 199 files (js, py, sh) in 12 components: estorides_core: estorides_web, estorides_core: graph_bundle, estorides_core: hypothesis_engine, estorides_core: estorides, estorides_core: config, estorides_core: people_intel, estorides_core: manager, estorides_core: system_app_sources. Structure is extracted statically without LLM calls; component prose may be enriched locally.
Relations
- estorides_core: estorides_web calls into estorides_core: entity_resolution — 4 imports, 12 calls across the boundary
estorides_web.py::api_run@376 → estorides_core/validation.py::validate_query·estorides_web.py::api_lan_scan@469 → estorides_core/entity_extraction.py::to_dict·estorides_web.py::api_feeds@610 → estorides_core/entity_extraction.py::to_dict - estorides_core: estorides_web calls into estorides_export — 4 imports, 16 calls across the boundary
estorides_web.py::_graph_rag_block@250 → estorides_core/knowledge_graph.py::KnowledgeGraph·estorides_web.py::_graph_rag_block@252 → estorides_core/knowledge_graph.py::communities·estorides_web.py::api_status@353 → estorides_core/knowledge_graph.py::summary - estorides_core: estorides_web depends on estorides_core: graph_bundle — 5 imports, 4 calls across the boundary
estorides_web.py::api_graph@550 → estorides_core/graph_force.py::build_force_payload·estorides_web.py::api_graph@551 → estorides_core/graph_force.py::force_settings·estorides_web.py::api_graph@562 → estorides_core/graph_bundle.py::build_bundle_payload - estorides_core: estorides_web calls into estorides_core: hypothesis_engine — 2 imports, 11 calls across the boundary
estorides_web.py::create_app@691 → estorides_core/fusion_analytics.py::FusionAnalytics·estorides_web.py::api_fusion_sources@892 → estorides_core/fusion_store.py::list_sources·estorides_web.py::api_fusion_entities@910 → estorides_core/fusion_store.py::search_entities - estorides_core: estorides_web calls into estorides_core: estorides — 6 imports, 43 calls across the boundary
estorides_web.py::api_cases_list@704 → estorides_core/cases.py::search_cases·estorides_web.py::api_cases_list@705 → estorides_core/cases.py::stats·estorides_web.py::api_cases_get@713 → estorides_core/cases.py::get_case - estorides_core: estorides_web calls into estorides_core: config — 8 imports, 174 calls across the boundary
estorides_core/ops_observability.py::_clean_label@45 → estorides_core/transforms.py::sub·estorides_web.py::_client_ip@111 → estorides_core/intel_resolver.py::get·estorides_web.py::_client_ip@112 → estorides_core/intel_resolver.py::get - estorides_core: estorides_web calls into estorides_core: manager — 7 imports, 26 calls across the boundary
estorides_core/audit.py::reset@243 → estorides_core/job_registry.py::pop·estorides_core/graph_rag_search.py::_stochastic@167 → estorides_core/job_registry.py::values·estorides_core/graph_rag_search.py::build_index@437 → estorides_core/job_registry.py::values - estorides_core: estorides_web calls into estorides_core: system_app_sources — 1 imports, 9 calls across the boundary
estorides_web.py::api_lan_scan@441 → estorides_core/lan_runner.py::scan·estorides_web_tools.py::api_tools_list@50 → estorides_core/tool_install.py::list_recipes·estorides_web_tools.py::api_tools_list@57 → estorides_core/tool_install.py::tool_available - estorides_core: estorides_web calls into estorides_core: parsers — 2 imports, 12 calls across the boundary
estorides_core/web_security.py::load_security_config@158 → estorides_core/feeds.py::_env_int·estorides_web.py::api_feeds@607 → estorides_core/feeds.py::fetch_all·estorides_web.py::api_feeds@612 → estorides_core/feeds.py::list_feeds - estorides_core: entity_resolution calls into estorides_core: hypothesis_engine — 1 imports, 1 calls across the boundary
estorides_core/entity_resolution.py::canonical_id@254 → estorides_core/ids.py::stable_id - estorides_core: entity_resolution calls into estorides_core: estorides — 1 imports, 2 calls across the boundary
estorides_core/entity_resolution.py::blocking_keys@276 → estorides_core/scope.py::partition·estorides_core/entity_store.py::upsert@114 → estorides_core/sqlite_store.py::_tx - estorides_core: entity_resolution calls into estorides_core: config — 4 imports, 7 calls across the boundary
estorides_core/entity_extraction.py::_looks_like_phone@53 → estorides_core/transforms.py::sub·estorides_core/entity_resolution.py::_normalize_domain@180 → estorides_core/transforms.py::sub·estorides_core/entity_resolution.py::_normalize_name@197 → estorides_core/transforms.py::sub - estorides_core: entity_resolution calls into estorides_core: manager — 2 imports, 6 calls across the boundary
estorides_core/entity_extraction.py::extract_from_text@166 → estorides_core/job_registry.py::keys·estorides_core/entity_extraction.py::merge@448 → estorides_core/job_registry.py::values·estorides_core/entity_extraction.py::merge@459 → estorides_core/job_registry.py::values - estorides_core: entity_resolution calls into estorides_core: system_app_sources — 1 imports, 22 calls across the boundary
estorides_core/entity_store.py::lookup@88 → estorides_core/system_app_sources.py::execute·estorides_core/entity_store.py::lookup@95 → estorides_core/system_app_sources.py::execute·estorides_core/entity_store.py::upsert@115 → estorides_core/system_app_sources.py::execute - estorides_core: entity_resolution calls into estorides_core: parsers — 0 imports, 2 calls across the boundary
tests/test_source_routing.py::_names@17 → estorides_core/source_loader.py::SourceRegistry·tests/test_source_routing.py::_names@18 → estorides_core/source_loader.py::load - estorides_export calls into estorides_core: estorides_web — 0 imports, 1 calls across the boundary
estorides_core/knowledge_graph.py::top_entities@266 → estorides_core/graph_rag_search.py::pagerank - estorides_export depends on estorides_core: entity_resolution — 2 imports, 1 calls across the boundary
tests/test_encrypted_export.py::_kg_with_one_node@29 → estorides_core/entity_extraction.py::Entity - estorides_export depends on estorides_core: estorides — 1 imports, 0 calls across the boundary
- estorides_export depends on estorides_core: config — 3 imports, 1 calls across the boundary
estorides_export/recon_report.py::redact_sensitive@63 → estorides_core/transforms.py::sub - estorides_export calls into estorides_core: manager — 0 imports, 1 calls across the boundary
estorides_core/knowledge_graph.py::ego_subgraph@360 → estorides_core/job_registry.py::keys - estorides_core: source_health_monitoring calls into estorides_core: estorides — 0 imports, 1 calls across the boundary
tests/properties/test_source_health_monitoring_properties.py@38 → static/js/estorides.js::text - estorides_core: source_health_monitoring calls into estorides_core: parsers — 0 imports, 7 calls across the boundary
estorides_core/source_health_monitoring.py@86 → estorides_core/feeds.py::_env_int·estorides_core/source_health_monitoring.py@87 → estorides_core/feeds.py::_env_float·estorides_core/source_health_monitoring.py@88 → estorides_core/feeds.py::_env_float - estorides_core: graph_bundle calls into estorides_core: estorides_web — 0 imports, 16 calls across the boundary
tests/test_lan_web.py::test_s1_passive_permitted@7 → estorides_core/lan_web.py::guard·tests/test_lan_web.py::test_s2_active_permitted@14 → estorides_core/lan_web.py::guard·tests/test_lan_web.py::test_s3_checkbox_without_ceiling_degrades@23 → estorides_core/lan_web.py::guard - estorides_core: graph_bundle calls into estorides_core: estorides — 0 imports, 16 calls across the boundary
tests/properties/test_aerospace_properties.py@21 → static/js/estorides.js::text·tests/properties/test_aerospace_properties.py@28 → static/js/estorides.js::text·tests/properties/test_aerospace_properties.py@36 → static/js/estorides.js::text - estorides_core: graph_bundle calls into estorides_core: config — 3 imports, 17 calls across the boundary
estorides_core/lan_inventory.py::normalize_mac@71 → estorides_core/transforms.py::sub·tests/test_lan_bundle.py::test_s1_bundle_graph_and_lazyown@29 → estorides_core/lan_bundle.py::build_bundle·tests/test_lan_bundle.py::test_s2_empty@38 → estorides_core/lan_bundle.py::build_bundle - estorides_core: graph_bundle calls into estorides_core: manager — 0 imports, 9 calls across the boundary
estorides_core/graph_bundle.py::build_bundle_payload@481 → estorides_core/job_registry.py::keys·estorides_core/graph_force.py::build_force_payload@228 → estorides_core/job_registry.py::values·estorides_core/graph_force.py::build_force_payload@321 → estorides_core/job_registry.py::values - estorides_core: graph_bundle calls into estorides_core: parsers — 0 imports, 104 calls across the boundary
tests/properties/test_aerospace_properties.py::test_normalisers_never_raise@50 → estorides_core/aerospace.py::normalize_opensky_states·tests/properties/test_aerospace_properties.py::test_normalisers_never_raise@51 → estorides_core/aerospace.py::normalize_adsblol_aircraft·tests/properties/test_aerospace_properties.py::test_normalisers_never_raise@52 → estorides_core/aerospace.py::normalize_launch_library - estorides_core: hypothesis_engine calls into estorides_core: estorides_web — 1 imports, 3 calls across the boundary
estorides_core/hypothesis_engine.py::generate_hypotheses@658 → estorides_web.py::gen·tests/test_ui_professional.py::_render_index@35 → estorides_core/search_telemetry.py::SearchTelemetry·tests/test_ui_professional.py::_render_index@35 → estorides_core/search_telemetry.py::context - estorides_core: hypothesis_engine depends on estorides_core: entity_resolution — 1 imports, 0 calls across the boundary
- estorides_core: hypothesis_engine calls into estorides_core: estorides — 1 imports, 17 calls across the boundary
estorides_core/fusion_store.py::register_sources@246 → estorides_core/sqlite_store.py::_tx·estorides_core/fusion_store.py::add_observation@275 → estorides_core/sqlite_store.py::_tx·estorides_core/fusion_store.py::fuse_entity@338 → estorides_core/sqlite_store.py::_tx - estorides_core: hypothesis_engine depends on estorides_core: config — 4 imports, 1 calls across the boundary
tests/test_recon_fusion.py::test_bad_thresholds_raise@162 → estorides_core/config.py::ReconFusionConfig - estorides_core: hypothesis_engine calls into estorides_core: manager — 0 imports, 19 calls across the boundary
estorides_core/change_detection.py::_property_diff@211 → estorides_core/job_registry.py::keys·estorides_core/change_detection.py::_property_diff@212 → estorides_core/job_registry.py::keys·estorides_core/change_detection.py::detect_changes@344 → estorides_core/job_registry.py::keys - estorides_core: hypothesis_engine calls into estorides_core: system_app_sources — 0 imports, 57 calls across the boundary
estorides_core/fusion_analytics.py::entity_timeline@51 → estorides_core/system_app_sources.py::execute·estorides_core/fusion_analytics.py::entity_timeline@61 → estorides_core/system_app_sources.py::execute·estorides_core/fusion_analytics.py::entity_timeline@69 → estorides_core/system_app_sources.py::execute - estorides_core: estorides calls into estorides_core: estorides_web — 3 imports, 15 calls across the boundary
estorides_cli.py::cmd_serve@697 → estorides_web.py::create_app·tests/test_hardening.py::_secured_app@26 → estorides_core/web_security.py::WebSecurityConfig·tests/test_hardening.py::_secured_app@26 → estorides_core/web_security.py::install_security - estorides_core: estorides calls into estorides_core: entity_resolution — 3 imports, 6 calls across the boundary
estorides_cli.py::cmd_discover@106 → estorides_core/entity_extraction.py::detect_query_type·estorides_cli.py::cmd_run@209 → estorides_core/validation.py::validate_query·estorides_cli.py::cmd_scope@318 → estorides_core/entity_extraction.py::to_dict - estorides_core: estorides calls into estorides_export — 2 imports, 7 calls across the boundary
estorides_cli.py::cmd_graph_export@329 → estorides_core/knowledge_graph.py::KnowledgeGraph·estorides_cli.py::cmd_graph_export@340 → estorides_core/knowledge_graph.py::export_graphml·estorides_cli.py::cmd_graph_export@343 → estorides_core/knowledge_graph.py::export_json - estorides_core: estorides depends on estorides_core: graph_bundle — 4 imports, 0 calls across the boundary
- estorides_core: estorides calls into estorides_core: hypothesis_engine — 1 imports, 5 calls across the boundary
estorides_cli.py::cmd_fusion@463 → estorides_core/fusion_store.py::open_store·estorides_cli.py::cmd_fusion@471 → estorides_core/fusion_store.py::list_sources·estorides_cli.py::cmd_fusion@473 → estorides_core/fusion_store.py::search_entities - estorides_core: estorides depends on estorides_core: config — 7 imports, 6 calls across the boundary
estorides_core/alerter.py::_http_post@88 → estorides_core/ssrf_guard.py::check_url·static/js/estorides.js::caseActionReport@3012 → estorides_core/ontology.py::entries·tests/test_security_remediation.py::test_dns_failure_log_omits_hostname@34 → estorides_core/ssrf_guard.py::_resolve - estorides_core: estorides calls into estorides_core: manager — 3 imports, 23 calls across the boundary
estorides_cli.py::cmd_discover@117 → estorides_core/discoverer.py::start_discover·estorides_cli.py::cmd_discover@196 → estorides_core/job_registry.py::values·estorides_cli.py::cmd_run@215 → estorides_core/orchestrator.py::Orchestrator - estorides_core: estorides calls into estorides_core: system_app_sources — 0 imports, 41 calls across the boundary
estorides_core/cases.py::_init_schema@142 → estorides_core/system_app_sources.py::execute·estorides_core/cases.py::search_observations_fts@158 → estorides_core/system_app_sources.py::execute·estorides_core/cases.py::create_case@182 → estorides_core/system_app_sources.py::execute - estorides_core: estorides calls into estorides_core: parsers — 1 imports, 35 calls across the boundary
static/js/estorides.js::requestToolInstall@284 → tests/test_aerospace.py::json·static/js/estorides.js::pollToolInstall@294 → tests/test_aerospace.py::json·static/js/estorides.js::loadAeroFeeds@621 → tests/test_aerospace.py::json - estorides_core: config calls into estorides_core: entity_resolution — 1 imports, 1 calls across the boundary
tests/test_structured_extraction.py::_types@34 → estorides_core/entity_extraction.py::extract_structured - estorides_core: config calls into estorides_core: estorides — 0 imports, 20 calls across the boundary
estorides_core/async_client.py::_redact_proxy@58 → estorides_core/scope.py::partition·estorides_core/async_client.py::fetch@345 → static/js/estorides.js::text·estorides_core/lan_bundle.py::_stix_ref@345 → estorides_core/scope.py::partition - estorides_core: config calls into estorides_core: manager — 0 imports, 8 calls across the boundary
estorides_core/async_client.py::record_success@76 → estorides_core/job_registry.py::pop·estorides_core/async_client.py::record_success@77 → estorides_core/job_registry.py::pop·estorides_core/intel_resolver.py::get@135 → estorides_core/job_registry.py::pop - estorides_core: config calls into estorides_core: system_app_sources — 0 imports, 3 calls across the boundary
estorides_core/async_client.py::_init_db@125 → estorides_core/system_app_sources.py::execute·estorides_core/async_client.py::get@150 → estorides_core/system_app_sources.py::execute·estorides_core/async_client.py::set@166 → estorides_core/system_app_sources.py::execute - estorides_core: config calls into estorides_core: parsers — 0 imports, 93 calls across the boundary
estorides_core/async_client.py::sync_fetch@448 → tests/test_aerospace.py::json·estorides_core/config.py@144 → estorides_core/feeds.py::_env_float·estorides_core/config.py@145 → estorides_core/feeds.py::_env_float - estorides_core: people_intel calls into estorides_core: manager — 0 imports, 3 calls across the boundary
estorides_core/people_intel.py::to_dict@24 → estorides_core/job_registry.py::pop·estorides_core/tech_fingerprint.py::fingerprint@206 → estorides_core/job_registry.py::values·tests/test_pdns_monitor.py::test_tracks_ip_changes@42 → estorides_core/job_registry.py::keys - estorides_core: manager calls into estorides_core: entity_resolution — 3 imports, 12 calls across the boundary
estorides_core/orchestrator.py::run@240 → estorides_core/entity_extraction.py::detect_query_type·estorides_core/orchestrator.py::run@434 → estorides_core/entity_extraction.py::extract_from_json·estorides_core/orchestrator.py::run@435 → estorides_core/entity_extraction.py::extract_structured - estorides_core: manager calls into estorides_export — 1 imports, 18 calls across the boundary
estorides_core/orchestrator.py::__init__@179 → estorides_core/knowledge_graph.py::KnowledgeGraph·estorides_core/orchestrator.py::run@525 → estorides_core/knowledge_graph.py::export_graphml·estorides_core/orchestrator.py::run@656 → estorides_core/knowledge_graph.py::summary - estorides_core: manager calls into estorides_core: hypothesis_engine — 3 imports, 7 calls across the boundary
estorides_core/orchestrator.py::__init__@185 → estorides_core/fusion_store.py::register_sources·estorides_core/orchestrator.py::run@555 → estorides_core/fusion_store.py::fuse_entities·estorides_core/orchestrator.py::run@563 → estorides_core/fusion_store.py::fuse_entity - estorides_core: manager calls into estorides_core: estorides — 2 imports, 8 calls across the boundary
estorides_core/discoverer.py::create_discover_job@214 → estorides_core/cases.py::create_case·estorides_core/orchestrator.py::run@258 → estorides_core/cases.py::create_case·estorides_core/orchestrator.py::run@392 → estorides_core/cases.py::add_observation - estorides_core: manager calls into estorides_core: config — 8 imports, 52 calls across the boundary
estorides_core/discoverer.py::create_discover_job@224 → estorides_core/config.py::clamp_depth·estorides_core/discoverer.py::create_discover_job@225 → estorides_core/config.py::clamp_steps·estorides_core/discoverer.py::create_discover_job@226 → estorides_core/config.py::clamp_entities - estorides_core: manager calls into estorides_core: system_app_sources — 2 imports, 14 calls across the boundary
estorides_core/graph_kuzu.py::_init_schema@237 → estorides_core/system_app_sources.py::execute·estorides_core/graph_kuzu.py::upsert_entity@263 → estorides_core/system_app_sources.py::execute·estorides_core/graph_kuzu.py::upsert_entity@270 → estorides_core/system_app_sources.py::execute - estorides_core: manager calls into estorides_core: parsers — 2 imports, 8 calls across the boundary
estorides_core/orchestrator.py::__init__@175 → estorides_core/source_loader.py::SourceRegistry·estorides_core/orchestrator.py::__init__@177 → estorides_core/source_loader.py::load·estorides_core/orchestrator.py::_run_http_source@878 → estorides_core/parsers.py::get_parser - estorides_core: system_app_sources calls into estorides_core: entity_resolution — 1 imports, 1 calls across the boundary
estorides_core/tool_runner.py::_parse_entities_generic@137 → estorides_core/entity_extraction.py::detect_query_type - estorides_core: system_app_sources calls into estorides_core: graph_bundle — 3 imports, 5 calls across the boundary
estorides_core/lan_runner.py::scan@194 → estorides_core/lan_inventory.py::parse_active_output·estorides_core/lan_runner.py::scan@206 → estorides_core/lan_inventory.py::parse_arp_table·estorides_core/lan_runner.py::scan@206 → estorides_core/lan_inventory.py::parse_dhcp_leases - estorides_core: system_app_sources calls into estorides_core: estorides — 0 imports, 11 calls across the boundary
tests/properties/test_system_app_sources_properties.py::test_tool_parsers_never_raise@32 → static/js/estorides.js::text·tests/properties/test_system_app_sources_properties.py::test_render_args_safe_inputs_no_metachars@49 → static/js/estorides.js::text·tests/properties/test_system_app_sources_properties.py::test_render_args_safe_inputs_no_metachars@51 → static/js/estorides.js::text - estorides_core: system_app_sources depends on estorides_core: config — 5 imports, 2 calls across the boundary
estorides_core/lan_runner.py::scan@222 → estorides_core/lan_bundle.py::write_bundle·estorides_core/system_app_sources.py::render_args@117 → estorides_core/transforms.py::sub - estorides_core: system_app_sources depends on estorides_core: manager — 4 imports, 3 calls across the boundary
tests/test_system_app_sources.py::test_passive_only_drops_touching_tools_even_by_name@283 → estorides_core/orchestrator.py::_select_sources·tests/test_system_app_sources.py::scenario@465 → estorides_core/orchestrator.py::_execute_source·tests/test_system_app_sources.py::test_binary_branch_runs_in_worker_thread@475 → estorides_core/orchestrator.py::run - estorides_core: system_app_sources calls into estorides_core: parsers — 4 imports, 39 calls across the boundary
estorides_core/system_app_sources.py::parse_amass_json@192 → estorides_core/parsers.py::register_parser·estorides_core/system_app_sources.py::parse_maigret_json@224 → estorides_core/parsers.py::register_parser·estorides_core/system_app_sources.py::parse_phoneinfoga_json@246 → estorides_core/parsers.py::register_parser - estorides_core: parsers calls into estorides_core: estorides_web — 1 imports, 1 calls across the boundary
tests/test_aerospace.py::_client@510 → estorides_web.py::create_app - estorides_core: parsers calls into estorides_core: entity_resolution — 1 imports, 2 calls across the boundary
tests/test_socmint.py::test_youtube_profile_extracts_person@521 → estorides_core/entity_extraction.py::extract_structured·tests/test_socmint.py::test_twitter_profile_extracts_person_and_username@538 → estorides_core/entity_extraction.py::extract_structured - estorides_core: parsers depends on estorides_core: graph_bundle — 2 imports, 0 calls across the boundary
- estorides_core: parsers calls into estorides_core: estorides — 0 imports, 4 calls across the boundary
estorides_core/parsers.py::parse_http_headers@1003 → estorides_core/scope.py::partition·estorides_core/parsers.py::parse_whois_text@1018 → estorides_core/scope.py::partition·tests/properties/test_parsers_properties.py@17 → static/js/estorides.js::text - estorides_core: parsers calls into estorides_core: config — 5 imports, 22 calls across the boundary
estorides_core/feeds.py::_fetch@375 → estorides_core/ssrf_guard.py::assert_safe·estorides_core/feeds.py::_fetch@433 → estorides_core/ssrf_guard.py::assert_safe·estorides_core/feeds.py::_fetch@491 → estorides_core/ssrf_guard.py::assert_safe - estorides_core: parsers calls into estorides_core: manager — 2 imports, 17 calls across the boundary
estorides_core/feeds.py::list_feeds@880 → estorides_core/job_registry.py::values·estorides_core/feeds.py::fetch_all@904 → estorides_core/job_registry.py::values·estorides_core/parsers.py::parse_vt_domain@334 → estorides_core/job_registry.py::values
estorides_core: estorides_web (1) [Expand]
estorides_core: estorides_web groups 25 files (py) around _sse_response, _provides, deco, wrapper, _client_ip. Deprecated entry point.
Related Classes/Methods:
estorides_web.py::_sse_response#L78-L82estorides_web.py::_provides#L83-L89estorides_web.py::deco#L90-L91estorides_web.py::wrapper#L92-L101estorides_web.py::_client_ip#L102-L118estorides_web.py::_arg_int#L119-L134estorides_web.py::_send_and_cleanup#L135-L148estorides_web.py::_RunStreamJob#L149-L156
Sub-components
estorides_core (1.1)
estorides_core groups 7 files (py) around build_https_url, WebSecurityConfig, is_cors_enabled, is_origin_allowed, _env_str. estorides_core.audit
root (1.2)
root groups 5 files (py) around _sse_response, _provides, deco, wrapper, _client_ip. Deprecated entry point.
tests (1.3)
tests groups 12 files (py) around test_js_never_gains_a_style_attribute_in_template_literal, test_template_never_gains_a_style_attribute, test_csp_style_src_never_gains_unsafe_inline, test_progress_invariants_hold, test_progress_rejects_unknown_phase. Property-based fuzz for `csp_safe_styles`.
tools (1.4)
tools groups 1 files (py) around collect, main. tools.sync_docs
Files
app.pyestorides_core/audit.pyestorides_core/graph_rag_search.pyestorides_core/lan_web.pyestorides_core/openapi.pyestorides_core/ops_observability.pyestorides_core/search_telemetry.pyestorides_core/web_security.pyestorides_web.pyestorides_web_tools.pytests/properties/test_csp_safe_styles_properties.pytests/properties/test_search_telemetry_properties.pytests/test_audit_log.pytests/test_auth_gate.pytests/test_csp_safe_styles.pytests/test_graph_rag_search.pytests/test_map_basemap.pytests/test_openapi.pytests/test_ops_observability.pytests/test_search_telemetry.pytests/test_web_helpers.pytests/test_web_tools_blueprint.pytools/sync_docs.pyweb.pywsgi.py
estorides_core: graph_bundle (2) [Expand]
estorides_core: graph_bundle groups 19 files (py) around family_color_from_name, node_value, force_settings, _req_str, _opt_str. estorides_core.__init__
Related Classes/Methods:
estorides_core/graph_force.py::family_color_from_name#L48-L64estorides_core/graph_force.py::node_value#L65-L69estorides_core/graph_force.py::force_settings#L70-L96estorides_core/graph_force.py::_req_str#L97-L106estorides_core/graph_force.py::_opt_str#L107-L112estorides_core/graph_force.py::_opt_int#L113-L123estorides_core/graph_force.py::_degrees#L124-L149estorides_core/graph_force.py::_is_bridge#L150-L160
Sub-components
estorides_core (2.1)
estorides_core groups 4 files (py) around family_color_from_name, node_value, force_settings, _req_str, _opt_str. estorides_core.__init__
tests (2.2)
tests groups 15 files (py) around _coordinates_are_valid, test_normalisers_never_raise, test_opensky_coordinates_stay_in_bounds, test_adsblol_coordinates_stay_in_bounds, test_tle_parser_only_returns_complete_sets. Property-based invariants for estorides_core.aerospace.
Files
estorides_core/__init__.pyestorides_core/graph_bundle.pyestorides_core/graph_force.pyestorides_core/lan_inventory.pytests/properties/test_aerospace_properties.pytests/properties/test_graph_bundle_properties.pytests/test_airports.pytests/test_aviation.pytests/test_data_pack.pytests/test_graph_bundle.pytests/test_graph_force3d.pytests/test_lan_bundle.pytests/test_lan_inventory.pytests/test_lan_policy.pytests/test_lan_scope.pytests/test_lan_web.pytests/test_orchestrator_fanout.pytests/test_parsers.pytests/test_retry_policy.py
estorides_core: hypothesis_engine (3) [Expand]
estorides_core: hypothesis_engine groups 19 files (py) around SourceReliability, Credibility, SourceType, ConfidenceInput, __post_init__. estorides_core.change_detection
Related Classes/Methods:
estorides_core/reliability_scoring.py::SourceReliability#L37-L47estorides_core/reliability_scoring.py::Credibility#L48-L58estorides_core/reliability_scoring.py::SourceType#L59-L242estorides_core/reliability_scoring.py::ConfidenceInput#L243-L252estorides_core/reliability_scoring.py::__post_init__#L253-L262estorides_core/reliability_scoring.py::ConfidenceResult#L263-L279estorides_core/reliability_scoring.py::_corroboration_weight#L280-L286estorides_core/reliability_scoring.py::_freshness_weight#L287-L296
Sub-components
estorides_core (3.1)
estorides_core groups 7 files (py) around SourceReliability, Credibility, SourceType, ConfidenceInput, __post_init__. estorides_core.change_detection
tests (3.2)
tests groups 12 files (py) around test_scores_always_bounded, test_max_changes_respected, test_id_is_16_char_hex, test_idempotent, test_first_run_reports_all_as_new. Property-based invariants for estorides_core.change_detection.
Files
estorides_core/change_detection.pyestorides_core/fusion_analytics.pyestorides_core/fusion_store.pyestorides_core/hypothesis_engine.pyestorides_core/ids.pyestorides_core/recon_fusion.pyestorides_core/reliability_scoring.pytests/properties/test_change_detection_properties.pytests/properties/test_hypothesis_engine_properties.pytests/properties/test_recon_fusion_properties.pytests/properties/test_reliability_scoring_properties.pytests/test_change_detection.pytests/test_fusion_analytics.pytests/test_hypothesis_engine.pytests/test_ids.pytests/test_probabilistic_fusion.pytests/test_recon_fusion.pytests/test_reliability_scoring.pytests/test_ui_professional.py
estorides_core: estorides (4) [Expand]
estorides_core: estorides groups 17 files (js, py) around SqliteStore, __init__, _init_schema, _tx, close. estorides CLI.
Related Classes/Methods:
estorides_core/sqlite_store.py::SqliteStore#L34-L49estorides_core/sqlite_store.py::__init__#L50-L65estorides_core/sqlite_store.py::_init_schema#L66-L71estorides_core/sqlite_store.py::_tx#L72-L81estorides_core/sqlite_store.py::close#L82-L88estorides_core/sqlite_store.py::__del__#L89-L108estorides_core/sqlite_store.py::DictMixin#L109-L111estorides_core/sqlite_store.py::to_dict#L112-L119
Sub-components
estorides_core (4.1)
estorides_core groups 6 files (py) around SqliteStore, __init__, _init_schema, _tx, close. estorides_core.alerter
estorides_export (4.2)
estorides_export groups 1 files (py) around _tldr, _iocs, _diff_section, _analysis, _meta_footer. estorides_export.report
root (4.3)
root groups 1 files (py) around _setup_logging, _collect_selectors, _resolve_proxy, _add_opsec_flags, cmd_discover. estorides CLI.
static (4.4)
static groups 1 files (js) around setVisible, isLanQueryLocal, t, lanRunFields, ensureLanConsent. Estorides front-end controller
tests (4.5)
tests groups 8 files (py) around _fresh_store, test_disabled_stores_plaintext, test_enabled_roundtrip, test_bad_key_falls_back, test_mixed_rows_and_tamper. M4 case_crypto BDD red.
Files
estorides_cli.pyestorides_core/alerter.pyestorides_core/case_crypto.pyestorides_core/cases.pyestorides_core/monitoring.pyestorides_core/scope.pyestorides_core/sqlite_store.pyestorides_export/report.pystatic/js/estorides.jstests/test_case_crypto.pytests/test_cli_watch.pytests/test_hardening.pytests/test_monitoring.pytests/test_obs_fts.pytests/test_scope.pytests/test_security_remediation.pytests/test_sqlite_store.py
estorides_core: config (5) [Expand]
estorides_core: config groups 16 files (py) around _installed_share, _resolve_dir, _resolve_writable_dir, ensure_data_dirs, ensure_reports_dir. estorides_core.async_client
Related Classes/Methods:
estorides_core/config.py::_installed_share#L42-L46estorides_core/config.py::_resolve_dir#L47-L62estorides_core/config.py::_resolve_writable_dir#L63-L100estorides_core/config.py::ensure_data_dirs#L101-L111estorides_core/config.py::ensure_reports_dir#L112-L168estorides_core/config.py::_env_tool_allowlist#L169-L246estorides_core/config.py::contact_level#L247-L272estorides_core/config.py::effective_proxies#L273-L406
Sub-components
estorides_core (5.1)
estorides_core groups 10 files (py) around _installed_share, _resolve_dir, _resolve_writable_dir, ensure_data_dirs, ensure_reports_dir. estorides_core.async_client
tests (5.2)
tests groups 6 files (py) around meta_strategy, obs_strategy, entity_strategy, test_observation_round_trip_stability, test_observation_bounded_fields. Property-based invariants for estorides_core.observation_models.
Files
estorides_core/async_client.pyestorides_core/config.pyestorides_core/intel_resolver.pyestorides_core/lan_bundle.pyestorides_core/observation_models.pyestorides_core/ontology.pyestorides_core/osiris_sources.pyestorides_core/pivot_engine.pyestorides_core/ssrf_guard.pyestorides_core/transforms.pytests/properties/test_observation_models_properties.pytests/test_async_client.pytests/test_config_env.pytests/test_observation_models.pytests/test_structured_extraction.pytests/test_transforms.py
estorides_core: people_intel (6) [Expand]
estorides_core: people_intel groups 15 files (py) around CloudAsset, to_dict, CloudAssetDiscoveryResult, to_dict, generate_bucket_names.
Related Classes/Methods:
estorides_core/cloud_asset_discovery.py::CloudAsset#L34-L44estorides_core/cloud_asset_discovery.py::to_dict#L45-L49estorides_core/cloud_asset_discovery.py::CloudAssetDiscoveryResult#L50-L55estorides_core/cloud_asset_discovery.py::to_dict#L56-L64estorides_core/cloud_asset_discovery.py::generate_bucket_names#L65-L83estorides_core/cloud_asset_discovery.py::assess_bucket#L84-L92estorides_core/cloud_asset_discovery.py::CloudAssetDiscoveryError#L93-L94estorides_core/code_exposure.py::CodeFinding#L47-L56
Sub-components
estorides_core (6.1)
estorides_core groups 8 files (py) around CloudAsset, to_dict, CloudAssetDiscoveryResult, to_dict, generate_bucket_names.
tests (6.2)
tests groups 7 files (py) around _make_asset, TestPublicS3Bucket, test_accessible_bucket_returned, TestBucketWithListing, test_listing_bucket_has_files. ATDD + BDD tests for estorides_core.cloud_asset_discovery.
Files
estorides_core/cloud_asset_discovery.pyestorides_core/code_exposure.pyestorides_core/pdns_monitor.pyestorides_core/people_intel.pyestorides_core/recon_pipeline.pyestorides_core/supply_chain.pyestorides_core/tech_fingerprint.pyestorides_core/vuln_correlation.pytests/test_cloud_asset_discovery.pytests/test_code_exposure.pytests/test_pdns_monitor.pytests/test_people_intel.pytests/test_supply_chain.pytests/test_tech_fingerprint.pytests/test_vuln_correlation.py
estorides_core: manager (7) [Expand]
estorides_core: manager groups 14 files (py) around pending_system_app_tasks, _safe_format, repl, _resolve_auth, _expand_query_type. Background subdomain/domain discoverer.
Related Classes/Methods:
estorides_core/orchestrator.py::pending_system_app_tasks#L56-L114estorides_core/orchestrator.py::_safe_format#L115-L121estorides_core/orchestrator.py::repl#L122-L126estorides_core/orchestrator.py::_resolve_auth#L127-L151estorides_core/orchestrator.py::_expand_query_type#L152-L157estorides_core/orchestrator.py::_domain_from_query#L158-L167estorides_core/orchestrator.py::Orchestratorestorides_core/orchestrator.py::__init__#L169-L189
Sub-components
estorides_core (7.1)
estorides_core groups 8 files (py) around pending_system_app_tasks, _safe_format, repl, _resolve_auth, _expand_query_type. Background subdomain/domain discoverer.
estorides_llm (7.2)
estorides_llm groups 3 files (py) around LLMBackend, __call__, stream_generate, register, deco. estorides_llm
tests (7.3)
tests groups 3 files (py) around test_subscribe_publish_order_and_count, test_raising_handler_does_not_block_others, bad, test_payload_isolation_between_handlers, test_invalid_inputs_raise. M2a event_bus BDD red.
Files
estorides_core/discoverer.pyestorides_core/event_bus.pyestorides_core/graph_kuzu.pyestorides_core/job_registry.pyestorides_core/mitre_attack.pyestorides_core/orchestrator.pyestorides_core/pagination.pyestorides_core/relationship_inference.pyestorides_llm/__init__.pyestorides_llm/intelligence_prompts.pyestorides_llm/manager.pytests/test_event_bus.pytests/test_job_registry.pytests/test_pagination.py
estorides_core: system_app_sources (8) [Expand]
estorides_core: system_app_sources groups 13 files (py) around ToolError, ToolNotAllowedError, ToolInjectionError, ToolNotFoundError, ToolTimeoutError. estorides_core.lan_runner
Related Classes/Methods:
estorides_core/tool_runner.py::ToolError#L17-L20estorides_core/tool_runner.py::ToolNotAllowedError#L21-L24estorides_core/tool_runner.py::ToolInjectionError#L25-L28estorides_core/tool_runner.py::ToolNotFoundError#L29-L32estorides_core/tool_runner.py::ToolTimeoutError#L33-L37estorides_core/tool_runner.py::ToolResult#L38-L50estorides_core/tool_runner.py::to_dict#L51-L58estorides_core/tool_runner.py::from_failure#L59-L85
Sub-components
estorides_core (8.1)
estorides_core groups 5 files (py) around ToolError, ToolNotAllowedError, ToolInjectionError, ToolNotFoundError, ToolTimeoutError. estorides_core.lan_runner
tests (8.2)
tests groups 8 files (py) around test_tool_parsers_never_raise, test_render_args_safe_inputs_no_metachars, test_render_args_substitution_is_verbatim, test_read_capped_respects_limit, test_parse_tool_output_never_raises. Property-based invariants for estorides_core.system_app_sources.
Files
estorides_core/active_recon.pyestorides_core/lan_runner.pyestorides_core/system_app_sources.pyestorides_core/tool_install.pyestorides_core/tool_runner.pytests/properties/test_system_app_sources_properties.pytests/properties/test_tool_runner_properties.pytests/test_active_recon.pytests/test_central_config.pytests/test_lan_runner.pytests/test_system_app_sources.pytests/test_tool_doctor.pytests/test_tool_install.py
estorides_core: parsers (9) [Expand]
estorides_core: parsers groups 13 files (py) around _finite, _clean, _codes, normalize_type_code, classify_aircraft. estorides_core.aerospace
Related Classes/Methods:
estorides_core/aviation.py::_finite#L79-L89estorides_core/aviation.py::_clean#L90-L97estorides_core/aviation.py::_codes#L98-L223estorides_core/aviation.py::normalize_type_code#L224-L229estorides_core/aviation.py::classify_aircraft#L230-L244estorides_core/aviation.py::_category_class#L245-L256estorides_core/aviation.py::aircraft_class_label#L257-L283estorides_core/aviation.py::normalize_squawk#L284-L305
Sub-components
estorides_core (9.1)
estorides_core groups 7 files (py) around _finite, _clean, _codes, normalize_type_code, classify_aircraft. estorides_core.aerospace
tests (9.2)
tests groups 6 files (py) around test_all_parsers_are_total, _iss_epoch, TestA1TleParsing, test_malformed_set_is_skipped, test_raw_text_envelope_and_duplicates. Property-based fuzzing for the parser totality contract (doctrine §6).
Files
estorides_core/aerospace.pyestorides_core/airports.pyestorides_core/aviation.pyestorides_core/feeds.pyestorides_core/parsers.pyestorides_core/socmint.pyestorides_core/source_loader.pytests/properties/test_parsers_properties.pytests/test_aerospace.pytests/test_keyless_sources.pytests/test_opsec_contact.pytests/test_socmint.pytests/test_source_loader.py
estorides_core: entity_resolution (10) [Expand]
estorides_core: entity_resolution groups 10 files (py) around Entity, to_dict, _looks_like_phone, normalize_query, detect_query_type. estorides_core.entity_extraction
Related Classes/Methods:
estorides_core/entity_extraction.py::Entity#L22-L33estorides_core/entity_extraction.py::to_dict#L34-L48estorides_core/entity_extraction.py::_looks_like_phone#L49-L56estorides_core/entity_extraction.py::normalize_query#L57-L99estorides_core/entity_extraction.py::detect_query_type#L100-L126estorides_core/entity_extraction.py::_is_valid_domain#L127-L139estorides_core/entity_extraction.py::_context#L140-L145estorides_core/entity_extraction.py::extract_from_text#L146-L199
Sub-components
estorides_core (10.1)
estorides_core groups 5 files (py) around Entity, to_dict, _looks_like_phone, normalize_query, detect_query_type. estorides_core.entity_extraction
tests (10.2)
tests groups 5 files (py) around TestEE1TypesFilter, test_none_means_all, test_empty_list_means_nothing, test_subset_restricts, TestEE2FuzzyCanonical. BDD / regression tests for entity extraction and fuzzy merge. - EE1: `types=[]`...
Files
estorides_core/entity_extraction.pyestorides_core/entity_resolution.pyestorides_core/entity_store.pyestorides_core/transliteration.pyestorides_core/validation.pytests/test_entity_extraction.pytests/test_entity_resolution.pytests/test_query_intent.pytests/test_source_routing.pytests/test_tool_runner.py
estorides_export (11) [Expand]
estorides_export groups 8 files (py) around _node_sources, KnowledgeGraph, __init__, add_entity, add_observation. estorides_core.knowledge_graph
Related Classes/Methods:
estorides_core/knowledge_graph.py::_node_sources#L73-L89estorides_core/knowledge_graph.py::KnowledgeGraphestorides_core/knowledge_graph.py::__init__#L91-L96estorides_core/knowledge_graph.py::add_entity#L97-L126estorides_core/knowledge_graph.py::add_observation#L127-L141estorides_core/knowledge_graph.py::add_relationship#L142-L163estorides_core/knowledge_graph.py::export_graphml#L164-L182estorides_core/knowledge_graph.py::export_json#L183-L206
Sub-components
estorides_core (11.1)
estorides_core groups 1 files (py) around _node_sources, KnowledgeGraph, __init__, add_entity, add_observation. estorides_core.knowledge_graph
estorides_export (11.2)
estorides_export groups 5 files (py) around ReportMetadata, __post_init__, to_dict, ReportSection, to_dict. estorides_export
tests (11.3)
tests groups 2 files (py) around _FakeCompleted, __init__, _kg_with_one_node, _patch_age_ok, _run. Encrypted export: plaintext must be removed after encryption.
Files
estorides_core/knowledge_graph.pyestorides_export/__init__.pyestorides_export/encryption.pyestorides_export/misp.pyestorides_export/recon_report.pyestorides_export/stix.pytests/test_encrypted_export.pytests/test_recon_report.py
estorides_core: source_health_monitoring (12)
estorides_core: source_health_monitoring groups 3 files (py) around SourceHealthStatus, SourceHealthConfig, __post_init__, SourceHealthInput, __post_init__. estorides_core.source_health_monitoring
Related Classes/Methods:
estorides_core/source_health_monitoring.py::SourceHealthStatus#L31-L41estorides_core/source_health_monitoring.py::SourceHealthConfig#L42-L57estorides_core/source_health_monitoring.py::__post_init__#L58-L97estorides_core/source_health_monitoring.py::SourceHealthInput#L98-L111estorides_core/source_health_monitoring.py::__post_init__#L112-L133estorides_core/source_health_monitoring.py::SourceHealthResult#L134-L145estorides_core/source_health_monitoring.py::to_dict#L146-L159estorides_core/source_health_monitoring.py::DashboardSummary#L160-L172
Files
estorides_core/source_health_monitoring.pytests/properties/test_source_health_monitoring_properties.pytests/test_source_health_monitoring.py