uipath-langchain 0.0.127__tar.gz → 0.0.129__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of uipath-langchain might be problematic. Click here for more details.

Files changed (274) hide show
  1. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/PKG-INFO +2 -2
  2. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/pyproject.toml +2 -2
  3. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -13
  4. uipath_langchain-0.0.129/src/uipath_langchain/_cli/cli_eval.py +68 -0
  5. uipath_langchain-0.0.129/src/uipath_langchain/_cli/cli_run.py +63 -0
  6. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/middlewares.py +2 -0
  7. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/uv.lock +5 -5
  8. uipath_langchain-0.0.127/src/uipath_langchain/_cli/cli_run.py +0 -93
  9. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.cursorrules +0 -0
  10. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.editorconfig +0 -0
  11. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.gitattributes +0 -0
  12. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/cd.yml +0 -0
  13. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/ci.yml +0 -0
  14. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/commitlint.yml +0 -0
  15. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/integration_tests.yml +0 -0
  16. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/lint-custom-version.yml +0 -0
  17. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/lint.yml +0 -0
  18. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/publish-dev.yml +0 -0
  19. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/publish-docs.yml +0 -0
  20. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/publish-prior-stable-version.yml +0 -0
  21. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/slack.yml +0 -0
  22. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/test-custom-version.yml +0 -0
  23. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.github/workflows/test.yml +0 -0
  24. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.gitignore +0 -0
  25. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.pre-commit-config.yaml +0 -0
  26. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.python-version +0 -0
  27. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.vscode/extensions.json +0 -0
  28. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/.vscode/settings.json +0 -0
  29. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/CONTRIBUTING.md +0 -0
  30. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/LICENSE +0 -0
  31. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/README.md +0 -0
  32. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/chat_models.md +0 -0
  33. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/context_grounding.md +0 -0
  34. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/human_in_the_loop.md +0 -0
  35. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/quick_start.md +0 -0
  36. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
  37. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/quick_start_images/cloud_env_var_light.png +0 -0
  38. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/quick_start_images/invoke_output_dark.png +0 -0
  39. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/quick_start_images/invoke_output_light.png +0 -0
  40. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/click-storage-bucket.png +0 -0
  41. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-index-1.png +0 -0
  42. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-index-2.png +0 -0
  43. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-process.png +0 -0
  44. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-quiz-generator.png +0 -0
  45. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
  46. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
  47. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/folder-path.png +0 -0
  48. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/job-info.png +0 -0
  49. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/output.png +0 -0
  50. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/process-page.png +0 -0
  51. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/researcher-1.png +0 -0
  52. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/researcher-2.png +0 -0
  53. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/run-process-1.png +0 -0
  54. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/run-process-2.png +0 -0
  55. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/RAG/storage-bucket-content.png +0 -0
  56. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
  57. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
  58. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
  59. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
  60. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
  61. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
  62. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
  63. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
  64. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
  65. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
  66. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
  67. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
  68. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
  69. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
  70. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/run-agent.png +0 -0
  71. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
  72. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/start-job.png +0 -0
  73. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
  74. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/README.md +0 -0
  75. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/env.example +0 -0
  76. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +0 -0
  77. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +0 -0
  78. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/langgraph.json +0 -0
  79. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/pyproject.toml +0 -0
  80. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +0 -0
  81. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +0 -0
  82. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +0 -0
  83. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +0 -0
  84. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/uipath.json +0 -0
  85. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/RAG-quiz-generator/uv.lock +0 -0
  86. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/README.md +0 -0
  87. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/.env.example +0 -0
  88. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/agent.mermaid +0 -0
  89. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/graph.py +0 -0
  90. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/langgraph.json +0 -0
  91. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/pyproject.toml +0 -0
  92. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/uipath.json +0 -0
  93. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/chat-agent/uv.lock +0 -0
  94. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/.env.example +0 -0
  95. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/agent.mermaid +0 -0
  96. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/graph.py +0 -0
  97. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/langgraph.json +0 -0
  98. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/pyproject.toml +0 -0
  99. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/uipath.json +0 -0
  100. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/company-research-agent/uv.lock +0 -0
  101. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/.env.template +0 -0
  102. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/.python-version +0 -0
  103. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/.vscode/launch.json +0 -0
  104. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/README.md +0 -0
  105. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/agent.mermaid +0 -0
  106. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/input.json +0 -0
  107. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/langgraph.json +0 -0
  108. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/pyproject.toml +0 -0
  109. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/src/email_organizer/__init__.py +0 -0
  110. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/src/email_organizer/main.py +0 -0
  111. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/src/email_organizer/outlook_client.py +0 -0
  112. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/uipath.json +0 -0
  113. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/email-organizer-agent/uv.lock +0 -0
  114. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/database.py +0 -0
  115. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/main.py +0 -0
  116. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/models.py +0 -0
  117. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/pyproject.toml +0 -0
  118. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/schemas.py +0 -0
  119. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/templates/index.html +0 -0
  120. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/hitl-inbox-server/uv.lock +0 -0
  121. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
  122. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
  123. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
  124. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
  125. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
  126. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
  127. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
  128. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
  129. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
  130. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
  131. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
  132. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +0 -0
  133. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  134. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
  135. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  136. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
  137. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  138. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  139. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  140. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  141. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/.env.example +0 -0
  142. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/README.md +0 -0
  143. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/main.py +0 -0
  144. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/pyproject.toml +0 -0
  145. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/uipath.json +0 -0
  146. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/retrieval-chain/uv.lock +0 -0
  147. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/.env.example +0 -0
  148. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/README.md +0 -0
  149. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/agent.mermaid +0 -0
  150. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/langgraph.json +0 -0
  151. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/pyproject.toml +0 -0
  152. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  153. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  154. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  155. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/uipath.json +0 -0
  156. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-local-mcp/uv.lock +0 -0
  157. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/.env.example +0 -0
  158. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/README.md +0 -0
  159. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/agent.mermaid +0 -0
  160. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/langgraph.json +0 -0
  161. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/main.py +0 -0
  162. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/pyproject.toml +0 -0
  163. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/uipath.json +0 -0
  164. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/simple-remote-mcp/uv.lock +0 -0
  165. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/.env.example +0 -0
  166. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/README.md +0 -0
  167. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/agent.mermaid +0 -0
  168. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
  169. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/langgraph.json +0 -0
  170. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/main.py +0 -0
  171. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/pyproject.toml +0 -0
  172. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/uipath.json +0 -0
  173. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/samples/ticket-classification/uv.lock +0 -0
  174. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/__init__.py +0 -0
  175. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/__init__.py +0 -0
  176. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_context.py +0 -0
  177. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_conversation.py +0 -0
  178. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
  179. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
  180. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
  181. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
  182. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
  183. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
  184. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/cli_dev.py +0 -0
  185. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/cli_init.py +0 -0
  186. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_cli/cli_new.py +0 -0
  187. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_utils/__init__.py +0 -0
  188. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
  189. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_utils/_settings.py +0 -0
  190. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
  191. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/builder/agent_config.py +0 -0
  192. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/chat/__init__.py +0 -0
  193. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/chat/models.py +0 -0
  194. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/embeddings/__init__.py +0 -0
  195. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/embeddings/embeddings.py +0 -0
  196. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/retrievers/__init__.py +0 -0
  197. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
  198. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +0 -0
  199. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/tracers/__init__.py +0 -0
  200. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/tracers/_events.py +0 -0
  201. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
  202. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/tracers/_utils.py +0 -0
  203. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/vectorstores/__init__.py +0 -0
  204. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
  205. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/Dockerfile +0 -0
  206. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/README.md +0 -0
  207. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/.env.example +0 -0
  208. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/agent.mermaid +0 -0
  209. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/input.json +0 -0
  210. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/langgraph.json +0 -0
  211. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/pyproject.toml +0 -0
  212. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/run.sh +0 -0
  213. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/src/assert.py +0 -0
  214. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/src/graph.py +0 -0
  215. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/uipath.json +0 -0
  216. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/company-research-agent/uv.lock +0 -0
  217. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  218. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/README.md +0 -0
  219. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  220. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/input.json +0 -0
  221. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  222. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  223. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/run.sh +0 -0
  224. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/src/assert.py +0 -0
  225. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/src/graph.py +0 -0
  226. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  227. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  228. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/.env.example +0 -0
  229. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/README.md +0 -0
  230. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/agent.mermaid +0 -0
  231. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/input.json +0 -0
  232. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/langgraph.json +0 -0
  233. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/pyproject.toml +0 -0
  234. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/run.sh +0 -0
  235. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/src/assert.py +0 -0
  236. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  237. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  238. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  239. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/uipath.json +0 -0
  240. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/simple-local-mcp/uv.lock +0 -0
  241. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/.env.example +0 -0
  242. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/README.md +0 -0
  243. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/agent.mermaid +0 -0
  244. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/input.json +0 -0
  245. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/langgraph.json +0 -0
  246. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/pyproject.toml +0 -0
  247. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/run.sh +0 -0
  248. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/src/assert.py +0 -0
  249. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/src/main.py +0 -0
  250. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/uipath.json +0 -0
  251. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/testcases/ticket-classification/uv.lock +0 -0
  252. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/__init__.py +0 -0
  253. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/builder/test_config.py +0 -0
  254. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/cli/conftest.py +0 -0
  255. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/cli/mocks/langgraph.json +0 -0
  256. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/cli/mocks/simple_agent.py +0 -0
  257. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/cli/mocks/uipath.json +0 -0
  258. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/cli/test_run.py +0 -0
  259. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/__init__.py +0 -0
  260. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/conftest.py +0 -0
  261. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/action_trigger_hitl.py +0 -0
  262. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/api_trigger_hitl.py +0 -0
  263. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/job_trigger_hitl.py +0 -0
  264. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/langgraph.json +0 -0
  265. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/uipath-default-escalation.json +0 -0
  266. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/mocks/uipath.json +0 -0
  267. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/test_action_trigger.py +0 -0
  268. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/test_hitl_api_trigger.py +0 -0
  269. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/test_hitl_default_escalation.py +0 -0
  270. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/hitl/test_hitl_job_trigger.py +0 -0
  271. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/test_dummy.py +0 -0
  272. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/tracers/__init__.py +0 -0
  273. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/tracers/test_async_uipath_tracer.py +0 -0
  274. {uipath_langchain-0.0.127 → uipath_langchain-0.0.129}/tests/tracers/test_instrument_traceable.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uipath-langchain
3
- Version: 0.0.127
3
+ Version: 0.0.129
4
4
  Summary: UiPath Langchain
5
5
  Project-URL: Homepage, https://uipath.com
6
6
  Project-URL: Repository, https://github.com/UiPath/uipath-langchain-python
@@ -25,7 +25,7 @@ Requires-Dist: openai>=1.65.5
25
25
  Requires-Dist: openinference-instrumentation-langchain>=0.1.50
26
26
  Requires-Dist: pydantic-settings>=2.6.0
27
27
  Requires-Dist: python-dotenv>=1.0.1
28
- Requires-Dist: uipath<2.2.0,>=2.1.41
28
+ Requires-Dist: uipath<2.2.0,>=2.1.46
29
29
  Provides-Extra: langchain
30
30
  Description-Content-Type: text/markdown
31
31
 
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "uipath-langchain"
3
- version = "0.0.127"
3
+ version = "0.0.129"
4
4
  description = "UiPath Langchain"
5
5
  readme = { file = "README.md", content-type = "text/markdown" }
6
6
  requires-python = ">=3.10"
7
7
  dependencies = [
8
- "uipath>=2.1.41, <2.2.0",
8
+ "uipath>=2.1.46, <2.2.0",
9
9
  "langgraph>=0.5.0, <0.7.0",
10
10
  "langchain-core>=0.3.34",
11
11
  "langgraph-checkpoint-sqlite>=2.0.3",
@@ -50,8 +50,6 @@ class LangGraphRuntime(UiPathBaseRuntime):
50
50
  """
51
51
  _instrument_traceable_attributes()
52
52
 
53
- await self.validate()
54
-
55
53
  if self.context.state_graph is None:
56
54
  return None
57
55
 
@@ -196,17 +194,6 @@ class LangGraphRuntime(UiPathBaseRuntime):
196
194
  async def validate(self) -> None:
197
195
  """Validate runtime inputs."""
198
196
  """Load and validate the graph configuration ."""
199
- try:
200
- if self.context.input:
201
- self.context.input_json = json.loads(self.context.input)
202
- except json.JSONDecodeError as e:
203
- raise LangGraphRuntimeError(
204
- "INPUT_INVALID_JSON",
205
- "Invalid JSON input",
206
- "The input data is not valid JSON.",
207
- UiPathErrorCategory.USER,
208
- ) from e
209
-
210
197
  if self.context.langgraph_config is None:
211
198
  self.context.langgraph_config = LangGraphConfig()
212
199
  if not self.context.langgraph_config.exists:
@@ -0,0 +1,68 @@
1
+ import asyncio
2
+ from os import environ as env
3
+ from typing import List, Optional
4
+
5
+ from uipath._cli._evals._runtime import UiPathEvalContext, UiPathEvalRuntime
6
+ from uipath._cli._runtime._contracts import (
7
+ UiPathRuntimeFactory,
8
+ )
9
+ from uipath._cli._utils._eval_set import EvalHelpers
10
+ from uipath._cli.middlewares import MiddlewareResult
11
+ from uipath.eval._helpers import auto_discover_entrypoint
12
+
13
+ from uipath_langchain._cli._runtime._context import LangGraphRuntimeContext
14
+ from uipath_langchain._cli._runtime._runtime import LangGraphRuntime
15
+ from uipath_langchain._cli._utils._graph import LangGraphConfig
16
+
17
+
18
+ def langgraph_eval_middleware(
19
+ entrypoint: Optional[str], eval_set: Optional[str], eval_ids: List[str], **kwargs
20
+ ) -> MiddlewareResult:
21
+ # Add default env variables
22
+ env["UIPATH_REQUESTING_PRODUCT"] = "uipath-python-sdk"
23
+ env["UIPATH_REQUESTING_FEATURE"] = "langgraph-agent"
24
+
25
+ config = LangGraphConfig()
26
+ if not config.exists:
27
+ return MiddlewareResult(
28
+ should_continue=True
29
+ ) # Continue with normal flow if no langgraph.json
30
+
31
+ eval_context = UiPathEvalContext.with_defaults(**kwargs)
32
+ eval_context.eval_set = eval_set or EvalHelpers.auto_discover_eval_set()
33
+ eval_context.eval_ids = eval_ids
34
+
35
+ try:
36
+ runtime_entrypoint = entrypoint or auto_discover_entrypoint()
37
+
38
+ def generate_runtime_context(
39
+ context_entrypoint: str, langgraph_config: LangGraphConfig, **context_kwargs
40
+ ) -> LangGraphRuntimeContext:
41
+ context = LangGraphRuntimeContext.with_defaults(**context_kwargs)
42
+ context.langgraph_config = langgraph_config
43
+ context.entrypoint = context_entrypoint
44
+ return context
45
+
46
+ runtime_factory = UiPathRuntimeFactory(
47
+ LangGraphRuntime,
48
+ LangGraphRuntimeContext,
49
+ context_generator=lambda **context_kwargs: generate_runtime_context(
50
+ context_entrypoint=runtime_entrypoint,
51
+ langgraph_config=config,
52
+ **context_kwargs,
53
+ ),
54
+ )
55
+
56
+ async def execute():
57
+ async with UiPathEvalRuntime.from_eval_context(
58
+ factory=runtime_factory, context=eval_context
59
+ ) as eval_runtime:
60
+ await eval_runtime.execute()
61
+
62
+ asyncio.run(execute())
63
+ return MiddlewareResult(should_continue=False)
64
+
65
+ except Exception as e:
66
+ return MiddlewareResult(
67
+ should_continue=False, error_message=f"Error running evaluation: {str(e)}"
68
+ )
@@ -0,0 +1,63 @@
1
+ import asyncio
2
+ import os
3
+ from os import environ as env
4
+ from typing import Optional
5
+
6
+ from uipath._cli.middlewares import MiddlewareResult
7
+
8
+ from ._runtime._exception import LangGraphRuntimeError
9
+ from ._runtime._runtime import ( # type: ignore[attr-defined]
10
+ LangGraphRuntime,
11
+ LangGraphRuntimeContext,
12
+ )
13
+ from ._utils._graph import LangGraphConfig
14
+
15
+
16
+ def langgraph_run_middleware(
17
+ entrypoint: Optional[str], input: Optional[str], resume: bool, **kwargs
18
+ ) -> MiddlewareResult:
19
+ """Middleware to handle LangGraph execution"""
20
+ config = LangGraphConfig()
21
+ if not config.exists:
22
+ return MiddlewareResult(
23
+ should_continue=True
24
+ ) # Continue with normal flow if no langgraph.json
25
+
26
+ try:
27
+ # Add default env variables
28
+ env["UIPATH_REQUESTING_PRODUCT"] = "uipath-python-sdk"
29
+ env["UIPATH_REQUESTING_FEATURE"] = "langgraph-agent"
30
+
31
+ context = LangGraphRuntimeContext.with_defaults(**kwargs)
32
+ context.langgraph_config = config
33
+ context.entrypoint = entrypoint
34
+ context.input = input
35
+ context.resume = resume
36
+
37
+ async def execute():
38
+ async with LangGraphRuntime.from_context(context) as runtime:
39
+ if context.resume is False and context.job_id is None:
40
+ # Delete the previous graph state file at debug time
41
+ if os.path.exists(runtime.state_file_path):
42
+ os.remove(runtime.state_file_path)
43
+ await runtime.execute()
44
+
45
+ asyncio.run(execute())
46
+
47
+ return MiddlewareResult(
48
+ should_continue=False,
49
+ error_message=None,
50
+ )
51
+
52
+ except LangGraphRuntimeError as e:
53
+ return MiddlewareResult(
54
+ should_continue=False,
55
+ error_message=e.error_info.detail,
56
+ should_include_stacktrace=True,
57
+ )
58
+ except Exception as e:
59
+ return MiddlewareResult(
60
+ should_continue=False,
61
+ error_message=f"Error: {str(e)}",
62
+ should_include_stacktrace=True,
63
+ )
@@ -1,6 +1,7 @@
1
1
  from uipath._cli.middlewares import Middlewares
2
2
 
3
3
  from ._cli.cli_dev import langgraph_dev_middleware
4
+ from ._cli.cli_eval import langgraph_eval_middleware
4
5
  from ._cli.cli_init import langgraph_init_middleware
5
6
  from ._cli.cli_new import langgraph_new_middleware
6
7
  from ._cli.cli_run import langgraph_run_middleware
@@ -12,3 +13,4 @@ def register_middleware():
12
13
  Middlewares.register("run", langgraph_run_middleware)
13
14
  Middlewares.register("new", langgraph_new_middleware)
14
15
  Middlewares.register("dev", langgraph_dev_middleware)
16
+ Middlewares.register("eval", langgraph_eval_middleware)
@@ -2746,7 +2746,7 @@ wheels = [
2746
2746
 
2747
2747
  [[package]]
2748
2748
  name = "uipath"
2749
- version = "2.1.41"
2749
+ version = "2.1.46"
2750
2750
  source = { registry = "https://pypi.org/simple" }
2751
2751
  dependencies = [
2752
2752
  { name = "azure-monitor-opentelemetry" },
@@ -2764,14 +2764,14 @@ dependencies = [
2764
2764
  { name = "tomli" },
2765
2765
  { name = "truststore" },
2766
2766
  ]
2767
- sdist = { url = "https://files.pythonhosted.org/packages/38/e6/2577f69ba8d64c959794f3028c44aa83bcc1d1d0dcd7529b5de684d1e866/uipath-2.1.41.tar.gz", hash = "sha256:0dd6b59b44f03bfedd6285eeac0ccaa4c84334bad4442241e770fe107b6d2bb4", size = 1987987, upload-time = "2025-09-11T16:29:32.878Z" }
2767
+ sdist = { url = "https://files.pythonhosted.org/packages/8f/86/e823002c93f7c6d6ada522f2ec9c4a8e4ee9a0afd3ff5f2b18bbebf2c0a0/uipath-2.1.46.tar.gz", hash = "sha256:61740af2465acf87ae0adcb5d0281bede4fdd373feef3ec1a1fe6b45145eb390", size = 1987698, upload-time = "2025-09-15T15:03:41.71Z" }
2768
2768
  wheels = [
2769
- { url = "https://files.pythonhosted.org/packages/80/f2/1d2577a622cb20e6d4e9d86875034c5bf4fe16137bcbde9e409276238210/uipath-2.1.41-py3-none-any.whl", hash = "sha256:0cf4aeaf118e458163d20cad1d2b74faf1c8b6f2b6d4b0ee3926591fb39b2745", size = 214411, upload-time = "2025-09-11T16:29:30.896Z" },
2769
+ { url = "https://files.pythonhosted.org/packages/3e/e8/ce758af4c53851f48d5af99315ac5c5be80d1d784c8aa25b987f10bca0be/uipath-2.1.46-py3-none-any.whl", hash = "sha256:b54ef04dfbcf3cb75aef6c954204556eba3719301707c8ce94d81c7965826072", size = 215396, upload-time = "2025-09-15T15:03:39.738Z" },
2770
2770
  ]
2771
2771
 
2772
2772
  [[package]]
2773
2773
  name = "uipath-langchain"
2774
- version = "0.0.127"
2774
+ version = "0.0.129"
2775
2775
  source = { editable = "." }
2776
2776
  dependencies = [
2777
2777
  { name = "httpx" },
@@ -2815,7 +2815,7 @@ requires-dist = [
2815
2815
  { name = "openinference-instrumentation-langchain", specifier = ">=0.1.50" },
2816
2816
  { name = "pydantic-settings", specifier = ">=2.6.0" },
2817
2817
  { name = "python-dotenv", specifier = ">=1.0.1" },
2818
- { name = "uipath", specifier = ">=2.1.41,<2.2.0" },
2818
+ { name = "uipath", specifier = ">=2.1.46,<2.2.0" },
2819
2819
  { name = "uipath-langchain", marker = "extra == 'langchain'", specifier = ">=0.0.2" },
2820
2820
  ]
2821
2821
  provides-extras = ["langchain"]
@@ -1,93 +0,0 @@
1
- import asyncio
2
- import os
3
- from os import environ as env
4
- from typing import Optional
5
-
6
- from dotenv import load_dotenv
7
- from uipath._cli._runtime._contracts import UiPathTraceContext
8
- from uipath._cli.middlewares import MiddlewareResult
9
-
10
- from ._runtime._context import LangGraphRuntimeContext
11
- from ._runtime._exception import LangGraphRuntimeError
12
- from ._runtime._runtime import LangGraphRuntime
13
- from ._utils._graph import LangGraphConfig
14
-
15
- load_dotenv()
16
-
17
-
18
- def langgraph_run_middleware(
19
- entrypoint: Optional[str], input: Optional[str], resume: bool, **kwargs
20
- ) -> MiddlewareResult:
21
- """Middleware to handle langgraph execution"""
22
- config = LangGraphConfig()
23
- if not config.exists:
24
- return MiddlewareResult(
25
- should_continue=True
26
- ) # Continue with normal flow if no langgraph.json
27
-
28
- try:
29
- bool_map = {"true": True, "false": False}
30
- tracing = env.get("UIPATH_TRACING_ENABLED", True)
31
- if isinstance(tracing, str) and tracing.lower() in bool_map:
32
- tracing = bool_map[tracing.lower()]
33
-
34
- async def execute():
35
- context: LangGraphRuntimeContext = LangGraphRuntimeContext.from_config(
36
- env.get("UIPATH_CONFIG_PATH", "uipath.json"), **kwargs
37
- )
38
- context.entrypoint = entrypoint
39
- context.input = input
40
- context.resume = resume
41
- context.langgraph_config = config
42
- context.debug = kwargs.get("debug", False)
43
- context.logs_min_level = env.get("LOG_LEVEL", "INFO")
44
- context.job_id = env.get("UIPATH_JOB_KEY", None)
45
- context.execution_id = env.get("UIPATH_JOB_KEY", None)
46
- context.trace_id = env.get("UIPATH_TRACE_ID")
47
- context.is_eval_run = kwargs.get("is_eval_run", False)
48
- context.tracing_enabled = tracing
49
- context.input_file = kwargs.get("input_file", None)
50
- context.execution_output_file = kwargs.get("execution_output_file", None)
51
- context.trace_context = UiPathTraceContext(
52
- enabled=tracing,
53
- trace_id=env.get("UIPATH_TRACE_ID"),
54
- parent_span_id=env.get("UIPATH_PARENT_SPAN_ID"),
55
- root_span_id=env.get("UIPATH_ROOT_SPAN_ID"),
56
- job_id=env.get("UIPATH_JOB_KEY"),
57
- org_id=env.get("UIPATH_ORGANIZATION_ID"),
58
- tenant_id=env.get("UIPATH_TENANT_ID"),
59
- process_key=env.get("UIPATH_PROCESS_UUID"),
60
- folder_key=env.get("UIPATH_FOLDER_KEY"),
61
- )
62
- context.langsmith_tracing_enabled = env.get("LANGSMITH_TRACING", False)
63
-
64
- # Add default env variables
65
- env["UIPATH_REQUESTING_PRODUCT"] = "uipath-python-sdk"
66
- env["UIPATH_REQUESTING_FEATURE"] = "langgraph-agent"
67
-
68
- async with LangGraphRuntime.from_context(context) as runtime:
69
- if context.resume is False and context.job_id is None:
70
- # Delete the previous graph state file at debug time
71
- if os.path.exists(runtime.state_file_path):
72
- os.remove(runtime.state_file_path)
73
- await runtime.execute()
74
-
75
- asyncio.run(execute())
76
-
77
- return MiddlewareResult(
78
- should_continue=False,
79
- error_message=None,
80
- )
81
-
82
- except LangGraphRuntimeError as e:
83
- return MiddlewareResult(
84
- should_continue=False,
85
- error_message=e.error_info.detail,
86
- should_include_stacktrace=True,
87
- )
88
- except Exception as e:
89
- return MiddlewareResult(
90
- should_continue=False,
91
- error_message=f"Error: {str(e)}",
92
- should_include_stacktrace=True,
93
- )