From aef87911513875d91c1254f06c0368510a17a081 Mon Sep 17 00:00:00 2001 From: egutierrez Date: Sat, 21 Jun 2025 02:01:21 +0200 Subject: [PATCH] feat: Implement main application shell with navigation and color scheme toggle - Added Appshell component with responsive navbar and main content area - Integrated ColorSchemeToggle for light/dark mode switching - Created Welcome component with styled title and introductory text - Developed ChatPage for LLM interaction with WebSocket support - Implemented Biblioteca for managing notes with rich text editor - Added LoginPage for user authentication with error handling - Introduced MessageList and MessageBubble components for chat messages - Styled components with CSS modules for consistent design --- Iniciar_FitzStudio.ps1 | 8 +++--- .../charts_examples_endpoint_v1.py | 0 .../experiments/ping_endpoint_v1.py | 0 .../llms/llm_chat_endpoint_v1.py | 4 +-- .../llms/llm_chat_srvc.py | 18 ++++++------- .../llms/llm_chat_ws_endpoint_v1.py | 4 +-- .../text_manager/text_manager_endpoint_v1.py | 8 +++--- .../text_manager/text_manager_schema.py | 0 .../text_manager/text_manager_srvc.py | 18 ++++++------- .../usuarios_endpoint_v1.py | 2 +- backend/db/conexion.py | 2 +- backend/main.py | 2 +- backend/router_v1.py | 10 +++---- {src => domains}/ApiKeys/__init__.py | 0 {src => domains}/ApiKeys/openai_apikey.py | 2 +- {src => domains}/ApiKeys/openai_apikey_mmr.py | 14 +++++----- {src => domains}/ArquitectureLayer/Mapper.py | 0 {src => domains}/ArquitectureLayer/Model.py | 0 {src => domains}/ArquitectureLayer/Repo.py | 2 +- .../ConexionApis/Ollama_cliente.py | 2 +- .../ConexionApis/OpenAi_conexion.py | 2 +- {src => domains}/ConexionApis/__init__.py | 0 {src => domains}/ConexionSql/Base_conexion.py | 0 .../ConexionSql/Postgres_conexion.py | 4 +-- {src => domains}/ConexionSql/__init__.py | 0 {src => domains}/Credenciales/__init__.py | 0 .../Credenciales/ollama_credencial.py | 2 +- .../Credenciales/postgres_credencial.py | 2 +- .../Credenciales/postgres_credencial_mmr.py | 14 +++++----- {src => domains}/Llms/Agente.py | 8 +++--- .../Llms/Embedders/Base_Embedder.py | 0 .../Llms/Embedders/Openai_embedder.py | 8 +++--- .../Llms/Embedders/Openai_embedder_mmr.py | 16 ++++++------ {src => domains}/Llms/MCPs/McpClient.py | 0 .../Llms/MCPs/McpClient_Registry.py | 2 +- {src => domains}/Llms/MCPs/McpServer.py | 0 .../Llms/MCPs/McpServers/server_files.py | 0 .../Llms/MCPs/McpServers/server_math.py | 0 .../Llms/MCPs/McpServers/server_utils.py | 0 {src => domains}/Llms/MCPs/__init__.py | 0 .../Llms/Memory/Base_MemoryConv.py | 0 .../Llms/Memory/postgres_MemoryConv.py | 6 ++--- {src => domains}/Llms/Modelos/Base_model.py | 0 {src => domains}/Llms/Modelos/Ollama_model.py | 6 ++--- {src => domains}/Llms/Modelos/Openai_model.py | 6 ++--- .../Llms/Modelos/Openai_model_mmr.py | 12 ++++----- {src => domains}/Llms/Modelos/__init__.py | 0 {src => domains}/Llms/__init__.py | 0 {src => domains}/Logger/logger_db.py | 6 ++--- {src => domains}/ScrappingWeb/ElementoWeb.py | 0 {src => domains}/ScrappingWeb/Navegador.py | 0 {src => domains}/ScrappingWeb/Scrapper.py | 0 {src => domains}/ScrappingWeb/Tab.py | 0 {src => domains}/Security/Encriptar.py | 0 {src => domains}/Security/GenerarIDs.py | 0 {src => domains}/Security/__init__.py | 0 {src => domains}/TextManager/__init__.py | 0 {src => domains}/TextManager/biblioteca.py | 10 +++---- .../TextManager/biblioteca_mmr.py | 18 ++++++------- {src => domains}/TextManager/nota.py | 2 +- {src => domains}/TextManager/notas_mmr.py | 16 ++++++------ {src => domains}/Usuario/usuario.py | 0 {src => domains}/Usuario/usuario_mmr.py | 8 +++--- {src => domains}/__init__.py | 0 {src => domains}/base.py | 0 entrypoint/init_db.py | 16 ++++++------ frontend/src/Router.tsx | 20 +++++++------- frontend/src/data/submenuLinks_1.ts | 2 +- .../CamaraNoir/Camaras_noir.tsx | 0 .../Experiments/Consulta_api.tsx | 0 .../Experiments/Grid_dashboard.tsx | 0 .../Experiments/Grid_dashboard_component.tsx | 0 .../Experiments/LlamadorAPI.tsx | 0 .../Experiments/MetodoSelect.tsx | 0 .../Experiments/Visualizaciones_Random.tsx | 0 .../FitzStudio/404/404.tsx | 2 +- .../FitzStudio/404/HoloShader_404.tsx | 0 .../FitzStudio/Appshell/Appshell.module.css | 0 .../FitzStudio/Appshell/Appshell.tsx | 0 .../ColorSchemeToggle/ColorSchemeToggle.tsx | 0 .../FitzStudio/Plantilla.tsx | 2 +- .../FitzStudio/Welcome/Welcome.module.css | 0 .../FitzStudio/Welcome/Welcome.story.tsx | 0 .../FitzStudio/Welcome/Welcome.test.tsx | 0 .../FitzStudio/Welcome/Welcome.tsx | 0 .../Home/Home.page.tsx | 4 +-- .../Llms/Chat/ChatInput.tsx | 0 .../Llms/Chat/ChatPage.tsx | 0 .../Llms/Chat/MessageBubble.tsx | 0 .../Llms/Chat/MessageList.tsx | 0 .../TextEditor/Biblioteca.tsx | 0 .../TextEditor/Editor_Test.tsx | 0 .../TextEditor/Editor_biblioteca.css | 0 .../Usuarios/Login.page.tsx | 7 ++--- prueba_loop_agente.py | 26 +++++++++---------- prueba_mcp.py | 2 +- scrappers/ejecucion_iterativa_navegador.py | 2 +- scrappers/prueba_navegadores.py | 6 ++--- snippets/utilizar_logger.py | 2 +- src/Usuario/usuario_mapper.py | 0 src/Usuario/usuario_model.py | 0 101 files changed, 169 insertions(+), 166 deletions(-) rename backend/{domains => backend_domains}/experiments/charts_examples_endpoint_v1.py (100%) rename backend/{domains => backend_domains}/experiments/ping_endpoint_v1.py (100%) rename backend/{domains => backend_domains}/llms/llm_chat_endpoint_v1.py (90%) rename backend/{domains => backend_domains}/llms/llm_chat_srvc.py (80%) rename backend/{domains => backend_domains}/llms/llm_chat_ws_endpoint_v1.py (89%) rename backend/{domains => backend_domains}/text_manager/text_manager_endpoint_v1.py (93%) rename backend/{domains => backend_domains}/text_manager/text_manager_schema.py (100%) rename backend/{domains => backend_domains}/text_manager/text_manager_srvc.py (91%) rename backend/{domains => backend_domains}/usuarios_endpoint_v1.py (95%) rename {src => domains}/ApiKeys/__init__.py (100%) rename {src => domains}/ApiKeys/openai_apikey.py (93%) rename {src => domains}/ApiKeys/openai_apikey_mmr.py (88%) rename {src => domains}/ArquitectureLayer/Mapper.py (100%) rename {src => domains}/ArquitectureLayer/Model.py (100%) rename {src => domains}/ArquitectureLayer/Repo.py (98%) rename {src => domains}/ConexionApis/Ollama_cliente.py (96%) rename {src => domains}/ConexionApis/OpenAi_conexion.py (97%) rename {src => domains}/ConexionApis/__init__.py (100%) rename {src => domains}/ConexionSql/Base_conexion.py (100%) rename {src => domains}/ConexionSql/Postgres_conexion.py (93%) rename {src => domains}/ConexionSql/__init__.py (100%) rename {src => domains}/Credenciales/__init__.py (100%) rename {src => domains}/Credenciales/ollama_credencial.py (92%) rename {src => domains}/Credenciales/postgres_credencial.py (91%) rename {src => domains}/Credenciales/postgres_credencial_mmr.py (90%) rename {src => domains}/Llms/Agente.py (98%) rename {src => domains}/Llms/Embedders/Base_Embedder.py (100%) rename {src => domains}/Llms/Embedders/Openai_embedder.py (77%) rename {src => domains}/Llms/Embedders/Openai_embedder_mmr.py (85%) rename {src => domains}/Llms/MCPs/McpClient.py (100%) rename {src => domains}/Llms/MCPs/McpClient_Registry.py (97%) rename {src => domains}/Llms/MCPs/McpServer.py (100%) rename {src => domains}/Llms/MCPs/McpServers/server_files.py (100%) rename {src => domains}/Llms/MCPs/McpServers/server_math.py (100%) rename {src => domains}/Llms/MCPs/McpServers/server_utils.py (100%) rename {src => domains}/Llms/MCPs/__init__.py (100%) rename {src => domains}/Llms/Memory/Base_MemoryConv.py (100%) rename {src => domains}/Llms/Memory/postgres_MemoryConv.py (89%) rename {src => domains}/Llms/Modelos/Base_model.py (100%) rename {src => domains}/Llms/Modelos/Ollama_model.py (90%) rename {src => domains}/Llms/Modelos/Openai_model.py (94%) rename {src => domains}/Llms/Modelos/Openai_model_mmr.py (91%) rename {src => domains}/Llms/Modelos/__init__.py (100%) rename {src => domains}/Llms/__init__.py (100%) rename {src => domains}/Logger/logger_db.py (92%) rename {src => domains}/ScrappingWeb/ElementoWeb.py (100%) rename {src => domains}/ScrappingWeb/Navegador.py (100%) rename {src => domains}/ScrappingWeb/Scrapper.py (100%) rename {src => domains}/ScrappingWeb/Tab.py (100%) rename {src => domains}/Security/Encriptar.py (100%) rename {src => domains}/Security/GenerarIDs.py (100%) rename {src => domains}/Security/__init__.py (100%) rename {src => domains}/TextManager/__init__.py (100%) rename {src => domains}/TextManager/biblioteca.py (85%) rename {src => domains}/TextManager/biblioteca_mmr.py (85%) rename {src => domains}/TextManager/nota.py (96%) rename {src => domains}/TextManager/notas_mmr.py (92%) rename {src => domains}/Usuario/usuario.py (100%) rename {src => domains}/Usuario/usuario_mmr.py (91%) rename {src => domains}/__init__.py (100%) rename {src => domains}/base.py (100%) rename frontend/src/{domains => frontend_domains}/CamaraNoir/Camaras_noir.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/Consulta_api.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/Grid_dashboard.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/Grid_dashboard_component.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/LlamadorAPI.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/MetodoSelect.tsx (100%) rename frontend/src/{domains => frontend_domains}/Experiments/Visualizaciones_Random.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/404/404.tsx (96%) rename frontend/src/{domains => frontend_domains}/FitzStudio/404/HoloShader_404.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Appshell/Appshell.module.css (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Appshell/Appshell.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/ColorSchemeToggle/ColorSchemeToggle.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Plantilla.tsx (58%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Welcome/Welcome.module.css (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Welcome/Welcome.story.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Welcome/Welcome.test.tsx (100%) rename frontend/src/{domains => frontend_domains}/FitzStudio/Welcome/Welcome.tsx (100%) rename frontend/src/{domains => frontend_domains}/Home/Home.page.tsx (68%) rename frontend/src/{domains => frontend_domains}/Llms/Chat/ChatInput.tsx (100%) rename frontend/src/{domains => frontend_domains}/Llms/Chat/ChatPage.tsx (100%) rename frontend/src/{domains => frontend_domains}/Llms/Chat/MessageBubble.tsx (100%) rename frontend/src/{domains => frontend_domains}/Llms/Chat/MessageList.tsx (100%) rename frontend/src/{domains => frontend_domains}/TextEditor/Biblioteca.tsx (100%) rename frontend/src/{domains => frontend_domains}/TextEditor/Editor_Test.tsx (100%) rename frontend/src/{domains => frontend_domains}/TextEditor/Editor_biblioteca.css (100%) rename frontend/src/{domains => frontend_domains}/Usuarios/Login.page.tsx (88%) delete mode 100644 src/Usuario/usuario_mapper.py delete mode 100644 src/Usuario/usuario_model.py diff --git a/Iniciar_FitzStudio.ps1 b/Iniciar_FitzStudio.ps1 index 7874591..17a1ded 100644 --- a/Iniciar_FitzStudio.ps1 +++ b/Iniciar_FitzStudio.ps1 @@ -1,4 +1,6 @@ -cd ./frontend -npm run dev -cd .. +# Inicia el frontend en una nueva ventana de PowerShell +Start-Process powershell -ArgumentList "-NoExit", "-Command", 'cd ./frontend; npm run dev; pause' + +# Inicia el backend en una nueva ventana de PowerShell +Start-Process powershell -ArgumentList "-NoExit", "-Command", 'cd ./backend; uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000; pause' diff --git a/backend/domains/experiments/charts_examples_endpoint_v1.py b/backend/backend_domains/experiments/charts_examples_endpoint_v1.py similarity index 100% rename from backend/domains/experiments/charts_examples_endpoint_v1.py rename to backend/backend_domains/experiments/charts_examples_endpoint_v1.py diff --git a/backend/domains/experiments/ping_endpoint_v1.py b/backend/backend_domains/experiments/ping_endpoint_v1.py similarity index 100% rename from backend/domains/experiments/ping_endpoint_v1.py rename to backend/backend_domains/experiments/ping_endpoint_v1.py diff --git a/backend/domains/llms/llm_chat_endpoint_v1.py b/backend/backend_domains/llms/llm_chat_endpoint_v1.py similarity index 90% rename from backend/domains/llms/llm_chat_endpoint_v1.py rename to backend/backend_domains/llms/llm_chat_endpoint_v1.py index 437220b..614e0dd 100644 --- a/backend/domains/llms/llm_chat_endpoint_v1.py +++ b/backend/backend_domains/llms/llm_chat_endpoint_v1.py @@ -5,8 +5,8 @@ from fastapi.responses import StreamingResponse from pydantic import BaseModel from fastapi.concurrency import run_in_threadpool -from backend.domains.llms.llm_chat_srvc import construir_agente_llm, responder, responder_stream -from src.Logger.logger_db import LoggerDB, logger +from backend.backend_domains.llms.llm_chat_srvc import construir_agente_llm, responder, responder_stream +from domains.Logger.logger_db import LoggerDB, logger from entrypoint.init_db import db_credencial LoggerDB(db_credencial, "logger_llm", created_by="sistema") diff --git a/backend/domains/llms/llm_chat_srvc.py b/backend/backend_domains/llms/llm_chat_srvc.py similarity index 80% rename from backend/domains/llms/llm_chat_srvc.py rename to backend/backend_domains/llms/llm_chat_srvc.py index f77d3c5..8a8d4aa 100644 --- a/backend/domains/llms/llm_chat_srvc.py +++ b/backend/backend_domains/llms/llm_chat_srvc.py @@ -1,16 +1,16 @@ # src/services/agent_service.py -from src.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo -from src.ConexionSql.Postgres_conexion import PostgresConexion -from src.ConexionApis.OpenAi_conexion import OpenAICliente -from src.Llms.Modelos.Openai_model import ModeloOpenAI -from src.Llms.Agente import AgenteAI -from src.Llms.Memory.postgres_MemoryConv import MemoryConvPostgres -from src.Llms.MCPs.McpClient import MCPClient -from src.Llms.MCPs.McpClient_Registry import ClientRegistry +from domains.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo +from domains.ConexionSql.Postgres_conexion import PostgresConexion +from domains.ConexionApis.OpenAi_conexion import OpenAICliente +from domains.Llms.Modelos.Openai_model import ModeloOpenAI +from domains.Llms.Agente import AgenteAI +from domains.Llms.Memory.postgres_MemoryConv import MemoryConvPostgres +from domains.Llms.MCPs.McpClient import MCPClient +from domains.Llms.MCPs.McpClient_Registry import ClientRegistry from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_llm", created_by="sistema") from typing import AsyncGenerator diff --git a/backend/domains/llms/llm_chat_ws_endpoint_v1.py b/backend/backend_domains/llms/llm_chat_ws_endpoint_v1.py similarity index 89% rename from backend/domains/llms/llm_chat_ws_endpoint_v1.py rename to backend/backend_domains/llms/llm_chat_ws_endpoint_v1.py index 57bd062..5c60c35 100644 --- a/backend/domains/llms/llm_chat_ws_endpoint_v1.py +++ b/backend/backend_domains/llms/llm_chat_ws_endpoint_v1.py @@ -1,6 +1,6 @@ from fastapi import WebSocket, APIRouter, WebSocketDisconnect -from backend.domains.llms.llm_chat_srvc import construir_agente_llm -from src.Logger.logger_db import LoggerDB, logger +from backend.backend_domains.llms.llm_chat_srvc import construir_agente_llm +from domains.Logger.logger_db import LoggerDB, logger from entrypoint.init_db import db_credencial import json diff --git a/backend/domains/text_manager/text_manager_endpoint_v1.py b/backend/backend_domains/text_manager/text_manager_endpoint_v1.py similarity index 93% rename from backend/domains/text_manager/text_manager_endpoint_v1.py rename to backend/backend_domains/text_manager/text_manager_endpoint_v1.py index 2a02fcb..3873651 100644 --- a/backend/domains/text_manager/text_manager_endpoint_v1.py +++ b/backend/backend_domains/text_manager/text_manager_endpoint_v1.py @@ -1,15 +1,15 @@ from fastapi import APIRouter, Depends, HTTPException from fastapi import Path -from backend.domains.text_manager.text_manager_schema import BibliotecaInput, NotaInput +from backend.backend_domains.text_manager.text_manager_schema import BibliotecaInput, NotaInput from fastapi.concurrency import run_in_threadpool from backend.db.conexion import get_conexion -from backend.domains.text_manager.text_manager_srvc import * -from src.ConexionSql.Postgres_conexion import PostgresConexion +from backend.backend_domains.text_manager.text_manager_srvc import * +from domains.ConexionSql.Postgres_conexion import PostgresConexion from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_textos", created_by="sistema") router = APIRouter() diff --git a/backend/domains/text_manager/text_manager_schema.py b/backend/backend_domains/text_manager/text_manager_schema.py similarity index 100% rename from backend/domains/text_manager/text_manager_schema.py rename to backend/backend_domains/text_manager/text_manager_schema.py diff --git a/backend/domains/text_manager/text_manager_srvc.py b/backend/backend_domains/text_manager/text_manager_srvc.py similarity index 91% rename from backend/domains/text_manager/text_manager_srvc.py rename to backend/backend_domains/text_manager/text_manager_srvc.py index efe6b8b..bdc464c 100644 --- a/backend/domains/text_manager/text_manager_srvc.py +++ b/backend/backend_domains/text_manager/text_manager_srvc.py @@ -1,15 +1,15 @@ -from src.TextManager.biblioteca import Biblioteca -from src.TextManager.biblioteca_mmr import BibliotecaRepo -from src.Llms.Embedders.Openai_embedder import OpenAIEmbedder -from src.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo -from src.ConexionSql.Postgres_conexion import PostgresConexion -from src.TextManager.nota import Nota -from src.TextManager.notas_mmr import generar_tabla_nota_para_biblioteca, NotaRepo +from domains.TextManager.biblioteca import Biblioteca +from domains.TextManager.biblioteca_mmr import BibliotecaRepo +from domains.Llms.Embedders.Openai_embedder import OpenAIEmbedder +from domains.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo +from domains.ConexionSql.Postgres_conexion import PostgresConexion +from domains.TextManager.nota import Nota +from domains.TextManager.notas_mmr import generar_tabla_nota_para_biblioteca, NotaRepo from sqlalchemy import MetaData -from backend.domains.text_manager.text_manager_schema import NotaInput +from backend.backend_domains.text_manager.text_manager_schema import NotaInput from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_textos", created_by="sistema") def crear_biblioteca(nombre_biblioteca: str, conexion: PostgresConexion, descripcion: str = None): diff --git a/backend/domains/usuarios_endpoint_v1.py b/backend/backend_domains/usuarios_endpoint_v1.py similarity index 95% rename from backend/domains/usuarios_endpoint_v1.py rename to backend/backend_domains/usuarios_endpoint_v1.py index c4abd4c..b39af79 100644 --- a/backend/domains/usuarios_endpoint_v1.py +++ b/backend/backend_domains/usuarios_endpoint_v1.py @@ -1,6 +1,6 @@ from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.orm import Session -from src.Usuario.usuario_mmr import UsuarioRepo, Usuario, UsuarioModel +from domains.Usuario.usuario_mmr import UsuarioRepo, Usuario, UsuarioModel from backend.db.conexion import get_conexion router = APIRouter() diff --git a/backend/db/conexion.py b/backend/db/conexion.py index f638259..2f03ad6 100644 --- a/backend/db/conexion.py +++ b/backend/db/conexion.py @@ -1,6 +1,6 @@ # backend/db/conexion.py from entrypoint.init_db import db_credencial -from src.ConexionSql.Postgres_conexion import PostgresConexion +from domains.ConexionSql.Postgres_conexion import PostgresConexion def get_conexion(): conexion = PostgresConexion(db_credencial) diff --git a/backend/main.py b/backend/main.py index 954fe5f..dadb965 100644 --- a/backend/main.py +++ b/backend/main.py @@ -3,7 +3,7 @@ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from backend.router_v1 import router -from backend.domains.llms import llm_chat_ws_endpoint_v1 +from backend.backend_domains.llms import llm_chat_ws_endpoint_v1 app = FastAPI( diff --git a/backend/router_v1.py b/backend/router_v1.py index 3297259..c63125d 100644 --- a/backend/router_v1.py +++ b/backend/router_v1.py @@ -1,11 +1,11 @@ # backend/api/router_v1.py from fastapi import APIRouter -from backend.domains.experiments import charts_examples_endpoint_v1 as charts -from backend.domains.experiments import ping_endpoint_v1 -from backend.domains.text_manager import text_manager_endpoint_v1 -from backend.domains.llms import llm_chat_endpoint_v1 -from backend.domains.usuarios_endpoint_v1 import router as usuarios_router +from backend.backend_domains.experiments import charts_examples_endpoint_v1 as charts +from backend.backend_domains.experiments import ping_endpoint_v1 +from backend.backend_domains.text_manager import text_manager_endpoint_v1 +from backend.backend_domains.llms import llm_chat_endpoint_v1 +from backend.backend_domains.usuarios_endpoint_v1 import router as usuarios_router router = APIRouter() router.include_router(ping_endpoint_v1.router, prefix="/ping") diff --git a/src/ApiKeys/__init__.py b/domains/ApiKeys/__init__.py similarity index 100% rename from src/ApiKeys/__init__.py rename to domains/ApiKeys/__init__.py diff --git a/src/ApiKeys/openai_apikey.py b/domains/ApiKeys/openai_apikey.py similarity index 93% rename from src/ApiKeys/openai_apikey.py rename to domains/ApiKeys/openai_apikey.py index 32bdaef..814a671 100644 --- a/src/ApiKeys/openai_apikey.py +++ b/domains/ApiKeys/openai_apikey.py @@ -1,4 +1,4 @@ -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Security.GenerarIDs import GeneradorIDUnico class OpenAICredencial: def __init__(self, titulo: str, api_key: str, organizacion: str = None, id: str = None): diff --git a/src/ApiKeys/openai_apikey_mmr.py b/domains/ApiKeys/openai_apikey_mmr.py similarity index 88% rename from src/ApiKeys/openai_apikey_mmr.py rename to domains/ApiKeys/openai_apikey_mmr.py index fda0d8b..0dd2754 100644 --- a/src/ApiKeys/openai_apikey_mmr.py +++ b/domains/ApiKeys/openai_apikey_mmr.py @@ -3,17 +3,17 @@ import base64 from dotenv import load_dotenv from sqlalchemy import Column, Integer, String -from src.ConexionSql.Base_conexion import ConexionBase -from src.base import Base -from src.ApiKeys.openai_apikey import OpenAICredencial -from src.Security.Encriptar import Encriptar_fernet +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.base import Base +from domains.ApiKeys.openai_apikey import OpenAICredencial +from domains.Security.Encriptar import Encriptar_fernet from entrypoint import ENV_PATH -from src.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Mapper import Mapper_base from sqlalchemy import Column, String -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base # ---------------------- diff --git a/src/ArquitectureLayer/Mapper.py b/domains/ArquitectureLayer/Mapper.py similarity index 100% rename from src/ArquitectureLayer/Mapper.py rename to domains/ArquitectureLayer/Mapper.py diff --git a/src/ArquitectureLayer/Model.py b/domains/ArquitectureLayer/Model.py similarity index 100% rename from src/ArquitectureLayer/Model.py rename to domains/ArquitectureLayer/Model.py diff --git a/src/ArquitectureLayer/Repo.py b/domains/ArquitectureLayer/Repo.py similarity index 98% rename from src/ArquitectureLayer/Repo.py rename to domains/ArquitectureLayer/Repo.py index 7434e48..49d49f7 100644 --- a/src/ArquitectureLayer/Repo.py +++ b/domains/ArquitectureLayer/Repo.py @@ -6,7 +6,7 @@ from sqlalchemy.orm import Session from sqlalchemy import func from datetime import datetime -from src.ArquitectureLayer.Mapper import Mapper_base # Asegúrate de importar tu ABC base +from domains.ArquitectureLayer.Mapper import Mapper_base # Asegúrate de importar tu ABC base TModelo = TypeVar("TModelo") TDominio = TypeVar("TDominio") diff --git a/src/ConexionApis/Ollama_cliente.py b/domains/ConexionApis/Ollama_cliente.py similarity index 96% rename from src/ConexionApis/Ollama_cliente.py rename to domains/ConexionApis/Ollama_cliente.py index ab77238..66522d5 100644 --- a/src/ConexionApis/Ollama_cliente.py +++ b/domains/ConexionApis/Ollama_cliente.py @@ -1,5 +1,5 @@ import requests -from src.Credenciales.ollama_credencial import OllamaCredencial +from domains.Credenciales.ollama_credencial import OllamaCredencial class OllamaCliente: def __init__(self, credencial: OllamaCredencial): diff --git a/src/ConexionApis/OpenAi_conexion.py b/domains/ConexionApis/OpenAi_conexion.py similarity index 97% rename from src/ConexionApis/OpenAi_conexion.py rename to domains/ConexionApis/OpenAi_conexion.py index b67f130..828fd7a 100644 --- a/src/ConexionApis/OpenAi_conexion.py +++ b/domains/ConexionApis/OpenAi_conexion.py @@ -1,5 +1,5 @@ from openai import OpenAI -from src.ApiKeys.openai_apikey import OpenAICredencial +from domains.ApiKeys.openai_apikey import OpenAICredencial class OpenAICliente: def __init__(self, credencial: OpenAICredencial): diff --git a/src/ConexionApis/__init__.py b/domains/ConexionApis/__init__.py similarity index 100% rename from src/ConexionApis/__init__.py rename to domains/ConexionApis/__init__.py diff --git a/src/ConexionSql/Base_conexion.py b/domains/ConexionSql/Base_conexion.py similarity index 100% rename from src/ConexionSql/Base_conexion.py rename to domains/ConexionSql/Base_conexion.py diff --git a/src/ConexionSql/Postgres_conexion.py b/domains/ConexionSql/Postgres_conexion.py similarity index 93% rename from src/ConexionSql/Postgres_conexion.py rename to domains/ConexionSql/Postgres_conexion.py index 4141dd3..f6a879c 100644 --- a/src/ConexionSql/Postgres_conexion.py +++ b/domains/ConexionSql/Postgres_conexion.py @@ -4,8 +4,8 @@ from sqlalchemy.exc import SQLAlchemyError from sqlalchemy.orm import sessionmaker, Session from sqlalchemy.engine import Engine -from src.ConexionSql.Base_conexion import ConexionBase -from src.Credenciales.postgres_credencial import PostgresCredencial +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.Credenciales.postgres_credencial import PostgresCredencial class PostgresConexion(ConexionBase): def __init__(self, *args, **kwargs): diff --git a/src/ConexionSql/__init__.py b/domains/ConexionSql/__init__.py similarity index 100% rename from src/ConexionSql/__init__.py rename to domains/ConexionSql/__init__.py diff --git a/src/Credenciales/__init__.py b/domains/Credenciales/__init__.py similarity index 100% rename from src/Credenciales/__init__.py rename to domains/Credenciales/__init__.py diff --git a/src/Credenciales/ollama_credencial.py b/domains/Credenciales/ollama_credencial.py similarity index 92% rename from src/Credenciales/ollama_credencial.py rename to domains/Credenciales/ollama_credencial.py index d37052a..0e68d68 100644 --- a/src/Credenciales/ollama_credencial.py +++ b/domains/Credenciales/ollama_credencial.py @@ -1,4 +1,4 @@ -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Security.GenerarIDs import GeneradorIDUnico class OllamaCredencial: def __init__(self, titulo: str, base_url: str = "http://localhost:11434", id: str = None): diff --git a/src/Credenciales/postgres_credencial.py b/domains/Credenciales/postgres_credencial.py similarity index 91% rename from src/Credenciales/postgres_credencial.py rename to domains/Credenciales/postgres_credencial.py index b47fb01..6177586 100644 --- a/src/Credenciales/postgres_credencial.py +++ b/domains/Credenciales/postgres_credencial.py @@ -1,4 +1,4 @@ -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Security.GenerarIDs import GeneradorIDUnico class PostgresCredencial: def __init__(self, titulo: str, host: str, port: int, dbname: str, user: str, password: str, id: str = None): diff --git a/src/Credenciales/postgres_credencial_mmr.py b/domains/Credenciales/postgres_credencial_mmr.py similarity index 90% rename from src/Credenciales/postgres_credencial_mmr.py rename to domains/Credenciales/postgres_credencial_mmr.py index 9f11584..82fb301 100644 --- a/src/Credenciales/postgres_credencial_mmr.py +++ b/domains/Credenciales/postgres_credencial_mmr.py @@ -6,14 +6,14 @@ from sqlalchemy import DateTime, Text, func import base64 -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base -from src.ConexionSql.Base_conexion import ConexionBase -from src.base import Base -from src.Credenciales.postgres_credencial import PostgresCredencial -from src.Security.Encriptar import Encriptar_fernet +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.base import Base +from domains.Credenciales.postgres_credencial import PostgresCredencial +from domains.Security.Encriptar import Encriptar_fernet # ---------------------- # Cargar clave maestra diff --git a/src/Llms/Agente.py b/domains/Llms/Agente.py similarity index 98% rename from src/Llms/Agente.py rename to domains/Llms/Agente.py index 9974188..874d6d7 100644 --- a/src/Llms/Agente.py +++ b/domains/Llms/Agente.py @@ -1,13 +1,13 @@ -from src.Llms.Modelos.Base_model import ModeloABC -from src.Llms.Memory.Base_MemoryConv import MemoryConvABC -from src.Llms.MCPs.McpClient_Registry import ClientRegistry +from domains.Llms.Modelos.Base_model import ModeloABC +from domains.Llms.Memory.Base_MemoryConv import MemoryConvABC +from domains.Llms.MCPs.McpClient_Registry import ClientRegistry from datetime import datetime from typing import Optional, List, Union, AsyncGenerator import re import json from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_agentes", created_by="sistema") diff --git a/src/Llms/Embedders/Base_Embedder.py b/domains/Llms/Embedders/Base_Embedder.py similarity index 100% rename from src/Llms/Embedders/Base_Embedder.py rename to domains/Llms/Embedders/Base_Embedder.py diff --git a/src/Llms/Embedders/Openai_embedder.py b/domains/Llms/Embedders/Openai_embedder.py similarity index 77% rename from src/Llms/Embedders/Openai_embedder.py rename to domains/Llms/Embedders/Openai_embedder.py index a928dee..f0f4869 100644 --- a/src/Llms/Embedders/Openai_embedder.py +++ b/domains/Llms/Embedders/Openai_embedder.py @@ -1,8 +1,8 @@ from typing import List -from src.Llms.Embedders.Base_Embedder import EmbedderABC # Asegúrate de que EmbedderABC esté en este módulo -from src.ApiKeys.openai_apikey import OpenAICredencial -from src.ConexionApis.OpenAi_conexion import OpenAICliente -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Embedders.Base_Embedder import EmbedderABC # Asegúrate de que EmbedderABC esté en este módulo +from domains.ApiKeys.openai_apikey import OpenAICredencial +from domains.ConexionApis.OpenAi_conexion import OpenAICliente +from domains.Security.GenerarIDs import GeneradorIDUnico class OpenAIEmbedder(EmbedderABC): def __init__(self, credencial: OpenAICredencial, diff --git a/src/Llms/Embedders/Openai_embedder_mmr.py b/domains/Llms/Embedders/Openai_embedder_mmr.py similarity index 85% rename from src/Llms/Embedders/Openai_embedder_mmr.py rename to domains/Llms/Embedders/Openai_embedder_mmr.py index d203d1b..1d6118d 100644 --- a/src/Llms/Embedders/Openai_embedder_mmr.py +++ b/domains/Llms/Embedders/Openai_embedder_mmr.py @@ -3,15 +3,15 @@ from dotenv import load_dotenv from sqlalchemy import Column, String from sqlalchemy import Column, String, ForeignKey -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base -from src.ConexionSql.Base_conexion import ConexionBase -from src.base import Base -from src.Security.GenerarIDs import GeneradorIDUnico -from src.Llms.Embedders.Openai_embedder import OpenAIEmbedder -from src.ApiKeys.openai_apikey import OpenAICredencial +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.base import Base +from domains.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Embedders.Openai_embedder import OpenAIEmbedder +from domains.ApiKeys.openai_apikey import OpenAICredencial # ---------------------- # Cargar configuración desde .env si se requiere diff --git a/src/Llms/MCPs/McpClient.py b/domains/Llms/MCPs/McpClient.py similarity index 100% rename from src/Llms/MCPs/McpClient.py rename to domains/Llms/MCPs/McpClient.py diff --git a/src/Llms/MCPs/McpClient_Registry.py b/domains/Llms/MCPs/McpClient_Registry.py similarity index 97% rename from src/Llms/MCPs/McpClient_Registry.py rename to domains/Llms/MCPs/McpClient_Registry.py index d97aec5..def7922 100644 --- a/src/Llms/MCPs/McpClient_Registry.py +++ b/domains/Llms/MCPs/McpClient_Registry.py @@ -1,4 +1,4 @@ -from src.Llms.MCPs.McpClient import MCPClient +from domains.Llms.MCPs.McpClient import MCPClient from typing import Any class ClientRegistry: diff --git a/src/Llms/MCPs/McpServer.py b/domains/Llms/MCPs/McpServer.py similarity index 100% rename from src/Llms/MCPs/McpServer.py rename to domains/Llms/MCPs/McpServer.py diff --git a/src/Llms/MCPs/McpServers/server_files.py b/domains/Llms/MCPs/McpServers/server_files.py similarity index 100% rename from src/Llms/MCPs/McpServers/server_files.py rename to domains/Llms/MCPs/McpServers/server_files.py diff --git a/src/Llms/MCPs/McpServers/server_math.py b/domains/Llms/MCPs/McpServers/server_math.py similarity index 100% rename from src/Llms/MCPs/McpServers/server_math.py rename to domains/Llms/MCPs/McpServers/server_math.py diff --git a/src/Llms/MCPs/McpServers/server_utils.py b/domains/Llms/MCPs/McpServers/server_utils.py similarity index 100% rename from src/Llms/MCPs/McpServers/server_utils.py rename to domains/Llms/MCPs/McpServers/server_utils.py diff --git a/src/Llms/MCPs/__init__.py b/domains/Llms/MCPs/__init__.py similarity index 100% rename from src/Llms/MCPs/__init__.py rename to domains/Llms/MCPs/__init__.py diff --git a/src/Llms/Memory/Base_MemoryConv.py b/domains/Llms/Memory/Base_MemoryConv.py similarity index 100% rename from src/Llms/Memory/Base_MemoryConv.py rename to domains/Llms/Memory/Base_MemoryConv.py diff --git a/src/Llms/Memory/postgres_MemoryConv.py b/domains/Llms/Memory/postgres_MemoryConv.py similarity index 89% rename from src/Llms/Memory/postgres_MemoryConv.py rename to domains/Llms/Memory/postgres_MemoryConv.py index ef1ca90..ed77009 100644 --- a/src/Llms/Memory/postgres_MemoryConv.py +++ b/domains/Llms/Memory/postgres_MemoryConv.py @@ -1,9 +1,9 @@ from sqlalchemy import Table, Column, Integer, String, MetaData, insert, select, delete from typing import Literal -from src.Credenciales.postgres_credencial import PostgresCredencial -from src.ConexionSql.Postgres_conexion import PostgresConexion # Usamos la clase específica -from src.Llms.Memory.Base_MemoryConv import MemoryConvABC +from domains.Credenciales.postgres_credencial import PostgresCredencial +from domains.ConexionSql.Postgres_conexion import PostgresConexion # Usamos la clase específica +from domains.Llms.Memory.Base_MemoryConv import MemoryConvABC class MemoryConvPostgres(MemoryConvABC): diff --git a/src/Llms/Modelos/Base_model.py b/domains/Llms/Modelos/Base_model.py similarity index 100% rename from src/Llms/Modelos/Base_model.py rename to domains/Llms/Modelos/Base_model.py diff --git a/src/Llms/Modelos/Ollama_model.py b/domains/Llms/Modelos/Ollama_model.py similarity index 90% rename from src/Llms/Modelos/Ollama_model.py rename to domains/Llms/Modelos/Ollama_model.py index bb6cf46..2aede11 100644 --- a/src/Llms/Modelos/Ollama_model.py +++ b/domains/Llms/Modelos/Ollama_model.py @@ -1,7 +1,7 @@ -from src.Llms.Modelos.Base_model import ModeloABC -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Modelos.Base_model import ModeloABC +from domains.Security.GenerarIDs import GeneradorIDUnico from typing import AsyncGenerator, Union -from src.ConexionApis.Ollama_cliente import OllamaCliente # Asegúrate de importar correctamente +from domains.ConexionApis.Ollama_cliente import OllamaCliente # Asegúrate de importar correctamente import asyncio class ModeloOllama(ModeloABC): diff --git a/src/Llms/Modelos/Openai_model.py b/domains/Llms/Modelos/Openai_model.py similarity index 94% rename from src/Llms/Modelos/Openai_model.py rename to domains/Llms/Modelos/Openai_model.py index 6375d6b..2838d05 100644 --- a/src/Llms/Modelos/Openai_model.py +++ b/domains/Llms/Modelos/Openai_model.py @@ -1,6 +1,6 @@ -from src.Llms.Modelos.Base_model import ModeloABC -from src.ConexionApis.OpenAi_conexion import OpenAICliente -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Modelos.Base_model import ModeloABC +from domains.ConexionApis.OpenAi_conexion import OpenAICliente +from domains.Security.GenerarIDs import GeneradorIDUnico import asyncio from typing import AsyncGenerator, Union diff --git a/src/Llms/Modelos/Openai_model_mmr.py b/domains/Llms/Modelos/Openai_model_mmr.py similarity index 91% rename from src/Llms/Modelos/Openai_model_mmr.py rename to domains/Llms/Modelos/Openai_model_mmr.py index 94e4c09..e507515 100644 --- a/src/Llms/Modelos/Openai_model_mmr.py +++ b/domains/Llms/Modelos/Openai_model_mmr.py @@ -2,15 +2,15 @@ import os from dotenv import load_dotenv from sqlalchemy import Column, Integer, String, Float, Boolean -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base from typing import Optional -from src.ConexionSql.Base_conexion import ConexionBase -from src.base import Base -from src.Llms.Modelos.Openai_model import ModeloOpenAI # Clase real de lógica +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.base import Base +from domains.Llms.Modelos.Openai_model import ModeloOpenAI # Clase real de lógica # ---------------------- # Cargar clave maestra diff --git a/src/Llms/Modelos/__init__.py b/domains/Llms/Modelos/__init__.py similarity index 100% rename from src/Llms/Modelos/__init__.py rename to domains/Llms/Modelos/__init__.py diff --git a/src/Llms/__init__.py b/domains/Llms/__init__.py similarity index 100% rename from src/Llms/__init__.py rename to domains/Llms/__init__.py diff --git a/src/Logger/logger_db.py b/domains/Logger/logger_db.py similarity index 92% rename from src/Logger/logger_db.py rename to domains/Logger/logger_db.py index c46d044..538f9bf 100644 --- a/src/Logger/logger_db.py +++ b/domains/Logger/logger_db.py @@ -3,9 +3,9 @@ from sqlalchemy import Column, Integer, String, Text, TIMESTAMP from sqlalchemy.orm import sessionmaker from sqlalchemy.exc import SQLAlchemyError -from src.ArquitectureLayer.Model import Model_base -from src.ConexionSql.Postgres_conexion import PostgresConexion -from src.Credenciales.postgres_credencial import PostgresCredencial +from domains.ArquitectureLayer.Model import Model_base +from domains.ConexionSql.Postgres_conexion import PostgresConexion +from domains.Credenciales.postgres_credencial import PostgresCredencial class LoggerDB: _sink_removido = False # ← evita múltiples remove() si se crean varias instancias diff --git a/src/ScrappingWeb/ElementoWeb.py b/domains/ScrappingWeb/ElementoWeb.py similarity index 100% rename from src/ScrappingWeb/ElementoWeb.py rename to domains/ScrappingWeb/ElementoWeb.py diff --git a/src/ScrappingWeb/Navegador.py b/domains/ScrappingWeb/Navegador.py similarity index 100% rename from src/ScrappingWeb/Navegador.py rename to domains/ScrappingWeb/Navegador.py diff --git a/src/ScrappingWeb/Scrapper.py b/domains/ScrappingWeb/Scrapper.py similarity index 100% rename from src/ScrappingWeb/Scrapper.py rename to domains/ScrappingWeb/Scrapper.py diff --git a/src/ScrappingWeb/Tab.py b/domains/ScrappingWeb/Tab.py similarity index 100% rename from src/ScrappingWeb/Tab.py rename to domains/ScrappingWeb/Tab.py diff --git a/src/Security/Encriptar.py b/domains/Security/Encriptar.py similarity index 100% rename from src/Security/Encriptar.py rename to domains/Security/Encriptar.py diff --git a/src/Security/GenerarIDs.py b/domains/Security/GenerarIDs.py similarity index 100% rename from src/Security/GenerarIDs.py rename to domains/Security/GenerarIDs.py diff --git a/src/Security/__init__.py b/domains/Security/__init__.py similarity index 100% rename from src/Security/__init__.py rename to domains/Security/__init__.py diff --git a/src/TextManager/__init__.py b/domains/TextManager/__init__.py similarity index 100% rename from src/TextManager/__init__.py rename to domains/TextManager/__init__.py diff --git a/src/TextManager/biblioteca.py b/domains/TextManager/biblioteca.py similarity index 85% rename from src/TextManager/biblioteca.py rename to domains/TextManager/biblioteca.py index 385ff81..b2e7aee 100644 --- a/src/TextManager/biblioteca.py +++ b/domains/TextManager/biblioteca.py @@ -1,11 +1,11 @@ -from src.Security.GenerarIDs import GeneradorIDUnico -from src.Llms.Embedders.Base_Embedder import EmbedderABC # Asegúrate de que esta ruta sea correcta +from domains.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Embedders.Base_Embedder import EmbedderABC # Asegúrate de que esta ruta sea correcta from typing import List, Optional -from src.ConexionSql.Base_conexion import ConexionBase +from domains.ConexionSql.Base_conexion import ConexionBase from sqlalchemy import MetaData # Asegúrate de importar esto -from src.TextManager.notas_mmr import generar_tabla_nota_para_biblioteca # Ajusta si es necesario +from domains.TextManager.notas_mmr import generar_tabla_nota_para_biblioteca # Ajusta si es necesario from sqlalchemy import inspect -from src.base import Base +from domains.base import Base class Biblioteca: diff --git a/src/TextManager/biblioteca_mmr.py b/domains/TextManager/biblioteca_mmr.py similarity index 85% rename from src/TextManager/biblioteca_mmr.py rename to domains/TextManager/biblioteca_mmr.py index 163610f..308508a 100644 --- a/src/TextManager/biblioteca_mmr.py +++ b/domains/TextManager/biblioteca_mmr.py @@ -3,16 +3,16 @@ import base64 from dotenv import load_dotenv from sqlalchemy import Column, String, Integer -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base -from src.ConexionSql.Base_conexion import ConexionBase -from src.base import Base -from src.Security.Encriptar import Encriptar_fernet -from src.Security.GenerarIDs import GeneradorIDUnico -from src.Llms.Embedders.Base_Embedder import EmbedderABC -from src.TextManager.biblioteca import Biblioteca # Suponiendo que defines la clase lógica Biblioteca aquí +from domains.ConexionSql.Base_conexion import ConexionBase +from domains.base import Base +from domains.Security.Encriptar import Encriptar_fernet +from domains.Security.GenerarIDs import GeneradorIDUnico +from domains.Llms.Embedders.Base_Embedder import EmbedderABC +from domains.TextManager.biblioteca import Biblioteca # Suponiendo que defines la clase lógica Biblioteca aquí # ---------------------- # Cargar clave maestra diff --git a/src/TextManager/nota.py b/domains/TextManager/nota.py similarity index 96% rename from src/TextManager/nota.py rename to domains/TextManager/nota.py index 21aa35c..33ffa2f 100644 --- a/src/TextManager/nota.py +++ b/domains/TextManager/nota.py @@ -1,4 +1,4 @@ -from src.Security.GenerarIDs import GeneradorIDUnico +from domains.Security.GenerarIDs import GeneradorIDUnico from typing import List class Nota: diff --git a/src/TextManager/notas_mmr.py b/domains/TextManager/notas_mmr.py similarity index 92% rename from src/TextManager/notas_mmr.py rename to domains/TextManager/notas_mmr.py index fd77c88..be050da 100644 --- a/src/TextManager/notas_mmr.py +++ b/domains/TextManager/notas_mmr.py @@ -3,17 +3,17 @@ from dotenv import load_dotenv from sqlalchemy import Table, Column, String, Text, MetaData from pgvector.sqlalchemy import Vector from sqlalchemy.orm import registry, Session -from src.TextManager.nota import Nota -from src.ConexionSql.Base_conexion import ConexionBase +from domains.TextManager.nota import Nota +from domains.ConexionSql.Base_conexion import ConexionBase from typing import Tuple import re -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Repo import Repo_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Repo import Repo_base -from src.Credenciales.postgres_credencial import PostgresCredencial # Asegúrate de tener esta clase implementada correctamente +from domains.Credenciales.postgres_credencial import PostgresCredencial # Asegúrate de tener esta clase implementada correctamente titulo = os.getenv('DB_TITLE') @@ -34,11 +34,11 @@ db_credencial = PostgresCredencial( ) # from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_textos", created_by="sistema") -from src.base import Base # Este es tu declarative_base() +from domains.base import Base # Este es tu declarative_base() # ---------------------- # Cargar .env diff --git a/src/Usuario/usuario.py b/domains/Usuario/usuario.py similarity index 100% rename from src/Usuario/usuario.py rename to domains/Usuario/usuario.py diff --git a/src/Usuario/usuario_mmr.py b/domains/Usuario/usuario_mmr.py similarity index 91% rename from src/Usuario/usuario_mmr.py rename to domains/Usuario/usuario_mmr.py index e3fa74d..f4fe553 100644 --- a/src/Usuario/usuario_mmr.py +++ b/domains/Usuario/usuario_mmr.py @@ -1,8 +1,8 @@ from sqlalchemy import Column, Integer, String, Boolean -from src.ArquitectureLayer.Model import Model_base -from src.ArquitectureLayer.Mapper import Mapper_base -from src.ArquitectureLayer.Repo import Repo_base -from src.Usuario.usuario import Usuario +from domains.ArquitectureLayer.Model import Model_base +from domains.ArquitectureLayer.Mapper import Mapper_base +from domains.ArquitectureLayer.Repo import Repo_base +from domains.Usuario.usuario import Usuario # ---------------------- # MODELO (SQLAlchemy) diff --git a/src/__init__.py b/domains/__init__.py similarity index 100% rename from src/__init__.py rename to domains/__init__.py diff --git a/src/base.py b/domains/base.py similarity index 100% rename from src/base.py rename to domains/base.py diff --git a/entrypoint/init_db.py b/entrypoint/init_db.py index 2c0bce4..7d800af 100644 --- a/entrypoint/init_db.py +++ b/entrypoint/init_db.py @@ -1,14 +1,14 @@ # entrypoint/init_db.py -from src.base import Base -from src.ConexionSql.Postgres_conexion import PostgresConexion # Asegúrate de tener esta clase implementada correctamente -from src.Credenciales.postgres_credencial import PostgresCredencial # Asegúrate de tener esta clase implementada correctamente +from domains.base import Base +from domains.ConexionSql.Postgres_conexion import PostgresConexion # Asegúrate de tener esta clase implementada correctamente +from domains.Credenciales.postgres_credencial import PostgresCredencial # Asegúrate de tener esta clase implementada correctamente -from src.Credenciales.postgres_credencial_mmr import PostgresCredencialModel -from src.ApiKeys.openai_apikey_mmr import OpenAICredencialModel -from src.Llms.Modelos.Openai_model_mmr import ModeloOpenAIConfigModel -from src.Llms.Embedders.Openai_embedder_mmr import OpenAIEmbedderModel -from src.TextManager.biblioteca_mmr import BibliotecaModel +from domains.Credenciales.postgres_credencial_mmr import PostgresCredencialModel +from domains.ApiKeys.openai_apikey_mmr import OpenAICredencialModel +from domains.Llms.Modelos.Openai_model_mmr import ModeloOpenAIConfigModel +from domains.Llms.Embedders.Openai_embedder_mmr import OpenAIEmbedderModel +from domains.TextManager.biblioteca_mmr import BibliotecaModel from dotenv import load_dotenv diff --git a/frontend/src/Router.tsx b/frontend/src/Router.tsx index 96b90df..76e9dcf 100644 --- a/frontend/src/Router.tsx +++ b/frontend/src/Router.tsx @@ -1,14 +1,14 @@ import { createBrowserRouter, RouterProvider } from 'react-router-dom'; -import { HomePage } from './domains/Home/Home.page'; -import { Consulta_API } from './domains/Experiments/Consulta_api'; -import { Error_404 } from './domains/FitzStudio/404/404'; // Ajusta si está en otra carpeta -import { Grid_Dashboard } from './domains/Experiments/Grid_dashboard'; // Ajusta si está en otra carpeta -import { Biblioteca } from './domains/TextEditor/Biblioteca'; -import { VisualizacionesRandom } from './domains/Experiments/Visualizaciones_Random'; -import { Camara_noir } from './domains/CamaraNoir/Camaras_noir'; -import EditorTest from "./domains/TextEditor/Editor_Test"; -import { ChatPage } from './domains/Llms/Chat/ChatPage'; -import { LoginPage } from './domains/Usuarios/Login.page'; +import { HomePage } from './frontend_domains/Home/Home.page'; +import { Consulta_API } from './frontend_domains/Experiments/Consulta_api'; +import { Error_404 } from './frontend_domains/FitzStudio/404/404'; // Ajusta si está en otra carpeta +import { Grid_Dashboard } from './frontend_domains/Experiments/Grid_dashboard'; // Ajusta si está en otra carpeta +import { Biblioteca } from './frontend_domains/TextEditor/Biblioteca'; +import { VisualizacionesRandom } from './frontend_domains/Experiments/Visualizaciones_Random'; +import { Camara_noir } from './frontend_domains/CamaraNoir/Camaras_noir'; +import EditorTest from "./frontend_domains/TextEditor/Editor_Test"; +import { ChatPage } from './frontend_domains/Llms/Chat/ChatPage'; +import { LoginPage } from './frontend_domains/Usuarios/Login.page'; const router = createBrowserRouter([ diff --git a/frontend/src/data/submenuLinks_1.ts b/frontend/src/data/submenuLinks_1.ts index f998ba9..5a4b406 100644 --- a/frontend/src/data/submenuLinks_1.ts +++ b/frontend/src/data/submenuLinks_1.ts @@ -1,6 +1,6 @@ // src/data/submenuLinks.ts -import { Biblioteca } from "@/domains/TextEditor/Biblioteca"; +import { Biblioteca } from "@/frontend_domains/TextEditor/Biblioteca"; export const submenuLinks = { diff --git a/frontend/src/domains/CamaraNoir/Camaras_noir.tsx b/frontend/src/frontend_domains/CamaraNoir/Camaras_noir.tsx similarity index 100% rename from frontend/src/domains/CamaraNoir/Camaras_noir.tsx rename to frontend/src/frontend_domains/CamaraNoir/Camaras_noir.tsx diff --git a/frontend/src/domains/Experiments/Consulta_api.tsx b/frontend/src/frontend_domains/Experiments/Consulta_api.tsx similarity index 100% rename from frontend/src/domains/Experiments/Consulta_api.tsx rename to frontend/src/frontend_domains/Experiments/Consulta_api.tsx diff --git a/frontend/src/domains/Experiments/Grid_dashboard.tsx b/frontend/src/frontend_domains/Experiments/Grid_dashboard.tsx similarity index 100% rename from frontend/src/domains/Experiments/Grid_dashboard.tsx rename to frontend/src/frontend_domains/Experiments/Grid_dashboard.tsx diff --git a/frontend/src/domains/Experiments/Grid_dashboard_component.tsx b/frontend/src/frontend_domains/Experiments/Grid_dashboard_component.tsx similarity index 100% rename from frontend/src/domains/Experiments/Grid_dashboard_component.tsx rename to frontend/src/frontend_domains/Experiments/Grid_dashboard_component.tsx diff --git a/frontend/src/domains/Experiments/LlamadorAPI.tsx b/frontend/src/frontend_domains/Experiments/LlamadorAPI.tsx similarity index 100% rename from frontend/src/domains/Experiments/LlamadorAPI.tsx rename to frontend/src/frontend_domains/Experiments/LlamadorAPI.tsx diff --git a/frontend/src/domains/Experiments/MetodoSelect.tsx b/frontend/src/frontend_domains/Experiments/MetodoSelect.tsx similarity index 100% rename from frontend/src/domains/Experiments/MetodoSelect.tsx rename to frontend/src/frontend_domains/Experiments/MetodoSelect.tsx diff --git a/frontend/src/domains/Experiments/Visualizaciones_Random.tsx b/frontend/src/frontend_domains/Experiments/Visualizaciones_Random.tsx similarity index 100% rename from frontend/src/domains/Experiments/Visualizaciones_Random.tsx rename to frontend/src/frontend_domains/Experiments/Visualizaciones_Random.tsx diff --git a/frontend/src/domains/FitzStudio/404/404.tsx b/frontend/src/frontend_domains/FitzStudio/404/404.tsx similarity index 96% rename from frontend/src/domains/FitzStudio/404/404.tsx rename to frontend/src/frontend_domains/FitzStudio/404/404.tsx index ab75bcf..2f0ef4e 100644 --- a/frontend/src/domains/FitzStudio/404/404.tsx +++ b/frontend/src/frontend_domains/FitzStudio/404/404.tsx @@ -3,7 +3,7 @@ import { useMantineTheme } from '@mantine/core'; import { IconArrowLeft } from '../../../assets/icons'; import { Link } from 'react-router-dom'; import { MantineCardWithShader } from './HoloShader_404'; // Ajusta ruta si es necesario -import { AppShellWithMenu } from '../../FitzStudio/Appshell/Appshell'; +import { AppShellWithMenu } from '../Appshell/Appshell'; diff --git a/frontend/src/domains/FitzStudio/404/HoloShader_404.tsx b/frontend/src/frontend_domains/FitzStudio/404/HoloShader_404.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/404/HoloShader_404.tsx rename to frontend/src/frontend_domains/FitzStudio/404/HoloShader_404.tsx diff --git a/frontend/src/domains/FitzStudio/Appshell/Appshell.module.css b/frontend/src/frontend_domains/FitzStudio/Appshell/Appshell.module.css similarity index 100% rename from frontend/src/domains/FitzStudio/Appshell/Appshell.module.css rename to frontend/src/frontend_domains/FitzStudio/Appshell/Appshell.module.css diff --git a/frontend/src/domains/FitzStudio/Appshell/Appshell.tsx b/frontend/src/frontend_domains/FitzStudio/Appshell/Appshell.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/Appshell/Appshell.tsx rename to frontend/src/frontend_domains/FitzStudio/Appshell/Appshell.tsx diff --git a/frontend/src/domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle.tsx b/frontend/src/frontend_domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle.tsx rename to frontend/src/frontend_domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle.tsx diff --git a/frontend/src/domains/FitzStudio/Plantilla.tsx b/frontend/src/frontend_domains/FitzStudio/Plantilla.tsx similarity index 58% rename from frontend/src/domains/FitzStudio/Plantilla.tsx rename to frontend/src/frontend_domains/FitzStudio/Plantilla.tsx index 4794959..12980c4 100644 --- a/frontend/src/domains/FitzStudio/Plantilla.tsx +++ b/frontend/src/frontend_domains/FitzStudio/Plantilla.tsx @@ -1,4 +1,4 @@ -import { AppShellWithMenu } from '../FitzStudio/Appshell/Appshell'; +import { AppShellWithMenu } from './Appshell/Appshell'; export function Plantilla() { diff --git a/frontend/src/domains/FitzStudio/Welcome/Welcome.module.css b/frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.module.css similarity index 100% rename from frontend/src/domains/FitzStudio/Welcome/Welcome.module.css rename to frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.module.css diff --git a/frontend/src/domains/FitzStudio/Welcome/Welcome.story.tsx b/frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.story.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/Welcome/Welcome.story.tsx rename to frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.story.tsx diff --git a/frontend/src/domains/FitzStudio/Welcome/Welcome.test.tsx b/frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.test.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/Welcome/Welcome.test.tsx rename to frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.test.tsx diff --git a/frontend/src/domains/FitzStudio/Welcome/Welcome.tsx b/frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.tsx similarity index 100% rename from frontend/src/domains/FitzStudio/Welcome/Welcome.tsx rename to frontend/src/frontend_domains/FitzStudio/Welcome/Welcome.tsx diff --git a/frontend/src/domains/Home/Home.page.tsx b/frontend/src/frontend_domains/Home/Home.page.tsx similarity index 68% rename from frontend/src/domains/Home/Home.page.tsx rename to frontend/src/frontend_domains/Home/Home.page.tsx index 05220dc..28651e4 100644 --- a/frontend/src/domains/Home/Home.page.tsx +++ b/frontend/src/frontend_domains/Home/Home.page.tsx @@ -1,6 +1,6 @@ import { AppShellWithMenu } from '../FitzStudio/Appshell/Appshell'; -import { Welcome } from '@/domains/FitzStudio/Welcome/Welcome'; -import { ColorSchemeToggle } from '@/domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle'; +import { Welcome } from '@/frontend_domains/FitzStudio/Welcome/Welcome'; +import { ColorSchemeToggle } from '@/frontend_domains/FitzStudio/ColorSchemeToggle/ColorSchemeToggle'; export function HomePage() { diff --git a/frontend/src/domains/Llms/Chat/ChatInput.tsx b/frontend/src/frontend_domains/Llms/Chat/ChatInput.tsx similarity index 100% rename from frontend/src/domains/Llms/Chat/ChatInput.tsx rename to frontend/src/frontend_domains/Llms/Chat/ChatInput.tsx diff --git a/frontend/src/domains/Llms/Chat/ChatPage.tsx b/frontend/src/frontend_domains/Llms/Chat/ChatPage.tsx similarity index 100% rename from frontend/src/domains/Llms/Chat/ChatPage.tsx rename to frontend/src/frontend_domains/Llms/Chat/ChatPage.tsx diff --git a/frontend/src/domains/Llms/Chat/MessageBubble.tsx b/frontend/src/frontend_domains/Llms/Chat/MessageBubble.tsx similarity index 100% rename from frontend/src/domains/Llms/Chat/MessageBubble.tsx rename to frontend/src/frontend_domains/Llms/Chat/MessageBubble.tsx diff --git a/frontend/src/domains/Llms/Chat/MessageList.tsx b/frontend/src/frontend_domains/Llms/Chat/MessageList.tsx similarity index 100% rename from frontend/src/domains/Llms/Chat/MessageList.tsx rename to frontend/src/frontend_domains/Llms/Chat/MessageList.tsx diff --git a/frontend/src/domains/TextEditor/Biblioteca.tsx b/frontend/src/frontend_domains/TextEditor/Biblioteca.tsx similarity index 100% rename from frontend/src/domains/TextEditor/Biblioteca.tsx rename to frontend/src/frontend_domains/TextEditor/Biblioteca.tsx diff --git a/frontend/src/domains/TextEditor/Editor_Test.tsx b/frontend/src/frontend_domains/TextEditor/Editor_Test.tsx similarity index 100% rename from frontend/src/domains/TextEditor/Editor_Test.tsx rename to frontend/src/frontend_domains/TextEditor/Editor_Test.tsx diff --git a/frontend/src/domains/TextEditor/Editor_biblioteca.css b/frontend/src/frontend_domains/TextEditor/Editor_biblioteca.css similarity index 100% rename from frontend/src/domains/TextEditor/Editor_biblioteca.css rename to frontend/src/frontend_domains/TextEditor/Editor_biblioteca.css diff --git a/frontend/src/domains/Usuarios/Login.page.tsx b/frontend/src/frontend_domains/Usuarios/Login.page.tsx similarity index 88% rename from frontend/src/domains/Usuarios/Login.page.tsx rename to frontend/src/frontend_domains/Usuarios/Login.page.tsx index 28a8eea..d861183 100644 --- a/frontend/src/domains/Usuarios/Login.page.tsx +++ b/frontend/src/frontend_domains/Usuarios/Login.page.tsx @@ -1,6 +1,7 @@ import { useState } from 'react'; import { TextInput, PasswordInput, Button, Paper, Title, Container, Group, Alert } from '@mantine/core'; -import { IconUser, IconLock } from '@tabler/icons-react'; +import UserIcon from '../../assets/icons/outlined/user.svg?react'; +import LockIcon from '../../assets/icons/outlined/lock.svg?react'; export function LoginPage() { const [email, setEmail] = useState(''); @@ -37,7 +38,7 @@ export function LoginPage() { } + icon={} value={email} onChange={e => setEmail(e.target.value)} required @@ -46,7 +47,7 @@ export function LoginPage() { } + icon={} value={password} onChange={e => setPassword(e.target.value)} required diff --git a/prueba_loop_agente.py b/prueba_loop_agente.py index e4e6b76..1c58d4a 100644 --- a/prueba_loop_agente.py +++ b/prueba_loop_agente.py @@ -1,20 +1,20 @@ import asyncio -from src.ApiKeys.openai_apikey import OpenAICredencial -from src.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo -from src.ConexionSql.Postgres_conexion import PostgresConexion +from domains.ApiKeys.openai_apikey import OpenAICredencial +from domains.ApiKeys.openai_apikey_mmr import OpenAICredencialRepo +from domains.ConexionSql.Postgres_conexion import PostgresConexion from entrypoint.init_db import db_credencial -from src.ConexionApis.OpenAi_conexion import OpenAICliente -from src.Llms.Modelos.Openai_model import ModeloOpenAI -from src.Llms.Agente import AgenteAI -from src.Llms.Memory.postgres_MemoryConv import MemoryConvPostgres +from domains.ConexionApis.OpenAi_conexion import OpenAICliente +from domains.Llms.Modelos.Openai_model import ModeloOpenAI +from domains.Llms.Agente import AgenteAI +from domains.Llms.Memory.postgres_MemoryConv import MemoryConvPostgres from fastmcp.client.transports import StreamableHttpTransport from fastmcp.client import Client -from src.Llms.MCPs.McpClient import MCPClient # ya tienes esta clase -from src.Llms.MCPs.McpClient_Registry import ClientRegistry # o ajusta según tu estructura -from src.Credenciales.ollama_credencial import OllamaCredencial -from src.ConexionApis.Ollama_cliente import OllamaCliente -from src.Llms.Modelos.Ollama_model import ModeloOllama -from src.Llms.MCPs.McpServer import MCPServerRunner +from domains.Llms.MCPs.McpClient import MCPClient # ya tienes esta clase +from domains.Llms.MCPs.McpClient_Registry import ClientRegistry # o ajusta según tu estructura +from domains.Credenciales.ollama_credencial import OllamaCredencial +from domains.ConexionApis.Ollama_cliente import OllamaCliente +from domains.Llms.Modelos.Ollama_model import ModeloOllama +from domains.Llms.MCPs.McpServer import MCPServerRunner import asyncio diff --git a/prueba_mcp.py b/prueba_mcp.py index d12d206..e812335 100644 --- a/prueba_mcp.py +++ b/prueba_mcp.py @@ -1,5 +1,5 @@ import asyncio -from src.Llms.MCPs.McpServer import MCPServerRunner +from domains.Llms.MCPs.McpServer import MCPServerRunner async def main(): venv_python = r"E:\Fitz_Studio\.venv\Scripts\python.exe" diff --git a/scrappers/ejecucion_iterativa_navegador.py b/scrappers/ejecucion_iterativa_navegador.py index d0c3c8c..4ca2e96 100644 --- a/scrappers/ejecucion_iterativa_navegador.py +++ b/scrappers/ejecucion_iterativa_navegador.py @@ -2,7 +2,7 @@ import asyncio import os import pyperclip import re -from src.ScrappingWeb.Scrapper import Scrapper +from domains.ScrappingWeb.Scrapper import Scrapper def sanitizar(nombre: str) -> str: return re.sub(r'[\\/*?:"<>|]', "_", nombre).strip()[:100] diff --git a/scrappers/prueba_navegadores.py b/scrappers/prueba_navegadores.py index f656a07..da5de04 100644 --- a/scrappers/prueba_navegadores.py +++ b/scrappers/prueba_navegadores.py @@ -1,9 +1,9 @@ import asyncio import os import re -from src.ScrappingWeb.Navegador import Navegador -from src.ScrappingWeb.Scrapper import Scrapper -from src.ScrappingWeb.Tab import Tab +from domains.ScrappingWeb.Navegador import Navegador +from domains.ScrappingWeb.Scrapper import Scrapper +from domains.ScrappingWeb.Tab import Tab import aiohttp import csv diff --git a/snippets/utilizar_logger.py b/snippets/utilizar_logger.py index caaa542..93f41e2 100644 --- a/snippets/utilizar_logger.py +++ b/snippets/utilizar_logger.py @@ -1,5 +1,5 @@ from entrypoint.init_db import db_credencial -from src.Logger.logger_db import LoggerDB, logger +from domains.Logger.logger_db import LoggerDB, logger LoggerDB(db_credencial, "logger_eventos", created_by="sistema_agente") diff --git a/src/Usuario/usuario_mapper.py b/src/Usuario/usuario_mapper.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/Usuario/usuario_model.py b/src/Usuario/usuario_model.py deleted file mode 100644 index e69de29..0000000