545 lines
16 KiB
JSON
545 lines
16 KiB
JSON
{
|
|
"tools": [
|
|
{
|
|
"name": "web_search",
|
|
"purpose": "Search the web for information on specified topics with customizable filters and result limits",
|
|
"category": "search",
|
|
"inputs": [
|
|
{
|
|
"name": "query",
|
|
"type": "string",
|
|
"description": "Search query string to find relevant information",
|
|
"required": true,
|
|
"min_length": 1,
|
|
"max_length": 500,
|
|
"examples": ["artificial intelligence trends", "climate change impact", "python programming tutorial"]
|
|
},
|
|
{
|
|
"name": "limit",
|
|
"type": "integer",
|
|
"description": "Maximum number of search results to return",
|
|
"required": false,
|
|
"default": 10,
|
|
"minimum": 1,
|
|
"maximum": 100
|
|
},
|
|
{
|
|
"name": "language",
|
|
"type": "string",
|
|
"description": "Language code for search results",
|
|
"required": false,
|
|
"default": "en",
|
|
"enum": ["en", "es", "fr", "de", "it", "pt", "zh", "ja"]
|
|
},
|
|
{
|
|
"name": "time_range",
|
|
"type": "string",
|
|
"description": "Time range filter for search results",
|
|
"required": false,
|
|
"enum": ["any", "day", "week", "month", "year"]
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "results",
|
|
"type": "array",
|
|
"description": "Array of search result objects",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"title": {"type": "string"},
|
|
"url": {"type": "string"},
|
|
"snippet": {"type": "string"},
|
|
"relevance_score": {"type": "number"}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "total_found",
|
|
"type": "integer",
|
|
"description": "Total number of results available"
|
|
}
|
|
],
|
|
"error_conditions": [
|
|
"Invalid query format",
|
|
"Network timeout",
|
|
"API rate limit exceeded",
|
|
"No results found",
|
|
"Service unavailable"
|
|
],
|
|
"side_effects": [
|
|
"Logs search query for analytics",
|
|
"May cache results temporarily"
|
|
],
|
|
"idempotent": true,
|
|
"rate_limits": {
|
|
"requests_per_minute": 60,
|
|
"requests_per_hour": 1000,
|
|
"burst_limit": 10
|
|
},
|
|
"dependencies": [
|
|
"search_api_service",
|
|
"content_filter_service"
|
|
],
|
|
"examples": [
|
|
{
|
|
"description": "Basic web search",
|
|
"input": {
|
|
"query": "machine learning algorithms",
|
|
"limit": 5
|
|
},
|
|
"expected_output": {
|
|
"results": [
|
|
{
|
|
"title": "Introduction to Machine Learning Algorithms",
|
|
"url": "https://example.com/ml-intro",
|
|
"snippet": "Machine learning algorithms are computational methods...",
|
|
"relevance_score": 0.95
|
|
}
|
|
],
|
|
"total_found": 1250
|
|
}
|
|
}
|
|
],
|
|
"security_requirements": [
|
|
"Query sanitization",
|
|
"Rate limiting by user",
|
|
"Content filtering"
|
|
]
|
|
},
|
|
{
|
|
"name": "data_analyzer",
|
|
"purpose": "Analyze structured data and generate statistical insights, trends, and visualizations",
|
|
"category": "data",
|
|
"inputs": [
|
|
{
|
|
"name": "data",
|
|
"type": "object",
|
|
"description": "Structured data to analyze in JSON format",
|
|
"required": true,
|
|
"properties": {
|
|
"columns": {"type": "array"},
|
|
"rows": {"type": "array"}
|
|
}
|
|
},
|
|
{
|
|
"name": "analysis_type",
|
|
"type": "string",
|
|
"description": "Type of analysis to perform",
|
|
"required": true,
|
|
"enum": ["descriptive", "correlation", "trend", "distribution", "outlier_detection"]
|
|
},
|
|
{
|
|
"name": "target_column",
|
|
"type": "string",
|
|
"description": "Primary column to focus analysis on",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "include_visualization",
|
|
"type": "boolean",
|
|
"description": "Whether to generate visualization data",
|
|
"required": false,
|
|
"default": true
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "insights",
|
|
"type": "array",
|
|
"description": "Array of analytical insights and findings"
|
|
},
|
|
{
|
|
"name": "statistics",
|
|
"type": "object",
|
|
"description": "Statistical measures and metrics"
|
|
},
|
|
{
|
|
"name": "visualization_data",
|
|
"type": "object",
|
|
"description": "Data formatted for visualization creation"
|
|
}
|
|
],
|
|
"error_conditions": [
|
|
"Invalid data format",
|
|
"Insufficient data points",
|
|
"Missing required columns",
|
|
"Data type mismatch",
|
|
"Analysis timeout"
|
|
],
|
|
"side_effects": [
|
|
"May create temporary analysis files",
|
|
"Logs analysis parameters for optimization"
|
|
],
|
|
"idempotent": true,
|
|
"rate_limits": {
|
|
"requests_per_minute": 30,
|
|
"requests_per_hour": 500,
|
|
"burst_limit": 5
|
|
},
|
|
"dependencies": [
|
|
"statistics_engine",
|
|
"visualization_service"
|
|
],
|
|
"examples": [
|
|
{
|
|
"description": "Basic descriptive analysis",
|
|
"input": {
|
|
"data": {
|
|
"columns": ["age", "salary", "department"],
|
|
"rows": [
|
|
[25, 50000, "engineering"],
|
|
[30, 60000, "engineering"],
|
|
[28, 55000, "marketing"]
|
|
]
|
|
},
|
|
"analysis_type": "descriptive",
|
|
"target_column": "salary"
|
|
},
|
|
"expected_output": {
|
|
"insights": [
|
|
"Average salary is $55,000",
|
|
"Salary range: $50,000 - $60,000",
|
|
"Engineering department has higher average salary"
|
|
],
|
|
"statistics": {
|
|
"mean": 55000,
|
|
"median": 55000,
|
|
"std_dev": 5000
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"security_requirements": [
|
|
"Data anonymization",
|
|
"Access control validation"
|
|
]
|
|
},
|
|
{
|
|
"name": "document_processor",
|
|
"purpose": "Process and extract information from various document formats including PDFs, Word docs, and plain text",
|
|
"category": "file",
|
|
"inputs": [
|
|
{
|
|
"name": "document_url",
|
|
"type": "string",
|
|
"description": "URL or path to the document to process",
|
|
"required": true,
|
|
"pattern": "^(https?://|file://|/)"
|
|
},
|
|
{
|
|
"name": "processing_mode",
|
|
"type": "string",
|
|
"description": "How to process the document",
|
|
"required": false,
|
|
"default": "full_text",
|
|
"enum": ["full_text", "summary", "key_points", "metadata_only"]
|
|
},
|
|
{
|
|
"name": "output_format",
|
|
"type": "string",
|
|
"description": "Desired output format",
|
|
"required": false,
|
|
"default": "json",
|
|
"enum": ["json", "markdown", "plain_text"]
|
|
},
|
|
{
|
|
"name": "language_detection",
|
|
"type": "boolean",
|
|
"description": "Whether to detect document language",
|
|
"required": false,
|
|
"default": true
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "content",
|
|
"type": "string",
|
|
"description": "Extracted and processed document content"
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": "object",
|
|
"description": "Document metadata including author, creation date, etc."
|
|
},
|
|
{
|
|
"name": "language",
|
|
"type": "string",
|
|
"description": "Detected language of the document"
|
|
},
|
|
{
|
|
"name": "word_count",
|
|
"type": "integer",
|
|
"description": "Total word count in the document"
|
|
}
|
|
],
|
|
"error_conditions": [
|
|
"Document not found",
|
|
"Unsupported file format",
|
|
"Document corrupted or unreadable",
|
|
"Access permission denied",
|
|
"Document too large"
|
|
],
|
|
"side_effects": [
|
|
"May download and cache documents temporarily",
|
|
"Creates processing logs for debugging"
|
|
],
|
|
"idempotent": true,
|
|
"rate_limits": {
|
|
"requests_per_minute": 20,
|
|
"requests_per_hour": 300,
|
|
"burst_limit": 3
|
|
},
|
|
"dependencies": [
|
|
"document_parser_service",
|
|
"language_detection_service",
|
|
"file_storage_service"
|
|
],
|
|
"examples": [
|
|
{
|
|
"description": "Process PDF document for full text extraction",
|
|
"input": {
|
|
"document_url": "https://example.com/research-paper.pdf",
|
|
"processing_mode": "full_text",
|
|
"output_format": "markdown"
|
|
},
|
|
"expected_output": {
|
|
"content": "# Research Paper Title\n\nAbstract: This paper discusses...",
|
|
"metadata": {
|
|
"author": "Dr. Smith",
|
|
"creation_date": "2024-01-15",
|
|
"pages": 15
|
|
},
|
|
"language": "en",
|
|
"word_count": 3500
|
|
}
|
|
}
|
|
],
|
|
"security_requirements": [
|
|
"URL validation",
|
|
"File type verification",
|
|
"Malware scanning",
|
|
"Access control enforcement"
|
|
]
|
|
},
|
|
{
|
|
"name": "notification_sender",
|
|
"purpose": "Send notifications via multiple channels including email, SMS, and webhooks",
|
|
"category": "communication",
|
|
"inputs": [
|
|
{
|
|
"name": "recipients",
|
|
"type": "array",
|
|
"description": "List of recipient identifiers",
|
|
"required": true,
|
|
"min_items": 1,
|
|
"max_items": 100,
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$|^\\+?[1-9]\\d{1,14}$"
|
|
}
|
|
},
|
|
{
|
|
"name": "message",
|
|
"type": "string",
|
|
"description": "Message content to send",
|
|
"required": true,
|
|
"min_length": 1,
|
|
"max_length": 10000
|
|
},
|
|
{
|
|
"name": "channel",
|
|
"type": "string",
|
|
"description": "Communication channel to use",
|
|
"required": false,
|
|
"default": "email",
|
|
"enum": ["email", "sms", "webhook", "push"]
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": "string",
|
|
"description": "Message priority level",
|
|
"required": false,
|
|
"default": "normal",
|
|
"enum": ["low", "normal", "high", "urgent"]
|
|
},
|
|
{
|
|
"name": "template_id",
|
|
"type": "string",
|
|
"description": "Optional template ID for formatting",
|
|
"required": false
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "delivery_status",
|
|
"type": "object",
|
|
"description": "Status of message delivery to each recipient"
|
|
},
|
|
{
|
|
"name": "message_id",
|
|
"type": "string",
|
|
"description": "Unique identifier for the sent message"
|
|
},
|
|
{
|
|
"name": "delivery_timestamp",
|
|
"type": "string",
|
|
"description": "ISO timestamp when message was sent"
|
|
}
|
|
],
|
|
"error_conditions": [
|
|
"Invalid recipient format",
|
|
"Message too long",
|
|
"Channel service unavailable",
|
|
"Authentication failure",
|
|
"Rate limit exceeded for channel"
|
|
],
|
|
"side_effects": [
|
|
"Sends actual notifications to recipients",
|
|
"Logs delivery attempts and results",
|
|
"Updates delivery statistics"
|
|
],
|
|
"idempotent": false,
|
|
"rate_limits": {
|
|
"requests_per_minute": 100,
|
|
"requests_per_hour": 2000,
|
|
"burst_limit": 20
|
|
},
|
|
"dependencies": [
|
|
"email_service",
|
|
"sms_service",
|
|
"webhook_service"
|
|
],
|
|
"examples": [
|
|
{
|
|
"description": "Send email notification",
|
|
"input": {
|
|
"recipients": ["user@example.com"],
|
|
"message": "Your report has been completed and is ready for review.",
|
|
"channel": "email",
|
|
"priority": "normal"
|
|
},
|
|
"expected_output": {
|
|
"delivery_status": {
|
|
"user@example.com": "delivered"
|
|
},
|
|
"message_id": "msg_12345",
|
|
"delivery_timestamp": "2024-01-15T10:30:00Z"
|
|
}
|
|
}
|
|
],
|
|
"security_requirements": [
|
|
"Recipient validation",
|
|
"Message content filtering",
|
|
"Rate limiting per user",
|
|
"Delivery confirmation"
|
|
]
|
|
},
|
|
{
|
|
"name": "task_scheduler",
|
|
"purpose": "Schedule and manage delayed or recurring tasks within the agent system",
|
|
"category": "compute",
|
|
"inputs": [
|
|
{
|
|
"name": "task_definition",
|
|
"type": "object",
|
|
"description": "Definition of the task to be scheduled",
|
|
"required": true,
|
|
"properties": {
|
|
"action": {"type": "string"},
|
|
"parameters": {"type": "object"},
|
|
"retry_policy": {"type": "object"}
|
|
}
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"type": "object",
|
|
"description": "Scheduling parameters for the task",
|
|
"required": true,
|
|
"properties": {
|
|
"type": {"type": "string", "enum": ["once", "recurring"]},
|
|
"execute_at": {"type": "string"},
|
|
"recurrence_pattern": {"type": "string"}
|
|
}
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": "integer",
|
|
"description": "Task priority (1-10, higher is more urgent)",
|
|
"required": false,
|
|
"default": 5,
|
|
"minimum": 1,
|
|
"maximum": 10
|
|
}
|
|
],
|
|
"outputs": [
|
|
{
|
|
"name": "task_id",
|
|
"type": "string",
|
|
"description": "Unique identifier for the scheduled task"
|
|
},
|
|
{
|
|
"name": "next_execution",
|
|
"type": "string",
|
|
"description": "ISO timestamp of next scheduled execution"
|
|
},
|
|
{
|
|
"name": "status",
|
|
"type": "string",
|
|
"description": "Current status of the scheduled task"
|
|
}
|
|
],
|
|
"error_conditions": [
|
|
"Invalid schedule format",
|
|
"Past execution time specified",
|
|
"Task queue full",
|
|
"Invalid task definition",
|
|
"Scheduling service unavailable"
|
|
],
|
|
"side_effects": [
|
|
"Creates scheduled tasks in the system",
|
|
"May consume system resources for task storage",
|
|
"Updates scheduling metrics"
|
|
],
|
|
"idempotent": false,
|
|
"rate_limits": {
|
|
"requests_per_minute": 50,
|
|
"requests_per_hour": 1000,
|
|
"burst_limit": 10
|
|
},
|
|
"dependencies": [
|
|
"task_scheduler_service",
|
|
"task_executor_service"
|
|
],
|
|
"examples": [
|
|
{
|
|
"description": "Schedule a one-time report generation",
|
|
"input": {
|
|
"task_definition": {
|
|
"action": "generate_report",
|
|
"parameters": {
|
|
"report_type": "monthly_summary",
|
|
"recipients": ["manager@example.com"]
|
|
}
|
|
},
|
|
"schedule": {
|
|
"type": "once",
|
|
"execute_at": "2024-02-01T09:00:00Z"
|
|
},
|
|
"priority": 7
|
|
},
|
|
"expected_output": {
|
|
"task_id": "task_67890",
|
|
"next_execution": "2024-02-01T09:00:00Z",
|
|
"status": "scheduled"
|
|
}
|
|
}
|
|
],
|
|
"security_requirements": [
|
|
"Task definition validation",
|
|
"User authorization for scheduling",
|
|
"Resource limit enforcement"
|
|
]
|
|
}
|
|
]
|
|
} |