gitextract_7stu15in/ ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── custom.md │ │ └── feature_request.md │ ├── actions/ │ │ ├── login-docker/ │ │ │ └── action.yml │ │ ├── setup-docker/ │ │ │ └── action.yml │ │ ├── setup-postgres-ext/ │ │ │ └── action.yml │ │ ├── setup-python-full/ │ │ │ └── action.yml │ │ ├── setup-python-light/ │ │ │ └── action.yml │ │ ├── start-r2r-full/ │ │ │ └── action.yml │ │ └── start-r2r-light/ │ │ └── action.yml │ └── workflows/ │ ├── build-cluster-service-docker.yml │ ├── build-r2r-docker.yml │ ├── build-unst-service-docker.yml │ ├── publish-to-npm.yml │ ├── publish-to-pypi.yml │ ├── quality.yml │ ├── r2r-full-py-integration-tests.yml │ ├── r2r-js-sdk-ci.yml │ ├── r2r-js-sdk-integration-tests.yml │ └── r2r-light-py-integration-tests.yml ├── .pre-commit-config.yaml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── MANIFEST.md ├── SECURITY.md ├── deployment/ │ └── k8s/ │ ├── kustomizations/ │ │ ├── helm-values_hatchet.yaml │ │ ├── helm-values_postgresql.yaml │ │ ├── include/ │ │ │ ├── cm-hatchet.yaml │ │ │ ├── cm-hatchet_OLD.yaml │ │ │ ├── cm-init-scripts-hatchet.yaml │ │ │ ├── cm-init-scripts-r2r.yaml │ │ │ ├── cm-r2r.yaml │ │ │ ├── cm-unstructured.yaml │ │ │ ├── hatchet-dashboard-initc.yaml │ │ │ ├── hatchet-engine-initc.yaml │ │ │ ├── hatchet-init-job.yaml │ │ │ ├── hatchet-rabbitmq-sts.yaml │ │ │ ├── pgadmin.yaml │ │ │ ├── pgvector-sts.yaml │ │ │ ├── r2r-dashboard-indep.yaml │ │ │ ├── r2r-graph-clustering-indep.yaml │ │ │ ├── r2r-initc.yaml │ │ │ ├── r2r-nginx-indep.yaml │ │ │ └── unstructured-indep.yaml │ │ ├── kustomization.yaml │ │ └── patches/ │ │ ├── hatchet-rabbitmq-sts.yaml │ │ ├── rm-secret-hatchet-postgres.yaml │ │ ├── rm-secret-hatchet-rabbitmq-config.yaml │ │ ├── rm-secret-hatchet-rabbitmq.yaml │ │ ├── rm-secret-hatchet-shared-config.yaml │ │ └── service.yaml │ └── manifests/ │ └── examples/ │ ├── externalsecret_hatchet.yaml │ ├── externalsecret_r2r.yaml │ ├── ingress-r2r.yaml │ ├── secrets_hatchet.yaml │ └── secrets_r2r.yaml ├── docker/ │ ├── compose.full.swarm.yaml │ ├── compose.full.yaml │ ├── compose.yaml │ ├── env/ │ │ ├── hatchet.env │ │ ├── minio.env │ │ ├── postgres.env │ │ ├── r2r-dashboard.env │ │ ├── r2r-full.env │ │ └── r2r.env │ ├── fluent-bit/ │ │ ├── fluent-bit.conf │ │ └── parsers.conf │ ├── scripts/ │ │ ├── create-hatchet-db.sh │ │ ├── setup-token.sh │ │ └── start-r2r.sh │ ├── user_configs/ │ │ └── README.md │ └── user_tools/ │ ├── README.md │ └── user_requirements.txt ├── docs/ │ ├── README.md │ ├── cookbooks/ │ │ ├── application.md │ │ ├── custom-tools.md │ │ ├── email.md │ │ ├── evals.md │ │ ├── graphs.md │ │ ├── ingestion.md │ │ ├── local.md │ │ ├── logging.md │ │ ├── maintenance.md │ │ ├── mcp.md │ │ ├── orchestration.md │ │ ├── structured-output.md │ │ ├── web-dev.md │ │ └── {README.md} │ ├── documentation/ │ │ ├── README.md │ │ ├── advanced/ │ │ │ ├── contextual-enrichment.md │ │ │ └── deduplication.md │ │ ├── general/ │ │ │ ├── collections.md │ │ │ ├── conversations.md │ │ │ ├── documents.md │ │ │ ├── graphs.md │ │ │ ├── prompts.md │ │ │ └── users.md │ │ └── retrieval/ │ │ ├── advanced-rag.md │ │ ├── agentic-rag.md │ │ ├── hybrid-search.md │ │ └── search-and-rag.md │ └── introduction/ │ ├── guides/ │ │ ├── rag.md │ │ └── what-is-r2r.md │ └── system.md ├── js/ │ ├── README.md │ └── sdk/ │ ├── .prettierignore │ ├── README.md │ ├── __tests__/ │ │ ├── ChunksIntegrationSuperUser.test.ts │ │ ├── CollectionsIntegrationSuperUser.test.ts │ │ ├── ConversationsIntegrationSuperUser.test.ts │ │ ├── ConversationsIntegrationUser.test.ts │ │ ├── DocumentsAndCollectionsIntegrationUser.test.ts │ │ ├── DocumentsIntegrationSuperUser.test.ts │ │ ├── GraphsIntegrationSuperUser.test.ts │ │ ├── PromptsIntegrationSuperUser.test.ts │ │ ├── RetrievalIntegrationSuperUser.test.ts │ │ ├── SystemIntegrationSuperUser.test.ts │ │ ├── SystemIntegrationUser.test.ts │ │ ├── UsersIntegrationSuperUser.test.ts │ │ └── util/ │ │ └── typeTransformer.test.ts │ ├── examples/ │ │ └── data/ │ │ ├── folder/ │ │ │ ├── karamozov.txt │ │ │ └── myshkin.txt │ │ ├── invalid.json │ │ ├── marmeladov.txt │ │ ├── raskolnikov.txt │ │ ├── raskolnikov_2.txt │ │ ├── sonia.txt │ │ └── zametov.txt │ ├── package.json │ ├── src/ │ │ ├── baseClient.ts │ │ ├── index.ts │ │ ├── r2rClient.ts │ │ ├── types.ts │ │ ├── utils/ │ │ │ ├── index.ts │ │ │ ├── typeTransformer.ts │ │ │ └── utils.ts │ │ └── v3/ │ │ └── clients/ │ │ ├── chunks.ts │ │ ├── collections.ts │ │ ├── conversations.ts │ │ ├── documents.ts │ │ ├── graphs.ts │ │ ├── indices.ts │ │ ├── prompts.ts │ │ ├── retrieval.ts │ │ ├── system.ts │ │ └── users.ts │ └── tsconfig.json ├── llms.txt ├── py/ │ ├── .dockerignore │ ├── Dockerfile │ ├── README.md │ ├── all_possible_config.toml │ ├── core/ │ │ ├── __init__.py │ │ ├── agent/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── rag.py │ │ │ └── research.py │ │ ├── base/ │ │ │ ├── __init__.py │ │ │ ├── abstractions/ │ │ │ │ └── __init__.py │ │ │ ├── agent/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent.py │ │ │ │ └── tools/ │ │ │ │ ├── built_in/ │ │ │ │ │ ├── get_file_content.py │ │ │ │ │ ├── search_file_descriptions.py │ │ │ │ │ ├── search_file_knowledge.py │ │ │ │ │ ├── tavily_extract.py │ │ │ │ │ ├── tavily_search.py │ │ │ │ │ ├── web_scrape.py │ │ │ │ │ └── web_search.py │ │ │ │ └── registry.py │ │ │ ├── api/ │ │ │ │ └── models/ │ │ │ │ └── __init__.py │ │ │ ├── parsers/ │ │ │ │ ├── __init__.py │ │ │ │ └── base_parser.py │ │ │ ├── providers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth.py │ │ │ │ ├── base.py │ │ │ │ ├── crypto.py │ │ │ │ ├── database.py │ │ │ │ ├── email.py │ │ │ │ ├── embedding.py │ │ │ │ ├── file.py │ │ │ │ ├── ingestion.py │ │ │ │ ├── llm.py │ │ │ │ ├── ocr.py │ │ │ │ ├── orchestration.py │ │ │ │ └── scheduler.py │ │ │ └── utils/ │ │ │ └── __init__.py │ │ ├── configs/ │ │ │ ├── full.toml │ │ │ ├── full_azure.toml │ │ │ ├── full_lm_studio.toml │ │ │ ├── full_ollama.toml │ │ │ ├── gemini.toml │ │ │ ├── lm_studio.toml │ │ │ ├── ollama.toml │ │ │ ├── r2r_azure.toml │ │ │ ├── r2r_azure_with_test_limits.toml │ │ │ ├── r2r_with_auth.toml │ │ │ └── tavily.toml │ │ ├── examples/ │ │ │ ├── __init__.py │ │ │ ├── data/ │ │ │ │ ├── aristotle.txt │ │ │ │ ├── aristotle_v2.txt │ │ │ │ ├── aristotle_v3.txt │ │ │ │ ├── got.txt │ │ │ │ ├── pg_essay_1.html │ │ │ │ ├── pg_essay_2.html │ │ │ │ ├── pg_essay_3.html │ │ │ │ ├── pg_essay_4.html │ │ │ │ ├── pg_essay_5.html │ │ │ │ ├── test.txt │ │ │ │ └── yc_companies.txt │ │ │ ├── hello_r2r.ipynb │ │ │ ├── hello_r2r.py │ │ │ └── supported_file_types/ │ │ │ ├── css.css │ │ │ ├── csv.csv │ │ │ ├── doc.doc │ │ │ ├── docx.docx │ │ │ ├── eml.eml │ │ │ ├── epub.epub │ │ │ ├── heic.heic │ │ │ ├── html.html │ │ │ ├── js.js │ │ │ ├── json.json │ │ │ ├── md.md │ │ │ ├── msg.msg │ │ │ ├── odt.odt │ │ │ ├── org.org │ │ │ ├── p7s.p7s │ │ │ ├── ppt.ppt │ │ │ ├── pptx.pptx │ │ │ ├── py.py │ │ │ ├── rst.rst │ │ │ ├── rtf.rtf │ │ │ ├── tiff.tiff │ │ │ ├── ts.ts │ │ │ ├── tsv.tsv │ │ │ ├── txt.txt │ │ │ ├── xls.xls │ │ │ └── xlsx.xlsx │ │ ├── main/ │ │ │ ├── __init__.py │ │ │ ├── abstractions.py │ │ │ ├── api/ │ │ │ │ └── v3/ │ │ │ │ ├── base_router.py │ │ │ │ ├── chunks_router.py │ │ │ │ ├── collections_router.py │ │ │ │ ├── conversations_router.py │ │ │ │ ├── documents_router.py │ │ │ │ ├── graph_router.py │ │ │ │ ├── indices_router.py │ │ │ │ ├── prompts_router.py │ │ │ │ ├── retrieval_router.py │ │ │ │ ├── system_router.py │ │ │ │ └── users_router.py │ │ │ ├── app.py │ │ │ ├── app_entry.py │ │ │ ├── assembly/ │ │ │ │ ├── __init__.py │ │ │ │ ├── builder.py │ │ │ │ ├── factory.py │ │ │ │ └── utils.py │ │ │ ├── config.py │ │ │ ├── middleware/ │ │ │ │ ├── __init__.py │ │ │ │ └── project_schema.py │ │ │ ├── orchestration/ │ │ │ │ ├── __init__.py │ │ │ │ ├── hatchet/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── graph_workflow.py │ │ │ │ │ └── ingestion_workflow.py │ │ │ │ └── simple/ │ │ │ │ ├── __init__.py │ │ │ │ ├── graph_workflow.py │ │ │ │ └── ingestion_workflow.py │ │ │ └── services/ │ │ │ ├── __init__.py │ │ │ ├── auth_service.py │ │ │ ├── base.py │ │ │ ├── graph_service.py │ │ │ ├── ingestion_service.py │ │ │ ├── maintenance_service.py │ │ │ ├── management_service.py │ │ │ └── retrieval_service.py │ │ ├── parsers/ │ │ │ ├── __init__.py │ │ │ ├── media/ │ │ │ │ ├── __init__.py │ │ │ │ ├── audio_parser.py │ │ │ │ ├── bmp_parser.py │ │ │ │ ├── doc_parser.py │ │ │ │ ├── docx_parser.py │ │ │ │ ├── img_parser.py │ │ │ │ ├── odt_parser.py │ │ │ │ ├── pdf_parser.py │ │ │ │ ├── ppt_parser.py │ │ │ │ ├── pptx_parser.py │ │ │ │ └── rtf_parser.py │ │ │ ├── structured/ │ │ │ │ ├── __init__.py │ │ │ │ ├── csv_parser.py │ │ │ │ ├── eml_parser.py │ │ │ │ ├── epub_parser.py │ │ │ │ ├── json_parser.py │ │ │ │ ├── msg_parser.py │ │ │ │ ├── org_parser.py │ │ │ │ ├── p7s_parser.py │ │ │ │ ├── rst_parser.py │ │ │ │ ├── tsv_parser.py │ │ │ │ ├── xls_parser.py │ │ │ │ └── xlsx_parser.py │ │ │ └── text/ │ │ │ ├── __init__.py │ │ │ ├── css_parser.py │ │ │ ├── html_parser.py │ │ │ ├── js_parser.py │ │ │ ├── md_parser.py │ │ │ ├── python_parser.py │ │ │ ├── text_parser.py │ │ │ └── ts_parser.py │ │ ├── providers/ │ │ │ ├── __init__.py │ │ │ ├── auth/ │ │ │ │ ├── __init__.py │ │ │ │ ├── clerk.py │ │ │ │ ├── jwt.py │ │ │ │ ├── r2r_auth.py │ │ │ │ └── supabase.py │ │ │ ├── crypto/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bcrypt.py │ │ │ │ └── nacl.py │ │ │ ├── database/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── chunks.py │ │ │ │ ├── collections.py │ │ │ │ ├── conversations.py │ │ │ │ ├── documents.py │ │ │ │ ├── filters.py │ │ │ │ ├── graphs.py │ │ │ │ ├── limits.py │ │ │ │ ├── maintenance.py │ │ │ │ ├── postgres.py │ │ │ │ ├── prompts/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── chunk_enrichment.yaml │ │ │ │ │ ├── collection_summary.yaml │ │ │ │ │ ├── dynamic_rag_agent.yaml │ │ │ │ │ ├── dynamic_rag_agent_xml_tooling.yaml │ │ │ │ │ ├── graph_communities.yaml │ │ │ │ │ ├── graph_entity_description.yaml │ │ │ │ │ ├── graph_extraction.yaml │ │ │ │ │ ├── hyde.yaml │ │ │ │ │ ├── rag.yaml │ │ │ │ │ ├── rag_fusion.yaml │ │ │ │ │ ├── static_rag_agent.yaml │ │ │ │ │ ├── static_research_agent.yaml │ │ │ │ │ ├── summary.yaml │ │ │ │ │ ├── system.yaml │ │ │ │ │ ├── vision_img.yaml │ │ │ │ │ └── vision_pdf.yaml │ │ │ │ ├── prompts_handler.py │ │ │ │ ├── tokens.py │ │ │ │ ├── users.py │ │ │ │ └── utils.py │ │ │ ├── email/ │ │ │ │ ├── __init__.py │ │ │ │ ├── console_mock.py │ │ │ │ ├── mailersend.py │ │ │ │ ├── sendgrid.py │ │ │ │ └── smtp.py │ │ │ ├── embeddings/ │ │ │ │ ├── __init__.py │ │ │ │ ├── litellm.py │ │ │ │ ├── ollama.py │ │ │ │ ├── openai.py │ │ │ │ └── utils.py │ │ │ ├── file/ │ │ │ │ ├── __init__.py │ │ │ │ ├── postgres.py │ │ │ │ └── s3.py │ │ │ ├── ingestion/ │ │ │ │ ├── __init__.py │ │ │ │ ├── r2r/ │ │ │ │ │ └── base.py │ │ │ │ └── unstructured/ │ │ │ │ └── base.py │ │ │ ├── llm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── anthropic.py │ │ │ │ ├── azure_foundry.py │ │ │ │ ├── litellm.py │ │ │ │ ├── openai.py │ │ │ │ ├── r2r_llm.py │ │ │ │ └── utils.py │ │ │ ├── ocr/ │ │ │ │ ├── __init__.py │ │ │ │ └── mistral.py │ │ │ ├── orchestration/ │ │ │ │ ├── __init__.py │ │ │ │ ├── hatchet.py │ │ │ │ └── simple.py │ │ │ └── scheduler/ │ │ │ ├── __init__.py │ │ │ └── apscheduler.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── context.py │ │ ├── logging_config.py │ │ ├── sentry.py │ │ └── serper.py │ ├── migrations/ │ │ ├── README │ │ ├── alembic.ini │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions/ │ │ ├── 2fac23e4d91b_migrate_to_document_search.py │ │ ├── 3efc7b3b1b3d_add_total_tokens_count.py │ │ ├── 7eb70560f406_add_limits_overrides_to_users.py │ │ ├── 8077140e1e99_v3_api_database_revision.py │ │ ├── c45a9cf6a8a4_add_user_and_document_count_to_.py │ │ └── d342e632358a_migrate_to_asyncpg.py │ ├── pyproject.toml │ ├── r2r/ │ │ ├── __init__.py │ │ ├── mcp.py │ │ ├── r2r.toml │ │ └── serve.py │ ├── sdk/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── asnyc_methods/ │ │ │ ├── __init__.py │ │ │ ├── chunks.py │ │ │ ├── collections.py │ │ │ ├── conversations.py │ │ │ ├── documents.py │ │ │ ├── graphs.py │ │ │ ├── indices.py │ │ │ ├── prompts.py │ │ │ ├── retrieval.py │ │ │ ├── system.py │ │ │ └── users.py │ │ ├── async_client.py │ │ ├── base/ │ │ │ ├── __init_.py │ │ │ └── base_client.py │ │ ├── models.py │ │ ├── sync_client.py │ │ └── sync_methods/ │ │ ├── __init__.py │ │ ├── chunks.py │ │ ├── collections.py │ │ ├── conversations.py │ │ ├── documents.py │ │ ├── graphs.py │ │ ├── indices.py │ │ ├── prompts.py │ │ ├── retrieval.py │ │ ├── system.py │ │ └── users.py │ ├── shared/ │ │ ├── __init__.py │ │ ├── abstractions/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── document.py │ │ │ ├── exception.py │ │ │ ├── graph.py │ │ │ ├── llm.py │ │ │ ├── prompt.py │ │ │ ├── search.py │ │ │ ├── tool.py │ │ │ ├── user.py │ │ │ └── vector.py │ │ ├── api/ │ │ │ └── models/ │ │ │ ├── __init__.py │ │ │ ├── auth/ │ │ │ │ ├── __init__.py │ │ │ │ └── responses.py │ │ │ ├── base.py │ │ │ ├── graph/ │ │ │ │ ├── __init__.py │ │ │ │ └── responses.py │ │ │ ├── ingestion/ │ │ │ │ ├── __init__.py │ │ │ │ └── responses.py │ │ │ ├── management/ │ │ │ │ ├── __init__.py │ │ │ │ └── responses.py │ │ │ └── retrieval/ │ │ │ ├── __init__.py │ │ │ └── responses.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── base_utils.py │ │ └── splitter/ │ │ ├── __init__.py │ │ └── text.py │ └── tests/ │ ├── integration/ │ │ ├── conftest.py │ │ ├── test_agent.py │ │ ├── test_base.py │ │ ├── test_chunks.py │ │ ├── test_collections.py │ │ ├── test_collections_users_interaction.py │ │ ├── test_conversations.py │ │ ├── test_documents.py │ │ ├── test_filters.py │ │ ├── test_graphs.py │ │ ├── test_indices.py │ │ ├── test_ingestion.py │ │ ├── test_retrieval.py │ │ ├── test_retrieval_advanced.py │ │ ├── test_system.py │ │ └── test_users.py │ ├── scaling/ │ │ ├── __init__.py │ │ └── loadTester.py │ └── unit/ │ ├── agent/ │ │ ├── test_agent.py │ │ ├── test_agent_citations.py │ │ ├── test_agent_citations_old.py │ │ ├── test_agent_old.py │ │ └── test_streaming_agent.py │ ├── app/ │ │ ├── test_config.py │ │ └── test_routes.py │ ├── conftest.py │ ├── database/ │ │ ├── test_collections.py │ │ ├── test_conversations.py │ │ ├── test_graphs.py │ │ └── test_limits.py │ ├── document/ │ │ ├── test_chunks.py │ │ ├── test_document_processing.py │ │ └── test_documents.py │ └── retrieval/ │ ├── __init__.py │ ├── conftest.py │ ├── test_citations.py │ ├── test_database_filters.py │ ├── test_rag_processing.py │ └── test_retrieval_old.py └── services/ ├── README.md ├── clustering/ │ ├── Dockerfile.clustering │ └── main.py └── unstructured/ ├── Dockerfile.unstructured ├── README.md └── main.py