From 5cac7783bd44f535322ac3c0ff5b07c9e626381f Mon Sep 17 00:00:00 2001 From: Rafid Saad Date: Sun, 13 Sep 2026 14:14:43 -0700 Subject: [PATCH] refactor(cli): simplify tenant ID helper --- libs/cli/langgraph_cli/deploy.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/libs/cli/langgraph_cli/deploy.py b/libs/cli/langgraph_cli/deploy.py index 05d9b4033..39d000e36 100644 --- a/libs/cli/langgraph_cli/deploy.py +++ b/libs/cli/langgraph_cli/deploy.py @@ -1230,20 +1230,22 @@ def _run_remote_build( # --------------------------------------------------------------------------- -def _resolve_tenant_id(env_vars: dict[str, str]) -> str | None: - """Resolve the tenant ID from either supported environment variable.""" - tenant_id = None - for name in ("LANGSMITH_TENANT_ID", "LANGSMITH_WORKSPACE_ID"): - value = env_vars.get(name) or os.environ.get(name) - if not value: - continue - if tenant_id: - raise click.UsageError( - "LANGSMITH_TENANT_ID and LANGSMITH_WORKSPACE_ID cannot both be set. " - "Set only one." - ) - tenant_id = value - return tenant_id +def _get_tenant_id(env_vars: dict[str, str]) -> str | None: + """Get the tenant ID from LANGSMITH_TENANT_ID or LANGSMITH_WORKSPACE_ID.""" + tenant_id = env_vars.get("LANGSMITH_TENANT_ID") or os.environ.get( + "LANGSMITH_TENANT_ID" + ) + fallback_tenant_id = env_vars.get("LANGSMITH_WORKSPACE_ID") or os.environ.get( + "LANGSMITH_WORKSPACE_ID" + ) + if tenant_id and fallback_tenant_id: + raise click.UsageError( + "LANGSMITH_TENANT_ID and LANGSMITH_WORKSPACE_ID cannot both be set. " + "Set only one." + ) + if tenant_id: + return tenant_id + return fallback_tenant_id or None def _create_host_backend_client( @@ -1253,7 +1255,7 @@ def _create_host_backend_client( ) -> HostBackendClient: if env_vars is None: env_vars = _parse_env_from_config({}, pathlib.Path.cwd() / DEFAULT_CONFIG) - tenant_id = _resolve_tenant_id(env_vars) + tenant_id = _get_tenant_id(env_vars) resolved_api_key = api_key if not resolved_api_key: for key_name in _API_KEY_ENV_NAMES: