50 lines
1.4 KiB
JSON
50 lines
1.4 KiB
JSON
{
|
|
"_description": "Tunables for dashboard/* modules. Loaded via core.config_loader.load('dashboard').",
|
|
|
|
"app": {
|
|
"_comment": "dashboard/app.py — FastAPI app",
|
|
"title": "Sanad Dashboard",
|
|
"version": "1.0.0",
|
|
"static_subdir": "dashboard/static"
|
|
},
|
|
|
|
"api_input": {
|
|
"_comment": "Shared by every route that accepts user text input / uploads. Single source of truth.",
|
|
"max_text_len": 2000,
|
|
"max_upload_bytes": 8388608
|
|
},
|
|
|
|
"voice_route": {
|
|
"_comment": "dashboard/routes/voice.py — reads max_text_len from api_input above",
|
|
"api_key_mask_visible": 4
|
|
},
|
|
|
|
"typed_replay_route": {
|
|
"_comment": "dashboard/routes/typed_replay.py — reads max_text_len from api_input above"
|
|
},
|
|
|
|
"records_route": {
|
|
"_comment": "dashboard/routes/records.py",
|
|
"index_filename": "records.json"
|
|
},
|
|
|
|
"prompt_route": {
|
|
"_comment": "dashboard/routes/prompt.py — script/rule filenames come from core.script_files; default prompt from core.gemini_defaults.default_system_prompt"
|
|
},
|
|
|
|
"logs_route": {
|
|
"_comment": "dashboard/routes/logs.py",
|
|
"default_tail_lines": 200,
|
|
"max_tail_lines": 5000
|
|
},
|
|
|
|
"scripts_route": {
|
|
"_comment": "dashboard/routes/scripts.py — max_script_bytes reads from api_input.max_upload_bytes"
|
|
},
|
|
|
|
"live_subprocess_route": {
|
|
"_comment": "dashboard/routes/live_subprocess.py",
|
|
"tail_default_lines": 100
|
|
}
|
|
}
|