- Replace all 'backgroundColor' properties with 'bgcolor' to comply with bricks-framework specification - Add missing UI files: new_session.ui, sessions.ui, services.ui, settings.ui - Create scripts/main.dspy with all required functions for UI interactions - Fix layout using css: 'filler' for main-content to properly fill remaining width - Ensure all referenced links have corresponding script implementations
169 lines
4.7 KiB
Plaintext
169 lines
4.7 KiB
Plaintext
def create_session():
|
|
session_name = request.form.get('session-name', '').strip()
|
|
model = request.form.get('model-select', '')
|
|
initial_prompt = request.form.get('initial-prompt', '')
|
|
|
|
if not session_name:
|
|
return {"error": "Session name is required"}
|
|
|
|
session_id = generate_session_id()
|
|
session_data = {
|
|
'id': session_id,
|
|
'name': session_name,
|
|
'model': model,
|
|
'initial_prompt': initial_prompt,
|
|
'created_at': get_current_timestamp(),
|
|
'last_active': get_current_timestamp()
|
|
}
|
|
|
|
save_session(session_data)
|
|
return {"redirect": f"session_{session_id}.ui"}
|
|
|
|
def filter_sessions():
|
|
search_term = request.form.get('session-search', '').lower()
|
|
all_sessions = get_all_sessions()
|
|
|
|
if search_term:
|
|
filtered_sessions = [
|
|
session for session in all_sessions
|
|
if search_term in session['name'].lower() or
|
|
search_term in session['model'].lower()
|
|
]
|
|
else:
|
|
filtered_sessions = all_sessions
|
|
|
|
return {"sessions": filtered_sessions}
|
|
|
|
def open_session():
|
|
session_id = request.form.get('item.id')
|
|
if session_id:
|
|
session_data = get_session_by_id(session_id)
|
|
if session_data:
|
|
return {"redirect": f"session_{session_id}.ui"}
|
|
|
|
return {"error": "Session not found"}
|
|
|
|
def filter_services():
|
|
search_term = request.form.get('service-search', '').lower()
|
|
all_services = get_all_services()
|
|
|
|
if search_term:
|
|
filtered_services = [
|
|
service for service in all_services
|
|
if search_term in service['name'].lower() or
|
|
search_term in service['endpoint'].lower()
|
|
]
|
|
else:
|
|
filtered_services = all_services
|
|
|
|
return {"services": filtered_services}
|
|
|
|
def add_service():
|
|
return {"redirect": "add_service.ui"}
|
|
|
|
def edit_service():
|
|
service_id = request.form.get('item.id')
|
|
if service_id:
|
|
service_data = get_service_by_id(service_id)
|
|
if service_data:
|
|
return {"redirect": f"edit_service_{service_id}.ui"}
|
|
|
|
return {"error": "Service not found"}
|
|
|
|
def remove_service():
|
|
service_id = request.form.get('item.id')
|
|
if service_id:
|
|
delete_service(service_id)
|
|
return {"success": True, "message": "Service removed successfully"}
|
|
|
|
return {"error": "Service not found"}
|
|
|
|
def test_service_connection():
|
|
service_id = request.form.get('item.id')
|
|
if service_id:
|
|
service_data = get_service_by_id(service_id)
|
|
if service_data:
|
|
is_connected = test_connection(service_data['endpoint'])
|
|
return {"status": "Connected" if is_connected else "Disconnected"}
|
|
|
|
return {"error": "Service not found"}
|
|
|
|
def save_general_settings():
|
|
default_model = request.form.get('default-model', '')
|
|
session_timeout = request.form.get('session-timeout', '30')
|
|
auto_save = request.form.get('auto-save', 'false') == 'true'
|
|
|
|
settings = {
|
|
'default_model': default_model,
|
|
'session_timeout': int(session_timeout),
|
|
'auto_save': auto_save
|
|
}
|
|
|
|
save_settings('general', settings)
|
|
return {"success": True, "message": "General settings saved successfully"}
|
|
|
|
def save_security_settings():
|
|
require_auth = request.form.get('require-auth', 'false') == 'true'
|
|
encrypt_storage = request.form.get('encrypt-storage', 'false') == 'true'
|
|
|
|
settings = {
|
|
'require_auth': require_auth,
|
|
'encrypt_storage': encrypt_storage
|
|
}
|
|
|
|
save_settings('security', settings)
|
|
return {"success": True, "message": "Security settings saved successfully"}
|
|
|
|
def save_appearance_settings():
|
|
theme = request.form.get('theme-select', 'dark')
|
|
|
|
settings = {
|
|
'theme': theme
|
|
}
|
|
|
|
save_settings('appearance', settings)
|
|
return {"success": True, "message": "Appearance settings saved successfully"}
|
|
|
|
def add_model():
|
|
return {"redirect": "add_model.ui"}
|
|
|
|
# Helper function stubs - these would be provided by the framework
|
|
def generate_session_id():
|
|
# Framework-provided function
|
|
pass
|
|
|
|
def get_current_timestamp():
|
|
# Framework-provided function
|
|
pass
|
|
|
|
def save_session(session_data):
|
|
# Framework-provided function
|
|
pass
|
|
|
|
def get_all_sessions():
|
|
# Framework-provided function
|
|
return []
|
|
|
|
def get_session_by_id(session_id):
|
|
# Framework-provided function
|
|
return None
|
|
|
|
def get_all_services():
|
|
# Framework-provided function
|
|
return []
|
|
|
|
def get_service_by_id(service_id):
|
|
# Framework-provided function
|
|
return None
|
|
|
|
def delete_service(service_id):
|
|
# Framework-provided function
|
|
pass
|
|
|
|
def test_connection(endpoint):
|
|
# Framework-provided function
|
|
return True
|
|
|
|
def save_settings(category, settings):
|
|
# Framework-provided function
|
|
pass |