feat(ui): Data Sources UI — enterprise browser for all 5 source databases
New "Data Sources UI" tab with per-database Browser (catalog + sample data),
Query Console (SqlWorkbench) and embedded interactive Shell (DbShell via SSH).
Backend:
- Extend sql_console.py with Cassandra (CQL) + Neo4j (Cypher) engines
- Add GET /api/sql/catalog/{engine} and GET /api/sql/sample/{engine}
- ssh_terminal: optional initial_command for auto-launching DB CLIs
Frontend:
- DataSourcesView with 5-DB rail, health dots, Browser/Console/Shell sub-tabs
- DbShell embedded xterm terminal with docker exec CLI per engine
- Deep-link topology DB nodes to Data Sources UI (no SQL dock on platform)
- WorkbenchPanel restricted to agent mode only — frees dashboard space
This commit is contained in:
@@ -86,6 +86,13 @@ async def ssh_session(ws: WebSocket) -> None:
|
||||
|
||||
await _send(ws, "connected", message="connected")
|
||||
|
||||
initial_cmd = cfg.get("initial_command")
|
||||
if initial_cmd and chan and not chan.closed:
|
||||
try:
|
||||
chan.send(initial_cmd if initial_cmd.endswith("\n") else initial_cmd + "\n")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
async def pump_out() -> None:
|
||||
assert chan is not None
|
||||
while True:
|
||||
|
||||
Reference in New Issue
Block a user