SYMBOL INDEX (1361 symbols across 160 files) FILE: py-src/data_formulator/__init__.py function run_app (line 4) | def run_app(): FILE: py-src/data_formulator/agent_routes.py function get_temp_tables (line 44) | def get_temp_tables(workspace, input_tables: list[dict]) -> list[dict]: function handle_agent_error (line 61) | def handle_agent_error(e): function get_client (line 74) | def get_client(model_config): function check_available_models (line 89) | def check_available_models(): function sanitize_model_error (line 153) | def sanitize_model_error(error_message: str) -> str: function test_model (line 168) | def test_model(): function process_data_on_load_request (line 210) | def process_data_on_load_request(): function clean_data_stream_request (line 248) | def clean_data_stream_request(): function sort_data_request (line 300) | def sort_data_request(): function derive_data (line 326) | def derive_data(): function data_agent_streaming (line 414) | def data_agent_streaming(): function refine_data (line 539) | def refine_data(): function request_code_expl (line 610) | def request_code_expl(): function request_chart_insight (line 647) | def request_chart_insight(): function get_recommendation_questions (line 684) | def get_recommendation_questions(): function generate_report_stream (line 736) | def generate_report_stream(): function refresh_derived_data (line 778) | def refresh_derived_data(): FILE: py-src/data_formulator/agents/agent_chart_insight.py class ChartInsightAgent (line 26) | class ChartInsightAgent(object): method __init__ (line 28) | def __init__(self, client, workspace=None): method run (line 32) | def run(self, chart_image_base64, chart_type, field_names, input_table... FILE: py-src/data_formulator/agents/agent_code_explanation.py class CodeExplanationAgent (line 141) | class CodeExplanationAgent(object): method __init__ (line 143) | def __init__(self, client, workspace): method run (line 147) | def run(self, input_tables, code, n=1): FILE: py-src/data_formulator/agents/agent_data_clean_stream.py function parse_table_sections (line 15) | def parse_table_sections(text): class DataCleanAgentStream (line 140) | class DataCleanAgentStream(object): method __init__ (line 142) | def __init__(self, client): method stream (line 145) | def stream(self, prompt, artifacts=[], dialog=[]): FILE: py-src/data_formulator/agents/agent_data_load.py class DataLoadAgent (line 159) | class DataLoadAgent(object): method __init__ (line 161) | def __init__(self, client, workspace): method run (line 165) | def run(self, input_data, n=1): FILE: py-src/data_formulator/agents/agent_data_rec.py class DataRecAgent (line 166) | class DataRecAgent(object): method __init__ (line 168) | def __init__(self, client, workspace, system_prompt=None, agent_coding... method process_gpt_response (line 183) | def process_gpt_response(self, input_tables, messages, response, t_llm... method run (line 301) | def run(self, input_tables, description, n=1, prev_messages: list[dict... method followup (line 338) | def followup(self, input_tables, dialog, latest_data_sample, new_instr... FILE: py-src/data_formulator/agents/agent_data_transform.py class DataTransformationAgent (line 75) | class DataTransformationAgent(object): method __init__ (line 77) | def __init__(self, client, workspace, system_prompt=None, agent_coding... method process_gpt_response (line 93) | def process_gpt_response(self, response, messages, t_llm=None): method run (line 210) | def run(self, input_tables, description, prev_messages: list[dict] = [... method followup (line 279) | def followup(self, input_tables, dialog, latest_data_sample, new_instr... FILE: py-src/data_formulator/agents/agent_interactive_explore.py class InteractiveExploreAgent (line 115) | class InteractiveExploreAgent(object): method __init__ (line 117) | def __init__(self, client, workspace, agent_exploration_rules=""): method run (line 122) | def run(self, input_tables, start_question=None, exploration_thread=None, FILE: py-src/data_formulator/agents/agent_report_gen.py class ReportGenAgent (line 53) | class ReportGenAgent(object): method __init__ (line 55) | def __init__(self, client, workspace): method get_data_summary (line 59) | def get_data_summary(self, input_tables): method stream (line 62) | def stream(self, input_tables, charts=[], style="blog post"): FILE: py-src/data_formulator/agents/agent_sort_data.py class SortDataAgent (line 66) | class SortDataAgent(object): method __init__ (line 68) | def __init__(self, client): method run (line 71) | def run(self, name, values, n=1): FILE: py-src/data_formulator/agents/agent_utils.py function string_to_py_varname (line 9) | def string_to_py_varname(var_str): function field_name_to_ts_variable_name (line 15) | def field_name_to_ts_variable_name(field_name): function infer_ts_datatype (line 24) | def infer_ts_datatype(df, name): function value_handling_func (line 40) | def value_handling_func(val): function table_hash (line 55) | def table_hash(table): function extract_code_from_gpt_response (line 64) | def extract_code_from_gpt_response(code_raw, language): function find_matching_bracket (line 87) | def find_matching_bracket(text, start_index, bracket_type='curly'): function extract_json_objects (line 109) | def extract_json_objects(text): function get_field_summary (line 150) | def get_field_summary(field_name, df, field_sample_size, max_val_chars=1... function generate_data_summary (line 188) | def generate_data_summary( FILE: py-src/data_formulator/agents/agent_utils_sql.py function sanitize_table_name (line 12) | def sanitize_table_name(table_name: str) -> str: function create_duckdb_conn_with_parquet_views (line 22) | def create_duckdb_conn_with_parquet_views(workspace, input_tables: list[... FILE: py-src/data_formulator/agents/client_utils.py class Client (line 6) | class Client(object): method __init__ (line 11) | def __init__(self, endpoint, model, api_key=None, api_base=None, api_... method from_config (line 52) | def from_config(cls, model_config: dict[str, str]): method get_completion (line 75) | def get_completion(self, messages, stream=False): method get_response (line 115) | def get_response(self, messages: list[dict], tools: list | None = None): FILE: py-src/data_formulator/agents/data_agent.py class DataAgent (line 131) | class DataAgent: method __init__ (line 134) | def __init__( method run (line 161) | def run( method _build_system_prompt (line 346) | def _build_system_prompt(self) -> str: method _build_initial_messages (line 359) | def _build_initial_messages( method _get_next_action (line 396) | def _get_next_action(self, trajectory: list[dict]) -> dict | None: method _execute_visualize (line 421) | def _execute_visualize( method _create_chart (line 493) | def _create_chart( method _format_observation (line 529) | def _format_observation( method _error_event (line 571) | def _error_event(iteration: int, error_message: str, **extra) -> dict[... method _strip_images (line 581) | def _strip_images(trajectory: list[dict]) -> list[dict]: FILE: py-src/data_formulator/agents/semantic_types.py function is_measure_type (line 236) | def is_measure_type(semantic_type: str) -> bool: function is_timeseries_type (line 241) | def is_timeseries_type(semantic_type: str) -> bool: function is_categorical_type (line 246) | def is_categorical_type(semantic_type: str) -> bool: function is_ordinal_type (line 251) | def is_ordinal_type(semantic_type: str) -> bool: function is_geo_type (line 256) | def is_geo_type(semantic_type: str) -> bool: function is_non_measure_numeric (line 261) | def is_non_measure_numeric(semantic_type: str) -> bool: function is_signed_measure (line 266) | def is_signed_measure(semantic_type: str) -> bool: function generate_semantic_types_prompt (line 275) | def generate_semantic_types_prompt() -> str: function get_vl_type (line 404) | def get_vl_type(semantic_type: str) -> Optional[str]: function infer_vl_type_from_name (line 451) | def infer_vl_type_from_name(column_name: str) -> Optional[str]: FILE: py-src/data_formulator/agents/web_utils.py function _is_private_ip (line 16) | def _is_private_ip(ip_str: str) -> bool: function _validate_url_for_ssrf (line 56) | def _validate_url_for_ssrf(url: str) -> str: function download_html_content (line 113) | def download_html_content(url: str, timeout: int = 30, headers: dict | N... function html_to_text (line 213) | def html_to_text(html_content: str, remove_scripts: bool = True, remove_... function get_html_title (line 256) | def get_html_title(html_content: str) -> str | None: function get_html_meta_description (line 278) | def get_html_meta_description(html_content: str) -> str | None: FILE: py-src/data_formulator/app.py class CustomJSONEncoder (line 37) | class CustomJSONEncoder(json.JSONEncoder): method default (line 38) | def default(self, obj): function configure_logging (line 70) | def configure_logging(): function _register_blueprints (line 93) | def _register_blueprints(): function get_sample_datasets (line 134) | def get_sample_datasets(): function index_alt (line 140) | def index_alt(path): function page_not_found (line 145) | def page_not_found(e): function get_app_config (line 151) | def get_app_config(): function parse_args (line 175) | def parse_args() -> argparse.Namespace: function run_app (line 215) | def run_app(): FILE: py-src/data_formulator/auth.py function _validate_identity_value (line 29) | def _validate_identity_value(value: str, source: str) -> str: function get_identity_id (line 51) | def get_identity_id() -> str: FILE: py-src/data_formulator/code_signing.py function _is_dev_mode (line 47) | def _is_dev_mode() -> bool: function _get_secret (line 56) | def _get_secret() -> bytes: function sign_code (line 104) | def sign_code(code: str) -> str: function verify_code (line 119) | def verify_code(code: str, signature: str) -> bool: function sign_result (line 130) | def sign_result(result: dict) -> dict: FILE: py-src/data_formulator/data_loader/athena_data_loader.py function _validate_athena_table_name (line 22) | def _validate_athena_table_name(table_name: str) -> None: function _validate_column_name (line 33) | def _validate_column_name(column_name: str) -> None: function _validate_s3_url (line 44) | def _validate_s3_url(url: str) -> None: class AthenaDataLoader (line 52) | class AthenaDataLoader(ExternalDataLoader): method list_params (line 61) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 76) | def auth_instructions() -> str: method __init__ (line 89) | def __init__(self, params: dict[str, Any]): method _get_output_location (line 221) | def _get_output_location(self) -> str: method _execute_query (line 260) | def _execute_query(self, query: str) -> str: method fetch_data_as_arrow (line 318) | def fetch_data_as_arrow( method list_tables (line 367) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... FILE: py-src/data_formulator/data_loader/azure_blob_data_loader.py class AzureBlobDataLoader (line 16) | class AzureBlobDataLoader(ExternalDataLoader): method list_params (line 19) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 32) | def auth_instructions() -> str: method __init__ (line 51) | def __init__(self, params: dict[str, Any]): method _azure_path (line 77) | def _azure_path(self, azure_url: str) -> str: method _read_sample (line 84) | def _read_sample(self, azure_url: str, limit: int) -> pd.DataFrame: method fetch_data_as_arrow (line 102) | def fetch_data_as_arrow( method list_tables (line 149) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... method _is_supported_file (line 219) | def _is_supported_file(self, blob_name: str) -> bool: method _estimate_row_count (line 224) | def _estimate_row_count(self, azure_url: str, blob_properties=None) ->... method _estimate_rows_by_sampling (line 246) | def _estimate_rows_by_sampling(self, azure_url: str, blob_properties, ... method _estimate_by_row_sampling (line 276) | def _estimate_by_row_sampling(self, azure_url: str, file_extension: st... FILE: py-src/data_formulator/data_loader/bigquery_data_loader.py class BigQueryDataLoader (line 13) | class BigQueryDataLoader(ExternalDataLoader): method list_params (line 17) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 26) | def auth_instructions() -> str: method __init__ (line 38) | def __init__(self, params: dict[str, Any]): method list_tables (line 61) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... method fetch_data_as_arrow (line 135) | def fetch_data_as_arrow( method _build_select_parts (line 175) | def _build_select_parts(self, table_ref, table_name: str) -> list[str]: FILE: py-src/data_formulator/data_loader/external_data_loader.py function sanitize_table_name (line 18) | def sanitize_table_name(name_as: str) -> str: class ExternalDataLoader (line 52) | class ExternalDataLoader(ABC): method get_safe_params (line 66) | def get_safe_params(self) -> dict[str, Any]: method fetch_data_as_arrow (line 82) | def fetch_data_as_arrow( method fetch_data_as_dataframe (line 112) | def fetch_data_as_dataframe( method ingest_to_workspace (line 142) | def ingest_to_workspace( method list_params (line 199) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 205) | def auth_instructions() -> str: method __init__ (line 210) | def __init__(self, params: dict[str, Any]): method list_tables (line 220) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... FILE: py-src/data_formulator/data_loader/kusto_data_loader.py class KustoDataLoader (line 14) | class KustoDataLoader(ExternalDataLoader): method list_params (line 17) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 28) | def auth_instructions() -> str: method __init__ (line 39) | def __init__(self, params: dict[str, Any]): method _convert_kusto_datetime_columns (line 64) | def _convert_kusto_datetime_columns(self, df: pd.DataFrame) -> pd.Data... method query (line 119) | def query(self, kql: str) -> pd.DataFrame: method fetch_data_as_arrow (line 130) | def fetch_data_as_arrow( method list_tables (line 175) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... FILE: py-src/data_formulator/data_loader/mongodb_data_loader.py class MongoDBDataLoader (line 16) | class MongoDBDataLoader(ExternalDataLoader): method list_params (line 19) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 32) | def auth_instructions() -> str: method __init__ (line 41) | def __init__(self, params: dict[str, Any]): method close (line 73) | def close(self): method __enter__ (line 82) | def __enter__(self): method __exit__ (line 86) | def __exit__(self, exc_type, exc_val, exc_tb): method __del__ (line 91) | def __del__(self): method _flatten_document (line 96) | def _flatten_document(doc: dict[str, Any], parent_key: str = '', sep: ... method _convert_special_types (line 122) | def _convert_special_types(doc: dict[str, Any]) -> dict[str, Any]: method _process_documents (line 148) | def _process_documents(self, documents: list[dict[str, Any]]) -> pd.Da... method fetch_data_as_arrow (line 164) | def fetch_data_as_arrow( method list_tables (line 220) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... FILE: py-src/data_formulator/data_loader/mssql_data_loader.py class MSSQLDataLoader (line 14) | class MSSQLDataLoader(ExternalDataLoader): method list_params (line 16) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 85) | def auth_instructions() -> str: method __init__ (line 99) | def __init__(self, params: dict[str, Any]): method _safe_select_list (line 131) | def _safe_select_list(self, schema: str, table_name: str) -> str: method _execute_query_raw (line 159) | def _execute_query_raw(self, query: str) -> pa.Table: method _execute_query (line 163) | def _execute_query(self, query: str) -> pa.Table: method fetch_data_as_arrow (line 171) | def fetch_data_as_arrow( method list_tables (line 211) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... FILE: py-src/data_formulator/data_loader/mysql_data_loader.py class MySQLDataLoader (line 14) | class MySQLDataLoader(ExternalDataLoader): method list_params (line 17) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 28) | def auth_instructions() -> str: method __init__ (line 37) | def __init__(self, params: dict[str, Any]): method _safe_select_list (line 87) | def _safe_select_list(self, schema: str, table_name: str) -> str: method fetch_data_as_arrow (line 116) | def fetch_data_as_arrow( method list_tables (line 157) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... method _list_tables_connectorx (line 161) | def _list_tables_connectorx(self, table_filter: str | None = None) -> ... FILE: py-src/data_formulator/data_loader/postgresql_data_loader.py class PostgreSQLDataLoader (line 14) | class PostgreSQLDataLoader(ExternalDataLoader): method list_params (line 17) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 28) | def auth_instructions() -> str: method __init__ (line 37) | def __init__(self, params: dict[str, Any]): method _safe_select_list (line 75) | def _safe_select_list(self, schema: str, table_name: str) -> str: method fetch_data_as_arrow (line 104) | def fetch_data_as_arrow( method list_tables (line 151) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... method _list_tables_connectorx (line 155) | def _list_tables_connectorx(self, table_filter: str | None = None) -> ... FILE: py-src/data_formulator/data_loader/s3_data_loader.py class S3DataLoader (line 17) | class S3DataLoader(ExternalDataLoader): method list_params (line 20) | def list_params() -> list[dict[str, Any]]: method auth_instructions (line 31) | def auth_instructions() -> str: method __init__ (line 40) | def __init__(self, params: dict[str, Any]): method fetch_data_as_arrow (line 57) | def fetch_data_as_arrow( method list_tables (line 110) | def list_tables(self, table_filter: str | None = None) -> list[dict[st... method _read_sample_arrow (line 164) | def _read_sample_arrow(self, s3_url: str, limit: int) -> pa.Table: method _is_supported_file (line 182) | def _is_supported_file(self, key: str) -> bool: method _estimate_row_count (line 187) | def _estimate_row_count(self, s3_url: str) -> int: FILE: py-src/data_formulator/datalake/azure_blob_workspace.py class AzureBlobWorkspace (line 63) | class AzureBlobWorkspace(Workspace): method __init__ (line 81) | def __init__( method _blob_name (line 138) | def _blob_name(self, filename: str) -> str: method _get_blob (line 142) | def _get_blob(self, filename: str): method _blob_exists (line 146) | def _blob_exists(self, filename: str) -> bool: method _upload_bytes (line 154) | def _upload_bytes( method _download_bytes (line 166) | def _download_bytes(self, filename: str) -> bytes: method _delete_blob (line 174) | def _delete_blob(self, filename: str) -> None: method _temp_local_copy (line 181) | def _temp_local_copy(self, filename: str): method _cleanup_temp_files (line 206) | def _cleanup_temp_files(self) -> None: method __del__ (line 213) | def __del__(self) -> None: method _init_metadata (line 220) | def _init_metadata(self) -> None: method get_metadata (line 225) | def get_metadata(self) -> WorkspaceMetadata: method save_metadata (line 235) | def save_metadata(self, metadata: WorkspaceMetadata) -> None: method invalidate_metadata_cache (line 247) | def invalidate_metadata_cache(self) -> None: method get_file_path (line 255) | def get_file_path(self, filename: str) -> str: # type: ignore[override] method file_exists (line 269) | def file_exists(self, filename: str) -> bool: method delete_table (line 273) | def delete_table(self, table_name: str) -> bool: method cleanup (line 287) | def cleanup(self) -> None: method read_data_as_df (line 300) | def read_data_as_df(self, table_name: str) -> pd.DataFrame: method write_parquet_from_arrow (line 327) | def write_parquet_from_arrow( method write_parquet (line 377) | def write_parquet( method get_parquet_schema (line 432) | def get_parquet_schema(self, table_name: str) -> dict: method get_parquet_path (line 459) | def get_parquet_path(self, table_name: str) -> str: # type: ignore[ov... method run_parquet_sql (line 475) | def run_parquet_sql(self, table_name: str, sql: str) -> pd.DataFrame: method local_dir (line 507) | def local_dir(self): method upload_file (line 534) | def upload_file(self, content: bytes, filename: str) -> None: method download_file (line 539) | def download_file(self, filename: str) -> bytes: method save_workspace_snapshot (line 548) | def save_workspace_snapshot(self, dst: Path) -> None: method restore_workspace_snapshot (line 560) | def restore_workspace_snapshot(self, src: Path) -> None: method _session_blob_prefix (line 580) | def _session_blob_prefix(self, session_name: str) -> str: method save_session (line 594) | def save_session(self, session_name: str, state: dict) -> str: method load_session (line 622) | def load_session(self, session_name: str) -> dict | None: method _sessions_root_prefix (line 655) | def _sessions_root_prefix(self) -> str: method list_sessions (line 659) | def list_sessions(self) -> list[dict]: method delete_session (line 685) | def delete_session(self, session_name: str) -> bool: method export_session_zip (line 695) | def export_session_zip(self, state: dict) -> io.BytesIO: method import_session_zip (line 708) | def import_session_zip(self, zip_data: io.BytesIO) -> dict: method __repr__ (line 742) | def __repr__(self) -> str: FILE: py-src/data_formulator/datalake/cache_manager.py class GlobalCacheManager (line 59) | class GlobalCacheManager: method get_instance (line 89) | def get_instance( method reset_instance (line 124) | def reset_instance(cls) -> None: method __init__ (line 133) | def __init__( method max_global_bytes (line 159) | def max_global_bytes(self) -> int: method cache_root (line 163) | def cache_root(self) -> Path: method _scan_total_size (line 170) | def _scan_total_size(self) -> int: method try_acquire_space (line 201) | def try_acquire_space(self, needed_bytes: int) -> bool: method notify_write (line 234) | def notify_write(self, nbytes: int) -> None: method maybe_evict_global (line 250) | def maybe_evict_global(self) -> int: method _evict_global_unlocked (line 267) | def _evict_global_unlocked(self, target_free: int) -> int: method get_global_stats (line 335) | def get_global_stats(self) -> dict[str, Any]: method __repr__ (line 368) | def __repr__(self) -> str: FILE: py-src/data_formulator/datalake/cached_azure_blob_workspace.py class CachedAzureBlobWorkspace (line 84) | class CachedAzureBlobWorkspace(AzureBlobWorkspace): method __init__ (line 130) | def __init__( method _cache_path (line 223) | def _cache_path(self, filename: str) -> Path: method _upload_bytes (line 241) | def _upload_bytes( method _download_bytes (line 304) | def _download_bytes(self, filename: str) -> bytes: method _blob_exists (line 354) | def _blob_exists(self, filename: str) -> bool: method _check_staleness (line 365) | def _check_staleness(self) -> None: method _delete_blob (line 428) | def _delete_blob(self, filename: str) -> None: method get_metadata (line 452) | def get_metadata(self) -> WorkspaceMetadata: method _temp_local_copy (line 462) | def _temp_local_copy(self, filename: str): method read_data_as_df (line 474) | def read_data_as_df(self, table_name: str) -> pd.DataFrame: method run_parquet_sql (line 509) | def run_parquet_sql(self, table_name: str, sql: str) -> pd.DataFrame: method local_dir (line 544) | def local_dir(self): method _ensure_all_cached (line 554) | def _ensure_all_cached(self) -> None: method _get_cache_size (line 571) | def _get_cache_size(self) -> int: method _maybe_evict (line 582) | def _maybe_evict(self) -> None: method get_cache_stats (line 641) | def get_cache_stats(self) -> dict[str, Any]: method wait_for_uploads (line 674) | def wait_for_uploads(self, timeout: float | None = 30) -> bool: method _atexit_flush (line 703) | def _atexit_flush(self) -> None: method cleanup (line 713) | def cleanup(self) -> None: method restore_workspace_snapshot (line 758) | def restore_workspace_snapshot(self, src: Path) -> None: method invalidate_metadata_cache (line 777) | def invalidate_metadata_cache(self) -> None: method __repr__ (line 786) | def __repr__(self) -> str: FILE: py-src/data_formulator/datalake/file_manager.py function is_supported_file (line 38) | def is_supported_file(filename: str) -> bool: function get_file_type (line 43) | def get_file_type(filename: str) -> str | None: function compute_file_hash (line 57) | def compute_file_hash(content: bytes) -> str: function sanitize_table_name (line 70) | def sanitize_table_name(name: str) -> str: function generate_unique_filename (line 104) | def generate_unique_filename( function save_uploaded_file (line 137) | def save_uploaded_file( function save_uploaded_file_from_path (line 233) | def save_uploaded_file_from_path( function get_file_info (line 268) | def get_file_info(workspace: Workspace, table_name: str) -> dict | None: FILE: py-src/data_formulator/datalake/metadata.py class _OVERLAPPED (line 45) | class _OVERLAPPED(ctypes.Structure): function _lock_file (line 54) | def _lock_file(fd: int) -> None: function _unlock_file (line 69) | def _unlock_file(fd: int) -> None: function _lock_file (line 85) | def _lock_file(fd: int) -> None: function _unlock_file (line 89) | def _unlock_file(fd: int) -> None: class WorkspaceLock (line 94) | class WorkspaceLock: method __init__ (line 101) | def __init__(self, workspace_path: Path, timeout: float = MAX_LOCK_WAI... method __enter__ (line 106) | def __enter__(self): method __exit__ (line 137) | def __exit__(self, exc_type, exc_val, exc_tb): function make_json_safe (line 150) | def make_json_safe(value: Any) -> Any: class ColumnInfo (line 185) | class ColumnInfo: method to_dict (line 190) | def to_dict(self) -> dict: method from_dict (line 194) | def from_dict(cls, data: dict) -> "ColumnInfo": class TableMetadata (line 199) | class TableMetadata: method to_dict (line 217) | def to_dict(self) -> dict: method from_dict (line 248) | def from_dict(cls, name: str, data: dict) -> "TableMetadata": class WorkspaceMetadata (line 281) | class WorkspaceMetadata: method add_table (line 288) | def add_table(self, table: TableMetadata) -> None: method remove_table (line 293) | def remove_table(self, name: str) -> bool: method get_table (line 301) | def get_table(self, name: str) -> TableMetadata | None: method list_tables (line 305) | def list_tables(self) -> list[str]: method to_dict (line 309) | def to_dict(self) -> dict: method from_dict (line 322) | def from_dict(cls, data: dict) -> "WorkspaceMetadata": method create_new (line 346) | def create_new(cls) -> "WorkspaceMetadata": function load_metadata (line 357) | def load_metadata(workspace_path: Path) -> WorkspaceMetadata: function save_metadata (line 400) | def save_metadata(workspace_path: Path, metadata: WorkspaceMetadata) -> ... function metadata_exists (line 452) | def metadata_exists(workspace_path: Path) -> bool: FILE: py-src/data_formulator/datalake/parquet_utils.py function sanitize_table_name (line 40) | def sanitize_table_name(name: str) -> str: function get_sample_rows_from_arrow (line 87) | def get_sample_rows_from_arrow( function get_arrow_column_info (line 97) | def get_arrow_column_info(table: pa.Table) -> list[ColumnInfo]: function get_column_info (line 102) | def get_column_info(df: pd.DataFrame) -> list[ColumnInfo]: function compute_arrow_table_hash (line 111) | def compute_arrow_table_hash(table: pa.Table, sample_rows: int = 100) ->... function sanitize_dataframe_for_arrow (line 139) | def sanitize_dataframe_for_arrow(df: pd.DataFrame) -> pd.DataFrame: function compute_dataframe_hash (line 167) | def compute_dataframe_hash(df: pd.DataFrame, sample_rows: int = 100) -> ... FILE: py-src/data_formulator/datalake/workspace.py function get_data_formulator_home (line 51) | def get_data_formulator_home() -> Path: function get_default_workspace_root (line 76) | def get_default_workspace_root() -> Path: function cleanup_stale_temp_files (line 85) | def cleanup_stale_temp_files(workspace_path: Path, max_age_hours: int = ... class Workspace (line 130) | class Workspace: method __init__ (line 141) | def __init__(self, identity_id: str, root_dir: Optional[str | Path] = ... method _sanitize_identity_id (line 197) | def _sanitize_identity_id(identity_id: str) -> str: method _init_metadata (line 211) | def _init_metadata(self) -> None: method get_file_path (line 217) | def get_file_path(self, filename: str) -> Path: method file_exists (line 233) | def file_exists(self, filename: str) -> bool: method delete_table (line 246) | def delete_table(self, table_name: str) -> bool: method get_metadata (line 274) | def get_metadata(self) -> WorkspaceMetadata: method save_metadata (line 280) | def save_metadata(self, metadata: WorkspaceMetadata) -> None: method invalidate_metadata_cache (line 285) | def invalidate_metadata_cache(self) -> None: method add_table_metadata (line 289) | def add_table_metadata(self, table: TableMetadata) -> None: method get_table_metadata (line 294) | def get_table_metadata(self, table_name: str) -> Optional[TableMetadata]: method list_tables (line 302) | def list_tables(self) -> list[str]: method get_fresh_name (line 306) | def get_fresh_name(self, name: str) -> str: method cleanup (line 332) | def cleanup(self) -> None: method get_relative_data_file_path (line 339) | def get_relative_data_file_path(self, table_name: str) -> str: method read_data_as_df (line 361) | def read_data_as_df(self, table_name: str) -> pd.DataFrame: method write_parquet_from_arrow (line 409) | def write_parquet_from_arrow( method write_parquet (line 461) | def write_parquet( method get_parquet_schema (line 511) | def get_parquet_schema(self, table_name: str) -> dict: method get_parquet_path (line 537) | def get_parquet_path(self, table_name: str) -> Path: method run_parquet_sql (line 549) | def run_parquet_sql(self, table_name: str, sql: str) -> pd.DataFrame: method refresh_parquet_from_arrow (line 573) | def refresh_parquet_from_arrow( method refresh_parquet (line 610) | def refresh_parquet( method local_dir (line 622) | def local_dir(self): method save_workspace_snapshot (line 636) | def save_workspace_snapshot(self, dst: Path) -> None: method restore_workspace_snapshot (line 645) | def restore_workspace_snapshot(self, src: Path) -> None: method _sanitize_session_name (line 661) | def _sanitize_session_name(name: str) -> str: method _get_sessions_root (line 665) | def _get_sessions_root(self) -> Path: method _session_dir (line 671) | def _session_dir(self, session_name: str) -> Path: method save_session (line 674) | def save_session(self, session_name: str, state: dict) -> str: method load_session (line 699) | def load_session(self, session_name: str) -> dict | None: method list_sessions (line 717) | def list_sessions(self) -> list[dict]: method delete_session (line 738) | def delete_session(self, session_name: str) -> bool: method export_session_zip (line 747) | def export_session_zip(self, state: dict) -> io.BytesIO: method import_session_zip (line 763) | def import_session_zip(self, zip_data: io.BytesIO) -> dict: method __repr__ (line 797) | def __repr__(self) -> str: class WorkspaceWithTempData (line 801) | class WorkspaceWithTempData: method __init__ (line 835) | def __init__(self, workspace: Workspace, temp_data: Optional[list[dict... method __getattr__ (line 845) | def __getattr__(self, name: str) -> Any: method get_table_metadata (line 851) | def get_table_metadata(self, table_name: str) -> Optional[TableMetadata]: method list_tables (line 859) | def list_tables(self) -> list[str]: method read_data_as_df (line 866) | def read_data_as_df(self, table_name: str) -> pd.DataFrame: method __enter__ (line 876) | def __enter__(self) -> "WorkspaceWithTempData": method __exit__ (line 904) | def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None: FILE: py-src/data_formulator/demo_stream_routes.py function make_csv_response (line 84) | def make_csv_response(rows: list, filename: str = "data.csv") -> Response: function _fetch_iss_position (line 113) | def _fetch_iss_position() -> dict[str, Any] | None: function _iss_collector_loop (line 130) | def _iss_collector_loop(): function start_iss_collector (line 148) | def start_iss_collector(): function get_iss (line 160) | def get_iss(): function reset_iss (line 205) | def reset_iss(): function get_earthquakes (line 220) | def get_earthquakes(): function get_weather (line 381) | def get_weather(): function get_weather_history (line 484) | def get_weather_history(): function get_weather_forecast (line 622) | def get_weather_forecast(): function get_weather_today (line 765) | def get_weather_today(): function _yf_is_valid (line 888) | def _yf_is_valid(val): function _yf_format_timestamp (line 896) | def _yf_format_timestamp(date_obj): function get_yfinance_history (line 921) | def get_yfinance_history(): function get_yfinance_recent (line 977) | def get_yfinance_recent(): function get_yfinance_financials (line 1033) | def get_yfinance_financials(): function _generate_sale_transaction (line 1127) | def _generate_sale_transaction(timestamp: datetime) -> dict[str, Any]: function get_live_sales (line 1155) | def get_live_sales(): function get_info (line 1211) | def get_info(): FILE: py-src/data_formulator/sandbox/__init__.py function create_sandbox (line 11) | def create_sandbox(sandbox: str = "local") -> LocalSandbox | DockerSandbox: FILE: py-src/data_formulator/sandbox/base.py class Sandbox (line 19) | class Sandbox(ABC): method run_python_code (line 23) | def run_python_code( FILE: py-src/data_formulator/sandbox/docker_sandbox.py class DockerSandbox (line 38) | class DockerSandbox(Sandbox): method __init__ (line 56) | def __init__( method run_python_code (line 68) | def run_python_code( method _cleanup (line 217) | def _cleanup(tmpdir: str) -> None: FILE: py-src/data_formulator/sandbox/local_sandbox.py function _warm_worker_loop (line 29) | def _warm_worker_loop(conn): class _WarmWorkerPool (line 109) | class _WarmWorkerPool: method __init__ (line 117) | def __init__(self, size: int = 2): method _spawn (line 125) | def _spawn(self) -> tuple[Process, object]: method acquire (line 131) | def acquire(self) -> tuple[Process, object]: method release (line 144) | def release(self, proc: Process, conn) -> None: method discard (line 150) | def discard(self, proc: Process, conn) -> None: method shutdown (line 161) | def shutdown(self) -> None: class LocalSandbox (line 185) | class LocalSandbox(Sandbox): method run_python_code (line 197) | def run_python_code( method _run_in_warm_subprocess (line 255) | def _run_in_warm_subprocess(code, allowed_objects): FILE: py-src/data_formulator/sandbox/not_a_sandbox.py class NotASandbox (line 19) | class NotASandbox(Sandbox): method run_python_code (line 27) | def run_python_code( FILE: py-src/data_formulator/session_routes.py function _disk_persistence_enabled (line 24) | def _disk_persistence_enabled() -> bool: function _strip_sensitive (line 45) | def _strip_sensitive(state: dict) -> dict: function save_session (line 55) | def save_session(): function list_sessions (line 77) | def list_sessions(): function load_session (line 87) | def load_session(): function delete_session (line 107) | def delete_session(): function export_session (line 126) | def export_session(): function import_session (line 142) | def import_session(): FILE: py-src/data_formulator/tables_routes.py function _get_workspace (line 35) | def _get_workspace(): function _should_use_duckdb (line 45) | def _should_use_duckdb(workspace, table_name: str) -> bool: function _quote_duckdb (line 58) | def _quote_duckdb(col: str) -> str: function _dedup_dataframe_columns (line 63) | def _dedup_dataframe_columns(df: pd.DataFrame) -> pd.DataFrame: function _dedup_list (line 70) | def _dedup_list(items: list) -> list: function _build_parquet_sample_sql (line 75) | def _build_parquet_sample_sql( function _table_metadata_to_source_metadata (line 143) | def _table_metadata_to_source_metadata(meta: DatalakeTableMetadata) -> d... function open_workspace (line 159) | def open_workspace(): function list_tables (line 186) | def list_tables(): function _apply_aggregation_and_sample (line 242) | def _apply_aggregation_and_sample( function sample_table (line 305) | def sample_table(): function get_table_data (line 353) | def get_table_data(): function create_table (line 398) | def create_table(): function sync_table_data (line 468) | def sync_table_data(): function drop_table (line 504) | def drop_table(): function upload_db_file (line 523) | def upload_db_file(): function download_db_file (line 532) | def download_db_file(): function reset_db_file (line 541) | def reset_db_file(): function _is_numeric_duckdb_type (line 552) | def _is_numeric_duckdb_type(col_type: str) -> bool: function analyze_table (line 561) | def analyze_table(): function sanitize_table_name (line 632) | def sanitize_table_name(table_name: str) -> str: function sanitize_db_error_message (line 636) | def sanitize_db_error_message(error: Exception) -> tuple[str, int]: function data_loader_list_data_loaders (line 677) | def data_loader_list_data_loaders(): function data_loader_list_tables (line 700) | def data_loader_list_tables(): function data_loader_ingest_data (line 725) | def data_loader_ingest_data(): function data_loader_view_query_sample (line 763) | def data_loader_view_query_sample(): function data_loader_fetch_data (line 790) | def data_loader_fetch_data(): function data_loader_ingest_data_from_query (line 845) | def data_loader_ingest_data_from_query(): function data_loader_refresh_table (line 854) | def data_loader_refresh_table(): function data_loader_get_table_metadata (line 903) | def data_loader_get_table_metadata(): function data_loader_list_table_metadata (line 926) | def data_loader_list_table_metadata(): FILE: py-src/data_formulator/workflows/chart_semantics.py class TypeRegistryEntry (line 36) | class TypeRegistryEntry: function get_registry_entry (line 115) | def get_registry_entry(semantic_type: str) -> TypeRegistryEntry: function is_registered (line 120) | def is_registered(semantic_type: str) -> bool: class ChannelSemantics (line 129) | class ChannelSemantics: function resolve_vl_type (line 141) | def resolve_vl_type(semantic_type: str, values: List[Any]) -> str: function _looks_like_year_integers (line 194) | def _looks_like_year_integers(values: List[Any]) -> bool: function _infer_vl_type_from_data (line 212) | def _infer_vl_type_from_data(values: List[Any]) -> str: function _is_likely_timestamp (line 256) | def _is_likely_timestamp(val: Any) -> bool: function _timestamp_to_ms (line 271) | def _timestamp_to_ms(val: float) -> float: function _looks_like_date (line 307) | def _looks_like_date(s: str) -> bool: function _try_parse_date (line 325) | def _try_parse_date(val: Any) -> Optional[datetime]: function infer_ordinal_sort_order (line 408) | def infer_ordinal_sort_order(semantic_type: str, values: List[Any]) -> l... function _match_sequence (line 430) | def _match_sequence( function _expand_to_full_year (line 461) | def _expand_to_full_year(val: str) -> str: function convert_temporal_data (line 470) | def convert_temporal_data( function _extract_sem_type (line 567) | def _extract_sem_type(annotation: Any) -> str: function resolve_channel_semantics (line 580) | def resolve_channel_semantics( FILE: py-src/data_formulator/workflows/create_vl_plots.py function field_metadata_to_semantic_types (line 22) | def field_metadata_to_semantic_types( function resolve_field_type (line 66) | def resolve_field_type( function detect_field_type (line 91) | def detect_field_type(series: pd.Series) -> str: function coerce_field_type (line 281) | def coerce_field_type(chart_type: str, channel: str, detected_type: str)... function get_chart_template (line 299) | def get_chart_template(chart_type: str) -> dict | None: function create_chart_spec (line 306) | def create_chart_spec(df: pd.DataFrame, fields: list[str], chart_type: s... function fields_to_encodings (line 314) | def fields_to_encodings(df, chart_type: str, fields: list[str]) -> dict[... function assemble_vegailte_chart (line 615) | def assemble_vegailte_chart( function _build_initial_spec (line 887) | def _build_initial_spec( function _post_process_chart (line 1037) | def _post_process_chart( function _post_process_lollipop (line 1083) | def _post_process_lollipop(spec: dict, df: pd.DataFrame, encodings: dict... function _post_process_regression (line 1110) | def _post_process_regression(spec: dict, encodings: dict) -> None: function _post_process_ranged_dot (line 1147) | def _post_process_ranged_dot(spec: dict, encodings: dict) -> None: function _post_process_candlestick (line 1165) | def _post_process_candlestick( function _post_process_waterfall (line 1219) | def _post_process_waterfall( function _post_process_density (line 1283) | def _post_process_density(spec: dict, encodings: dict, config: dict | No... function _post_process_radar (line 1307) | def _post_process_radar( function _post_process_pyramid (line 1467) | def _post_process_pyramid(spec: dict, df: pd.DataFrame, encodings: dict)... function _post_process_streamgraph (line 1521) | def _post_process_streamgraph(spec: dict, encodings: dict, config: dict ... function _post_process_bump (line 1536) | def _post_process_bump(spec: dict, encodings: dict) -> None: function _post_process_strip (line 1545) | def _post_process_strip( function _post_process_rose (line 1604) | def _post_process_rose( function _apply_semantic_encoding (line 1650) | def _apply_semantic_encoding( function _apply_spec_quality (line 1675) | def _apply_spec_quality( function _apply_chart_config (line 1795) | def _apply_chart_config(spec: dict, chart_type: str, config: dict): function _get_top_values (line 1875) | def _get_top_values(df: pd.DataFrame, field_name: str, unique_values: list, function vl_spec_to_png (line 1908) | def vl_spec_to_png(spec: dict, output_path: str | None = None, scale: fl... function spec_to_base64 (line 1934) | def spec_to_base64(spec: dict, scale: float = 1.0) -> str: FILE: py-src/data_formulator/workspace_factory.py function _build_azure_container_client (line 22) | def _build_azure_container_client(cfg: dict): function get_workspace (line 70) | def get_workspace(identity_id: str) -> Workspace: FILE: src/app/App.tsx type PaletteColor (line 112) | interface PaletteColor { type SimplePaletteColorOptions (line 116) | interface SimplePaletteColorOptions { type Palette (line 120) | interface Palette { type PaletteOptions (line 124) | interface PaletteOptions { type AppFCProps (line 132) | interface AppFCProps { function stringAvatar (line 1314) | function stringAvatar(name: string) { FILE: src/app/chartCache.ts type ChartCacheEntry (line 17) | interface ChartCacheEntry { function getCachedChart (line 26) | function getCachedChart(chartId: string): ChartCacheEntry | undefined { function setCachedChart (line 31) | function setCachedChart(chartId: string, entry: ChartCacheEntry): void { function invalidateChart (line 36) | function invalidateChart(chartId: string): void { function clearCache (line 41) | function clearCache(): void { function getChartPngDataUrl (line 51) | async function getChartPngDataUrl( function computeCacheKey (line 92) | function computeCacheKey( FILE: src/app/chartRecommendation.ts constant AGENT_CHART_TYPE_MAP (line 17) | const AGENT_CHART_TYPE_MAP: Record = { FILE: src/app/dfSlice.tsx type SSEMessage (line 33) | interface SSEMessage { type ServerConfig (line 41) | interface ServerConfig { type ModelConfig (line 52) | interface ModelConfig { type FocusedId (line 62) | type FocusedId = type ClientConfig (line 67) | interface ClientConfig { type GeneratedReport (line 76) | interface GeneratedReport { type DataFormulatorState (line 84) | interface DataFormulatorState { function cleanupVirtualTablesFromWorkspace (line 221) | function cleanupVirtualTablesFromWorkspace(tables: DictTable[]) { FILE: src/app/identity.ts constant BROWSER_ID_KEY (line 15) | const BROWSER_ID_KEY = 'df_browser_id'; type IdentityType (line 17) | type IdentityType = 'user' | 'browser'; type Identity (line 19) | interface Identity { type UserInfo (line 24) | interface UserInfo { function generateUUID (line 33) | function generateUUID(): string { function getBrowserId (line 51) | function getBrowserId(): string { function clearBrowserId (line 71) | function clearBrowserId(): void { function resolveIdentity (line 86) | function resolveIdentity(userInfo?: UserInfo | null): Identity { function getIdentityKey (line 106) | function getIdentityKey(identity: Identity): string { FILE: src/app/store.ts type AppDispatch (line 10) | type AppDispatch = typeof store.dispatch FILE: src/app/tableThunks.ts type LoadTablePayload (line 22) | interface LoadTablePayload { type LoadTableResult (line 43) | interface LoadTableResult { function buildDictTableFromWorkspace (line 305) | function buildDictTableFromWorkspace( function hasLocalOnlyAncestor (line 362) | function hasLocalOnlyAncestor(tableId: string, tables: DictTable[]): boo... FILE: src/app/tokens.ts type AppPaletteEntry (line 101) | interface AppPaletteEntry { type AppPalette (line 107) | interface AppPalette { FILE: src/app/useDataRefresh.tsx type RefreshResult (line 12) | interface RefreshResult { function useDataRefresh (line 29) | function useDataRefresh() { function useDerivedTableRefresh (line 447) | function useDerivedTableRefresh() { FILE: src/app/useFormulateData.ts type IdeaItem (line 10) | type IdeaItem = { type StreamIdeasOptions (line 17) | interface StreamIdeasOptions { type FormulateDataOptions (line 33) | interface FormulateDataOptions { function generateTableId (line 63) | function generateTableId(tables: DictTable[]): string { function useFormulateData (line 77) | function useFormulateData() { FILE: src/app/utils.tsx function getUrls (line 14) | function getUrls() { function getCurrentNamespacedIdentity (line 86) | async function getCurrentNamespacedIdentity(): Promise { function getAuthToken (line 105) | function getAuthToken(): string | null { function fetchWithIdentity (line 127) | async function fetchWithIdentity( function usePrevious (line 155) | function usePrevious(value: T): T | undefined { function djb2Hash (line 168) | function djb2Hash(str: string): string { function computeContentHash (line 188) | function computeContentHash(rows: any[], names?: string[]): string { function runCodeOnInputListsInVM (line 261) | function runCodeOnInputListsInVM( function extractFieldsFromEncodingMap (line 310) | function extractFieldsFromEncodingMap(encodingMap: EncodingMap, allField... function prepVisTable (line 330) | function prepVisTable(table: any[], allFields: FieldItem[], encodingMap:... function hashCode (line 516) | function hashCode(str: string) { FILE: src/components/ChartTemplates.tsx constant CHART_ICONS (line 63) | const CHART_ICONS: Record = { function addIcons (line 101) | function addIcons(defs: { chart: string }[]): ChartTemplate[] { constant CHART_TEMPLATES (line 108) | const CHART_TEMPLATES: { [key: string]: ChartTemplate[] } = Object.fromE... function getChartTemplate (line 125) | function getChartTemplate(chartType: string): ChartTemplate | undefined { FILE: src/components/ComponentType.tsx type FieldSource (line 8) | type FieldSource = "custom" | "original"; type FieldItem (line 10) | interface FieldItem { type Trigger (line 27) | interface Trigger { type DataCleanTableOutput (line 38) | type DataCleanTableOutput = { type DataCleanBlock (line 48) | interface DataCleanBlock { type DataSourceType (line 64) | type DataSourceType = 'paste' | 'file' | 'url' | 'stream' | 'database' |... type DataSourceConfig (line 69) | interface DataSourceConfig { type DictTable (line 94) | interface DictTable { function createDictTable (line 143) | function createDictTable( type ChartInsight (line 185) | interface ChartInsight { type Chart (line 191) | type Chart = { function computeInsightKey (line 204) | function computeInsightKey(chart: Chart): string { type EncodingMap (line 225) | type EncodingMap = { [key in Channel]: EncodingItem; } type EncodingItem (line 227) | interface EncodingItem { type ChartTemplate (line 245) | type ChartTemplate = ChartTemplateDef & { constant AGGR_OP_LIST (line 249) | const AGGR_OP_LIST = ["count", "sum", "average"] as const type AggrOp (line 251) | type AggrOp = typeof AGGR_OP_LIST[number]; type Channel (line 252) | type Channel = typeof channels[number]; type EncodingDropResult (line 254) | interface EncodingDropResult { FILE: src/components/RotatingTextBlock.tsx type RotatingTextBlockProps (line 4) | interface RotatingTextBlockProps { FILE: src/data/column.ts class Column (line 7) | class Column { method constructor (line 14) | constructor(data: any[], type?: Type) { method uniques (line 21) | get uniques(): any[] { method type (line 25) | get type(): Type { method length (line 29) | get length(): number { method get (line 33) | get(row: number): any { FILE: src/data/table.ts class ColumnTable (line 19) | class ColumnTable { method constructor (line 28) | constructor(columns: Map, names: string[]) { FILE: src/data/types.ts type Type (line 4) | enum Type { FILE: src/data/utils.ts function tupleEqual (line 187) | function tupleEqual(a: any[], b: any[]) { FILE: src/lib/agents-chart/chartjs/assemble.ts function assembleChartjs (line 60) | function assembleChartjs(input: ChartAssemblyInput): any { FILE: src/lib/agents-chart/chartjs/instantiate-spec.ts function cjsApplyLayoutToSpec (line 40) | function cjsApplyLayoutToSpec( function cjsApplyTooltips (line 152) | function cjsApplyTooltips(config: any): void { FILE: src/lib/agents-chart/chartjs/recommendation.ts function cjsAdaptChart (line 11) | function cjsAdaptChart( function cjsRecommendEncodings (line 22) | function cjsRecommendEncodings( FILE: src/lib/agents-chart/chartjs/templates/index.ts function cjsGetTemplateDef (line 40) | function cjsGetTemplateDef(chartType: string): ChartTemplateDef | undefi... function cjsGetTemplateChannels (line 47) | function cjsGetTemplateChannels(chartType: string): string[] { FILE: src/lib/agents-chart/chartjs/templates/scatter.ts function computePointRadius (line 16) | function computePointRadius(width: number, height: number, pointCount: n... FILE: src/lib/agents-chart/chartjs/templates/utils.ts function getFieldCardinality (line 20) | function getFieldCardinality(field: string, table: any[]): number { function extractCategories (line 32) | function extractCategories(data: any[], field: string, ordinalSortOrder?... function groupBy (line 65) | function groupBy(data: any[], field: string): Map { constant DEFAULT_COLORS (line 78) | const DEFAULT_COLORS = [ constant DEFAULT_BG_COLORS (line 91) | const DEFAULT_BG_COLORS = [ function detectAxes (line 107) | function detectAxes( function buildCategoryAlignedData (line 126) | function buildCategoryAlignedData( FILE: src/lib/agents-chart/core/compute-layout.ts type AxisLayoutInput (line 69) | interface AxisLayoutInput { function computeLayout (line 109) | function computeLayout( function countDistinctSeries (line 585) | function countDistinctSeries( function computeChannelBudgets (line 629) | function computeChannelBudgets( function computeFacetGrid (line 781) | function computeFacetGrid( function computeMinSubplotDimensions (line 954) | function computeMinSubplotDimensions( FILE: src/lib/agents-chart/core/decisions.ts type EncodingTypeDecision (line 39) | interface EncodingTypeDecision { function visCategoryToVLType (line 58) | function visCategoryToVLType(vc: VisCategory): 'quantitative' | 'ordinal... function validateTemporalParsing (line 76) | function validateTemporalParsing( function resolveTemporalEncoding (line 111) | function resolveTemporalEncoding( function applyOrdinalGuards (line 150) | function applyOrdinalGuards( function disambiguateMultiEncoding (line 201) | function disambiguateMultiEncoding( function resolveEncodingType (line 285) | function resolveEncodingType( type GasPressureParams (line 382) | interface GasPressureParams { constant DEFAULT_GAS_PRESSURE_PARAMS (line 405) | const DEFAULT_GAS_PRESSURE_PARAMS: GasPressureParams = { type GasPressureDecision (line 414) | interface GasPressureDecision { function computeGasPressure (line 441) | function computeGasPressure( type ElasticStretchParams (line 518) | interface ElasticStretchParams { type ElasticBudget (line 532) | interface ElasticBudget { function computeElasticBudget (line 549) | function computeElasticBudget( type AxisStepDecision (line 571) | interface AxisStepDecision { function computeAxisStep (line 589) | function computeAxisStep( type FacetLayoutDecision (line 613) | interface FacetLayoutDecision { type FacetLayoutParams (line 627) | interface FacetLayoutParams { function computeFacetLayout (line 645) | function computeFacetLayout( type LabelSizingDecision (line 682) | interface LabelSizingDecision { function computeLabelSizing (line 702) | function computeLabelSizing( type OverflowDecision (line 743) | interface OverflowDecision { function computeOverflow (line 759) | function computeOverflow( type CircumferencePressureParams (line 780) | interface CircumferencePressureParams { type CircumferencePressureResult (line 805) | interface CircumferencePressureResult { function computeCircumferencePressure (line 837) | function computeCircumferencePressure( function computeEffectiveBarCount (line 906) | function computeEffectiveBarCount(values: number[]): number { FILE: src/lib/agents-chart/core/field-semantics.ts type SemanticAnnotation (line 51) | interface SemanticAnnotation { type FormatSpec (line 70) | interface FormatSpec { type DomainConstraint (line 82) | interface DomainConstraint { type TickConstraint (line 90) | interface TickConstraint { type ColorSchemeHint (line 100) | interface ColorSchemeHint { type DivergingInfo (line 110) | interface DivergingInfo { type FieldSemantics (line 133) | interface FieldSemantics { function toTypeString (line 183) | function toTypeString(input: string | SemanticAnnotation | undefined): s... function normalizeAnnotation (line 202) | function normalizeAnnotation( constant CURRENCY_MAP (line 215) | const CURRENCY_MAP: Record = { constant UNIT_SUFFIX_MAP (line 229) | const UNIT_SUFFIX_MAP: Record = { function detectPercentageRepresentation (line 252) | function detectPercentageRepresentation(values: number[]): '0-1' | '0-10... function detectPrecision (line 267) | function detectPrecision(values: number[]): number { function precisionFormat (line 292) | function precisionFormat(values: number[], useGrouping = true, signMode:... function resolveFormat (line 305) | function resolveFormat( function resolveDefaultVisType (line 445) | function resolveDefaultVisType( function resolveAggregationDefault (line 504) | function resolveAggregationDefault( function resolveZeroClassFromAnnotation (line 528) | function resolveZeroClassFromAnnotation( function resolveScaleType (line 554) | function resolveScaleType( function mergeIntrinsicWithData (line 609) | function mergeIntrinsicWithData( function snapToBoundHeuristic (line 670) | function snapToBoundHeuristic( function resolveDomainConstraint (line 723) | function resolveDomainConstraint( function resolveTickConstraint (line 771) | function resolveTickConstraint( function resolveCanonicalOrder (line 817) | function resolveCanonicalOrder( function resolveCyclic (line 837) | function resolveCyclic(semanticType: string): boolean { function resolveReversed (line 852) | function resolveReversed(semanticType: string, channel?: string): boolean { function resolveNice (line 872) | function resolveNice( function resolveDivergingInfo (line 900) | function resolveDivergingInfo( function resolveColorSchemeHint (line 952) | function resolveColorSchemeHint( function resolveBinningSuggested (line 993) | function resolveBinningSuggested( function resolveStackable (line 1028) | function resolveStackable( function resolveSortDirection (line 1053) | function resolveSortDirection( function resolveFieldSemantics (line 1081) | function resolveFieldSemantics( FILE: src/lib/agents-chart/core/filter-overflow.ts function filterOverflow (line 54) | function filterOverflow( FILE: src/lib/agents-chart/core/recommendation.ts type SemanticRole (line 45) | type SemanticRole = type ChannelRoleMap (line 56) | type ChannelRoleMap = Partial>; constant FAMILY_XY_STANDARD (line 61) | const FAMILY_XY_STANDARD: ChannelRoleMap = { constant FAMILY_PIE (line 69) | const FAMILY_PIE: ChannelRoleMap = { constant FAMILY_ROSE (line 75) | const FAMILY_ROSE: ChannelRoleMap = { constant FAMILY_RADAR (line 81) | const FAMILY_RADAR: ChannelRoleMap = { constant FAMILY_MAP (line 87) | const FAMILY_MAP: ChannelRoleMap = { constant FAMILY_CANDLESTICK (line 93) | const FAMILY_CANDLESTICK: ChannelRoleMap = { constant FAMILY_HISTOGRAM (line 100) | const FAMILY_HISTOGRAM: ChannelRoleMap = { constant FAMILY_DENSITY (line 106) | const FAMILY_DENSITY: ChannelRoleMap = { constant FAMILY_HEATMAP (line 112) | const FAMILY_HEATMAP: ChannelRoleMap = { constant FAMILY_GAUGE (line 118) | const FAMILY_GAUGE: ChannelRoleMap = { constant FAMILY_FUNNEL (line 123) | const FAMILY_FUNNEL: ChannelRoleMap = { constant FAMILY_TREEMAP (line 128) | const FAMILY_TREEMAP: ChannelRoleMap = { constant FAMILY_SANKEY (line 133) | const FAMILY_SANKEY: ChannelRoleMap = { constant FAMILY_RANGE (line 138) | const FAMILY_RANGE: ChannelRoleMap = { constant CHART_ROLE_MAP (line 146) | const CHART_ROLE_MAP: Record = { function getChannelRole (line 195) | function getChannelRole(chartType: string, channel: string): SemanticRole { function findChannelsByRole (line 203) | function findChannelsByRole(chartType: string, templateChannels: string[... constant FALLBACK_CHAIN (line 208) | const FALLBACK_CHAIN: Partial> = { constant ROLE_PRIORITY (line 217) | const ROLE_PRIORITY: Record = { function adaptChannels (line 246) | function adaptChannels( function adaptViaRecommendation (line 280) | function adaptViaRecommendation( function adaptViaRoles (line 415) | function adaptViaRoles( function tryAssign (line 469) | function tryAssign( type InternalTableView (line 492) | interface InternalTableView { type RecommendFn (line 506) | type RecommendFn = (chartType: string, tv: InternalTableView) => Record<... function buildTableView (line 508) | function buildTableView(data: any[], semanticTypes: Record): ... function hasMultipleValuesPerField (line 749) | function hasMultipleValuesPerField(tv: InternalTableView, fieldName: str... function isValidGroupingField (line 760) | function isValidGroupingField(tv: InternalTableView, xField: string, col... function pickValidGroupingField (line 771) | function pickValidGroupingField( function isValidLineSeriesData (line 800) | function isValidLineSeriesData(tv: InternalTableView, xField: string, co... function pickLineChartColorField (line 823) | function pickLineChartColorField( function calculateMultiplicity (line 852) | function calculateMultiplicity(tv: InternalTableView, xField: string, co... function pickBestGroupingField (line 862) | function pickBestGroupingField( function recommendChannels (line 909) | function recommendChannels( function getRecommendation (line 927) | function getRecommendation(chartType: string, tv: InternalTableView): Re... FILE: src/lib/agents-chart/core/resolve-semantics.ts constant MAX_TIMESTAMP_SEC (line 57) | const MAX_TIMESTAMP_SEC = 4102444800; constant MAX_TIMESTAMP_MS (line 58) | const MAX_TIMESTAMP_MS = 4102444800000; function isLikelyTimestamp (line 60) | function isLikelyTimestamp(val: number): boolean { function timestampToMs (line 66) | function timestampToMs(val: number): number { function looksLikeDateString (line 70) | function looksLikeDateString(s: string): boolean { type TemporalAnalysis (line 79) | interface TemporalAnalysis { function analyzeTemporalField (line 93) | function analyzeTemporalField(fieldValues: any[]): TemporalAnalysis | nu... function computeDataVotes (line 132) | function computeDataVotes(same: TemporalAnalysis['same']): number[] { constant SEMANTIC_LEVEL (line 164) | const SEMANTIC_LEVEL: Record = { function pickBestLevel (line 173) | function pickBestLevel(votes: number[]): { level: number; score: number } { function levelToFormat (line 185) | function levelToFormat(level: number, analysis: TemporalAnalysis): strin... function resolveTemporalFormat (line 201) | function resolveTemporalFormat( function expandToFullYear (line 228) | function expandToFullYear(val: string): string { function convertTemporalData (line 244) | function convertTemporalData( function resolveChannelSemantics (line 312) | function resolveChannelSemantics( FILE: src/lib/agents-chart/core/semantic-types.ts type SemanticType (line 163) | type SemanticType = typeof SemanticTypes[keyof typeof SemanticTypes]; function getVisCategory (line 253) | function getVisCategory(semanticType: string): VisCategory | null { function inferVisCategory (line 266) | function inferVisCategory(values: any[]): VisCategory { function isMeasureType (line 289) | function isMeasureType(semanticType: string): boolean { function isTimeSeriesType (line 297) | function isTimeSeriesType(semanticType: string): boolean { function isCategoricalType (line 305) | function isCategoricalType(semanticType: string): boolean { function isOrdinalType (line 312) | function isOrdinalType(semanticType: string): boolean { function isGeoType (line 320) | function isGeoType(semanticType: string): boolean { function isGeoCoordinateType (line 328) | function isGeoCoordinateType(semanticType: string): boolean { function isGeoLocationString (line 336) | function isGeoLocationString(semanticType: string): boolean { function isNonMeasureNumeric (line 343) | function isNonMeasureNumeric(semanticType: string): boolean { type ZeroClass (line 368) | type ZeroClass = 'meaningful' | 'arbitrary' | 'contextual'; type ZeroDecision (line 374) | interface ZeroDecision { function getZeroClass (line 394) | function getZeroClass(semanticType: string): ZeroClass | 'unknown' { function computeZeroDecision (line 414) | function computeZeroDecision( function computePaddedDomain (line 488) | function computePaddedDomain( type ColorSchemeType (line 507) | type ColorSchemeType = 'categorical' | 'sequential' | 'diverging'; type ColorSchemeRecommendation (line 509) | interface ColorSchemeRecommendation { function getRecommendedColorScheme (line 585) | function getRecommendedColorScheme( constant MONTH_FULL (line 772) | const MONTH_FULL = ['January','February','March','April','May','June','J... constant MONTH_ABBR3 (line 773) | const MONTH_ABBR3 = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Se... constant MONTH_NUM (line 774) | const MONTH_NUM = ['1','2','3','4','5','6','7','8','9','10','11','12']; constant DOW_FULL (line 777) | const DOW_FULL = ['Monday','Tuesday','Wednesday','Thursday','Friday','Sa... constant DOW_ABBR3 (line 778) | const DOW_ABBR3 = ['Mon','Tue','Wed','Thu','Fri','Sat','Sun']; constant DOW_ABBR2 (line 779) | const DOW_ABBR2 = ['Mo','Tu','We','Th','Fr','Sa','Su']; constant DOW_FULL_SUN (line 782) | const DOW_FULL_SUN = ['Sunday','Monday','Tuesday','Wednesday','Thursday'... constant DOW_ABBR3_SUN (line 783) | const DOW_ABBR3_SUN = ['Sun','Mon','Tue','Wed','Thu','Fri','Sat']; constant QUARTER_LABELS (line 786) | const QUARTER_LABELS = ['Q1','Q2','Q3','Q4']; constant COMPASS_8 (line 789) | const COMPASS_8 = ['N','NE','E','SE','S','SW','W','NW']; constant COMPASS_8_FULL (line 790) | const COMPASS_8_FULL = ['North','Northeast','East','Southeast','South','... constant COMPASS_4 (line 791) | const COMPASS_4 = ['N','E','S','W']; constant COMPASS_4_FULL (line 792) | const COMPASS_4_FULL = ['North','East','South','West']; type OrdinalSequence (line 794) | interface OrdinalSequence { constant ORDINAL_SEQUENCES (line 802) | const ORDINAL_SEQUENCES: Record = { function buildLookup (line 830) | function buildLookup(seq: OrdinalSequence): Map { function matchSequence (line 853) | function matchSequence(values: any[], sequences: OrdinalSequence[]): str... function inferOrdinalSortOrder (line 901) | function inferOrdinalSortOrder( FILE: src/lib/agents-chart/core/type-registry.ts type VisCategory (line 23) | type VisCategory = 'quantitative' | 'ordinal' | 'nominal' | 'temporal' |... type T0Family (line 30) | type T0Family = 'Temporal' | 'Measure' | 'Discrete' | 'Geographic' | 'Ca... type T1Category (line 33) | type T1Category = type DomainShape (line 41) | type DomainShape = 'open' | 'bounded' | 'fixed' | 'cyclic'; type AggRole (line 42) | type AggRole = 'additive' | 'intensive' | 'signed-additive' | 'dimension... type DivergingClass (line 43) | type DivergingClass = 'none' | 'inherent' | 'conditional'; type FormatClass (line 44) | type FormatClass = 'currency' | 'percent' | 'signed-percent' | 'signed-c... type ZeroBaseline (line 55) | type ZeroBaseline = 'meaningful' | 'arbitrary' | 'contextual' | 'none'; type TypeRegistryEntry (line 57) | interface TypeRegistryEntry { constant TYPE_REGISTRY (line 81) | const TYPE_REGISTRY: Record = { constant UNKNOWN_ENTRY (line 166) | const UNKNOWN_ENTRY: TypeRegistryEntry = { function getRegistryEntry (line 182) | function getRegistryEntry(semanticType: string): TypeRegistryEntry { function isRegistered (line 187) | function isRegistered(semanticType: string): boolean { function getRegisteredTypes (line 195) | function getRegisteredTypes(): string[] { FILE: src/lib/agents-chart/core/types.ts type ChartEncoding (line 38) | interface ChartEncoding { type ChannelSemantics (line 59) | interface ChannelSemantics { type SemanticResult (line 130) | type SemanticResult = Record; type MarkCognitiveChannel (line 148) | type MarkCognitiveChannel = 'position' | 'length' | 'area' | 'color'; type LayoutDeclaration (line 153) | interface LayoutDeclaration { type OverflowStrategy (line 199) | type OverflowStrategy = ( type OverflowStrategyContext (line 208) | interface OverflowStrategyContext { type ChannelBudgets (line 229) | interface ChannelBudgets { type OverflowResult (line 238) | interface OverflowResult { type FacetGridResult (line 257) | interface FacetGridResult { type TruncationWarning (line 271) | interface TruncationWarning { type LayoutResult (line 322) | interface LayoutResult { type InstantiateContext (line 384) | interface InstantiateContext { type ChartPropertyDef (line 426) | type ChartPropertyDef = { type ChartTemplateDef (line 444) | interface ChartTemplateDef { type ChartWarning (line 517) | interface ChartWarning { type ChartAssemblyInput (line 552) | interface ChartAssemblyInput { type AssembleOptions (line 605) | interface AssembleOptions { FILE: src/lib/agents-chart/echarts/assemble.ts function assembleECharts (line 90) | function assembleECharts(input: ChartAssemblyInput): any { type ECResolvedChannelEncoding (line 446) | interface ECResolvedChannelEncoding { constant TABLEAU10 (line 472) | const TABLEAU10 = [ constant TABLEAU20 (line 476) | const TABLEAU20 = [ constant SET1 (line 482) | const SET1 = [ constant SET2 (line 486) | const SET2 = [ constant CATEGORY10 (line 490) | const CATEGORY10 = [ constant SCHEME_TO_PALETTE (line 495) | const SCHEME_TO_PALETTE: Record = { function schemeToPalette (line 509) | function schemeToPalette(schemeName: string): string[] { function buildECEncodings (line 523) | function buildECEncodings( FILE: src/lib/agents-chart/echarts/facet.ts type FacetConfig (line 26) | interface FacetConfig { function ecCombineFacetPanels (line 50) | function ecCombineFacetPanels( FILE: src/lib/agents-chart/echarts/instantiate-spec.ts function ecApplyLayoutToSpec (line 51) | function ecApplyLayoutToSpec( function convertTemporalFormat (line 500) | function convertTemporalFormat(d3Format: string): string { constant MONTH_ABBR (line 513) | const MONTH_ABBR = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Au... constant MONTH_FULL (line 514) | const MONTH_FULL = ['January', 'February', 'March', 'April', 'May', 'Jun... function formatCategoryTemporal (line 520) | function formatCategoryTemporal(value: string, d3Format: string): string { function formatTimestamp (line 531) | function formatTimestamp(val: number, d3Format: string): string { function fmtNumForTooltip (line 546) | function fmtNumForTooltip(v: unknown): string { function buildEncodingTooltipFormatter (line 556) | function buildEncodingTooltipFormatter(option: any): ((params: any) => s... function ecApplyTooltips (line 621) | function ecApplyTooltips(option: any): void { FILE: src/lib/agents-chart/echarts/recommendation.ts function ecGetRecommendation (line 25) | function ecGetRecommendation(chartType: string, tv: InternalTableView): ... function ecAdaptChart (line 78) | function ecAdaptChart( function ecRecommendEncodings (line 89) | function ecRecommendEncodings( FILE: src/lib/agents-chart/echarts/templates/area.ts function buildCategoryAlignedData (line 152) | function buildCategoryAlignedData( FILE: src/lib/agents-chart/echarts/templates/bar.ts function buildCategoryValues (line 34) | function buildCategoryValues( function buildCategoryCounts (line 52) | function buildCategoryCounts( function buildCategoryGroupCounts (line 66) | function buildCategoryGroupCounts( FILE: src/lib/agents-chart/echarts/templates/boxplot.ts function fiveNumberSummary (line 21) | function fiveNumberSummary(values: number[]): [number, number, number, n... function quantile (line 41) | function quantile(sorted: number[], p: number): number { function findOutliers (line 51) | function findOutliers(values: number[]): number[] { FILE: src/lib/agents-chart/echarts/templates/candlestick.ts function computeMA (line 173) | function computeMA(prices: number[], window: number): (number | null)[] { FILE: src/lib/agents-chart/echarts/templates/density.ts function binData (line 12) | function binData(values: number[], numBins: number): { x: number[]; y: n... FILE: src/lib/agents-chart/echarts/templates/gauge.ts function niceGaugeMax (line 203) | function niceGaugeMax(v: number): number { FILE: src/lib/agents-chart/echarts/templates/heatmap.ts constant SCHEME_COLORS (line 19) | const SCHEME_COLORS: Record = { FILE: src/lib/agents-chart/echarts/templates/index.ts function ecGetTemplateDef (line 61) | function ecGetTemplateDef(chartType: string): ChartTemplateDef | undefin... function ecGetTemplateChannels (line 68) | function ecGetTemplateChannels(chartType: string): string[] { FILE: src/lib/agents-chart/echarts/templates/jitter.ts function jitter (line 14) | function jitter(seed: number): () => number { FILE: src/lib/agents-chart/echarts/templates/line.ts function buildCategoryAlignedData (line 151) | function buildCategoryAlignedData( constant RANK_SEMANTIC_TYPES (line 166) | const RANK_SEMANTIC_TYPES = new Set(['Rank', 'Index', 'Score', 'Rating',... FILE: src/lib/agents-chart/echarts/templates/radar.ts function niceMax (line 23) | function niceMax(v: number): number { FILE: src/lib/agents-chart/echarts/templates/scatter.ts function computeSymbolSize (line 17) | function computeSymbolSize(width: number, height: number, pointCount: nu... function linearRegression (line 595) | function linearRegression(data: number[][]): { slope: number; intercept:... function polyRegression (line 614) | function polyRegression(data: number[][], order: number): { coeffs: numb... function polyEval (line 658) | function polyEval(coeffs: number[], x: number): number { function regressionCurvePoints (line 665) | function regressionCurvePoints( FILE: src/lib/agents-chart/echarts/templates/utils.ts function getCategoryOrder (line 15) | function getCategoryOrder(ctx: InstantiateContext, channel: string): str... function getFieldCardinality (line 37) | function getFieldCardinality(field: string, table: any[]): number { function resolveDiscreteType (line 44) | function resolveDiscreteType( function extractCategories (line 67) | function extractCategories(data: any[], field: string, ordinalSortOrder?... function groupBy (line 101) | function groupBy(data: any[], field: string): Map { function buildAxisConfig (line 114) | function buildAxisConfig( constant DEFAULT_COLORS (line 141) | const DEFAULT_COLORS = [ function detectAxes (line 150) | function detectAxes( FILE: src/lib/agents-chart/gofish/assemble.ts type GoFishSpec (line 57) | interface GoFishSpec { function buildRenderFunction (line 89) | function buildRenderFunction( function buildFlowOp (line 222) | function buildFlowOp(gf: any, desc: any): any { function buildMark (line 242) | function buildMark(gf: any, desc: any): any { function buildSpecDescription (line 269) | function buildSpecDescription(gfDesc: any): string { function assembleGoFish (line 322) | function assembleGoFish(input: ChartAssemblyInput): GoFishSpec { FILE: src/lib/agents-chart/gofish/recommendation.ts function gfAdaptChart (line 11) | function gfAdaptChart( function gfRecommendEncodings (line 22) | function gfRecommendEncodings( FILE: src/lib/agents-chart/gofish/templates/index.ts function gfGetTemplateDef (line 36) | function gfGetTemplateDef(chartType: string): ChartTemplateDef | undefin... function gfGetTemplateChannels (line 43) | function gfGetTemplateChannels(chartType: string): string[] { FILE: src/lib/agents-chart/gofish/templates/utils.ts function detectAxes (line 20) | function detectAxes( function extractCategories (line 39) | function extractCategories(data: any[], field: string, ordinalSortOrder?... function groupBy (line 72) | function groupBy(data: any[], field: string): Map { function aggregateByCategory (line 86) | function aggregateByCategory( FILE: src/lib/agents-chart/test-data/area-tests.ts type DimType (line 28) | type DimType = 'Q' | 'T' | 'N' | 'O'; type AreaMatrixEntry (line 30) | interface AreaMatrixEntry { constant AREA_MATRIX (line 52) | const AREA_MATRIX: AreaMatrixEntry[] = [ constant STREAMGRAPH_MATRIX (line 93) | const STREAMGRAPH_MATRIX: AreaMatrixEntry[] = [ type AreaCh (line 106) | interface AreaCh { constant AREA_NAMES (line 115) | const AREA_NAMES: Record> = { constant AREA_FALLBACKS (line 121) | const AREA_FALLBACKS: Record = { constant AREA_CAT_POOLS (line 128) | const AREA_CAT_POOLS = ['Category', 'Country', 'Department', 'Product', ... constant AREA_T_STARTS (line 129) | const AREA_T_STARTS = [2020, 2023, 2019, 2022]; function buildAreaChannels (line 131) | function buildAreaChannels(entry: AreaMatrixEntry, nPerSeries: number): ... function genAreaTrend (line 186) | function genAreaTrend(n: number, base: number, drift: number, volatility... function genAreaSeriesData (line 196) | function genAreaSeriesData( function genAreaGridData (line 257) | function genAreaGridData(channels: AreaCh[], rand: () => number): Record... function genAreaDatePairData (line 277) | function genAreaDatePairData(n: number, channels: AreaCh[], rand: () => ... function buildAreaTitle (line 307) | function buildAreaTitle(entry: AreaMatrixEntry): string { function buildAreaTags (line 320) | function buildAreaTags(entry: AreaMatrixEntry, dataLen: number): string[] { function areaMatrixToTestCase (line 343) | function areaMatrixToTestCase( function genAreaTests (line 395) | function genAreaTests(): TestCase[] { function genStreamgraphTests (line 400) | function genStreamgraphTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/bar-tests.ts type DimType (line 28) | type DimType = 'Q' | 'T' | 'N'; type BarMatrixEntry (line 30) | interface BarMatrixEntry { constant BAR_MATRIX (line 46) | const BAR_MATRIX: BarMatrixEntry[] = [ constant STACKED_BAR_MATRIX (line 79) | const STACKED_BAR_MATRIX: BarMatrixEntry[] = [ constant GROUPED_BAR_MATRIX (line 103) | const GROUPED_BAR_MATRIX: BarMatrixEntry[] = [ type BarCh (line 133) | interface BarCh { constant BAR_NAMES (line 142) | const BAR_NAMES: Record> = { constant BAR_FALLBACKS (line 148) | const BAR_FALLBACKS: Record = { constant BAR_CAT_POOLS (line 154) | const BAR_CAT_POOLS = ['Product', 'Country', 'Department', 'Category', '... constant BAR_T_STARTS (line 155) | const BAR_T_STARTS = [2020, 2023, 2019, 2022]; function buildBarChannels (line 157) | function buildBarChannels(entry: BarMatrixEntry): BarCh[] { function genBarYValue (line 217) | function genBarYValue(yCh: BarCh, rand: () => number): any { function genBarData (line 229) | function genBarData( function buildBarTitle (line 328) | function buildBarTitle(entry: BarMatrixEntry): string { function buildBarTags (line 343) | function buildBarTags(entry: BarMatrixEntry, dataLen: number): string[] { function barMatrixToTestCase (line 364) | function barMatrixToTestCase( function genBarTests (line 408) | function genBarTests(): TestCase[] { function genStackedBarTests (line 413) | function genStackedBarTests(): TestCase[] { function genGroupedBarTests (line 418) | function genGroupedBarTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/chartjs-tests.ts function genScatterData (line 22) | function genScatterData(n: number, seed: number) { function genScatterColorData (line 30) | function genScatterColorData(n: number, seed: number) { function genBarData (line 40) | function genBarData(seed: number) { function genLineData (line 49) | function genLineData(seed: number) { function genMultiSeriesLineData (line 58) | function genMultiSeriesLineData(seed: number) { function genStackedBarData (line 75) | function genStackedBarData(seed: number) { function genGroupedBarData (line 92) | function genGroupedBarData(seed: number) { function genAreaData (line 109) | function genAreaData(seed: number) { function genPieData (line 126) | function genPieData(seed: number) { function genHistogramData (line 135) | function genHistogramData(n: number, seed: number) { function genRadarData (line 142) | function genRadarData(seed: number) { function genChartJsScatterTests (line 163) | function genChartJsScatterTests(): TestCase[] { function genChartJsLineTests (line 224) | function genChartJsLineTests(): TestCase[] { function genChartJsBarTests (line 267) | function genChartJsBarTests(): TestCase[] { function genChartJsStackedBarTests (line 314) | function genChartJsStackedBarTests(): TestCase[] { function genChartJsGroupedBarTests (line 338) | function genChartJsGroupedBarTests(): TestCase[] { function genChartJsAreaTests (line 362) | function genChartJsAreaTests(): TestCase[] { function genChartJsPieTests (line 404) | function genChartJsPieTests(): TestCase[] { function genChartJsHistogramTests (line 447) | function genChartJsHistogramTests(): TestCase[] { function genChartJsRadarTests (line 469) | function genChartJsRadarTests(): TestCase[] { function genChartJsStressTests (line 493) | function genChartJsStressTests(): TestCase[] { function genChartJsRoseTests (line 544) | function genChartJsRoseTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/date-tests.ts function genDateTests (line 12) | function genDateTests(dateFormats: DateFormat[], seed: number): TestCase... function genDateYearTests (line 72) | function genDateYearTests(): TestCase[] { function genDateMonthTests (line 128) | function genDateMonthTests(): TestCase[] { function genDateYearMonthTests (line 161) | function genDateYearMonthTests(): TestCase[] { function genDateDecadeTests (line 238) | function genDateDecadeTests(): TestCase[] { function genDateDateTimeTests (line 270) | function genDateDateTimeTests(): TestCase[] { function genDateHoursTests (line 335) | function genDateHoursTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/debug-tests.ts function gen_agenciesQ4RecGpt41 (line 17) | function gen_agenciesQ4RecGpt41(): TestCase { function gen_agenciesQ4RecGpt51 (line 242) | function gen_agenciesQ4RecGpt51(): TestCase { function gen_apiLogosQ4RecGpt41 (line 469) | function gen_apiLogosQ4RecGpt41(): TestCase { function gen_apiLogosQ4RecGpt51 (line 496) | function gen_apiLogosQ4RecGpt51(): TestCase { function gen_apisguruApisQ3RecGpt41 (line 522) | function gen_apisguruApisQ3RecGpt41(): TestCase { function gen_apisguruApisQ3RecGpt51 (line 546) | function gen_apisguruApisQ3RecGpt51(): TestCase { function gen_careStateQ1RecGpt41 (line 570) | function gen_careStateQ1RecGpt41(): TestCase { function gen_careStateQ1RecGpt51 (line 795) | function gen_careStateQ1RecGpt51(): TestCase { function gen_careStateQ3RecGpt41 (line 1021) | function gen_careStateQ3RecGpt41(): TestCase { function gen_careStateQ3RecGpt51 (line 1248) | function gen_careStateQ3RecGpt51(): TestCase { function gen_colorRanksQ1RecGpt41 (line 1475) | function gen_colorRanksQ1RecGpt41(): TestCase { function gen_colorRanksQ5RecGpt41 (line 1698) | function gen_colorRanksQ5RecGpt41(): TestCase { function gen_colorRanksQ5RecGpt51 (line 1923) | function gen_colorRanksQ5RecGpt51(): TestCase { function gen_countryListsQ1RecGpt41 (line 2150) | function gen_countryListsQ1RecGpt41(): TestCase { function gen_countryListsQ2RecGpt41 (line 2374) | function gen_countryListsQ2RecGpt41(): TestCase { function gen_countryListsQ2RecGpt51 (line 2601) | function gen_countryListsQ2RecGpt51(): TestCase { function gen_countryListsQ3RecGpt41 (line 2829) | function gen_countryListsQ3RecGpt41(): TestCase { function gen_countryListsQ4RecGpt41 (line 3054) | function gen_countryListsQ4RecGpt41(): TestCase { function gen_endangeredStatusQ1RecGpt41 (line 3078) | function gen_endangeredStatusQ1RecGpt41(): TestCase { function gen_familiesQ1RecGpt51 (line 3107) | function gen_familiesQ1RecGpt51(): TestCase { function gen_familiesQ2RecGpt41 (line 3131) | function gen_familiesQ2RecGpt41(): TestCase { function gen_familiesQ2RecGpt51 (line 3169) | function gen_familiesQ2RecGpt51(): TestCase { function gen_familiesQ3RecGpt51 (line 3207) | function gen_familiesQ3RecGpt51(): TestCase { function gen_familiesQ4RecGpt41 (line 3233) | function gen_familiesQ4RecGpt41(): TestCase { function gen_familiesQ4RecGpt51 (line 3257) | function gen_familiesQ4RecGpt51(): TestCase { function gen_familiesQ5RecGpt41 (line 3285) | function gen_familiesQ5RecGpt41(): TestCase { function gen_fpiCodesQ5RecGpt51 (line 3507) | function gen_fpiCodesQ5RecGpt51(): TestCase { function gen_modelDatQ1RecGpt51 (line 3533) | function gen_modelDatQ1RecGpt51(): TestCase { function gen_modelDatQ2RecGpt41 (line 3569) | function gen_modelDatQ2RecGpt41(): TestCase { function gen_modelDatQ2RecGpt51 (line 3596) | function gen_modelDatQ2RecGpt51(): TestCase { function gen_modelDatQ4RecGpt41 (line 3821) | function gen_modelDatQ4RecGpt41(): TestCase { function gen_modelDatQ5RecGpt41 (line 4051) | function gen_modelDatQ5RecGpt41(): TestCase { function gen_ombCodesQ4RecGpt41 (line 4275) | function gen_ombCodesQ4RecGpt41(): TestCase { function gen_ombCodesQ5RecGpt41 (line 4440) | function gen_ombCodesQ5RecGpt41(): TestCase { function gen_penguinsRawQ1RecGpt41 (line 4597) | function gen_penguinsRawQ1RecGpt41(): TestCase { function gen_penguinsRawQ1RecGpt51 (line 4629) | function gen_penguinsRawQ1RecGpt51(): TestCase { function gen_pixarFilmsQ3RecGpt41 (line 4666) | function gen_pixarFilmsQ3RecGpt41(): TestCase { function gen_rankByYearQ3RecGpt41 (line 4704) | function gen_rankByYearQ3RecGpt41(): TestCase { function gen_simpsonsCharactersQ1RecGpt41 (line 4761) | function gen_simpsonsCharactersQ1RecGpt41(): TestCase { function gen_simpsonsLocationsQ2RecGpt41 (line 4787) | function gen_simpsonsLocationsQ2RecGpt41(): TestCase { function gen_simpsonsLocationsQ2RecGpt51 (line 4842) | function gen_simpsonsLocationsQ2RecGpt51(): TestCase { function gen_simpsonsLocationsQ5RecGpt41 (line 4891) | function gen_simpsonsLocationsQ5RecGpt41(): TestCase { function gen_topicsQ1RecGpt41 (line 4950) | function gen_topicsQ1RecGpt41(): TestCase { function gen_topicsQ2RecGpt51 (line 5070) | function gen_topicsQ2RecGpt51(): TestCase { function gen_user2025Q1RecGpt41 (line 5189) | function gen_user2025Q1RecGpt41(): TestCase { function gen_user2025Q5RecGpt51 (line 5216) | function gen_user2025Q5RecGpt51(): TestCase { function gen_vesuviusQ4RecGpt41 (line 5254) | function gen_vesuviusQ4RecGpt41(): TestCase { function gen_vesuviusQ5RecGpt41 (line 5292) | function gen_vesuviusQ5RecGpt41(): TestCase { function gen_vesuviusQ5RecGpt51 (line 5517) | function gen_vesuviusQ5RecGpt51(): TestCase { function genDebugTests (line 5746) | function genDebugTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/discrete-axis-tests.ts function cats (line 25) | function cats(prefix: string, n: number): string[] { function randVal (line 30) | function randVal(rand: () => number, min = 10, max = 500): number { constant SIZES (line 34) | const SIZES = [ function genBarSizing (line 43) | function genBarSizing(): TestCase[] { function genStackedBarSizing (line 82) | function genStackedBarSizing(): TestCase[] { function genGroupedBarSizing (line 128) | function genGroupedBarSizing(): TestCase[] { function genScatterSizing (line 174) | function genScatterSizing(): TestCase[] { function genLineSizing (line 221) | function genLineSizing(): TestCase[] { function genAreaSizing (line 248) | function genAreaSizing(): TestCase[] { function genLollipopSizing (line 277) | function genLollipopSizing(): TestCase[] { function genHeatmapSizing (line 320) | function genHeatmapSizing(): TestCase[] { function genBoxplotSizing (line 348) | function genBoxplotSizing(): TestCase[] { function genStripSizing (line 394) | function genStripSizing(): TestCase[] { function genBumpSizing (line 440) | function genBumpSizing(): TestCase[] { function genPyramidSizing (line 466) | function genPyramidSizing(): TestCase[] { function genWaterfallSizing (line 492) | function genWaterfallSizing(): TestCase[] { function genRangedDotSizing (line 522) | function genRangedDotSizing(): TestCase[] { function genPieSizing (line 548) | function genPieSizing(): TestCase[] { function genRadarSizing (line 572) | function genRadarSizing(): TestCase[] { function genDiscreteAxisTests (line 598) | function genDiscreteAxisTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/distribution-tests.ts function genHistogramTests (line 9) | function genHistogramTests(): TestCase[] { function genBoxplotTests (line 81) | function genBoxplotTests(): TestCase[] { function genDensityTests (line 226) | function genDensityTests(): TestCase[] { function genStripPlotTests (line 336) | function genStripPlotTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/echarts-tests.ts function genScatterData (line 24) | function genScatterData(n: number, seed: number) { function genScatterColorData (line 32) | function genScatterColorData(n: number, seed: number) { function genBarData (line 42) | function genBarData(seed: number) { function genLineData (line 51) | function genLineData(seed: number) { function genMultiSeriesLineData (line 60) | function genMultiSeriesLineData(seed: number) { function genStackedBarData (line 77) | function genStackedBarData(seed: number) { function genGroupedBarData (line 94) | function genGroupedBarData(seed: number) { function genEChartsScatterTests (line 115) | function genEChartsScatterTests(): TestCase[] { function genEChartsLineTests (line 176) | function genEChartsLineTests(): TestCase[] { function genEChartsBarTests (line 246) | function genEChartsBarTests(): TestCase[] { function genEChartsStackedBarTests (line 290) | function genEChartsStackedBarTests(): TestCase[] { function genEChartsGroupedBarTests (line 342) | function genEChartsGroupedBarTests(): TestCase[] { function genEChartsStressTests (line 406) | function genEChartsStressTests(): TestCase[] { function genEChartsAreaTests (line 589) | function genEChartsAreaTests(): TestCase[] { function genEChartsPieTests (line 646) | function genEChartsPieTests(): TestCase[] { function genEChartsHeatmapTests (line 700) | function genEChartsHeatmapTests(): TestCase[] { function genEChartsHistogramTests (line 764) | function genEChartsHistogramTests(): TestCase[] { function genEChartsBoxplotTests (line 823) | function genEChartsBoxplotTests(): TestCase[] { function genEChartsRadarTests (line 890) | function genEChartsRadarTests(): TestCase[] { function genEChartsCandlestickTests (line 971) | function genEChartsCandlestickTests(): TestCase[] { function genEChartsStreamgraphTests (line 1057) | function genEChartsStreamgraphTests(): TestCase[] { function buildEChartsFacetTest (line 1137) | function buildEChartsFacetTest(opts: { function genEChartsFacetSmallTests (line 1218) | function genEChartsFacetSmallTests(): TestCase[] { function genEChartsFacetWrapTests (line 1261) | function genEChartsFacetWrapTests(): TestCase[] { function genEChartsFacetClipTests (line 1286) | function genEChartsFacetClipTests(): TestCase[] { function genEChartsRoseTests (line 1320) | function genEChartsRoseTests(): TestCase[] { function genEChartsGaugeTests (line 1397) | function genEChartsGaugeTests(): TestCase[] { function genEChartsFunnelTests (line 1469) | function genEChartsFunnelTests(): TestCase[] { function genEChartsTreemapTests (line 1548) | function genEChartsTreemapTests(): TestCase[] { function genEChartsSunburstTests (line 1640) | function genEChartsSunburstTests(): TestCase[] { function genEChartsSankeyTests (line 1748) | function genEChartsSankeyTests(): TestCase[] { function genEChartsUniqueStressTests (line 1860) | function genEChartsUniqueStressTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/facet-tests.ts constant FACET_SIZES (line 10) | const FACET_SIZES = { S: 2, M: 4, L: 8, XL: 12 } as const; constant DISCRETE_SIZES (line 12) | const DISCRETE_SIZES = { S: 4, M: 8, L: 20, XL: 50 } as const; function genFacetTests (line 20) | function genFacetTests( function genFacetColumnTests (line 192) | function genFacetColumnTests(): TestCase[] { return genFacetTests('colum... function genFacetRowTests (line 193) | function genFacetRowTests(): TestCase[] { return genFacetTests('row'); } function genFacetColRowTests (line 194) | function genFacetColRowTests(): TestCase[] { return genFacetTests('colum... function buildFacetTest (line 203) | function buildFacetTest(opts: { function genFacetSmallTests (line 290) | function genFacetSmallTests(): TestCase[] { function genFacetWrapTests (line 368) | function genFacetWrapTests(): TestCase[] { function genFacetClipTests (line 411) | function genFacetClipTests(): TestCase[] { function buildOverflowFacetTest (line 472) | function buildOverflowFacetTest(opts: { function genFacetOverflowedColTests (line 563) | function genFacetOverflowedColTests(): TestCase[] { function genFacetOverflowedColRowTests (line 598) | function genFacetOverflowedColRowTests(): TestCase[] { function genFacetOverflowedRowTests (line 629) | function genFacetOverflowedRowTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/gas-pressure-tests.ts function genUniform (line 24) | function genUniform(n: number, seed: number): { x: number; y: number }[] { function genSingleCluster (line 33) | function genSingleCluster(n: number, seed: number): { x: number; y: numb... function genTwoClusters (line 62) | function genTwoClusters(n: number, seed: number): { x: number; y: number... constant DENSITIES (line 98) | const DENSITIES = [ constant DISTRIBUTIONS (line 104) | const DISTRIBUTIONS = [ function buildTestCase (line 110) | function buildTestCase( function genWideXNarrowY (line 141) | function genWideXNarrowY(n: number, seed: number): { x: number; y: numbe... function genNarrowXWideY (line 150) | function genNarrowXWideY(n: number, seed: number): { x: number; y: numbe... function genWideXBandedY (line 159) | function genWideXBandedY(n: number, seed: number): { x: number; y: numbe... function genDiagonalStripe (line 171) | function genDiagonalStripe(n: number, seed: number): { x: number; y: num... function genUniformXExponentialY (line 186) | function genUniformXExponentialY(n: number, seed: number): { x: number; ... constant ASYMMETRIC_CASES (line 194) | const ASYMMETRIC_CASES = [ function genGasPressureTests (line 216) | function genGasPressureTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/generators.ts function seededRandom (line 14) | function seededRandom(seed: number) { function genDates (line 22) | function genDates(n: number, startYear = 2018): string[] { function genMonths (line 34) | function genMonths(n: number): string[] { function genYears (line 40) | function genYears(n: number, start = 2000): number[] { function genNaturalDates (line 45) | function genNaturalDates(n: number, startYear = 1998): string[] { function genOrdinalLabels (line 58) | function genOrdinalLabels(prefix: string, n: number): string[] { constant ORDINAL_PREFIXES (line 63) | const ORDINAL_PREFIXES = ['Stage', 'Step', 'Phase', 'Level', 'Round']; function genCategories (line 66) | function genCategories(semanticType: string, n: number): string[] { function genRandomNames (line 99) | function genRandomNames(n: number, seed = 777): string[] { function genMeasure (line 119) | function genMeasure(n: number, min = 10, max = 1000, integers = false): ... FILE: src/lib/agents-chart/test-data/gofish-tests.ts function genScatterData (line 22) | function genScatterData(n: number, seed: number) { function genScatterColorData (line 30) | function genScatterColorData(n: number, seed: number) { function genBarData (line 40) | function genBarData(seed: number) { function genLineData (line 49) | function genLineData(seed: number) { function genMultiSeriesLineData (line 58) | function genMultiSeriesLineData(seed: number) { function genStackedBarData (line 75) | function genStackedBarData(seed: number) { function genGroupedBarData (line 92) | function genGroupedBarData(seed: number) { function genAreaData (line 109) | function genAreaData(seed: number) { function genStackedAreaData (line 118) | function genStackedAreaData(seed: number) { function genPieData (line 135) | function genPieData(seed: number) { function genScatterPieData (line 144) | function genScatterPieData(seed: number) { function genGoFishScatterTests (line 172) | function genGoFishScatterTests(): TestCase[] { function genGoFishLineTests (line 215) | function genGoFishLineTests(): TestCase[] { function genGoFishBarTests (line 258) | function genGoFishBarTests(): TestCase[] { function genGoFishStackedBarTests (line 305) | function genGoFishStackedBarTests(): TestCase[] { function genGoFishGroupedBarTests (line 329) | function genGoFishGroupedBarTests(): TestCase[] { function genGoFishAreaTests (line 353) | function genGoFishAreaTests(): TestCase[] { function genGoFishStackedAreaTests (line 376) | function genGoFishStackedAreaTests(): TestCase[] { function genGoFishPieTests (line 400) | function genGoFishPieTests(): TestCase[] { function genGoFishScatterPieTests (line 423) | function genGoFishScatterPieTests(): TestCase[] { function genGoFishStressTests (line 453) | function genGoFishStressTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/index.ts constant TEST_GENERATORS (line 71) | const TEST_GENERATORS: Record TestCase[]> = { constant GALLERY_SECTIONS (line 169) | const GALLERY_SECTIONS: GallerySection[] = [ FILE: src/lib/agents-chart/test-data/line-area-stretch-tests.ts function makeRandWalk (line 54) | function makeRandWalk(rand: () => number) { constant SERIES_3 (line 69) | const SERIES_3 = ['Revenue', 'Costs', 'Profit']; constant SERIES_20 (line 70) | const SERIES_20 = [ constant SERIES_40 (line 77) | const SERIES_40 = [ constant SERIES_60 (line 85) | const SERIES_60 = [ function genLineAreaStretchTests (line 96) | function genLineAreaStretchTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/line-area-tests.ts function genDottedLineTests (line 12) | function genDottedLineTests(): TestCase[] { function genBumpChartTests (line 38) | function genBumpChartTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/line-tests.ts type DimType (line 28) | type DimType = 'Q' | 'T' | 'N' | 'O'; type LineMatrixEntry (line 30) | interface LineMatrixEntry { constant LINE_MATRIX (line 52) | const LINE_MATRIX: LineMatrixEntry[] = [ type LineCh (line 93) | interface LineCh { constant LINE_NAMES (line 102) | const LINE_NAMES: Record> = { constant LINE_FALLBACKS (line 108) | const LINE_FALLBACKS: Record = { constant LINE_CAT_POOLS (line 115) | const LINE_CAT_POOLS = ['Category', 'Country', 'Department', 'Product', ... constant LINE_T_STARTS (line 116) | const LINE_T_STARTS = [2020, 2023, 2019, 2022]; function buildLineChannels (line 118) | function buildLineChannels(entry: LineMatrixEntry, nPerSeries: number): ... function genLineWalk (line 173) | function genLineWalk(n: number, base: number, volatility: number, rand: ... function genLineSeriesData (line 183) | function genLineSeriesData( function genLineGridData (line 243) | function genLineGridData(channels: LineCh[], rand: () => number): Record... function buildLineTitle (line 267) | function buildLineTitle(entry: LineMatrixEntry): string { function buildLineTags (line 280) | function buildLineTags(entry: LineMatrixEntry, dataLen: number): string[] { function lineMatrixToTestCase (line 303) | function lineMatrixToTestCase(entry: LineMatrixEntry, rand: () => number... function genForecastTestSingleSeries (line 350) | function genForecastTestSingleSeries(rand: () => number): TestCase { function genForecastTestMultiSeries (line 392) | function genForecastTestMultiSeries(rand: () => number): TestCase { function genLineTests (line 444) | function genLineTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/scatter-tests.ts type DimType (line 27) | type DimType = 'Q' | 'T' | 'N'; type MatrixEntry (line 30) | interface MatrixEntry { constant SCATTER_MATRIX (line 49) | const SCATTER_MATRIX: MatrixEntry[] = [ type ChannelInfo (line 94) | interface ChannelInfo { constant PREFERRED_NAMES (line 104) | const PREFERRED_NAMES: Record> = { constant FALLBACK_NAMES (line 112) | const FALLBACK_NAMES: Record = { constant CAT_SEMANTICS (line 119) | const CAT_SEMANTICS = ['Category', 'Country', 'Department', 'Product', '... constant T_START_YEARS (line 122) | const T_START_YEARS = [2020, 2023, 2019, 2022]; function buildChannels (line 128) | function buildChannels(entry: MatrixEntry): ChannelInfo[] { function genValue (line 182) | function genValue( function genGridData (line 199) | function genGridData( function buildTitle (line 229) | function buildTitle(entry: MatrixEntry): string { function buildTags (line 251) | function buildTags(entry: MatrixEntry, dataLen: number): string[] { function matrixToTestCase (line 282) | function matrixToTestCase(entry: MatrixEntry, rand: () => number): TestC... function genScatterTests (line 335) | function genScatterTests(): TestCase[] { function genRegressionTests (line 344) | function genRegressionTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/semantic-tests.ts constant CITIES (line 22) | const CITIES = ['Seattle', 'Austin', 'Boston', 'Denver', 'Miami']; constant MONTHS (line 23) | const MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', constant TEAMS (line 25) | const TEAMS = ['Alpha', 'Beta', 'Gamma', 'Delta']; function seeded (line 27) | function seeded(seed: number) { function genRevenueFormatTest (line 45) | function genRevenueFormatTest(): TestCase { function genPercentageFormatTest (line 85) | function genPercentageFormatTest(): TestCase { function genRatingDomainTest (line 131) | function genRatingDomainTest(): TestCase { function genRankReversedTest (line 180) | function genRankReversedTest(): TestCase { function genPopulationLogScaleTest (line 230) | function genPopulationLogScaleTest(): TestCase { function genTemperatureInterpolationTest (line 284) | function genTemperatureInterpolationTest(): TestCase { function genRevenueVsPercentTest (line 334) | function genRevenueVsPercentTest(): TestCase { function genScoreDomainTest (line 380) | function genScoreDomainTest(): TestCase { function genRatingBarDomainTest (line 431) | function genRatingBarDomainTest(): TestCase { function genRevenueBarZeroTest (line 475) | function genRevenueBarZeroTest(): TestCase { function genTemperatureScatterZeroTest (line 516) | function genTemperatureScatterZeroTest(): TestCase { function genPercentageLineDomainTest (line 562) | function genPercentageLineDomainTest(): TestCase { function genSemanticContextTests (line 598) | function genSemanticContextTests(): TestCase[] { function genProfitSignedCurrencyTest (line 655) | function genProfitSignedCurrencyTest(): TestCase { function genWeightUnitSuffixTest (line 697) | function genWeightUnitSuffixTest(): TestCase { function genCountStepInterpolationTest (line 745) | function genCountStepInterpolationTest(): TestCase { function genLatitudeDomainClampTest (line 793) | function genLatitudeDomainClampTest(): TestCase { function genPercentageChangeSignedTest (line 841) | function genPercentageChangeSignedTest(): TestCase { function genMonthCanonicalOrderTest (line 888) | function genMonthCanonicalOrderTest(): TestCase { function genDayOfWeekOrderTest (line 932) | function genDayOfWeekOrderTest(): TestCase { function genYearFormatTest (line 975) | function genYearFormatTest(): TestCase { function genSentimentDivergingColorTest (line 1020) | function genSentimentDivergingColorTest(): TestCase { function genRevenueSequentialColorTest (line 1067) | function genRevenueSequentialColorTest(): TestCase { function genCorrelationDivergingTest (line 1118) | function genCorrelationDivergingTest(): TestCase { function genNiceFalseScoreTest (line 1173) | function genNiceFalseScoreTest(): TestCase { function genDurationUnitSuffixTest (line 1224) | function genDurationUnitSuffixTest(): TestCase { function genQuarterCanonicalOrderTest (line 1274) | function genQuarterCanonicalOrderTest(): TestCase { function genCostCurrencyFormatTest (line 1327) | function genCostCurrencyFormatTest(): TestCase { function genDirectionCompassOrderTest (line 1371) | function genDirectionCompassOrderTest(): TestCase { function genAgeGroupOrdinalTest (line 1418) | function genAgeGroupOrdinalTest(): TestCase { function genBooleanColorTest (line 1466) | function genBooleanColorTest(): TestCase { function genLongitudeDomainClampTest (line 1515) | function genLongitudeDomainClampTest(): TestCase { function genIndexOrdinalTest (line 1566) | function genIndexOrdinalTest(): TestCase { function genPercentageWholeNumberTest (line 1613) | function genPercentageWholeNumberTest(): TestCase { function genScoreColorDivergingTest (line 1662) | function genScoreColorDivergingTest(): TestCase { function genPriceEurCurrencyTest (line 1715) | function genPriceEurCurrencyTest(): TestCase { function genYearOrdinalDisambiguationTest (line 1765) | function genYearOrdinalDisambiguationTest(): TestCase { function genProfitColorDivergingTest (line 1820) | function genProfitColorDivergingTest(): TestCase { function genCountIntegerFormatTest (line 1872) | function genCountIntegerFormatTest(): TestCase { function genUnregisteredTypeFallbackTest (line 1919) | function genUnregisteredTypeFallbackTest(): TestCase { function genSnapPctNoSnapTest (line 1962) | function genSnapPctNoSnapTest(): TestCase { function genSnapPctMaxOnlyTest (line 2000) | function genSnapPctMaxOnlyTest(): TestCase { function genSnapPctMinOnlyTest (line 2038) | function genSnapPctMinOnlyTest(): TestCase { function genSnapPctBothTest (line 2075) | function genSnapPctBothTest(): TestCase { function genSnapPctExceedTest (line 2114) | function genSnapPctExceedTest(): TestCase { function genSnapPctChangeNoSnapTest (line 2151) | function genSnapPctChangeNoSnapTest(): TestCase { function genSnapPctChangeMinTest (line 2188) | function genSnapPctChangeMinTest(): TestCase { function genSnapPctChangeBothTest (line 2229) | function genSnapPctChangeBothTest(): TestCase { function genSnapStackedSumNear100Test (line 2271) | function genSnapStackedSumNear100Test(): TestCase { function genSnapStackedSumExceedsTest (line 2323) | function genSnapStackedSumExceedsTest(): TestCase { function genSnapStackedIndividualSnapButTotalsExceedTest (line 2376) | function genSnapStackedIndividualSnapButTotalsExceedTest(): TestCase { function genSnapStackedTotalsFarFromBoundTest (line 2429) | function genSnapStackedTotalsFarFromBoundTest(): TestCase { function genSnapToBoundTests (line 2484) | function genSnapToBoundTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/specialized-tests.ts function genHeatmapTests (line 10) | function genHeatmapTests(): TestCase[] { function genPieTests (line 220) | function genPieTests(): TestCase[] { function genRangedDotPlotTests (line 305) | function genRangedDotPlotTests(): TestCase[] { function genLollipopTests (line 336) | function genLollipopTests(): TestCase[] { function genCustomTests (line 443) | function genCustomTests(): TestCase[] { function genWaterfallTests (line 512) | function genWaterfallTests(): TestCase[] { function genCandlestickTests (line 631) | function genCandlestickTests(): TestCase[] { function genRadarTests (line 788) | function genRadarTests(): TestCase[] { function genPyramidTests (line 979) | function genPyramidTests(): TestCase[] { function genRoseTests (line 1194) | function genRoseTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/stress-tests.ts function genOverflowTests (line 11) | function genOverflowTests(): TestCase[] { function genElasticityTests (line 233) | function genElasticityTests(): TestCase[] { FILE: src/lib/agents-chart/test-data/types.ts type TestCase (line 18) | interface TestCase { type DateFormat (line 38) | interface DateFormat { type GallerySection (line 48) | interface GallerySection { function makeField (line 58) | function makeField(name: string, tableRef = 'test'): FieldItem { function makeEncodingItem (line 62) | function makeEncodingItem(fieldID: string, opts?: Partial)... function inferType (line 66) | function inferType(values: any[]): Type { function buildMetadata (line 77) | function buildMetadata(data: Record[]): Record): vo... function hasContinuousColorOnConnectedMark (line 29) | function hasContinuousColorOnConnectedMark(resolvedEncodings: Record): vo... function hasContinuousColor (line 37) | function hasContinuousColor(resolvedEncodings: Record): boo... function buildContinuousColorLineLayers (line 59) | function buildContinuousColorLineLayers( FILE: src/lib/agents-chart/vegalite/templates/radar.ts function niceMax (line 20) | function niceMax(v: number): number { function buildRadarLayers (line 35) | function buildRadarLayers( FILE: src/lib/agents-chart/vegalite/templates/utils.ts function isEquallyStrided (line 20) | function isEquallyStrided(field: string, table: any[]): boolean { function getFieldCardinality (line 39) | function getFieldCardinality(field: string, table: any[]): number { function resolveDiscreteType (line 47) | function resolveDiscreteType( function resolveAsDiscrete (line 65) | function resolveAsDiscrete( function detectBandedAxisFromSemantics (line 84) | function detectBandedAxisFromSemantics( function detectBandedAxisForceDiscrete (line 126) | function detectBandedAxisForceDiscrete( function setMarkProp (line 175) | function setMarkProp(mark: any, key: string, value: any): any { function maxNonOverlapSize (line 217) | function maxNonOverlapSize( function adjustBarMarks (line 255) | function adjustBarMarks(spec: any, ctx: InstantiateContext): void { function adjustRectTiling (line 305) | function adjustRectTiling(spec: any, ctx: InstantiateContext): void { function ensureDiscreteTypes (line 337) | function ensureDiscreteTypes( FILE: src/views/About.tsx type Feature (line 17) | interface Feature { FILE: src/views/ChartGallery.tsx function buildSharedInputSpec (line 260) | function buildSharedInputSpec(testCase: TestCase): { obj: Record = { constant TYPE_COLORS (line 31) | const TYPE_COLORS: Record = { FILE: src/views/MultiTablePreview.tsx type MultiTablePreviewProps (line 20) | interface MultiTablePreviewProps { FILE: src/views/OperatorCard.tsx type OperatorCardProp (line 20) | interface OperatorCardProp { FILE: src/views/ReactTable.tsx type ColumnDef (line 16) | interface ColumnDef { type CustomReactTableProps (line 25) | interface CustomReactTableProps { FILE: src/views/RefreshDataDialog.tsx type TabPanelProps (line 31) | interface TabPanelProps { function TabPanel (line 37) | function TabPanel(props: TabPanelProps) { type RefreshDataDialogProps (line 52) | interface RefreshDataDialogProps { FILE: src/views/ReportView.tsx constant FONT_FAMILY_SYSTEM (line 57) | const FONT_FAMILY_SYSTEM = '-apple-system, BlinkMacSystemFont, "Segoe UI... constant FONT_FAMILY_SERIF (line 58) | const FONT_FAMILY_SERIF = 'Georgia, Cambria, "Times New Roman", Times, s... constant FONT_FAMILY_MONO (line 59) | const FONT_FAMILY_MONO = '"SFMono-Regular", Menlo, Monaco, Consolas, "Li... constant COLOR_HEADING (line 62) | const COLOR_HEADING = 'rgb(37, 37, 37)'; constant COLOR_BODY (line 63) | const COLOR_BODY = 'rgb(55, 53, 47)'; constant COLOR_MUTED (line 64) | const COLOR_MUTED = 'rgb(73, 73, 73)'; constant COLOR_BG_LIGHT (line 65) | const COLOR_BG_LIGHT = 'rgba(247, 246, 243, 1)'; constant COLOR_SOCIAL_TEXT (line 68) | const COLOR_SOCIAL_TEXT = 'rgb(15, 20, 25)'; constant COLOR_SOCIAL_BORDER (line 69) | const COLOR_SOCIAL_BORDER = 'rgb(207, 217, 222)'; constant COLOR_SOCIAL_ACCENT (line 70) | const COLOR_SOCIAL_ACCENT = 'rgb(29, 155, 240)'; constant COLOR_EXEC_TEXT (line 73) | const COLOR_EXEC_TEXT = 'rgb(33, 37, 41)'; constant COLOR_EXEC_HEADING (line 74) | const COLOR_EXEC_HEADING = 'rgb(20, 24, 28)'; constant COLOR_EXEC_BORDER (line 75) | const COLOR_EXEC_BORDER = 'rgb(108, 117, 125)'; constant COLOR_EXEC_ACCENT (line 76) | const COLOR_EXEC_ACCENT = 'rgb(0, 123, 255)'; constant COLOR_EXEC_BG (line 77) | const COLOR_EXEC_BG = 'rgb(248, 249, 250)'; constant HEADING_BASE (line 80) | const HEADING_BASE = { constant BODY_TEXT_BASE (line 87) | const BODY_TEXT_BASE = { constant TABLE_CELL_BASE (line 96) | const TABLE_CELL_BASE = { FILE: src/views/SelectableDataGrid.tsx type ColumnDef (line 38) | interface ColumnDef { type SelectableDataGridProps (line 49) | interface SelectableDataGridProps { function descendingComparator (line 58) | function descendingComparator(a: T, b: T, orderBy: keyof T) { function getComparator (line 68) | function getComparator( function getColorForFieldSource (line 81) | function getColorForFieldSource(source: string | undefined, theme: any):... type DraggableHeaderProps (line 96) | interface DraggableHeaderProps { FILE: src/views/TableSelectionView.tsx type DatasetMetadata (line 17) | interface DatasetMetadata { type DatasetSelectionViewProps (line 32) | interface DatasetSelectionViewProps { FILE: src/views/TestPanel.tsx type TestPanelProps (line 16) | interface TestPanelProps { type TestPanelState (line 19) | interface TestPanelState { class TestPanel (line 23) | class TestPanel extends React.Component { method constructor (line 25) | constructor(props: TestPanelProps) { method processText (line 32) | private processText(reader: any, state: any) : any { FILE: src/views/UnifiedDataUploadDialog.tsx type UploadTabType (line 60) | type UploadTabType = 'menu' | 'upload' | 'paste' | 'url' | 'database' | ... type TabPanelProps (line 62) | interface TabPanelProps { function TabPanel (line 68) | function TabPanel(props: TabPanelProps) { type DataSourceCardProps (line 86) | interface DataSourceCardProps { type DataLoadMenuProps (line 179) | interface DataLoadMenuProps { type UnifiedDataUploadDialogProps (line 441) | interface UnifiedDataUploadDialogProps { FILE: src/views/VisualizationView.tsx type VisPanelProps (line 84) | interface VisPanelProps { } type VisPanelState (line 86) | interface VisPanelState { function listen (line 421) | function listen(evt: MessageEvent) { function send (line 429) | function send() { function listen (line 516) | function listen(evt: MessageEvent) { function send (line 523) | function send() { function fetchDisplayRows (line 635) | async function fetchDisplayRows(sampleSize?: number) { FILE: src/views/useFormulateData.ts type IdeaItem (line 10) | type IdeaItem = { type StreamIdeasOptions (line 17) | interface StreamIdeasOptions { type FormulateDataOptions (line 33) | interface FormulateDataOptions { function generateTableId (line 63) | function generateTableId(tables: DictTable[]): string { function useFormulateData (line 77) | function useFormulateData() {