gitextract_1iqodypf/ ├── .claude/ │ ├── CLAUDE.md │ └── settings.json ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── dependabot.yaml │ └── workflows/ │ ├── ai-service-release-image.yaml │ ├── ai-service-release-nightly-image.yaml │ ├── ai-service-release-stable-image.yaml │ ├── ai-service-test.yaml │ ├── create-rc-release-pr.yaml │ ├── create-rc-release.yaml │ ├── pr-tagger.yaml │ ├── pull-request-title-validator.yaml │ ├── ui-lint.yaml │ ├── ui-release-image-stable.yaml │ ├── ui-release-image.yaml │ ├── ui-test.yaml │ └── wren-launcher-ci.yaml ├── .gitignore ├── .gitmodules ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── deployment/ │ ├── README.md │ └── kustomizations/ │ ├── .gitignore │ ├── README.md │ ├── base/ │ │ ├── cm.yaml │ │ ├── deploy-wren-ai-service.yaml │ │ ├── deploy-wren-engine.yaml │ │ ├── deploy-wren-ibis-server.yaml │ │ ├── deploy-wren-ui.yaml │ │ ├── pvc.yaml │ │ └── svc.yaml │ ├── examples/ │ │ ├── .gitignore │ │ ├── certificate-qdrant_example.yaml │ │ ├── certificate-wren_example.yaml │ │ ├── ingress-wren_example.yaml │ │ └── secret-wren_example.yaml │ ├── helm-values-qdrant_1.11.0.yaml │ ├── helm-values_postgresql_15.yaml │ ├── kustomization.yaml │ └── patches/ │ ├── README.md │ ├── cm.yaml │ ├── rm-certificate.yaml │ ├── rm-ingress.yaml │ └── service.yaml ├── docker/ │ ├── README.md │ ├── bootstrap/ │ │ ├── Dockerfile │ │ └── init.sh │ ├── config.example.yaml │ ├── docker-compose-dev.yaml │ └── docker-compose.yaml ├── wren-ai-service/ │ ├── .dockerignore │ ├── .pre-commit-config.yaml │ ├── CONTRIBUTING.md │ ├── Justfile │ ├── README.md │ ├── docker/ │ │ └── Dockerfile │ ├── docs/ │ │ ├── code_design.md │ │ ├── config_examples/ │ │ │ ├── README.md │ │ │ ├── config.anthropic.yaml │ │ │ ├── config.azure.yaml │ │ │ ├── config.bedrock.yaml │ │ │ ├── config.deepseek.yaml │ │ │ ├── config.google_ai_studio.yaml │ │ │ ├── config.google_vertexai.yaml │ │ │ ├── config.grok.yaml │ │ │ ├── config.groq.yaml │ │ │ ├── config.lm_studio.yaml │ │ │ ├── config.ollama.yaml │ │ │ ├── config.open_router.yaml │ │ │ ├── config.qwen3.yaml │ │ │ └── config.zhipu.yaml │ │ └── configuration.md │ ├── entrypoint.sh │ ├── eval/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── __init__.py │ │ ├── add_samples_to_toml.py │ │ ├── data_curation/ │ │ │ ├── __init__.py │ │ │ ├── app.py │ │ │ └── utils.py │ │ ├── dataset/ │ │ │ └── .gitignore │ │ ├── dspy_modules/ │ │ │ ├── __init__.py │ │ │ ├── ask_generation.py │ │ │ └── prompt_optimizer.py │ │ ├── evaluation.py │ │ ├── mdl_to_csv.py │ │ ├── metrics/ │ │ │ ├── __init__.py │ │ │ ├── accuracy.py │ │ │ ├── answer_relevancy.py │ │ │ ├── context_precision.py │ │ │ ├── context_recall.py │ │ │ ├── context_relevancy.py │ │ │ ├── faithfulness.py │ │ │ ├── llm/ │ │ │ │ └── __init__.py │ │ │ └── spider/ │ │ │ ├── __init__.py │ │ │ ├── exact_match.py │ │ │ ├── exec_match.py │ │ │ └── process_sql.py │ │ ├── optimized/ │ │ │ └── .gitignore │ │ ├── pipelines.py │ │ ├── prediction.py │ │ ├── preparation.py │ │ └── utils.py │ ├── pyproject.toml │ ├── ruff.toml │ ├── src/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── config.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── engine.py │ │ │ ├── pipeline.py │ │ │ └── provider.py │ │ ├── force_deploy.py │ │ ├── force_update_config.py │ │ ├── globals.py │ │ ├── pipelines/ │ │ │ ├── __init__.py │ │ │ ├── common.py │ │ │ ├── generation/ │ │ │ │ ├── __init__.py │ │ │ │ ├── chart_adjustment.py │ │ │ │ ├── chart_generation.py │ │ │ │ ├── data_assistance.py │ │ │ │ ├── followup_sql_generation.py │ │ │ │ ├── followup_sql_generation_reasoning.py │ │ │ │ ├── intent_classification.py │ │ │ │ ├── misleading_assistance.py │ │ │ │ ├── question_recommendation.py │ │ │ │ ├── relationship_recommendation.py │ │ │ │ ├── semantics_description.py │ │ │ │ ├── sql_answer.py │ │ │ │ ├── sql_correction.py │ │ │ │ ├── sql_diagnosis.py │ │ │ │ ├── sql_generation.py │ │ │ │ ├── sql_generation_reasoning.py │ │ │ │ ├── sql_question.py │ │ │ │ ├── sql_regeneration.py │ │ │ │ ├── sql_tables_extraction.py │ │ │ │ ├── user_guide_assistance.py │ │ │ │ └── utils/ │ │ │ │ ├── chart.py │ │ │ │ ├── sql.py │ │ │ │ └── vega-lite-schema-v5.json │ │ │ ├── indexing/ │ │ │ │ ├── __init__.py │ │ │ │ ├── db_schema.py │ │ │ │ ├── historical_question.py │ │ │ │ ├── instructions.py │ │ │ │ ├── project_meta.py │ │ │ │ ├── sql_pairs.py │ │ │ │ ├── table_description.py │ │ │ │ └── utils/ │ │ │ │ └── helper.py │ │ │ └── retrieval/ │ │ │ ├── __init__.py │ │ │ ├── db_schema_retrieval.py │ │ │ ├── historical_question_retrieval.py │ │ │ ├── instructions.py │ │ │ ├── preprocess_sql_data.py │ │ │ ├── sql_executor.py │ │ │ ├── sql_functions.py │ │ │ ├── sql_knowledge.py │ │ │ └── sql_pairs_retrieval.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── document_store/ │ │ │ │ ├── __init__.py │ │ │ │ └── qdrant.py │ │ │ ├── embedder/ │ │ │ │ ├── __init__.py │ │ │ │ └── litellm.py │ │ │ ├── engine/ │ │ │ │ ├── __init__.py │ │ │ │ └── wren.py │ │ │ ├── llm/ │ │ │ │ ├── __init__.py │ │ │ │ └── litellm.py │ │ │ └── loader.py │ │ ├── utils.py │ │ └── web/ │ │ ├── __init__.py │ │ ├── development.py │ │ └── v1/ │ │ ├── __init__.py │ │ ├── routers/ │ │ │ ├── __init__.py │ │ │ ├── ask.py │ │ │ ├── ask_feedbacks.py │ │ │ ├── chart.py │ │ │ ├── chart_adjustment.py │ │ │ ├── instructions.py │ │ │ ├── question_recommendation.py │ │ │ ├── relationship_recommendation.py │ │ │ ├── semantics_description.py │ │ │ ├── semantics_preparation.py │ │ │ ├── sql_answers.py │ │ │ ├── sql_corrections.py │ │ │ ├── sql_pairs.py │ │ │ └── sql_question.py │ │ └── services/ │ │ ├── __init__.py │ │ ├── ask.py │ │ ├── ask_feedback.py │ │ ├── chart.py │ │ ├── chart_adjustment.py │ │ ├── instructions.py │ │ ├── question_recommendation.py │ │ ├── relationship_recommendation.py │ │ ├── semantics_description.py │ │ ├── semantics_preparation.py │ │ ├── sql_answer.py │ │ ├── sql_corrections.py │ │ ├── sql_pairs.py │ │ └── sql_question.py │ ├── tests/ │ │ ├── __init__.py │ │ ├── data/ │ │ │ ├── book_2_mdl.json │ │ │ ├── config.test.yaml │ │ │ ├── mock_pyproject.toml │ │ │ └── pairs.json │ │ ├── locust/ │ │ │ ├── __init__.py │ │ │ ├── config_users.json │ │ │ ├── locust.conf │ │ │ ├── locust_script.py │ │ │ └── locustfile.py │ │ └── pytest/ │ │ ├── __init__.py │ │ ├── eval/ │ │ │ ├── __init__.py │ │ │ └── test_metrics.py │ │ ├── pipelines/ │ │ │ ├── __init__.py │ │ │ ├── generation/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_ask.py │ │ │ │ └── test_semantics_enrichment.py │ │ │ ├── indexing/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_db_schema.py │ │ │ │ ├── test_helper.py │ │ │ │ ├── test_historical_questions.py │ │ │ │ ├── test_indexing.py │ │ │ │ ├── test_instructions.py │ │ │ │ ├── test_sql_pairs.py │ │ │ │ └── test_table_description.py │ │ │ └── retrieval/ │ │ │ ├── __init__.py │ │ │ └── sql_function.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── test_loader.py │ │ │ └── test_providers.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── mocks.py │ │ │ ├── test_ask.py │ │ │ ├── test_instructions.py │ │ │ ├── test_relationship_recommendation.py │ │ │ ├── test_semantics_description.py │ │ │ └── test_sql_pairs.py │ │ ├── test_config.py │ │ ├── test_main.py │ │ ├── test_usecases.py │ │ └── test_utils.py │ └── tools/ │ ├── .env.example │ ├── config/ │ │ ├── config.example.yaml │ │ └── config.full.yaml │ ├── dev/ │ │ ├── config.properties.example │ │ └── docker-compose-dev.yaml │ ├── mdl_to_str.py │ └── run_sql.py ├── wren-launcher/ │ ├── .golangci.yml │ ├── Makefile │ ├── README.md │ ├── commands/ │ │ ├── dbt/ │ │ │ ├── README.md │ │ │ ├── converter.go │ │ │ ├── data_source.go │ │ │ ├── data_source_test.go │ │ │ ├── profiles.go │ │ │ ├── profiles_analyzer.go │ │ │ ├── utils.go │ │ │ └── wren_mdl.go │ │ ├── dbt.go │ │ └── launch.go │ ├── config/ │ │ └── config.go │ ├── go.mod │ ├── go.sum │ ├── main.go │ └── utils/ │ ├── docker.go │ ├── docker_test.go │ ├── network.go │ ├── os.go │ ├── rc.go │ └── rc_test.go ├── wren-mdl/ │ └── mdl.schema.json └── wren-ui/ ├── .dockerignore ├── .eslintignore ├── .eslintrc.json ├── .prettierrc ├── .yarn/ │ └── releases/ │ └── yarn-4.5.3.cjs ├── .yarnrc.yml ├── Dockerfile ├── README.md ├── codegen.yaml ├── e2e/ │ ├── README.md │ ├── commonTests/ │ │ ├── home.ts │ │ ├── modeling.ts │ │ └── onboarding.ts │ ├── config.ts │ ├── global.setup.ts │ ├── global.teardown.ts │ ├── helper.ts │ └── specs/ │ ├── connectBigQuery.spec.ts │ ├── connectClickHouse.spec.ts │ ├── connectDuckDB.spec.ts │ ├── connectMySQL.spec.ts │ ├── connectPostgreSQL.spec.ts │ ├── connectSQLServer.spec.ts │ ├── connectSampleECommerce.spec.ts │ ├── connectSampleHR.spec.ts │ ├── connectSnowflake.spec.ts │ └── connectTrino.spec.ts ├── jest.config.js ├── knexfile.js ├── migrations/ │ ├── 20240125070643_create_project_table.js │ ├── 20240125071855_create_model_table.js │ ├── 20240125081244_create_model_column_table.js │ ├── 20240125083821_create_relation_table.js │ ├── 20240125085655_create_metrics_table.js │ ├── 20240126100753_create_metrics_measure_table.js │ ├── 20240129021453_create_view_table.js │ ├── 20240319083758_create_deploy_table.js │ ├── 20240327030000_create_ask_table.js │ ├── 20240418000000_update_project_table_pg.js │ ├── 20240419090558_add_foreign_key_to_model_column_and_metric_measure.js │ ├── 20240425000000_add_thread_response_summary.js │ ├── 20240430033014_update_model_column_table.js │ ├── 20240446090560_update_relationship_table.js │ ├── 20240502000000_add_properties_to_relationship.js │ ├── 20240524044348_update_project_table.js │ ├── 20240524071859_update_thread_table.js │ ├── 20240530062133_update_project_table.js │ ├── 20240530062809_transfer_project_table_data.js │ ├── 20240530105955_drop_project_table_columns.js │ ├── 20240531085916_transfer_model_properties.js │ ├── 20240610070534_create_schema_change_table.js │ ├── 20240928165009_create_model_nested_column.js │ ├── 20241021073019_update_project_language.js │ ├── 20241029092204_create_learning_table.js │ ├── 20241106232204_update_project_table.js │ ├── 20241107171828_update_thread_table.js │ ├── 20241115031024_drop_thread_response_table_column.js │ ├── 20241207000000_update_thread_response_for_answer.js │ ├── 20241210072534_update_thread_response_table.js │ ├── 20241226135712_remove_thread_sql.js │ ├── 20250102074255_create_dashboard_table.js │ ├── 20250102074256_create_dashboard_item_table.js │ ├── 20250102074256_create_sql_pair_table.js │ ├── 20250311046282_create_instruction_table.js │ ├── 20250320074256_alter_sql_pair_table.js │ ├── 20250422000000_alter_dashboard_table.js │ ├── 20250423000000_create_dashboard_cache_refresh_table.js │ ├── 20250509000000_create_asking_task.js │ ├── 20250509000001_add_task_id_to_thread.js │ ├── 20250510000000_add_adjustment_to_thread_response.js │ ├── 20250510000001_alter_dashboard_item_table.js │ ├── 20250510000002_add_version_to_project.js │ └── 20250511000000-create-api-history.js ├── next.config.js ├── openapi.yaml ├── package.json ├── playwright.config.ts ├── src/ │ ├── apollo/ │ │ ├── client/ │ │ │ ├── graphql/ │ │ │ │ ├── __types__.ts │ │ │ │ ├── apiManagement.generated.ts │ │ │ │ ├── apiManagement.ts │ │ │ │ ├── calculatedField.generated.ts │ │ │ │ ├── calculatedField.ts │ │ │ │ ├── dashboard.generated.ts │ │ │ │ ├── dashboard.ts │ │ │ │ ├── dataSource.generated.ts │ │ │ │ ├── dataSource.ts │ │ │ │ ├── deploy.generated.ts │ │ │ │ ├── deploy.ts │ │ │ │ ├── diagram.generated.ts │ │ │ │ ├── diagram.ts │ │ │ │ ├── home.generated.ts │ │ │ │ ├── home.ts │ │ │ │ ├── instructions.generated.ts │ │ │ │ ├── instructions.ts │ │ │ │ ├── learning.generated.ts │ │ │ │ ├── learning.ts │ │ │ │ ├── metadata.generated.ts │ │ │ │ ├── metadata.ts │ │ │ │ ├── model.generated.ts │ │ │ │ ├── model.ts │ │ │ │ ├── onboarding.generated.ts │ │ │ │ ├── onboarding.ts │ │ │ │ ├── relationship.generated.ts │ │ │ │ ├── relationship.ts │ │ │ │ ├── settings.generated.ts │ │ │ │ ├── settings.ts │ │ │ │ ├── sql.generated.ts │ │ │ │ ├── sql.ts │ │ │ │ ├── sqlPairs.generated.ts │ │ │ │ ├── sqlPairs.ts │ │ │ │ ├── view.generated.ts │ │ │ │ └── view.ts │ │ │ └── index.ts │ │ └── server/ │ │ ├── adaptors/ │ │ │ ├── ibisAdaptor.ts │ │ │ ├── index.ts │ │ │ ├── tests/ │ │ │ │ ├── ibisAdaptor.test.ts │ │ │ │ └── wrenAIAdaptor.test.ts │ │ │ ├── wrenAIAdaptor.ts │ │ │ └── wrenEngineAdaptor.ts │ │ ├── backgrounds/ │ │ │ ├── adjustmentBackgroundTracker.ts │ │ │ ├── chart.ts │ │ │ ├── dashboardCacheBackgroundTracker.ts │ │ │ ├── index.ts │ │ │ ├── recommend-question.ts │ │ │ └── textBasedAnswerBackgroundTracker.ts │ │ ├── config.ts │ │ ├── data/ │ │ │ ├── index.ts │ │ │ ├── sample.ts │ │ │ └── type.ts │ │ ├── dataSource.ts │ │ ├── index.ts │ │ ├── managers/ │ │ │ └── dataSourceSchemaDetector.ts │ │ ├── mdl/ │ │ │ ├── mdlBuilder.ts │ │ │ ├── test/ │ │ │ │ └── mdlBuilder.test.ts │ │ │ └── type.ts │ │ ├── models/ │ │ │ ├── adaptor.ts │ │ │ ├── dashboard.ts │ │ │ ├── index.ts │ │ │ ├── instruction.ts │ │ │ └── model.ts │ │ ├── repositories/ │ │ │ ├── apiHistoryRepository.ts │ │ │ ├── askingTaskRepository.ts │ │ │ ├── baseRepository.ts │ │ │ ├── dashboardItemRefreshJobRepository.ts │ │ │ ├── dashboardItemRepository.ts │ │ │ ├── dashboardRepository.ts │ │ │ ├── deployLogRepository.ts │ │ │ ├── index.ts │ │ │ ├── instructionRepository.ts │ │ │ ├── learningRepository.ts │ │ │ ├── metricsMeasureRepository.ts │ │ │ ├── metricsRepository.ts │ │ │ ├── modelColumnRepository.ts │ │ │ ├── modelNestedColumnRepository.ts │ │ │ ├── modelRepository.ts │ │ │ ├── projectRepository.ts │ │ │ ├── relationshipRepository.ts │ │ │ ├── schemaChangeRepository.ts │ │ │ ├── sqlPairRepository.ts │ │ │ ├── threadRepository.ts │ │ │ ├── threadResponseRepository.ts │ │ │ └── viewRepository.ts │ │ ├── resolvers/ │ │ │ ├── apiHistoryResolver.ts │ │ │ ├── askingResolver.ts │ │ │ ├── dashboardResolver.ts │ │ │ ├── diagramResolver.ts │ │ │ ├── instructionResolver.ts │ │ │ ├── learningResolver.ts │ │ │ ├── modelResolver.ts │ │ │ ├── projectResolver.ts │ │ │ └── sqlPairResolver.ts │ │ ├── resolvers.ts │ │ ├── scalars.ts │ │ ├── schema.ts │ │ ├── services/ │ │ │ ├── askingService.ts │ │ │ ├── askingTaskTracker.ts │ │ │ ├── dashboardService.ts │ │ │ ├── deployService.ts │ │ │ ├── index.ts │ │ │ ├── instructionService.ts │ │ │ ├── mdlService.ts │ │ │ ├── metadataService.ts │ │ │ ├── modelService.ts │ │ │ ├── projectService.ts │ │ │ ├── queryService.ts │ │ │ ├── sqlPairService.ts │ │ │ └── tests/ │ │ │ ├── askingService.test.ts │ │ │ ├── dashboardService.test.ts │ │ │ ├── deployService.test.ts │ │ │ └── queryService.test.ts │ │ ├── telemetry/ │ │ │ └── telemetry.ts │ │ ├── types/ │ │ │ ├── context.ts │ │ │ ├── dataSource.ts │ │ │ ├── diagram.ts │ │ │ ├── index.ts │ │ │ ├── manifest.ts │ │ │ ├── metric.ts │ │ │ └── relationship.ts │ │ └── utils/ │ │ ├── apiUtils.ts │ │ ├── dataUtils.ts │ │ ├── docker.ts │ │ ├── encode.ts │ │ ├── encryptor.ts │ │ ├── error.ts │ │ ├── helper.ts │ │ ├── index.ts │ │ ├── knex.ts │ │ ├── logger.ts │ │ ├── model.ts │ │ ├── regex.ts │ │ ├── sqlFormat.ts │ │ ├── sseTypes.ts │ │ ├── sseUtils.ts │ │ ├── string.ts │ │ ├── tests/ │ │ │ ├── dataSource.test.ts │ │ │ ├── encryptor.test.ts │ │ │ └── regex.test.ts │ │ └── timezone.ts │ ├── common.ts │ ├── components/ │ │ ├── ActionButton.tsx │ │ ├── EditableWrapper.tsx │ │ ├── EllipsisWrapper.tsx │ │ ├── ErrorCollapse.tsx │ │ ├── HeaderBar.tsx │ │ ├── Logo.tsx │ │ ├── LogoBar.tsx │ │ ├── PageLoading.tsx │ │ ├── chart/ │ │ │ ├── handler.ts │ │ │ ├── index.tsx │ │ │ └── properties/ │ │ │ ├── BasicProperties.tsx │ │ │ ├── DonutProperties.tsx │ │ │ ├── GroupedBarProperties.tsx │ │ │ ├── LineProperties.tsx │ │ │ └── StackedBarProperties.tsx │ │ ├── code/ │ │ │ ├── BaseCodeBlock.tsx │ │ │ ├── JsonCodeBlock.tsx │ │ │ └── SQLCodeBlock.tsx │ │ ├── dataPreview/ │ │ │ ├── PreviewData.tsx │ │ │ └── PreviewDataContent.tsx │ │ ├── deploy/ │ │ │ ├── Context.ts │ │ │ └── Deploy.tsx │ │ ├── diagram/ │ │ │ ├── Context.ts │ │ │ ├── CustomDropdown.tsx │ │ │ ├── CustomPopover.tsx │ │ │ ├── Marker.tsx │ │ │ ├── customEdge/ │ │ │ │ ├── ModelEdge.tsx │ │ │ │ └── index.ts │ │ │ ├── customNode/ │ │ │ │ ├── Column.tsx │ │ │ │ ├── MarkerHandle.tsx │ │ │ │ ├── ModelNode.tsx │ │ │ │ ├── ViewNode.tsx │ │ │ │ ├── index.ts │ │ │ │ └── utils.tsx │ │ │ ├── index.tsx │ │ │ └── utils.ts │ │ ├── editor/ │ │ │ ├── AceEditor.tsx │ │ │ ├── MarkdownBlock.tsx │ │ │ ├── MarkdownEditor.tsx │ │ │ └── SQLEditor.tsx │ │ ├── layouts/ │ │ │ ├── PageLayout.tsx │ │ │ ├── SiderLayout.tsx │ │ │ └── SimpleLayout.tsx │ │ ├── learning/ │ │ │ ├── guide/ │ │ │ │ ├── index.tsx │ │ │ │ ├── stories.tsx │ │ │ │ └── utils.ts │ │ │ └── index.tsx │ │ ├── modals/ │ │ │ ├── AdjustReasoningStepsModal.tsx │ │ │ ├── AdjustSQLModal.tsx │ │ │ ├── CalculatedFieldModal.tsx │ │ │ ├── DeleteModal.tsx │ │ │ ├── FixSQLModal.tsx │ │ │ ├── ImportDataSourceSQLModal.tsx │ │ │ ├── InstructionModal.tsx │ │ │ ├── QuestionSQLPairModal.tsx │ │ │ ├── RelationModal.tsx │ │ │ ├── SaveAsViewModal.tsx │ │ │ └── SchemaChangeModal.tsx │ │ ├── pages/ │ │ │ ├── apiManagement/ │ │ │ │ └── DetailsDrawer.tsx │ │ │ ├── home/ │ │ │ │ ├── RecommendedQuestions.tsx │ │ │ │ ├── dashboardGrid/ │ │ │ │ │ ├── CacheSettingsDrawer.tsx │ │ │ │ │ ├── DashboardHeader.tsx │ │ │ │ │ ├── EmptyDashboard.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── preparation/ │ │ │ │ │ ├── ErrorBoundary.tsx │ │ │ │ │ ├── PreparationStatus.tsx │ │ │ │ │ ├── PreparationSteps.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── step/ │ │ │ │ │ ├── FixedSQLFinished.tsx │ │ │ │ │ ├── Generating.tsx │ │ │ │ │ ├── Organizing.tsx │ │ │ │ │ ├── Retrieving.tsx │ │ │ │ │ ├── SQLPairFinished.tsx │ │ │ │ │ └── ViewFinished.tsx │ │ │ │ ├── prompt/ │ │ │ │ │ ├── DemoPrompt.tsx │ │ │ │ │ ├── Input.tsx │ │ │ │ │ ├── RecommendedQuestionsPrompt.tsx │ │ │ │ │ ├── Result.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── promptThread/ │ │ │ │ ├── AnswerResult.tsx │ │ │ │ ├── ChartAnswer.tsx │ │ │ │ ├── TextBasedAnswer.tsx │ │ │ │ ├── ViewBlock.tsx │ │ │ │ ├── ViewSQLTabContent.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── store.tsx │ │ │ ├── knowledge/ │ │ │ │ ├── GlobalLabel.tsx │ │ │ │ ├── InstructionDrawer.tsx │ │ │ │ └── SQLPairDrawer.tsx │ │ │ ├── modeling/ │ │ │ │ ├── EditMetadataModal.tsx │ │ │ │ ├── MetadataDrawer.tsx │ │ │ │ ├── ModelDrawer.tsx │ │ │ │ ├── form/ │ │ │ │ │ └── ModelForm.tsx │ │ │ │ └── metadata/ │ │ │ │ ├── EditBasicMetadata.tsx │ │ │ │ ├── EditModelMetadata.tsx │ │ │ │ ├── EditViewMetadata.tsx │ │ │ │ ├── ModelMetadata.tsx │ │ │ │ └── ViewMetadata.tsx │ │ │ └── setup/ │ │ │ ├── ButtonItem.tsx │ │ │ ├── ConnectDataSource.tsx │ │ │ ├── ContainerCard.tsx │ │ │ ├── DefineRelations.tsx │ │ │ ├── SelectModels.tsx │ │ │ ├── Starter.tsx │ │ │ ├── dataSources/ │ │ │ │ ├── AthenaProperties.tsx │ │ │ │ ├── BigQueryProperties.tsx │ │ │ │ ├── ClickHouseProperties.tsx │ │ │ │ ├── DatabricksProperties.tsx │ │ │ │ ├── DuckDBProperties.tsx │ │ │ │ ├── MySQLProperties.tsx │ │ │ │ ├── OracleProperties.tsx │ │ │ │ ├── PostgreSQLProperties.tsx │ │ │ │ ├── RedshiftProperties.tsx │ │ │ │ ├── SQLServerProperties.tsx │ │ │ │ ├── SnowflakeProperties.tsx │ │ │ │ └── TrinoProperties.tsx │ │ │ └── utils.tsx │ │ ├── selectors/ │ │ │ ├── CombineFieldSelector.tsx │ │ │ ├── DescriptiveSelector.tsx │ │ │ ├── Selector.tsx │ │ │ └── lineageSelector/ │ │ │ ├── FieldSelect.tsx │ │ │ └── index.tsx │ │ ├── settings/ │ │ │ ├── DataSourceSettings.tsx │ │ │ ├── ProjectSettings.tsx │ │ │ ├── index.tsx │ │ │ └── utils.tsx │ │ ├── sidebar/ │ │ │ ├── APIManagement.tsx │ │ │ ├── Home.tsx │ │ │ ├── Knowledge.tsx │ │ │ ├── LabelTitle.tsx │ │ │ ├── Modeling.tsx │ │ │ ├── SidebarMenu.tsx │ │ │ ├── SidebarTree.tsx │ │ │ ├── home/ │ │ │ │ ├── ThreadTree.tsx │ │ │ │ ├── TreeTitle.tsx │ │ │ │ └── TreeTitleInput.tsx │ │ │ ├── index.tsx │ │ │ ├── modeling/ │ │ │ │ ├── GroupTreeTitle.tsx │ │ │ │ ├── ModelTree.tsx │ │ │ │ └── ViewTree.tsx │ │ │ └── utils.tsx │ │ └── table/ │ │ ├── BaseTable.tsx │ │ ├── CalculatedFieldTable.tsx │ │ ├── EditableBaseTable.tsx │ │ ├── FieldTable.tsx │ │ ├── ModelRelationSelectionTable.tsx │ │ ├── MultiSelectBox.tsx │ │ ├── NestedFieldTable.tsx │ │ ├── RelationTable.tsx │ │ ├── SelectionTable.tsx │ │ └── TableTransfer.tsx │ ├── hooks/ │ │ ├── .gitkeep │ │ ├── useAdjustAnswer.tsx │ │ ├── useAskProcessState.tsx │ │ ├── useAskPrompt.tsx │ │ ├── useAskingStreamTask.tsx │ │ ├── useAutoComplete.tsx │ │ ├── useCheckOnboarding.tsx │ │ ├── useCombineFieldOptions.tsx │ │ ├── useDrawerAction.tsx │ │ ├── useDropdown.tsx │ │ ├── useExpressionFieldOptions.tsx │ │ ├── useGlobalConfig.tsx │ │ ├── useHomeSidebar.tsx │ │ ├── useModalAction.tsx │ │ ├── useNativeSQL.tsx │ │ ├── useRecommendedQuestionsInstruction.tsx │ │ ├── useRelationshipModal.tsx │ │ ├── useSetupConnection.tsx │ │ ├── useSetupConnectionDataSource.tsx │ │ ├── useSetupConnectionSampleDataset.tsx │ │ ├── useSetupModels.tsx │ │ ├── useSetupRelations.tsx │ │ ├── useStoreContext.tsx │ │ └── useTextBasedAnswerStreamTask.tsx │ ├── import/ │ │ ├── antd.ts │ │ └── icon.ts │ ├── pages/ │ │ ├── _app.tsx │ │ ├── _document.tsx │ │ ├── api/ │ │ │ ├── ask_task/ │ │ │ │ ├── streaming.ts │ │ │ │ └── streaming_answer.ts │ │ │ ├── config.ts │ │ │ ├── graphql.ts │ │ │ └── v1/ │ │ │ ├── ask.ts │ │ │ ├── generate_sql.ts │ │ │ ├── generate_summary.ts │ │ │ ├── generate_vega_chart.ts │ │ │ ├── knowledge/ │ │ │ │ ├── instructions/ │ │ │ │ │ ├── [id].ts │ │ │ │ │ └── index.ts │ │ │ │ └── sql_pairs/ │ │ │ │ ├── [id].ts │ │ │ │ └── index.ts │ │ │ ├── models.ts │ │ │ ├── run_sql.ts │ │ │ ├── stream/ │ │ │ │ ├── ask.ts │ │ │ │ └── generate_sql.ts │ │ │ └── stream_explanation.ts │ │ ├── api-management/ │ │ │ └── history.tsx │ │ ├── home/ │ │ │ ├── [id].tsx │ │ │ ├── dashboard.tsx │ │ │ └── index.tsx │ │ ├── index.tsx │ │ ├── knowledge/ │ │ │ ├── instructions.tsx │ │ │ └── question-sql-pairs.tsx │ │ ├── modeling.tsx │ │ └── setup/ │ │ ├── connection.tsx │ │ ├── models.tsx │ │ └── relationships.tsx │ ├── styles/ │ │ ├── antd-variables.less │ │ ├── components/ │ │ │ ├── alert.less │ │ │ ├── avatar.less │ │ │ ├── button.less │ │ │ ├── chart.less │ │ │ ├── driver.less │ │ │ ├── scrollbar.less │ │ │ ├── select.less │ │ │ ├── table.less │ │ │ ├── tag.less │ │ │ └── transfer.less │ │ ├── index.less │ │ ├── layouts/ │ │ │ ├── global.less │ │ │ └── main.less │ │ └── utilities/ │ │ ├── animation.less │ │ ├── border.less │ │ ├── color.less │ │ ├── display.less │ │ ├── flex.less │ │ ├── grid.less │ │ ├── spacing.less │ │ └── text.less │ └── utils/ │ ├── columnType.tsx │ ├── data/ │ │ ├── dictionary.ts │ │ ├── index.ts │ │ └── type/ │ │ ├── index.ts │ │ └── modeling.ts │ ├── dataSourceType.ts │ ├── diagram/ │ │ ├── creator.ts │ │ ├── index.ts │ │ └── transformer.ts │ ├── enum/ │ │ ├── columnType.ts │ │ ├── dataSources.ts │ │ ├── diagram.ts │ │ ├── dropdown.ts │ │ ├── form.ts │ │ ├── home.ts │ │ ├── index.ts │ │ ├── menu.ts │ │ ├── modeling.ts │ │ ├── path.ts │ │ ├── settings.ts │ │ └── setup.ts │ ├── env.ts │ ├── error/ │ │ ├── dictionary.ts │ │ └── index.ts │ ├── errorHandler.tsx │ ├── events.tsx │ ├── expressionType.ts │ ├── file.ts │ ├── helper.ts │ ├── icons.ts │ ├── iteration.tsx │ ├── language.ts │ ├── modelingHelper.ts │ ├── nodeType.tsx │ ├── svgs/ │ │ ├── BrainSVG.tsx │ │ ├── CopilotSVG.tsx │ │ ├── EditSVG.tsx │ │ ├── InstructionsSVG.tsx │ │ ├── RobotSVG.tsx │ │ └── index.ts │ ├── table.tsx │ ├── telemetry.ts │ ├── time.ts │ ├── validator/ │ │ ├── calculatedFieldValidator.ts │ │ ├── cronValidator.ts │ │ ├── hostValidator.ts │ │ ├── index.ts │ │ ├── relationshipValidator.ts │ │ ├── sqlPairValidator.ts │ │ └── viewValidator.ts │ ├── vegaSpecUtils.test.ts │ └── vegaSpecUtils.ts ├── tools/ │ └── knex.js └── tsconfig.json