From a0ef78ac8de5a62c34367f4bed026b76ed207214 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Thu, 23 Apr 2026 11:05:14 +0800 Subject: [PATCH] Improve create_session.dspy parameter handling for both request.form and direct params --- wwwroot/hermes-web-cli/sessions/create_session.dspy | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/wwwroot/hermes-web-cli/sessions/create_session.dspy b/wwwroot/hermes-web-cli/sessions/create_session.dspy index 52d6b05..16160f1 100644 --- a/wwwroot/hermes-web-cli/sessions/create_session.dspy +++ b/wwwroot/hermes-web-cli/sessions/create_session.dspy @@ -4,7 +4,18 @@ try: # Extract form data from request context - form_data = request.form if hasattr(request, 'form') else {} + # In Sage system, params passed via urlwidget are available in request.form + form_data = {} + + # Try to get data from request.form (standard for POST requests) + if hasattr(request, 'form'): + form_data = dict(request.form) + # Fallback: check if data is passed as keyword arguments + elif hasattr(locals(), 'service_id'): + form_data = { + 'service_id': locals().get('service_id', ''), + 'initial-prompt': locals().get('initial-prompt', '') + } # Get required parameters service_id = form_data.get('service_id')