Embedded all of reactome#40
Open
LucLabarriere wants to merge 184 commits into
Open
Conversation
LucLabarriere
commented
Apr 9, 2026
Contributor
- Requires to rebuild the index
- turingdb 1.29
Created project structure with server, cli and agentlib
- Add config.py with pydantic-settings (host, port, graph, data_dir) - Implement lifespan: start TuringDB subprocess on startup, stop on shutdown - Add /health endpoint returning server and TuringDB status - Add pydantic-settings and turingdb dependencies Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add root pyproject.toml declaring uv workspace (server, agentlib, cli) - Add ruff.toml and ty.toml with shared config for all subprojects - Add .pre-commit-config.yaml with ruff check and ruff format hooks - Fix import ordering in server/main.py and cli/main.py Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add agentlib/graph/client.py with start_turingdb, stop_turingdb, is_port_open - Add -ui flag support via enable_ui config option (TURINGDB_ENABLE_UI=true) - Slim down server/main.py: lifespan now delegates to agentlib - Add turingdb dependency to agentlib Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Phase 1 - FastAPI server skeleton
Introduces the chat-agent subproject — a FastAPI-mountable chatbot that classifies each incoming message using a lightweight router LLM and dispatches it to either a RAG pipeline or a multi-step tool-calling agent.
Key components:
- router.py: LLM-based intent classifier (qwen2.5:3b) with configurable confidence threshold; low-confidence RAG decisions are escalated to agent
- rag_handler.py: retrieves context via agentlib vector_search, answers with a grounded system prompt
- agent_handler.py: agentic loop (max 8 iterations) with vector_search and graph_query (Cypher) tools backed by agentlib
- session.py: Valkey-backed session store with TTL; replaced Redis
- server_router.py: mounts POST /chat/message and GET /chat/session/{id}
- schemas/chat.py: Pydantic models for request/response and session state
- Settings via pydantic-settings; all models point to local Ollama instance
Resolves: chat/initial-setup
- README.md: project overview, prerequisites, repo structure, roadmap - ARCHITECTURE.md: full system design, data flows, technology choices - CLAUDE.md: conventions, architectural principles, key decisions for Claude Code - CONTRIBUTING.md: branch naming, PR workflow, commit conventions, tooling Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add valkey_url and session_ttl_seconds to server/config.py - Remove valkey_url and session_ttl_seconds from chat-agent settings Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Initialize Valkey connection on startup, store in app.state.valkey - Close Valkey connection cleanly on shutdown - Import chat router and register it Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…parameter Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Create server/routes/chat.py (POST /chat/message, GET /chat/session/{id})
- Routes now get Valkey client from app.state instead of global singleton
- Delete chat-agent/server_router.py
- Add chat-agent, valkey, openai deps to server/pyproject.toml
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add chat-agent/src to root ruff.toml sources - Remove duplicate [tool.ruff] section from chat-agent/pyproject.toml - Switch chat-agent agentlib source from path to workspace reference - Fix ruff violations in chat-agent (import ordering, line length) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These modules are imported by chat-agent but not yet implemented. Stubs allow the server to start cleanly — Phase 2 will implement them. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
feat: per-request LLM overrides + settings panel
feat(app): revamp session list — collapsible, renameable, deletable
…hrough a tool, updated docs
… anymore from the prompts
feat(app): set TuringDB logo as browser favicon
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.