#!/usr/bin/env python3 # -*- coding: utf-8 -*- """Get reasoning configuration for current user (includes model config)""" import json result = {'success': False, 'config': {}} try: dbname = get_module_dbname('harnessed_reasoning') user_id = await get_user() sql = """SELECT * FROM harnessed_reasoning_config WHERE user_id = ${user_id}$ ORDER BY updated_at DESC LIMIT 1""" async with DBPools().sqlorContext(dbname) as sor: rows = await sor.sqlExe(sql, {'user_id': user_id}) if rows and len(rows) > 0: config = dict(rows[0]) config['enable_cross_session_search'] = config.get('enable_cross_session_search', '1') == '1' config['enable_skill_auto_loading'] = config.get('enable_skill_auto_loading', '1') == '1' config['enable_error_recovery'] = config.get('enable_error_recovery', '1') == '1' result['config'] = config else: result['config'] = { 'max_reasoning_steps': 10, 'max_tool_calls_per_step': 5, 'enable_cross_session_search': True, 'enable_skill_auto_loading': True, 'safety_mode': 'strict', 'max_context_tokens': 4000, 'enable_error_recovery': True, 'max_recovery_attempts': 3, 'model_name': 'qwen3-max', 'model_provider': 'openrouter', 'api_key': '', 'api_endpoint': '', 'temperature': 0.7, 'max_output_tokens': 4096, 'top_p': 0.9, 'system_prompt': '' } result['success'] = True except Exception as e: result['error'] = str(e) return json.dumps(result, ensure_ascii=False, default=str)