{
"envinroment_variables": {
"OPENROUTER_API_KEY": {
"type": "string",
"description": "OpenRouter API key for accessing gpt-oss-safeguard models (for policy enforcement)",
"required": true
},
"OPENAI_API_KEY": {
"type": "string",
"description": "OpenAI API key for gpt-4o (for main agent responses)",
"required": true
},
"UPSONIC_WORKERS_AMOUNT": {
"type": "number",
"description": "The number of workers for the Upsonic API",
"default": 1
},
"API_WORKERS": {
"type": "number",
"description": "The number of workers for the Upsonic API",
"default": 1
},
"RUNNER_CONCURRENCY": {
"type": "number",
"description": "The number of runners for the Upsonic API",
"default": 1
},
"NEW_FEATURE_FLAG": {
"type": "string",
"description": "New feature flag added in version 2.0",
"default": "enabled"
}
},
"machine_spec": {
"cpu": 2,
"memory": 4096,
"storage": 1024
},
"agent_name": "Safety Agent",
"description": "OpenRouter Safety Agent with PII Protection - Uses gpt-4o for responses and gpt-oss-safeguard-20b for policy enforcement with PIIBlockPolicy_LLM",
"icon": "book",
"language": "book",
"streamlit": false,
"proxy_agent": false,
"dependencies": {
"api": [
"fastapi>=0.115.12",
"uvicorn>=0.34.2",
"upsonic"
],
"streamlit": [],
"development": [
"python-dotenv",
"pytest"
]
},
"entrypoints": {
"api_file": "main.py",
"streamlit_file": "streamlit_app.py"
},
"input_schema": {
"inputs": {
"user_query": {
"type": "string",
"description": "User's input question for the agent",
"required": true,
"default": null
}
}
},
"output_schema": {
"bot_response": {
"type": "string",
"description": "Agent's generated response"
}
}
}