gitextract_wkfrsja_/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── docs.yml │ ├── publish.yml │ └── runledger.yml ├── .gitignore ├── CONTRIBUTING.md ├── Dockerfile.python-executor ├── LICENSE ├── README.md ├── baselines/ │ └── runledger-openchatbi.json ├── docs/ │ ├── Makefile │ ├── make.bat │ └── source/ │ ├── _templates/ │ │ └── layout.html │ ├── catalog.rst │ ├── code.rst │ ├── conf.py │ ├── config.rst │ ├── core.rst │ ├── index.rst │ ├── llm.rst │ ├── text2sql.rst │ ├── timeseries.rst │ └── tools.rst ├── evals/ │ ├── __init__.py │ └── runledger/ │ ├── README.md │ ├── __init__.py │ ├── agent/ │ │ └── agent.py │ ├── cases/ │ │ └── t1.yaml │ ├── cassettes/ │ │ └── t1.jsonl │ ├── schema.json │ ├── suite.yaml │ └── tools.py ├── example/ │ ├── bi.yaml │ ├── common_columns.csv │ ├── config.yaml │ ├── sql_example.yaml │ ├── table_columns.csv │ ├── table_info.yaml │ └── table_selection_example.csv ├── openchatbi/ │ ├── __init__.py │ ├── agent_graph.py │ ├── catalog/ │ │ ├── __init__.py │ │ ├── catalog_loader.py │ │ ├── catalog_store.py │ │ ├── factory.py │ │ ├── helper.py │ │ ├── retrival_helper.py │ │ ├── schema_retrival.py │ │ ├── store/ │ │ │ ├── __init__.py │ │ │ └── file_system.py │ │ └── token_service.py │ ├── code/ │ │ ├── docker_executor.py │ │ ├── executor_base.py │ │ ├── local_executor.py │ │ └── restricted_local_executor.py │ ├── config.yaml.template │ ├── config_loader.py │ ├── constants.py │ ├── context_config.py │ ├── context_manager.py │ ├── graph_state.py │ ├── llm/ │ │ └── llm.py │ ├── prompts/ │ │ ├── agent_prompt.md │ │ ├── extraction_prompt.md │ │ ├── schema_linking_prompt.md │ │ ├── sql_dialect/ │ │ │ └── presto.md │ │ ├── summary_prompt.md │ │ ├── system_prompt.py │ │ ├── text2sql_prompt.md │ │ └── visualization_prompt.md │ ├── text2sql/ │ │ ├── __init__.py │ │ ├── data.py │ │ ├── extraction.py │ │ ├── generate_sql.py │ │ ├── schema_linking.py │ │ ├── sql_graph.py │ │ ├── text2sql_utils.py │ │ └── visualization.py │ ├── text_segmenter.py │ ├── tool/ │ │ ├── ask_human.py │ │ ├── mcp_tools.py │ │ ├── memory.py │ │ ├── run_python_code.py │ │ ├── save_report.py │ │ ├── search_knowledge.py │ │ └── timeseries_forecast.py │ └── utils.py ├── pyproject.toml ├── run_streamlit_ui.py ├── run_tests.py ├── sample_api/ │ └── async_api.py ├── sample_ui/ │ ├── async_graph_manager.py │ ├── memory_ui.py │ ├── plotly_utils.py │ ├── simple_ui.py │ ├── streaming_ui.py │ ├── streamlit_ui.py │ └── style.py ├── tests/ │ ├── README.md │ ├── __init__.py │ ├── conftest.py │ ├── context_management/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── test_agent_graph_integration.py │ │ ├── test_context_config.py │ │ ├── test_context_manager.py │ │ ├── test_edge_cases.py │ │ ├── test_runner.py │ │ └── test_state_operations.py │ ├── test_catalog_loader.py │ ├── test_catalog_store.py │ ├── test_config_loader.py │ ├── test_graph_state.py │ ├── test_incomplete_tool_calls.py │ ├── test_memory.py │ ├── test_plotly_utils.py │ ├── test_simple_store.py │ ├── test_text2sql_extraction.py │ ├── test_text2sql_generate_sql.py │ ├── test_text2sql_schema_linking.py │ ├── test_text2sql_visualization.py │ ├── test_tools_ask_human.py │ ├── test_tools_run_python_code.py │ ├── test_tools_search_knowledge.py │ └── test_utils.py └── timeseries_forecasting/ ├── Dockerfile ├── README.md ├── app.py ├── build_and_run.sh ├── model_handler.py └── test_forecasting.py