416 lines
12 KiB
JSON
416 lines
12 KiB
JSON
{
|
|
"tool_schemas": [
|
|
{
|
|
"name": "web_search",
|
|
"description": "Search the web for information on specified topics with customizable filters and result limits",
|
|
"openai_schema": {
|
|
"name": "web_search",
|
|
"description": "Search the web for information on specified topics with customizable filters and result limits",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": {
|
|
"type": "string",
|
|
"description": "Search query string to find relevant information",
|
|
"minLength": 1,
|
|
"maxLength": 500,
|
|
"examples": [
|
|
"artificial intelligence trends",
|
|
"climate change impact",
|
|
"python programming tutorial"
|
|
]
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"description": "Maximum number of search results to return",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"default": 10
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "Language code for search results",
|
|
"enum": [
|
|
"en",
|
|
"es",
|
|
"fr",
|
|
"de",
|
|
"it",
|
|
"pt",
|
|
"zh",
|
|
"ja"
|
|
],
|
|
"default": "en"
|
|
},
|
|
"time_range": {
|
|
"type": "string",
|
|
"description": "Time range filter for search results",
|
|
"enum": [
|
|
"any",
|
|
"day",
|
|
"week",
|
|
"month",
|
|
"year"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"anthropic_schema": {
|
|
"name": "web_search",
|
|
"description": "Search the web for information on specified topics with customizable filters and result limits",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": {
|
|
"type": "string",
|
|
"description": "Search query string to find relevant information",
|
|
"minLength": 1,
|
|
"maxLength": 500
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"description": "Maximum number of search results to return",
|
|
"minimum": 1,
|
|
"maximum": 100
|
|
},
|
|
"language": {
|
|
"type": "string",
|
|
"description": "Language code for search results",
|
|
"enum": [
|
|
"en",
|
|
"es",
|
|
"fr",
|
|
"de",
|
|
"it",
|
|
"pt",
|
|
"zh",
|
|
"ja"
|
|
]
|
|
},
|
|
"time_range": {
|
|
"type": "string",
|
|
"description": "Time range filter for search results",
|
|
"enum": [
|
|
"any",
|
|
"day",
|
|
"week",
|
|
"month",
|
|
"year"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"query"
|
|
]
|
|
}
|
|
},
|
|
"validation_rules": [
|
|
{
|
|
"parameter": "query",
|
|
"rules": {
|
|
"minLength": 1,
|
|
"maxLength": 500
|
|
}
|
|
},
|
|
{
|
|
"parameter": "limit",
|
|
"rules": {
|
|
"minimum": 1,
|
|
"maximum": 100
|
|
}
|
|
}
|
|
],
|
|
"error_responses": [
|
|
{
|
|
"error_code": "invalid_input",
|
|
"error_message": "Invalid input parameters provided",
|
|
"http_status": 400,
|
|
"retry_after": null,
|
|
"details": {
|
|
"validation_errors": []
|
|
}
|
|
},
|
|
{
|
|
"error_code": "authentication_required",
|
|
"error_message": "Authentication required to access this tool",
|
|
"http_status": 401,
|
|
"retry_after": null,
|
|
"details": null
|
|
},
|
|
{
|
|
"error_code": "rate_limit_exceeded",
|
|
"error_message": "Rate limit exceeded. Please try again later",
|
|
"http_status": 429,
|
|
"retry_after": 60,
|
|
"details": null
|
|
}
|
|
],
|
|
"rate_limits": {
|
|
"requests_per_minute": 60,
|
|
"requests_per_hour": 1000,
|
|
"requests_per_day": 10000,
|
|
"burst_limit": 10,
|
|
"cooldown_period": 60,
|
|
"rate_limit_key": "user_id"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"category": "search",
|
|
"idempotent": true,
|
|
"side_effects": [
|
|
"Logs search query for analytics",
|
|
"May cache results temporarily"
|
|
],
|
|
"dependencies": [
|
|
"search_api_service",
|
|
"content_filter_service"
|
|
],
|
|
"security_requirements": [
|
|
"Query sanitization",
|
|
"Rate limiting by user",
|
|
"Content filtering"
|
|
],
|
|
"generated_at": "2024-01-15T10:30:00Z",
|
|
"schema_version": "1.0",
|
|
"input_parameters": 4,
|
|
"output_parameters": 2,
|
|
"required_parameters": 1,
|
|
"optional_parameters": 3
|
|
}
|
|
},
|
|
{
|
|
"name": "data_analyzer",
|
|
"description": "Analyze structured data and generate statistical insights, trends, and visualizations",
|
|
"openai_schema": {
|
|
"name": "data_analyzer",
|
|
"description": "Analyze structured data and generate statistical insights, trends, and visualizations",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"description": "Structured data to analyze in JSON format",
|
|
"properties": {
|
|
"columns": {
|
|
"type": "array"
|
|
},
|
|
"rows": {
|
|
"type": "array"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"analysis_type": {
|
|
"type": "string",
|
|
"description": "Type of analysis to perform",
|
|
"enum": [
|
|
"descriptive",
|
|
"correlation",
|
|
"trend",
|
|
"distribution",
|
|
"outlier_detection"
|
|
]
|
|
},
|
|
"target_column": {
|
|
"type": "string",
|
|
"description": "Primary column to focus analysis on",
|
|
"maxLength": 1000
|
|
},
|
|
"include_visualization": {
|
|
"type": "boolean",
|
|
"description": "Whether to generate visualization data",
|
|
"default": true
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"analysis_type"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"anthropic_schema": {
|
|
"name": "data_analyzer",
|
|
"description": "Analyze structured data and generate statistical insights, trends, and visualizations",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"description": "Structured data to analyze in JSON format"
|
|
},
|
|
"analysis_type": {
|
|
"type": "string",
|
|
"description": "Type of analysis to perform",
|
|
"enum": [
|
|
"descriptive",
|
|
"correlation",
|
|
"trend",
|
|
"distribution",
|
|
"outlier_detection"
|
|
]
|
|
},
|
|
"target_column": {
|
|
"type": "string",
|
|
"description": "Primary column to focus analysis on",
|
|
"maxLength": 1000
|
|
},
|
|
"include_visualization": {
|
|
"type": "boolean",
|
|
"description": "Whether to generate visualization data"
|
|
}
|
|
},
|
|
"required": [
|
|
"data",
|
|
"analysis_type"
|
|
]
|
|
}
|
|
},
|
|
"validation_rules": [
|
|
{
|
|
"parameter": "target_column",
|
|
"rules": {
|
|
"maxLength": 1000
|
|
}
|
|
}
|
|
],
|
|
"error_responses": [
|
|
{
|
|
"error_code": "invalid_input",
|
|
"error_message": "Invalid input parameters provided",
|
|
"http_status": 400,
|
|
"retry_after": null,
|
|
"details": {
|
|
"validation_errors": []
|
|
}
|
|
},
|
|
{
|
|
"error_code": "authentication_required",
|
|
"error_message": "Authentication required to access this tool",
|
|
"http_status": 401,
|
|
"retry_after": null,
|
|
"details": null
|
|
},
|
|
{
|
|
"error_code": "rate_limit_exceeded",
|
|
"error_message": "Rate limit exceeded. Please try again later",
|
|
"http_status": 429,
|
|
"retry_after": 60,
|
|
"details": null
|
|
}
|
|
],
|
|
"rate_limits": {
|
|
"requests_per_minute": 30,
|
|
"requests_per_hour": 500,
|
|
"requests_per_day": 5000,
|
|
"burst_limit": 5,
|
|
"cooldown_period": 60,
|
|
"rate_limit_key": "user_id"
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"category": "data",
|
|
"idempotent": true,
|
|
"side_effects": [
|
|
"May create temporary analysis files",
|
|
"Logs analysis parameters for optimization"
|
|
],
|
|
"dependencies": [
|
|
"statistics_engine",
|
|
"visualization_service"
|
|
],
|
|
"security_requirements": [
|
|
"Data anonymization",
|
|
"Access control validation"
|
|
],
|
|
"generated_at": "2024-01-15T10:30:00Z",
|
|
"schema_version": "1.0",
|
|
"input_parameters": 4,
|
|
"output_parameters": 3,
|
|
"required_parameters": 2,
|
|
"optional_parameters": 2
|
|
}
|
|
}
|
|
],
|
|
"metadata": {
|
|
"generated_by": "tool_schema_generator.py",
|
|
"input_file": "sample_tool_descriptions.json",
|
|
"tool_count": 2,
|
|
"generation_timestamp": "2024-01-15T10:30:00Z",
|
|
"schema_version": "1.0"
|
|
},
|
|
"validation_summary": {
|
|
"total_tools": 2,
|
|
"total_parameters": 8,
|
|
"total_validation_rules": 3,
|
|
"total_examples": 2
|
|
}
|
|
} |