chore: ran linter & formatter again
This commit is contained in:
@@ -5,11 +5,12 @@ import logging
|
|||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
from fastapi import FastAPI, HTTPException
|
from fastapi import FastAPI, HTTPException
|
||||||
from fastapi.responses import JSONResponse, StreamingResponse
|
from fastapi.responses import JSONResponse, StreamingResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from pydantic import BaseModel, Field, validator
|
from pydantic import BaseModel, Field, validator
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
from alfred.agent.agent import Agent
|
from alfred.agent.agent import Agent
|
||||||
from alfred.agent.config import settings
|
from alfred.agent.config import settings
|
||||||
@@ -40,7 +41,6 @@ else:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# Initialize memory context at startup
|
# Initialize memory context at startup
|
||||||
# Use /data/memory in Docker, fallback to memory_data for local dev
|
|
||||||
storage_dir = os.getenv("MEMORY_STORAGE_DIR", "memory_data")
|
storage_dir = os.getenv("MEMORY_STORAGE_DIR", "memory_data")
|
||||||
init_memory(storage_dir=storage_dir)
|
init_memory(storage_dir=storage_dir)
|
||||||
logger.info(f"Memory context initialized (storage: {storage_dir})")
|
logger.info(f"Memory context initialized (storage: {storage_dir})")
|
||||||
|
|||||||
@@ -2,7 +2,11 @@
|
|||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from alfred.infrastructure.api.knaben import KnabenAPIError, KnabenClient, KnabenNotFoundError
|
from alfred.infrastructure.api.knaben import (
|
||||||
|
KnabenAPIError,
|
||||||
|
KnabenClient,
|
||||||
|
KnabenNotFoundError,
|
||||||
|
)
|
||||||
|
|
||||||
from .dto import SearchTorrentsResponse
|
from .dto import SearchTorrentsResponse
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
"""Knaben torrent search API client."""
|
"""Knaben torrent search API client."""
|
||||||
|
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import requests
|
|
||||||
from requests.exceptions import HTTPError, RequestException, Timeout
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import requests
|
||||||
|
from requests.exceptions import HTTPError, RequestException, Timeout
|
||||||
|
|
||||||
from alfred.agent.config import Settings, settings
|
from alfred.agent.config import Settings, settings
|
||||||
|
|
||||||
from .dto import TorrentResult
|
from .dto import TorrentResult
|
||||||
from .exceptions import KnabenAPIError, KnabenNotFoundError
|
from .exceptions import KnabenAPIError, KnabenNotFoundError
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
"""qBittorrent Web API client."""
|
"""qBittorrent Web API client."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import requests
|
|
||||||
from requests.exceptions import HTTPError, RequestException, Timeout
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import requests
|
||||||
|
from requests.exceptions import HTTPError, RequestException, Timeout
|
||||||
|
|
||||||
from alfred.agent.config import Settings, settings
|
from alfred.agent.config import Settings, settings
|
||||||
|
|
||||||
from .dto import TorrentInfo
|
from .dto import TorrentInfo
|
||||||
from .exceptions import QBittorrentAPIError, QBittorrentAuthError
|
from .exceptions import QBittorrentAPIError, QBittorrentAuthError
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
"""TMDB (The Movie Database) API client."""
|
"""TMDB (The Movie Database) API client."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import requests
|
|
||||||
from requests.exceptions import HTTPError, RequestException, Timeout
|
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import requests
|
||||||
|
from requests.exceptions import HTTPError, RequestException, Timeout
|
||||||
|
|
||||||
from alfred.agent.config import Settings, settings
|
from alfred.agent.config import Settings, settings
|
||||||
|
|
||||||
from .dto import MediaResult
|
from .dto import MediaResult
|
||||||
from .exceptions import (
|
from .exceptions import (
|
||||||
TMDBAPIError,
|
TMDBAPIError,
|
||||||
|
|||||||
1
cli.py
1
cli.py
@@ -179,7 +179,6 @@ def setup() -> None:
|
|||||||
"""Orchestrate initialization."""
|
"""Orchestrate initialization."""
|
||||||
is_docker_running()
|
is_docker_running()
|
||||||
ensure_env()
|
ensure_env()
|
||||||
#mkdir
|
|
||||||
|
|
||||||
|
|
||||||
def status() -> None:
|
def status() -> None:
|
||||||
|
|||||||
@@ -3,13 +3,14 @@
|
|||||||
# TODO: Moved directory, should not be necessary anymore but need to check !!
|
# TODO: Moved directory, should not be necessary anymore but need to check !!
|
||||||
# Ajouter le dossier parent (brain) au PYTHONPATH
|
# Ajouter le dossier parent (brain) au PYTHONPATH
|
||||||
# sys.path.insert(0, str(Path(__file__).parent.parent))
|
# sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||||
import pytest
|
|
||||||
import shutil
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from unittest.mock import MagicMock, Mock
|
from unittest.mock import MagicMock, Mock
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.infrastructure.persistence import Memory, set_memory
|
from alfred.infrastructure.persistence import Memory, set_memory
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
"""Edge case tests for the Agent."""
|
"""Edge case tests for the Agent."""
|
||||||
import pytest
|
|
||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.agent import Agent
|
from alfred.agent.agent import Agent
|
||||||
from alfred.infrastructure.persistence import get_memory
|
from alfred.infrastructure.persistence import get_memory
|
||||||
|
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_very_long_message(self, memory):
|
def test_very_long_message(self, memory):
|
||||||
"""Should handle very long user message."""
|
"""Should handle very long user message."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
# Patch the agent's LLM directly
|
# Patch the agent's LLM directly
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
@@ -33,8 +33,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_unicode_message(self, memory):
|
def test_unicode_message(self, memory):
|
||||||
"""Should handle unicode in message."""
|
"""Should handle unicode in message."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {
|
mock_llm.complete.return_value = {
|
||||||
@@ -59,8 +59,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_special_characters_in_message(self, memory):
|
def test_special_characters_in_message(self, memory):
|
||||||
"""Should handle special characters."""
|
"""Should handle special characters."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
||||||
@@ -187,8 +187,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_many_messages(self, memory):
|
def test_many_messages(self, memory):
|
||||||
"""Should handle many messages in conversation."""
|
"""Should handle many messages in conversation."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
||||||
@@ -301,8 +301,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_extra_fields_in_request(self, memory):
|
def test_extra_fields_in_request(self, memory):
|
||||||
"""Should ignore extra fields in request."""
|
"""Should ignore extra fields in request."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
||||||
@@ -325,8 +325,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_streaming_with_tool_call(self, memory, real_folder):
|
def test_streaming_with_tool_call(self, memory, real_folder):
|
||||||
"""Should handle streaming with tool execution."""
|
"""Should handle streaming with tool execution."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
from alfred.infrastructure.persistence import get_memory
|
from alfred.infrastructure.persistence import get_memory
|
||||||
|
|
||||||
mem = get_memory()
|
mem = get_memory()
|
||||||
@@ -371,8 +371,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_concurrent_requests_simulation(self, memory):
|
def test_concurrent_requests_simulation(self, memory):
|
||||||
"""Should handle rapid sequential requests."""
|
"""Should handle rapid sequential requests."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
mock_llm.complete.return_value = {"role": "assistant", "content": "Response"}
|
||||||
@@ -392,8 +392,8 @@ class TestChatCompletionsEdgeCases:
|
|||||||
|
|
||||||
def test_llm_returns_json_in_response(self, memory):
|
def test_llm_returns_json_in_response(self, memory):
|
||||||
"""Should handle LLM returning JSON in text response."""
|
"""Should handle LLM returning JSON in text response."""
|
||||||
from alfred.app import app
|
|
||||||
from alfred.agent import agent
|
from alfred.agent import agent
|
||||||
|
from alfred.app import app
|
||||||
|
|
||||||
mock_llm = Mock()
|
mock_llm = Mock()
|
||||||
mock_llm.complete.return_value = {
|
mock_llm.complete.return_value = {
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
"""Critical tests for configuration validation."""
|
"""Critical tests for configuration validation."""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.config import ConfigurationError, Settings
|
from alfred.agent.config import ConfigurationError, Settings
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
"""Edge case tests for configuration and parameters."""
|
"""Edge case tests for configuration and parameters."""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import pytest
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.config import ConfigurationError, Settings
|
from alfred.agent.config import ConfigurationError, Settings
|
||||||
from alfred.agent.parameters import (
|
from alfred.agent.parameters import (
|
||||||
REQUIRED_PARAMETERS,
|
REQUIRED_PARAMETERS,
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
"""Edge case tests for domain entities and value objects."""
|
"""Edge case tests for domain entities and value objects."""
|
||||||
import pytest
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.domain.movies.entities import Movie
|
from alfred.domain.movies.entities import Movie
|
||||||
from alfred.domain.movies.value_objects import MovieTitle, Quality, ReleaseYear
|
from alfred.domain.movies.value_objects import MovieTitle, Quality, ReleaseYear
|
||||||
from alfred.domain.shared.exceptions import ValidationError
|
from alfred.domain.shared.exceptions import ValidationError
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
"""Tests for the Memory system."""
|
"""Tests for the Memory system."""
|
||||||
import pytest
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.infrastructure.persistence import (
|
from alfred.infrastructure.persistence import (
|
||||||
EpisodicMemory,
|
EpisodicMemory,
|
||||||
LongTermMemory,
|
LongTermMemory,
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from alfred.infrastructure.persistence import (
|
from alfred.infrastructure.persistence import (
|
||||||
EpisodicMemory,
|
EpisodicMemory,
|
||||||
LongTermMemory,
|
LongTermMemory,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
import inspect
|
import inspect
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.prompts import PromptBuilder
|
from alfred.agent.prompts import PromptBuilder
|
||||||
from alfred.agent.registry import Tool, _create_tool_from_function, make_tools
|
from alfred.agent.registry import Tool, _create_tool_from_function, make_tools
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
"""Edge case tests for tool registry."""
|
"""Edge case tests for tool registry."""
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.registry import Tool, make_tools
|
from alfred.agent.registry import Tool, make_tools
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
"""Edge case tests for tools."""
|
"""Edge case tests for tools."""
|
||||||
import pytest
|
|
||||||
from unittest.mock import Mock, patch
|
from unittest.mock import Mock, patch
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.tools import api as api_tools
|
from alfred.agent.tools import api as api_tools
|
||||||
from alfred.agent.tools import filesystem as fs_tools
|
from alfred.agent.tools import filesystem as fs_tools
|
||||||
from alfred.infrastructure.persistence import get_memory
|
from alfred.infrastructure.persistence import get_memory
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
"""Tests for filesystem tools."""
|
"""Tests for filesystem tools."""
|
||||||
import pytest
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
from alfred.agent.tools import filesystem as fs_tools
|
from alfred.agent.tools import filesystem as fs_tools
|
||||||
from alfred.infrastructure.persistence import get_memory
|
from alfred.infrastructure.persistence import get_memory
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user