Фиксация изменений

This commit is contained in:
2026-03-05 11:03:17 +03:00
parent 1ef0b4d68c
commit 417b8b6f72
261 changed files with 8215 additions and 332 deletions

View File

@@ -1,9 +1,14 @@
from app.modules.agent.module import AgentModule
from app.modules.agent.repository import AgentRepository
from app.modules.agent.story_context_repository import StoryContextRepository, StoryContextSchemaRepository
from app.modules.chat.direct_service import CodeExplainChatService
from app.modules.chat.dialog_store import DialogSessionStore
from app.modules.chat.repository import ChatRepository
from app.modules.chat.module import ChatModule
from app.modules.chat.session_resolver import ChatSessionResolver
from app.modules.chat.task_store import TaskStore
from app.modules.rag.persistence.repository import RagRepository
from app.modules.rag.explain import CodeExplainRetrieverV2, CodeGraphRepository, LayeredRetrievalGateway
from app.modules.rag_session.module import RagModule
from app.modules.rag_repo.module import RagRepoModule
from app.modules.shared.bootstrap import bootstrap_database
@@ -20,16 +25,32 @@ class ModularApplication:
self.agent_repository = AgentRepository()
self.story_context_schema_repository = StoryContextSchemaRepository()
self.story_context_repository = StoryContextRepository()
self.chat_tasks = TaskStore()
self.rag_session = RagModule(event_bus=self.events, retry=self.retry, repository=self.rag_repository)
self.rag_repo = RagRepoModule(
story_context_repository=self.story_context_repository,
rag_repository=self.rag_repository,
)
self.code_explain_retriever = CodeExplainRetrieverV2(
gateway=LayeredRetrievalGateway(self.rag_repository, self.rag_session.embedder),
graph_repository=CodeGraphRepository(),
)
self.agent = AgentModule(
rag_retriever=self.rag_session.rag,
agent_repository=self.agent_repository,
story_context_repository=self.story_context_repository,
code_explain_retriever=self.code_explain_retriever,
)
self.direct_chat = CodeExplainChatService(
retriever=self.code_explain_retriever,
llm=self.agent.llm,
session_resolver=ChatSessionResolver(
dialogs=DialogSessionStore(self.chat_repository),
rag_session_exists=lambda rag_session_id: self.rag_session.sessions.get(rag_session_id) is not None,
),
task_store=self.chat_tasks,
message_sink=self.chat_repository.add_message,
)
self.chat = ChatModule(
agent_runner=self.agent.runtime,
@@ -37,6 +58,8 @@ class ModularApplication:
retry=self.retry,
rag_sessions=self.rag_session.sessions,
repository=self.chat_repository,
direct_chat=self.direct_chat,
task_store=self.chat_tasks,
)
def startup(self) -> None: