uipath-langchain 0.0.128__tar.gz → 0.0.130__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 (275) hide show
  1. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/PKG-INFO +2 -2
  2. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/pyproject.toml +2 -2
  3. uipath_langchain-0.0.130/src/uipath_langchain/_cli/_runtime/_context.py +21 -0
  4. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -13
  5. uipath_langchain-0.0.130/src/uipath_langchain/_cli/cli_eval.py +68 -0
  6. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_run.py +10 -14
  7. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/uv.lock +5 -5
  8. uipath_langchain-0.0.128/src/uipath_langchain/_cli/_runtime/_context.py +0 -168
  9. uipath_langchain-0.0.128/src/uipath_langchain/_cli/cli_eval.py +0 -63
  10. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.cursorrules +0 -0
  11. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.editorconfig +0 -0
  12. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.gitattributes +0 -0
  13. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/cd.yml +0 -0
  14. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/ci.yml +0 -0
  15. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/commitlint.yml +0 -0
  16. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/integration_tests.yml +0 -0
  17. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/lint-custom-version.yml +0 -0
  18. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/lint.yml +0 -0
  19. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-dev.yml +0 -0
  20. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-docs.yml +0 -0
  21. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-prior-stable-version.yml +0 -0
  22. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/slack.yml +0 -0
  23. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/test-custom-version.yml +0 -0
  24. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/test.yml +0 -0
  25. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.gitignore +0 -0
  26. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.pre-commit-config.yaml +0 -0
  27. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.python-version +0 -0
  28. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.vscode/extensions.json +0 -0
  29. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.vscode/settings.json +0 -0
  30. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/CONTRIBUTING.md +0 -0
  31. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/LICENSE +0 -0
  32. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/README.md +0 -0
  33. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/chat_models.md +0 -0
  34. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/context_grounding.md +0 -0
  35. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/human_in_the_loop.md +0 -0
  36. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start.md +0 -0
  37. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
  38. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/cloud_env_var_light.png +0 -0
  39. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/invoke_output_dark.png +0 -0
  40. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/invoke_output_light.png +0 -0
  41. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/click-storage-bucket.png +0 -0
  42. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-1.png +0 -0
  43. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-2.png +0 -0
  44. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-process.png +0 -0
  45. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-quiz-generator.png +0 -0
  46. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
  47. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
  48. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/folder-path.png +0 -0
  49. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/job-info.png +0 -0
  50. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/output.png +0 -0
  51. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/process-page.png +0 -0
  52. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-1.png +0 -0
  53. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-2.png +0 -0
  54. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-1.png +0 -0
  55. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-2.png +0 -0
  56. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/storage-bucket-content.png +0 -0
  57. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
  58. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
  59. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
  60. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
  61. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
  62. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
  63. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
  64. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
  65. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
  66. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
  67. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
  68. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
  69. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
  70. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
  71. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/run-agent.png +0 -0
  72. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
  73. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/start-job.png +0 -0
  74. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
  75. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/README.md +0 -0
  76. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/env.example +0 -0
  77. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +0 -0
  78. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +0 -0
  79. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/langgraph.json +0 -0
  80. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/pyproject.toml +0 -0
  81. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +0 -0
  82. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +0 -0
  83. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +0 -0
  84. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +0 -0
  85. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/uipath.json +0 -0
  86. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/uv.lock +0 -0
  87. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/README.md +0 -0
  88. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/.env.example +0 -0
  89. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/agent.mermaid +0 -0
  90. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/graph.py +0 -0
  91. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/langgraph.json +0 -0
  92. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/pyproject.toml +0 -0
  93. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/uipath.json +0 -0
  94. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/uv.lock +0 -0
  95. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/.env.example +0 -0
  96. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/agent.mermaid +0 -0
  97. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/graph.py +0 -0
  98. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/langgraph.json +0 -0
  99. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/pyproject.toml +0 -0
  100. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/uipath.json +0 -0
  101. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/uv.lock +0 -0
  102. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.env.template +0 -0
  103. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.python-version +0 -0
  104. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.vscode/launch.json +0 -0
  105. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/README.md +0 -0
  106. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/agent.mermaid +0 -0
  107. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/input.json +0 -0
  108. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/langgraph.json +0 -0
  109. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/pyproject.toml +0 -0
  110. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/__init__.py +0 -0
  111. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/main.py +0 -0
  112. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/outlook_client.py +0 -0
  113. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/uipath.json +0 -0
  114. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/uv.lock +0 -0
  115. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/database.py +0 -0
  116. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/main.py +0 -0
  117. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/models.py +0 -0
  118. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/pyproject.toml +0 -0
  119. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/schemas.py +0 -0
  120. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/templates/index.html +0 -0
  121. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/uv.lock +0 -0
  122. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
  123. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
  124. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
  125. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
  126. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
  127. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
  128. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
  129. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
  130. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
  131. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
  132. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
  133. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +0 -0
  134. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  135. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
  136. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  137. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
  138. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  139. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  140. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  141. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  142. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/.env.example +0 -0
  143. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/README.md +0 -0
  144. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/main.py +0 -0
  145. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/pyproject.toml +0 -0
  146. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/uipath.json +0 -0
  147. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/uv.lock +0 -0
  148. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/.env.example +0 -0
  149. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/README.md +0 -0
  150. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/agent.mermaid +0 -0
  151. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/langgraph.json +0 -0
  152. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/pyproject.toml +0 -0
  153. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  154. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  155. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  156. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/uipath.json +0 -0
  157. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/uv.lock +0 -0
  158. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/.env.example +0 -0
  159. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/README.md +0 -0
  160. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/agent.mermaid +0 -0
  161. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/langgraph.json +0 -0
  162. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/main.py +0 -0
  163. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/pyproject.toml +0 -0
  164. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/uipath.json +0 -0
  165. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/uv.lock +0 -0
  166. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/.env.example +0 -0
  167. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/README.md +0 -0
  168. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/agent.mermaid +0 -0
  169. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
  170. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/langgraph.json +0 -0
  171. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/main.py +0 -0
  172. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/pyproject.toml +0 -0
  173. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/uipath.json +0 -0
  174. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/uv.lock +0 -0
  175. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/__init__.py +0 -0
  176. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/__init__.py +0 -0
  177. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_conversation.py +0 -0
  178. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
  179. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
  180. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
  181. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
  182. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
  183. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
  184. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_dev.py +0 -0
  185. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_init.py +0 -0
  186. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_new.py +0 -0
  187. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/__init__.py +0 -0
  188. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
  189. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_settings.py +0 -0
  190. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
  191. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/builder/agent_config.py +0 -0
  192. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/chat/__init__.py +0 -0
  193. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/chat/models.py +0 -0
  194. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/embeddings/__init__.py +0 -0
  195. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/embeddings/embeddings.py +0 -0
  196. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/middlewares.py +0 -0
  197. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/retrievers/__init__.py +0 -0
  198. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
  199. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +0 -0
  200. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/__init__.py +0 -0
  201. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_events.py +0 -0
  202. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
  203. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_utils.py +0 -0
  204. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/vectorstores/__init__.py +0 -0
  205. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
  206. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/Dockerfile +0 -0
  207. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/README.md +0 -0
  208. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/.env.example +0 -0
  209. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/agent.mermaid +0 -0
  210. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/input.json +0 -0
  211. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/langgraph.json +0 -0
  212. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/pyproject.toml +0 -0
  213. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/run.sh +0 -0
  214. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/src/assert.py +0 -0
  215. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/src/graph.py +0 -0
  216. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/uipath.json +0 -0
  217. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/uv.lock +0 -0
  218. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  219. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/README.md +0 -0
  220. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  221. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/input.json +0 -0
  222. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  223. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  224. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/run.sh +0 -0
  225. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/src/assert.py +0 -0
  226. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/src/graph.py +0 -0
  227. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  228. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  229. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/.env.example +0 -0
  230. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/README.md +0 -0
  231. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/agent.mermaid +0 -0
  232. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/input.json +0 -0
  233. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/langgraph.json +0 -0
  234. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/pyproject.toml +0 -0
  235. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/run.sh +0 -0
  236. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/assert.py +0 -0
  237. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  238. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  239. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  240. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/uipath.json +0 -0
  241. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/uv.lock +0 -0
  242. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/.env.example +0 -0
  243. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/README.md +0 -0
  244. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/agent.mermaid +0 -0
  245. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/input.json +0 -0
  246. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/langgraph.json +0 -0
  247. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/pyproject.toml +0 -0
  248. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/run.sh +0 -0
  249. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/src/assert.py +0 -0
  250. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/src/main.py +0 -0
  251. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/uipath.json +0 -0
  252. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/uv.lock +0 -0
  253. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/__init__.py +0 -0
  254. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/builder/test_config.py +0 -0
  255. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/conftest.py +0 -0
  256. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/langgraph.json +0 -0
  257. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/simple_agent.py +0 -0
  258. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/uipath.json +0 -0
  259. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/test_run.py +0 -0
  260. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/__init__.py +0 -0
  261. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/conftest.py +0 -0
  262. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/action_trigger_hitl.py +0 -0
  263. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/api_trigger_hitl.py +0 -0
  264. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/job_trigger_hitl.py +0 -0
  265. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/langgraph.json +0 -0
  266. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/uipath-default-escalation.json +0 -0
  267. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/uipath.json +0 -0
  268. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_action_trigger.py +0 -0
  269. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_api_trigger.py +0 -0
  270. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_default_escalation.py +0 -0
  271. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_job_trigger.py +0 -0
  272. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/test_dummy.py +0 -0
  273. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/tracers/__init__.py +0 -0
  274. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/tracers/test_async_uipath_tracer.py +0 -0
  275. {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/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.128
3
+ Version: 0.0.130
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.44
28
+ Requires-Dist: uipath<2.2.0,>=2.1.49
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.128"
3
+ version = "0.0.130"
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.44, <2.2.0",
8
+ "uipath>=2.1.49, <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",
@@ -0,0 +1,21 @@
1
+ from typing import Any, Optional, Union
2
+
3
+ from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
4
+ from langgraph.graph import StateGraph
5
+ from uipath._cli._runtime._contracts import UiPathRuntimeContext
6
+
7
+ from .._utils._graph import LangGraphConfig
8
+
9
+
10
+ class LangGraphRuntimeContext(UiPathRuntimeContext):
11
+ """Context information passed throughout the runtime execution."""
12
+
13
+ langgraph_config: Optional[LangGraphConfig] = None
14
+ state_graph: Optional[StateGraph[Any, Any]] = None
15
+ output: Optional[Any] = None
16
+ state: Optional[Any] = (
17
+ None # TypedDict issue, the actual type is: Optional[langgraph.types.StateSnapshot]
18
+ )
19
+ memory: Optional[AsyncSqliteSaver] = None
20
+ langsmith_tracing_enabled: Union[str, bool, None] = False
21
+ resume_triggers_table: str = "__uipath_resume_triggers"
@@ -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
+ )
@@ -3,21 +3,20 @@ import os
3
3
  from os import environ as env
4
4
  from typing import Optional
5
5
 
6
- from dotenv import load_dotenv
7
6
  from uipath._cli.middlewares import MiddlewareResult
8
7
 
9
- from ._runtime._context import LangGraphRuntimeContextBuilder
10
8
  from ._runtime._exception import LangGraphRuntimeError
11
- from ._runtime._runtime import LangGraphRuntime
9
+ from ._runtime._runtime import ( # type: ignore[attr-defined]
10
+ LangGraphRuntime,
11
+ LangGraphRuntimeContext,
12
+ )
12
13
  from ._utils._graph import LangGraphConfig
13
14
 
14
- load_dotenv()
15
-
16
15
 
17
16
  def langgraph_run_middleware(
18
17
  entrypoint: Optional[str], input: Optional[str], resume: bool, **kwargs
19
18
  ) -> MiddlewareResult:
20
- """Middleware to handle langgraph execution"""
19
+ """Middleware to handle LangGraph execution"""
21
20
  config = LangGraphConfig()
22
21
  if not config.exists:
23
22
  return MiddlewareResult(
@@ -29,14 +28,11 @@ def langgraph_run_middleware(
29
28
  env["UIPATH_REQUESTING_PRODUCT"] = "uipath-python-sdk"
30
29
  env["UIPATH_REQUESTING_FEATURE"] = "langgraph-agent"
31
30
 
32
- context = (
33
- LangGraphRuntimeContextBuilder()
34
- .with_defaults(**kwargs)
35
- .with_langgraph_config(config)
36
- .with_entrypoint(entrypoint)
37
- .with_input(input_data=input, input_file=kwargs.get("input_file"))
38
- .with_resume(resume)
39
- ).build()
31
+ context = LangGraphRuntimeContext.with_defaults(**kwargs)
32
+ context.langgraph_config = config
33
+ context.entrypoint = entrypoint
34
+ context.input = input
35
+ context.resume = resume
40
36
 
41
37
  async def execute():
42
38
  async with LangGraphRuntime.from_context(context) as runtime:
@@ -2746,7 +2746,7 @@ wheels = [
2746
2746
 
2747
2747
  [[package]]
2748
2748
  name = "uipath"
2749
- version = "2.1.44"
2749
+ version = "2.1.49"
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/09/62/c0d9d884c7b2b01eb78e9445874745eae0422673d9b89335ce890960eda5/uipath-2.1.44.tar.gz", hash = "sha256:4b544c467158d57f6f7b7ac001fa34b959e685830065bb717544b05b32ee237f", size = 1988099, upload-time = "2025-09-15T06:59:47.92Z" }
2767
+ sdist = { url = "https://files.pythonhosted.org/packages/fe/98/eaa8666dc8c6fe05ca69926fbabf4644a433b0b3be6925047d0b39fbe24d/uipath-2.1.49.tar.gz", hash = "sha256:8c2633932075d04df5e7297e7a3830e4f973e01d301f553d4f451ca0a45d56d6", size = 1987699, upload-time = "2025-09-16T05:31:24.843Z" }
2768
2768
  wheels = [
2769
- { url = "https://files.pythonhosted.org/packages/51/fd/3ae9edea73f5a8223771924b90dbc390c43b70cebed101b27a05caad11fe/uipath-2.1.44-py3-none-any.whl", hash = "sha256:6988df9cac8a2b6bec505c7b816e5c1d80a990f36fe2e853997e8837e7572bfc", size = 215418, upload-time = "2025-09-15T06:59:46.071Z" },
2769
+ { url = "https://files.pythonhosted.org/packages/07/02/5672c40b4e298d02ec06c5d24a66e58c4d6f4484c654a8fdf56b7c3f389d/uipath-2.1.49-py3-none-any.whl", hash = "sha256:ec4a8f9400f48d5c3b7707a1f23a521a2edaf1e5c8ca0c5da47ac910ab7b3a2b", size = 215197, upload-time = "2025-09-16T05:31:23.031Z" },
2770
2770
  ]
2771
2771
 
2772
2772
  [[package]]
2773
2773
  name = "uipath-langchain"
2774
- version = "0.0.128"
2774
+ version = "0.0.130"
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.44,<2.2.0" },
2818
+ { name = "uipath", specifier = ">=2.1.49,<2.2.0" },
2819
2819
  { name = "uipath-langchain", marker = "extra == 'langchain'", specifier = ">=0.0.2" },
2820
2820
  ]
2821
2821
  provides-extras = ["langchain"]
@@ -1,168 +0,0 @@
1
- from typing import Any, Optional, Union
2
- from uuid import uuid4
3
-
4
- from langgraph.checkpoint.sqlite.aio import AsyncSqliteSaver
5
- from langgraph.graph import StateGraph
6
- from uipath._cli._runtime._contracts import UiPathRuntimeContext, UiPathTraceContext
7
-
8
- from .._utils._graph import LangGraphConfig
9
-
10
-
11
- class LangGraphRuntimeContext(UiPathRuntimeContext):
12
- """Context information passed throughout the runtime execution."""
13
-
14
- langgraph_config: Optional[LangGraphConfig] = None
15
- state_graph: Optional[StateGraph[Any, Any]] = None
16
- output: Optional[Any] = None
17
- state: Optional[Any] = (
18
- None # TypedDict issue, the actual type is: Optional[langgraph.types.StateSnapshot]
19
- )
20
- memory: Optional[AsyncSqliteSaver] = None
21
- langsmith_tracing_enabled: Union[str, bool, None] = False
22
- resume_triggers_table: str = "__uipath_resume_triggers"
23
-
24
-
25
- class LangGraphRuntimeContextBuilder:
26
- """Builder class for LangGraphRuntimeContext following the builder pattern."""
27
-
28
- def __init__(self):
29
- self._kwargs = {}
30
-
31
- def with_defaults(
32
- self, config_path: Optional[str] = None, **kwargs
33
- ) -> "LangGraphRuntimeContextBuilder":
34
- """Apply default configuration similar to LangGraphRuntimeContext.from_config().
35
-
36
- Args:
37
- config_path: Path to the configuration file (defaults to UIPATH_CONFIG_PATH env var or "uipath.json")
38
- **kwargs: Additional keyword arguments to pass to with_defaults
39
-
40
- Returns:
41
- Self for method chaining
42
- """
43
- from os import environ as env
44
-
45
- resolved_config_path = config_path or env.get(
46
- "UIPATH_CONFIG_PATH", "uipath.json"
47
- )
48
- self._kwargs["config_path"] = resolved_config_path
49
-
50
- bool_map = {"true": True, "false": False}
51
- tracing = env.get("UIPATH_TRACING_ENABLED", True)
52
- if isinstance(tracing, str) and tracing.lower() in bool_map:
53
- tracing = bool_map[tracing.lower()]
54
-
55
- self._kwargs.update(
56
- {
57
- "job_id": env.get("UIPATH_JOB_KEY"),
58
- "execution_id": env.get("UIPATH_JOB_KEY"),
59
- "trace_id": env.get("UIPATH_TRACE_ID"),
60
- "tracing_enabled": tracing,
61
- "logs_min_level": env.get("LOG_LEVEL", "INFO"),
62
- "langsmith_tracing_enabled": env.get("LANGSMITH_TRACING", False),
63
- **kwargs, # Allow overriding defaults with provided kwargs
64
- }
65
- )
66
-
67
- self._kwargs["trace_context"] = UiPathTraceContext(
68
- trace_id=env.get("UIPATH_TRACE_ID"),
69
- parent_span_id=env.get("UIPATH_PARENT_SPAN_ID"),
70
- root_span_id=env.get("UIPATH_ROOT_SPAN_ID"),
71
- enabled=tracing,
72
- job_id=env.get("UIPATH_JOB_KEY"),
73
- org_id=env.get("UIPATH_ORGANIZATION_ID"),
74
- tenant_id=env.get("UIPATH_TENANT_ID"),
75
- process_key=env.get("UIPATH_PROCESS_UUID"),
76
- folder_key=env.get("UIPATH_FOLDER_KEY"),
77
- reference_id=env.get("UIPATH_JOB_KEY") or str(uuid4()),
78
- )
79
-
80
- return self
81
-
82
- def with_entrypoint(
83
- self, entrypoint: Optional[str]
84
- ) -> "LangGraphRuntimeContextBuilder":
85
- """Set the entrypoint for the runtime context.
86
-
87
- Args:
88
- entrypoint: The entrypoint to execute
89
-
90
- Returns:
91
- Self for method chaining
92
- """
93
- if entrypoint is not None:
94
- self._kwargs["entrypoint"] = entrypoint
95
- return self
96
-
97
- def with_input(
98
- self, input_data: Optional[str] = None, input_file: Optional[str] = None
99
- ) -> "LangGraphRuntimeContextBuilder":
100
- """Set the input data for the runtime context.
101
-
102
- Args:
103
- input_data: The input data as a string
104
- input_file: Path to the input file
105
-
106
- Returns:
107
- Self for method chaining
108
- """
109
- if input_data is not None:
110
- self._kwargs["input"] = input_data
111
- if input_file is not None:
112
- self._kwargs["input_file"] = input_file
113
- return self
114
-
115
- def with_resume(self, enable: bool = True) -> "LangGraphRuntimeContextBuilder":
116
- """Enable or disable resume mode for the runtime context.
117
-
118
- Args:
119
- enable: Whether to enable resume mode (defaults to True)
120
-
121
- Returns:
122
- Self for method chaining
123
- """
124
- self._kwargs["resume"] = enable
125
- return self
126
-
127
- def with_langgraph_config(
128
- self, config: LangGraphConfig
129
- ) -> "LangGraphRuntimeContextBuilder":
130
- """Set the LangGraph configuration.
131
-
132
- Args:
133
- config: The LangGraph configuration
134
-
135
- Returns:
136
- Self for method chaining
137
- """
138
- self._kwargs["langgraph_config"] = config
139
- return self
140
-
141
- def mark_eval_run(self, enable: bool = True) -> "LangGraphRuntimeContextBuilder":
142
- """Mark this as an evaluation run.
143
-
144
- Args:
145
- enable: Whether this is an eval run (defaults to True)
146
-
147
- Returns:
148
- Self for method chaining
149
- """
150
- self._kwargs["is_eval_run"] = enable
151
- return self
152
-
153
- def build(self) -> "LangGraphRuntimeContext":
154
- """Build and return the LangGraphRuntimeContext instance.
155
-
156
- Returns:
157
- A configured LangGraphRuntimeContext instance
158
- """
159
- config_path = self._kwargs.pop("config_path", None)
160
- if config_path:
161
- # Create context from config first, then update with any additional kwargs
162
- context = LangGraphRuntimeContext.from_config(config_path)
163
- for key, value in self._kwargs.items():
164
- if hasattr(context, key):
165
- setattr(context, key, value)
166
- return context
167
- else:
168
- return LangGraphRuntimeContext(**self._kwargs)
@@ -1,63 +0,0 @@
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
- UiPathRuntimeContextBuilder,
8
- UiPathRuntimeFactory,
9
- )
10
- from uipath._cli.middlewares import MiddlewareResult
11
-
12
- from uipath_langchain._cli._runtime._context import (
13
- LangGraphRuntimeContext,
14
- LangGraphRuntimeContextBuilder,
15
- )
16
- from uipath_langchain._cli._runtime._runtime import LangGraphRuntime
17
- from uipath_langchain._cli._utils._graph import LangGraphConfig
18
-
19
-
20
- def langgraph_eval_middleware(
21
- entrypoint: Optional[str], eval_set: Optional[str], eval_ids: List[str], **kwargs
22
- ) -> MiddlewareResult:
23
- def generate_eval_context(
24
- runtime_context: LangGraphRuntimeContext,
25
- ) -> UiPathEvalContext[LangGraphRuntimeContext]:
26
- base_context = UiPathRuntimeContextBuilder().with_defaults().build()
27
- return UiPathEvalContext(
28
- runtime_context=runtime_context,
29
- **kwargs,
30
- **base_context.model_dump(),
31
- )
32
-
33
- try:
34
- runtime_factory = UiPathRuntimeFactory(
35
- LangGraphRuntime, LangGraphRuntimeContext
36
- )
37
- # Add default env variables
38
- env["UIPATH_REQUESTING_PRODUCT"] = "uipath-python-sdk"
39
- env["UIPATH_REQUESTING_FEATURE"] = "langgraph-agent"
40
-
41
- context = (
42
- LangGraphRuntimeContextBuilder()
43
- .with_defaults(**kwargs)
44
- .with_langgraph_config(LangGraphConfig())
45
- .with_entrypoint(entrypoint)
46
- .mark_eval_run()
47
- ).build()
48
-
49
- async def execute():
50
- async with UiPathEvalRuntime[
51
- LangGraphRuntime, LangGraphRuntimeContext
52
- ].from_eval_context(
53
- factory=runtime_factory, context=generate_eval_context(context)
54
- ) as eval_runtime:
55
- await eval_runtime.execute()
56
-
57
- asyncio.run(execute())
58
- return MiddlewareResult(should_continue=False)
59
-
60
- except Exception as e:
61
- return MiddlewareResult(
62
- should_continue=False, error_message=f"Error running evaluation: {str(e)}"
63
- )