From 7adc441764d19115052c6b0fa2fc5ca9c1383f9f Mon Sep 17 00:00:00 2001 From: iliescucristian Date: Sun, 18 Jan 2026 13:09:17 +0200 Subject: [PATCH 1/2] fix: add agentId and solutionId in config manager --- pyproject.toml | 2 +- src/uipath/_cli/_utils/_studio_project.py | 9 ++++----- src/uipath/_utils/constants.py | 1 + src/uipath/platform/common/_config.py | 7 +++++++ uv.lock | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b8b0e02ae..c40a61d7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "uipath" -version = "2.5.9" +version = "2.5.10" description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools." readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.11" diff --git a/src/uipath/_cli/_utils/_studio_project.py b/src/uipath/_cli/_utils/_studio_project.py index efb57d513..320440503 100644 --- a/src/uipath/_cli/_utils/_studio_project.py +++ b/src/uipath/_cli/_utils/_studio_project.py @@ -485,21 +485,20 @@ def __init__(self, project_id: str, uipath: Optional[UiPath] = None): f"/studio_/backend/api/Project/{project_id}/Lock" ) self._project_id = project_id - self._solution_id_cache: Optional[str] = None self._resources_cache: Optional[List[dict[str, Any]]] = None self._project_structure_cache: Optional[ProjectStructure] = None async def _get_solution_id(self) -> str: # implement property cache logic as coroutines are not supported - if self._solution_id_cache is not None: - return self._solution_id_cache + if (solution_id := UiPathConfig.studio_solution_id) is not None: + return solution_id response = await self.uipath.api_client.request_async( "GET", url=f"/studio_/backend/api/Project/{self._project_id}", scoped="org", ) - self._solution_id_cache = response.json()["solutionId"] - return self._solution_id_cache + UiPathConfig.studio_solution_id = response.json()["solutionId"] + return UiPathConfig.studio_solution_id async def ensure_coded_agent_project_async(self): structure = await self.get_project_structure_async() diff --git a/src/uipath/_utils/constants.py b/src/uipath/_utils/constants.py index ac721899d..61b86b88c 100644 --- a/src/uipath/_utils/constants.py +++ b/src/uipath/_utils/constants.py @@ -13,6 +13,7 @@ ENV_ORGANIZATION_ID = "UIPATH_ORGANIZATION_ID" ENV_TELEMETRY_ENABLED = "UIPATH_TELEMETRY_ENABLED" ENV_UIPATH_PROJECT_ID = "UIPATH_PROJECT_ID" +ENV_UIPATH_AGENT_ID = "UIPATH_AGENT_ID" ENV_UIPATH_PROCESS_UUID = "UIPATH_PROCESS_UUID" ENV_UIPATH_TRACE_ID = "UIPATH_TRACE_ID" ENV_UIPATH_PROCESS_VERSION = "UIPATH_PROCESS_VERSION" diff --git a/src/uipath/platform/common/_config.py b/src/uipath/platform/common/_config.py index cb05dd460..995fb3a7d 100644 --- a/src/uipath/platform/common/_config.py +++ b/src/uipath/platform/common/_config.py @@ -11,6 +11,7 @@ class UiPathApiConfig(BaseModel): class ConfigurationManager: _instance = None + studio_solution_id: str | None = None def __new__(cls): if cls._instance is None: @@ -41,6 +42,12 @@ def project_id(self) -> str | None: return os.getenv(ENV_UIPATH_PROJECT_ID, None) + @property + def agent_id(self) -> str | None: + from uipath._utils.constants import ENV_UIPATH_AGENT_ID + + return os.getenv(ENV_UIPATH_AGENT_ID, None) + @property def organization_id(self) -> str | None: from uipath._utils.constants import ENV_ORGANIZATION_ID diff --git a/uv.lock b/uv.lock index 8d1b653ed..3adbdfb5f 100644 --- a/uv.lock +++ b/uv.lock @@ -2486,7 +2486,7 @@ wheels = [ [[package]] name = "uipath" -version = "2.5.9" +version = "2.5.10" source = { editable = "." } dependencies = [ { name = "applicationinsights" }, From 65a124d9ca5b26193dbee1df7ffcbabe59bb5e81 Mon Sep 17 00:00:00 2001 From: iliescucristian Date: Sun, 18 Jan 2026 13:25:23 +0200 Subject: [PATCH 2/2] fix: add tenant name in config --- src/uipath/_utils/constants.py | 1 + src/uipath/platform/common/_config.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/uipath/_utils/constants.py b/src/uipath/_utils/constants.py index 61b86b88c..11b5859da 100644 --- a/src/uipath/_utils/constants.py +++ b/src/uipath/_utils/constants.py @@ -10,6 +10,7 @@ ENV_JOB_ID = "UIPATH_JOB_ID" ENV_ROBOT_KEY = "UIPATH_ROBOT_KEY" ENV_TENANT_ID = "UIPATH_TENANT_ID" +ENV_TENANT_NAME = "UIPATH_TENANT_NAME" ENV_ORGANIZATION_ID = "UIPATH_ORGANIZATION_ID" ENV_TELEMETRY_ENABLED = "UIPATH_TELEMETRY_ENABLED" ENV_UIPATH_PROJECT_ID = "UIPATH_PROJECT_ID" diff --git a/src/uipath/platform/common/_config.py b/src/uipath/platform/common/_config.py index 995fb3a7d..f0a6e9b6f 100644 --- a/src/uipath/platform/common/_config.py +++ b/src/uipath/platform/common/_config.py @@ -48,6 +48,12 @@ def agent_id(self) -> str | None: return os.getenv(ENV_UIPATH_AGENT_ID, None) + @property + def tenant_name(self) -> str | None: + from uipath._utils.constants import ENV_TENANT_NAME + + return os.getenv(ENV_TENANT_NAME, None) + @property def organization_id(self) -> str | None: from uipath._utils.constants import ENV_ORGANIZATION_ID