chore(cleanup): toten AI-Copilot-Legacy entfernt — Router nie gemountet, Tabellen von Migration 0137 gedroppt (Chat läuft seitdem über kommunikation/comm_conversations); schemas/OpenAPI-Tag bereinigt; Geister-Test test_ai_copilot.py geloescht (pytest.skip seit Phase 2); test_contacts_lifecycle Route-Anzahl-Failure als Vorbestand bewiesen (83 Routen auch auf clean HEAD)
This commit is contained in:
@@ -1,14 +1,5 @@
|
||||
"""Pydantic schemas package."""
|
||||
|
||||
from app.schemas.ai_copilot import (
|
||||
CopilotAction, # noqa: F401
|
||||
CopilotExecuteRequest, # noqa: F401
|
||||
CopilotExecuteResponse, # noqa: F401
|
||||
CopilotHistoryResponse, # noqa: F401
|
||||
CopilotMessageResponse, # noqa: F401
|
||||
CopilotQueryRequest, # noqa: F401
|
||||
CopilotQueryResponse, # noqa: F401
|
||||
)
|
||||
from app.schemas.plugin import (
|
||||
PluginActionResponse, # noqa: F401
|
||||
PluginInfo, # noqa: F401
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
"""AI Copilot schemas — query, execute, history."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class CopilotQueryRequest(BaseModel):
|
||||
"""Natural language query to the AI copilot."""
|
||||
|
||||
query: str = Field(..., min_length=1, max_length=2000)
|
||||
conversation_id: str | None = None
|
||||
context: dict = Field(default_factory=dict)
|
||||
|
||||
|
||||
class CopilotAction(BaseModel):
|
||||
"""A proposed API action derived from NL input."""
|
||||
|
||||
method: str = Field(..., pattern="^(GET|POST|PATCH|DELETE)$")
|
||||
path: str = Field(..., min_length=1)
|
||||
body: dict | None = None
|
||||
description: str = ""
|
||||
confidence: float = Field(0.0, ge=0.0, le=1.0)
|
||||
|
||||
|
||||
class CopilotQueryResponse(BaseModel):
|
||||
"""Response from copilot query — proposed actions for user confirmation."""
|
||||
|
||||
conversation_id: str
|
||||
message: str
|
||||
proposed_actions: list[CopilotAction] = Field(default_factory=list)
|
||||
|
||||
|
||||
class CopilotExecuteRequest(BaseModel):
|
||||
"""Execute a proposed action after user confirmation."""
|
||||
|
||||
conversation_id: str
|
||||
action: CopilotAction
|
||||
|
||||
|
||||
class CopilotExecuteResponse(BaseModel):
|
||||
"""Result of executing a proposed action."""
|
||||
|
||||
conversation_id: str
|
||||
success: bool
|
||||
status_code: int
|
||||
data: dict | list | None = None
|
||||
error: str | None = None
|
||||
|
||||
|
||||
class CopilotMessageResponse(BaseModel):
|
||||
"""A single message in conversation history."""
|
||||
|
||||
id: str
|
||||
role: str
|
||||
content: str
|
||||
proposed_actions: list[dict] | None = None
|
||||
executed_action: dict | None = None
|
||||
execution_result: dict | None = None
|
||||
created_at: str | None = None
|
||||
|
||||
|
||||
class CopilotHistoryResponse(BaseModel):
|
||||
"""Paginated conversation history."""
|
||||
|
||||
items: list[CopilotMessageResponse]
|
||||
total: int
|
||||
page: int
|
||||
page_size: int
|
||||
Reference in New Issue
Block a user