Initial commit

This commit is contained in:
2026-04-08 12:43:24 +02:00
commit be674c2f93
148 changed files with 25007 additions and 0 deletions

61
server/tools/mock.py Normal file
View File

@@ -0,0 +1,61 @@
"""
tools/mock.py — Mock tools for testing the agent loop without real integrations.
EchoTool — returns its input unchanged, no side effects
ConfirmTool — always requires confirmation; logs that confirmation was received
"""
from __future__ import annotations
from .base import BaseTool, ToolResult
class EchoTool(BaseTool):
name = "echo"
description = (
"Returns whatever text you pass in. Useful for testing. "
"Use this when you need to verify tool calling works."
)
input_schema = {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": "The text to echo back",
}
},
"required": ["message"],
}
requires_confirmation = False
allowed_in_scheduled_tasks = True
async def execute(self, message: str = "", **kwargs) -> ToolResult:
return ToolResult(success=True, data={"echo": message})
class ConfirmTool(BaseTool):
name = "confirm_action"
description = (
"A test tool that always requires user confirmation before proceeding. "
"Use to verify the confirmation flow works end-to-end."
)
input_schema = {
"type": "object",
"properties": {
"action": {
"type": "string",
"description": "Description of the action requiring confirmation",
}
},
"required": ["action"],
}
requires_confirmation = True
allowed_in_scheduled_tasks = False
async def execute(self, action: str = "", **kwargs) -> ToolResult:
return ToolResult(
success=True,
data={"confirmed": True, "action": action},
)
def confirmation_description(self, action: str = "", **kwargs) -> str:
return f"Perform action: {action}"