From da1d5ee3ea0f8f461fd959084951b7fbaf496fb7 Mon Sep 17 00:00:00 2001 From: kerthcet Date: Wed, 11 Feb 2026 16:14:49 +0000 Subject: [PATCH 1/2] support environment for user_id Signed-off-by: kerthcet --- alphatrion/envs.py | 3 +++ alphatrion/server/cmd/main.py | 26 +++++++++++++++++++++++--- file:testdb | Bin 0 -> 118784 bytes 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 file:testdb diff --git a/alphatrion/envs.py b/alphatrion/envs.py index 4062fe3..cb404f3 100644 --- a/alphatrion/envs.py +++ b/alphatrion/envs.py @@ -6,3 +6,6 @@ ENABLE_TRACING = "ALPHATRION_ENABLE_TRACING" ROOT_PATH = "ALPHATRION_ROOT_PATH" AUTO_CLEANUP = "ALPHATRION_AUTO_CLEANUP" + +# Dashboard only related envs +DASHBOARD_USER_ID = "ALPHATRION_DASHBOARD_USER_ID" diff --git a/alphatrion/server/cmd/main.py b/alphatrion/server/cmd/main.py index ffdebd7..b33cf75 100644 --- a/alphatrion/server/cmd/main.py +++ b/alphatrion/server/cmd/main.py @@ -1,6 +1,7 @@ # ruff: noqa: E501 import argparse +import os import threading import time import webbrowser @@ -17,6 +18,7 @@ from rich.console import Console from rich.text import Text +from alphatrion import envs from alphatrion.storage import runtime load_dotenv() @@ -59,7 +61,7 @@ def main(): dashboard.add_argument( "--userid", type=str, - required=True, + default=os.getenv(envs.DASHBOARD_USER_ID), help="User ID to scope the dashboard (required)", ) dashboard.set_defaults(func=start_dashboard) @@ -140,7 +142,8 @@ def init_command(args): console.print(Text(" Your team ID:", style="bold yellow")) console.print(Text(f" {team_id}", style="bold cyan")) console.print() - console.print(Text("💡 Use this user ID to launch the dashboard:", style="dim")) + console.print(Text("💡 Use this user ID to launch the dashboard, " + "or set the ALPHATRION_DASHBOARD_USER_ID environment variable", style="dim")) console.print( Text(f" alphatrion dashboard --userid {user_id}", style="magenta") ) @@ -154,7 +157,7 @@ def init_command(args): console.print(Text(" import alphatrion as alpha", style="white")) console.print( Text( - f" alpha.init(user_id='{user_id}', team_id='{team_id}')", + f" alpha.init(user_id='{user_id}')", style="white", ) ) @@ -264,6 +267,23 @@ def start_dashboard(args): app = FastAPI() + if not args.userid: + console.print( + Text("❌ Error: User ID is required to launch the dashboard!", style="bold red") + ) + console.print( + Text( + "Please provide a user ID using the --userid argument or set the ALPHATRION_DASHBOARD_USER_ID environment variable.", + style="yellow", + ) + ) + console.print( + Text( + "You can create a user and get their ID by running: alphatrion init", + style="cyan", + ) + ) + return # Store user ID in app state app.state.user_id = args.userid diff --git a/file:testdb b/file:testdb new file mode 100644 index 0000000000000000000000000000000000000000..fd99bce93b78d1e1bea06d4c0e2da27cd5623c32 GIT binary patch literal 118784 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 literal 0 HcmV?d00001 From 45be113484a23f42d3e563817a71459941400260 Mon Sep 17 00:00:00 2001 From: kerthcet Date: Wed, 11 Feb 2026 16:15:30 +0000 Subject: [PATCH 2/2] fix lint Signed-off-by: kerthcet --- alphatrion/server/cmd/main.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/alphatrion/server/cmd/main.py b/alphatrion/server/cmd/main.py index b33cf75..60cbfe1 100644 --- a/alphatrion/server/cmd/main.py +++ b/alphatrion/server/cmd/main.py @@ -142,8 +142,13 @@ def init_command(args): console.print(Text(" Your team ID:", style="bold yellow")) console.print(Text(f" {team_id}", style="bold cyan")) console.print() - console.print(Text("💡 Use this user ID to launch the dashboard, " - "or set the ALPHATRION_DASHBOARD_USER_ID environment variable", style="dim")) + console.print( + Text( + "💡 Use this user ID to launch the dashboard, " + "or set the ALPHATRION_DASHBOARD_USER_ID environment variable", + style="dim", + ) + ) console.print( Text(f" alphatrion dashboard --userid {user_id}", style="magenta") ) @@ -269,7 +274,10 @@ def start_dashboard(args): if not args.userid: console.print( - Text("❌ Error: User ID is required to launch the dashboard!", style="bold red") + Text( + "❌ Error: User ID is required to launch the dashboard!", + style="bold red", + ) ) console.print( Text(