diff --git a/pyproject.toml b/pyproject.toml index 8c5823cbc..d3dc4b720 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,8 +5,10 @@ description = "Python SDK that enables developers to build and deploy LangGraph readme = { file = "README.md", content-type = "text/markdown" } requires-python = ">=3.11" dependencies = [ - "uipath>=2.8.46, <2.9.0", - "uipath-runtime>=0.9.0, <0.10.0", + "uipath==2.9.0.dev1013544947", + "uipath-platform==0.0.1.dev1000020019", + "uipath-core>=0.5.0, <0.6.0", + "uipath-runtime==0.9.0.dev1000950339", "langgraph>=1.0.0, <2.0.0", "langchain-core>=1.2.11, <2.0.0", "langgraph-checkpoint-sqlite>=3.0.3, <4.0.0", @@ -116,3 +118,9 @@ name = "testpypi" url = "https://test.pypi.org/simple/" publish-url = "https://test.pypi.org/legacy/" explicit = true + +[tool.uv.sources] +uipath-platform = { index = "testpypi" } +uipath-core = { index = "testpypi" } +uipath = {index = "testpypi"} +uipath-runtime = { index = "testpypi" } diff --git a/src/uipath_langchain/agent/tools/internal_tools/batch_transform_tool.py b/src/uipath_langchain/agent/tools/internal_tools/batch_transform_tool.py index 3443b0a00..add6f1461 100644 --- a/src/uipath_langchain/agent/tools/internal_tools/batch_transform_tool.py +++ b/src/uipath_langchain/agent/tools/internal_tools/batch_transform_tool.py @@ -12,8 +12,11 @@ ) from uipath.eval.mocks import mockable from uipath.platform import UiPath -from uipath.platform.common import CreateBatchTransform, UiPathConfig -from uipath.platform.common.interrupt_models import WaitEphemeralIndex +from uipath.platform.common import ( + CreateBatchTransform, + UiPathConfig, + WaitEphemeralIndex, +) from uipath.platform.context_grounding import ( BatchTransformOutputColumn, EphemeralIndexUsage, diff --git a/src/uipath_langchain/agent/tools/internal_tools/deeprag_tool.py b/src/uipath_langchain/agent/tools/internal_tools/deeprag_tool.py index 2e4895e77..fd1359cbf 100644 --- a/src/uipath_langchain/agent/tools/internal_tools/deeprag_tool.py +++ b/src/uipath_langchain/agent/tools/internal_tools/deeprag_tool.py @@ -12,8 +12,7 @@ ) from uipath.eval.mocks import mockable from uipath.platform import UiPath -from uipath.platform.common import CreateDeepRag -from uipath.platform.common.interrupt_models import WaitEphemeralIndex +from uipath.platform.common import CreateDeepRag, WaitEphemeralIndex from uipath.platform.context_grounding import ( CitationMode, EphemeralIndexUsage, diff --git a/src/uipath_langchain/chat/bedrock.py b/src/uipath_langchain/chat/bedrock.py index a29631deb..d27561e3a 100644 --- a/src/uipath_langchain/chat/bedrock.py +++ b/src/uipath_langchain/chat/bedrock.py @@ -7,8 +7,7 @@ from langchain_core.messages import BaseMessage from langchain_core.outputs import ChatGenerationChunk, ChatResult from tenacity import AsyncRetrying, Retrying -from uipath._utils import resource_override -from uipath.utils import EndpointManager +from uipath.platform.common import EndpointManager, resource_override from .header_capture import HeaderCapture from .retryers.bedrock import AsyncBedrockRetryer, BedrockRetryer diff --git a/src/uipath_langchain/chat/models.py b/src/uipath_langchain/chat/models.py index 46e7d9977..212df2f69 100644 --- a/src/uipath_langchain/chat/models.py +++ b/src/uipath_langchain/chat/models.py @@ -17,7 +17,7 @@ from langchain_core.runnables import Runnable from langchain_openai.chat_models import AzureChatOpenAI from pydantic import BaseModel -from uipath.utils import EndpointManager +from uipath.platform.common import EndpointManager from uipath_langchain._utils._request_mixin import UiPathRequestMixin diff --git a/src/uipath_langchain/chat/openai.py b/src/uipath_langchain/chat/openai.py index 9a4eb365a..f7472d0ca 100644 --- a/src/uipath_langchain/chat/openai.py +++ b/src/uipath_langchain/chat/openai.py @@ -5,9 +5,11 @@ import httpx from langchain_openai import AzureChatOpenAI from pydantic import PrivateAttr -from uipath._utils import resource_override -from uipath._utils._ssl_context import get_httpx_client_kwargs -from uipath.utils import EndpointManager +from uipath.platform.common import ( + EndpointManager, + get_httpx_client_kwargs, + resource_override, +) from .supported_models import OpenAIModels from .types import APIFlavor, LLMProvider diff --git a/src/uipath_langchain/chat/vertex.py b/src/uipath_langchain/chat/vertex.py index ce568ca3d..0fedcfefb 100644 --- a/src/uipath_langchain/chat/vertex.py +++ b/src/uipath_langchain/chat/vertex.py @@ -13,7 +13,7 @@ from tenacity import AsyncRetrying, Retrying from uipath._utils import resource_override from uipath._utils._ssl_context import get_httpx_client_kwargs -from uipath.utils import EndpointManager +from uipath.platform.common import EndpointManager from .header_capture import HeaderCapture from .retryers.vertex import AsyncVertexRetryer, VertexRetryer diff --git a/src/uipath_langchain/embeddings/embeddings.py b/src/uipath_langchain/embeddings/embeddings.py index aca8adaf9..33c3c3509 100644 --- a/src/uipath_langchain/embeddings/embeddings.py +++ b/src/uipath_langchain/embeddings/embeddings.py @@ -4,8 +4,7 @@ import httpx from langchain_openai.embeddings import AzureOpenAIEmbeddings, OpenAIEmbeddings from pydantic import Field -from uipath._utils._ssl_context import get_httpx_client_kwargs -from uipath.utils import EndpointManager +from uipath.platform.common import EndpointManager, get_httpx_client_kwargs from uipath_langchain._utils._request_mixin import UiPathRequestMixin diff --git a/src/uipath_langchain/runtime/storage.py b/src/uipath_langchain/runtime/storage.py index 8f611eac8..b585dad0c 100644 --- a/src/uipath_langchain/runtime/storage.py +++ b/src/uipath_langchain/runtime/storage.py @@ -6,7 +6,7 @@ from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver from pydantic import BaseModel from uipath.core.serialization import serialize_json -from uipath.runtime import UiPathResumeTrigger +from uipath.core.triggers import UiPathResumeTrigger class SqliteResumableStorage: diff --git a/tests/runtime/test_resumable.py b/tests/runtime/test_resumable.py index 75ff66243..4c0e8a036 100644 --- a/tests/runtime/test_resumable.py +++ b/tests/runtime/test_resumable.py @@ -7,12 +7,14 @@ from langgraph.graph import END, START, StateGraph from langgraph.types import interrupt from uipath.core.errors import ErrorCategory, UiPathPendingTriggerError -from uipath.runtime import ( - UiPathExecuteOptions, - UiPathResumableRuntime, +from uipath.core.triggers import ( UiPathResumeTrigger, UiPathResumeTriggerName, UiPathResumeTriggerType, +) +from uipath.runtime import ( + UiPathExecuteOptions, + UiPathResumableRuntime, UiPathRuntimeStatus, ) diff --git a/tests/runtime/test_storage.py b/tests/runtime/test_storage.py index d419d8bc3..6bd1bf385 100644 --- a/tests/runtime/test_storage.py +++ b/tests/runtime/test_storage.py @@ -7,7 +7,7 @@ import pytest from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver -from uipath.runtime import ( +from uipath.core.triggers import ( UiPathResumeTrigger, UiPathResumeTriggerName, UiPathResumeTriggerType, diff --git a/uv.lock b/uv.lock index daf8f3289..a8b9a5088 100644 --- a/uv.lock +++ b/uv.lock @@ -3280,8 +3280,8 @@ wheels = [ [[package]] name = "uipath" -version = "2.8.46" -source = { registry = "https://pypi.org/simple" } +version = "2.9.0.dev1013544947" +source = { registry = "https://test.pypi.org/simple/" } dependencies = [ { name = "applicationinsights" }, { name = "click" }, @@ -3300,25 +3300,26 @@ dependencies = [ { name = "tenacity" }, { name = "truststore" }, { name = "uipath-core" }, + { name = "uipath-platform" }, { name = "uipath-runtime" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7f/5e/ef2a9528f953ad673ac71fc01df58503cc737be876e91ea7304e32d18ef8/uipath-2.8.46.tar.gz", hash = "sha256:6ba6b59853dd2d5693310fc196b20282f4be61e185ab9277080cd7b62d472e8e", size = 4602208, upload-time = "2026-02-20T12:07:41.68Z" } +sdist = { url = "https://test-files.pythonhosted.org/packages/8b/ab/d4d978af7175710eee074be99d5736c1df973cc48082657074e1bfe35118/uipath-2.9.0.dev1013544947.tar.gz", hash = "sha256:2dfd976b9efdf3be83ad6ab71c4b3fac3eb55606de00fcad93f1c329d79de40d", size = 4423007, upload-time = "2026-02-20T16:01:37.268Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/54/464182988b43d2ff28b0226d1e61a4e66392e436f3e537157f572196daae/uipath-2.8.46-py3-none-any.whl", hash = "sha256:6ad49e6e821e84b81af17e07ffddd93556c728b51703febf1820cbec9b0ff65f", size = 486406, upload-time = "2026-02-20T12:07:40.081Z" }, + { url = "https://test-files.pythonhosted.org/packages/08/cd/65d078df5ceec212ef618e02fee64f312b564d5da552562e3c8cc48b28f2/uipath-2.9.0.dev1013544947-py3-none-any.whl", hash = "sha256:1b52479c5a8eacd6d80e78874bd4145b2145b1c3d92a9197c53b51872a6e0491", size = 341532, upload-time = "2026-02-20T16:01:35.544Z" }, ] [[package]] name = "uipath-core" -version = "0.5.0" -source = { registry = "https://pypi.org/simple" } +version = "0.5.1.dev1000450224" +source = { registry = "https://test.pypi.org/simple/" } dependencies = [ { name = "opentelemetry-instrumentation" }, { name = "opentelemetry-sdk" }, { name = "pydantic" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c9/c2/afdf9b6500e5a026c4921dfce2c6f5c586b0114c9d006fd02b31a252c238/uipath_core-0.5.0.tar.gz", hash = "sha256:8035335a1b548475cca7dc99621be644fe0b63f8791c0f01fbb911295cefb143", size = 116691, upload-time = "2026-02-18T21:04:32.815Z" } +sdist = { url = "https://test-files.pythonhosted.org/packages/d5/db/ee198b6578e5387b51987a58e559653ab06788ca488b4850a2f3998fe7cf/uipath_core-0.5.1.dev1000450224.tar.gz", hash = "sha256:72b6f6c88d08d81fb8ebb35a83f52d3606cbbca55225bfd530f821d143a3a5b5", size = 117921, upload-time = "2026-02-20T15:41:21.871Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/b2/fa4b2c77f9fe8c794e1d47083654a32b9e0843e4e353f0df5650b719d189/uipath_core-0.5.0-py3-none-any.whl", hash = "sha256:ae8eb511a8228bdf0b42561eae772404e05431623c1be3cade16d5639fca9cac", size = 39403, upload-time = "2026-02-18T21:04:30.987Z" }, + { url = "https://test-files.pythonhosted.org/packages/56/be/86d133e2da74bd79c19695eadacfd6ad69175bdf6aaf77f7489cdbcd237f/uipath_core-0.5.1.dev1000450224-py3-none-any.whl", hash = "sha256:3a7ceb5cbbd3e367e3a8c1cd22289dc4f3ee95a87294e2ac91bc74b396c4af61", size = 41135, upload-time = "2026-02-20T15:41:20.506Z" }, ] [[package]] @@ -3340,6 +3341,8 @@ dependencies = [ { name = "pydantic-settings" }, { name = "python-dotenv" }, { name = "uipath" }, + { name = "uipath-core" }, + { name = "uipath-platform" }, { name = "uipath-runtime" }, ] @@ -3388,8 +3391,10 @@ requires-dist = [ { name = "openinference-instrumentation-langchain", specifier = ">=0.1.56" }, { name = "pydantic-settings", specifier = ">=2.6.0" }, { name = "python-dotenv", specifier = ">=1.0.1" }, - { name = "uipath", specifier = ">=2.8.46,<2.9.0" }, - { name = "uipath-runtime", specifier = ">=0.9.0,<0.10.0" }, + { name = "uipath", specifier = "==2.9.0.dev1013544947", index = "https://test.pypi.org/simple/" }, + { name = "uipath-core", specifier = ">=0.5.0,<0.6.0", index = "https://test.pypi.org/simple/" }, + { name = "uipath-platform", specifier = "==0.0.1.dev1000020019", index = "https://test.pypi.org/simple/" }, + { name = "uipath-runtime", specifier = "==0.9.0.dev1000950339", index = "https://test.pypi.org/simple/" }, ] provides-extras = ["vertex", "bedrock"] @@ -3409,16 +3414,32 @@ dev = [ { name = "virtualenv", specifier = ">=20.36.1" }, ] +[[package]] +name = "uipath-platform" +version = "0.0.1.dev1000020019" +source = { registry = "https://test.pypi.org/simple/" } +dependencies = [ + { name = "httpx" }, + { name = "pydantic-function-models" }, + { name = "tenacity" }, + { name = "truststore" }, + { name = "uipath-core" }, +] +sdist = { url = "https://test-files.pythonhosted.org/packages/10/1e/b0275d41f663f36894d64623a65ce9c571dd5794a360fa489c7208fcb3ca/uipath_platform-0.0.1.dev1000020019.tar.gz", hash = "sha256:4691e4d25a80533a5ba55e71915ec59f3a6de463b2c71a1e10a1f96c491a4091", size = 253878, upload-time = "2026-02-20T15:56:21.254Z" } +wheels = [ + { url = "https://test-files.pythonhosted.org/packages/76/d2/b3c587540fa2f6c720647845002ab8c753382ca768fb26f3e76d80c263ef/uipath_platform-0.0.1.dev1000020019-py3-none-any.whl", hash = "sha256:4ddd03319aea1a730c49d37718163ecc6a160ab48cde0c722b983b7887a64740", size = 152908, upload-time = "2026-02-20T15:56:20.242Z" }, +] + [[package]] name = "uipath-runtime" -version = "0.9.0" -source = { registry = "https://pypi.org/simple" } +version = "0.9.0.dev1000950339" +source = { registry = "https://test.pypi.org/simple/" } dependencies = [ { name = "uipath-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/45/ce/82c4edfe6fa11807ea99babf7a53afbced4d3a17b3e020dfa6474ee4d73f/uipath_runtime-0.9.0.tar.gz", hash = "sha256:bc24f6f96fe0ad1d8549b16df51607d4e85558afe04abee294c9dff9790ccc96", size = 109587, upload-time = "2026-02-18T22:04:43.65Z" } +sdist = { url = "https://test-files.pythonhosted.org/packages/4b/87/c9b69aca464aa5187a3c1e15b3d9b8ccf0a4797a3bf66083bdbd44b77115/uipath_runtime-0.9.0.dev1000950339.tar.gz", hash = "sha256:1ef0aa9739cf1b3b2b28aa0b2bd24d0a5e8f283c28e63d9063ff749494b42bb7", size = 137861, upload-time = "2026-02-20T15:51:50.916Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/e7/c8d0bd9316f4a528e36c52971df4dc01f96fbaf716dd62921253c69ab159/uipath_runtime-0.9.0-py3-none-any.whl", hash = "sha256:803010831cdead1d2563eed39025bb555be01626677bb23eecc918981cf93941", size = 41865, upload-time = "2026-02-18T22:04:42.03Z" }, + { url = "https://test-files.pythonhosted.org/packages/8e/28/7b9cc2ad7ffb9f6e707b0b900aa8257f43bf225e5dee964396bb2222d0bb/uipath_runtime-0.9.0.dev1000950339-py3-none-any.whl", hash = "sha256:bc026aab27b5aa1fc2e33ec5f59f3c068b779838f97a7e72a98b17e36f8b6d2d", size = 41410, upload-time = "2026-02-20T15:51:49.646Z" }, ] [[package]]