import asyncio
from praisonai.mcp_server.elicitation import (
ElicitationHandler,
ElicitationResult,
create_form_request,
)
async def main():
# Create handler (use ci_mode=True for non-interactive)
handler = ElicitationHandler(
ci_mode=True,
ci_defaults={"name": "John", "email": "[email protected]"}
)
# Create form request
request = create_form_request(
message="Please provide your contact information",
properties={
"name": {"type": "string", "description": "Your name"},
"email": {"type": "string", "format": "email"},
"age": {"type": "integer", "default": 25},
},
required=["name", "email"],
title="Contact Form",
)
# Process elicitation
result = await handler.elicit(request)
if result.action.value == "accept":
print(f"Data: {result.content}")
elif result.action.value == "decline":
print(f"Declined: {result.validation_error}")
else:
print("Cancelled")
asyncio.run(main())