diff --git a/pyproject.toml b/pyproject.toml index caec15c2e..2fbdacde0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,12 +1,14 @@ [project] name = "uipath-langchain" -version = "0.5.78" +version = "0.6.0" description = "Python SDK that enables developers to build and deploy LangGraph agents to the UiPath Cloud Platform" 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, <2.10.0", + "uipath-core>=0.5.2, <0.6.0", + "uipath-platform>=0.0.1, < 0.1.0", + "uipath-runtime>=0.9.1, <0.10.0", "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,4 +118,3 @@ name = "testpypi" url = "https://test.pypi.org/simple/" publish-url = "https://test.pypi.org/legacy/" explicit = true - 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 1bc00fb95..93bd68608 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 16802ca89..260dc6111 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/testcases/dev-console/src/test_dev.py b/testcases/dev-console/src/test_dev.py index c024233bc..13aedfd70 100644 --- a/testcases/dev-console/src/test_dev.py +++ b/testcases/dev-console/src/test_dev.py @@ -25,7 +25,7 @@ # The command to run for all tests -COMMAND = "uv run uipath dev" +COMMAND = "uv run uipath dev terminal" # Timeout for expect operations TIMEOUT = 60 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 7f39a6e84..b97893006 100644 --- a/uv.lock +++ b/uv.lock @@ -3280,7 +3280,7 @@ wheels = [ [[package]] name = "uipath" -version = "2.8.46" +version = "2.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "applicationinsights" }, @@ -3300,30 +3300,31 @@ 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://files.pythonhosted.org/packages/b9/34/ddaa859112d104c47c4017f2515a2dcf86619f47e5fa666654e3ba784577/uipath-2.9.0.tar.gz", hash = "sha256:9c16a294bd1a82f3b0d7168571276f818d326782a9dc739f1fdcc69ebcbebeb4", size = 2434061, upload-time = "2026-02-23T15:03:32.506Z" } 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://files.pythonhosted.org/packages/c8/4f/603f57efe4516fa2ff4890f3b9f00e1d39e6b64b7eb0c0ec16fddf47029c/uipath-2.9.0-py3-none-any.whl", hash = "sha256:5be85db47c48e48eb28e0198a5e2ecb0bd67e0689eaa141e823d29d143315d7c", size = 342750, upload-time = "2026-02-23T15:03:30.844Z" }, ] [[package]] name = "uipath-core" -version = "0.5.0" +version = "0.5.2" source = { registry = "https://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://files.pythonhosted.org/packages/17/d3/7b3cd984ca5530892a2dac945408d50f64f3f21c1fa6c5a68d9625d685f0/uipath_core-0.5.2.tar.gz", hash = "sha256:a7fd2d5c6d49117bea060c162cd380ae59fe5f2ed74bb0e4e508d51cd57e9de1", size = 119081, upload-time = "2026-02-23T10:16:48.567Z" } 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://files.pythonhosted.org/packages/5d/24/3b65d78f8028b4bf49f76ed9fc08257c0941bf64fc597caf69e2c0605584/uipath_core-0.5.2-py3-none-any.whl", hash = "sha256:7a675074e2c6b2ec00995051d1c9850f6f70543cce3161b6a6b8c2911dc16ee0", size = 42844, upload-time = "2026-02-23T10:16:47.271Z" }, ] [[package]] name = "uipath-langchain" -version = "0.5.78" +version = "0.6.0" source = { editable = "." } dependencies = [ { name = "httpx" }, @@ -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,<2.10.0" }, + { name = "uipath-core", specifier = ">=0.5.2,<0.6.0" }, + { name = "uipath-platform", specifier = ">=0.0.1,<0.1.0" }, + { name = "uipath-runtime", specifier = ">=0.9.1,<0.10.0" }, ] provides-extras = ["vertex", "bedrock"] @@ -3409,16 +3414,32 @@ dev = [ { name = "virtualenv", specifier = ">=20.36.1" }, ] +[[package]] +name = "uipath-platform" +version = "0.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "httpx" }, + { name = "pydantic-function-models" }, + { name = "tenacity" }, + { name = "truststore" }, + { name = "uipath-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/db/39/771b69a8a5857776da47c2e51df928a3977975822bd65b88868296d25c4e/uipath_platform-0.0.1.tar.gz", hash = "sha256:30a531fa9a1ae69fb74096aaab53a1f2b7bc42654d97f2caecacf1d16c0ea3d3", size = 253295, upload-time = "2026-02-23T13:21:48.96Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/70/0039692caf10c53f95c359313f7e96362e585684959560b5246d79aaa29b/uipath_platform-0.0.1-py3-none-any.whl", hash = "sha256:60926ec5c9147d89c3b226c1da5f46dce6bc399630185591855aceb72d59aad3", size = 152869, upload-time = "2026-02-23T13:21:47.33Z" }, +] + [[package]] name = "uipath-runtime" -version = "0.9.0" +version = "0.9.1" source = { registry = "https://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://files.pythonhosted.org/packages/53/f5/4c3fd329f51a36b5aaf8613a2252b1c54e552e6a6928f58a9d49a71c8a08/uipath_runtime-0.9.1.tar.gz", hash = "sha256:a26e1b3767b7370d729c7149c1f5eddbcd4663ad61da3d968974837a70154c32", size = 137936, upload-time = "2026-02-23T11:57:31.568Z" } 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://files.pythonhosted.org/packages/e6/aa/f1a5697cde66e1ecd96e8648bc4f2e7423633ff64371cf09f9fe38652d8f/uipath_runtime-0.9.1-py3-none-any.whl", hash = "sha256:1560c7d9092cec132b68435c8ce7a6e3ec02c4e62fbcacdcf0943341bcc9250a", size = 41697, upload-time = "2026-02-23T11:57:29.026Z" }, ] [[package]]