feat(tools): Phase T.1-T.4 complete - manifest system, registry, implementations, runtime, collaboration, scheduler

This commit is contained in:
2026-04-05 11:54:57 +08:00
parent fca7a7cf3d
commit 10d9340c53
30 changed files with 2891 additions and 4 deletions

View File

@@ -0,0 +1,46 @@
"""
Tool Call Schema
Defines request/response structures for tool invocation.
"""
from pydantic import BaseModel, Field
from typing import Optional, Dict, Any, List
from datetime import datetime
class ToolCallRequest(BaseModel):
"""Tool call request"""
tool_name: str = Field(..., description="Tool name")
command: str = Field(..., description="Command name")
parameters: Dict[str, Any] = Field(default_factory=dict, description="Parameters")
timeout: Optional[int] = Field(default=None, description="Timeout override")
context: Optional[Dict[str, Any]] = Field(default=None, description="Context information")
class ToolCallResponse(BaseModel):
"""Tool call response"""
status: str = Field(..., description="Status: success/error")
result: Optional[Any] = Field(default=None, description="Execution result")
error: Optional[str] = Field(default=None, description="Error message")
message: Optional[str] = Field(default=None, description="AI-friendly message")
base64: Optional[str] = Field(default=None, description="Base64 data")
duration_ms: Optional[int] = Field(default=None, description="Execution duration")
timestamp: datetime = Field(default_factory=datetime.utcnow)
class ToolExecutionLog(BaseModel):
"""Tool execution log"""
id: str
tool_name: str
command: str
parameters: Dict[str, Any]
status: str
duration_ms: int
error: Optional[str] = None
user_id: Optional[str] = None
agent_id: Optional[str] = None
created_at: datetime = Field(default_factory=datetime.utcnow)