uipath-langchain 0.0.115__tar.gz → 0.0.117__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 (196) hide show
  1. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/PKG-INFO +2 -2
  2. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/chat_models.md +2 -2
  3. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/human_in_the_loop.md +2 -2
  4. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/pyproject.toml +5 -2
  5. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_runtime/_context.py +1 -1
  6. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_runtime/_runtime.py +3 -1
  7. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_utils/_graph.py +6 -2
  8. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/cli_init.py +3 -1
  9. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_utils/_request_mixin.py +9 -2
  10. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_utils/_settings.py +0 -9
  11. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/chat/models.py +22 -3
  12. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/embeddings/embeddings.py +7 -4
  13. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/api_trigger_hitl.py +5 -11
  14. uipath_langchain-0.0.117/uv.lock +3069 -0
  15. uipath_langchain-0.0.115/tests/test_langchain_client.py +0 -241
  16. uipath_langchain-0.0.115/uv.lock +0 -2864
  17. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.cursorrules +0 -0
  18. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.editorconfig +0 -0
  19. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.gitattributes +0 -0
  20. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/cd.yml +0 -0
  21. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/ci.yml +0 -0
  22. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/commitlint.yml +0 -0
  23. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/lint-custom-version.yml +0 -0
  24. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/lint.yml +0 -0
  25. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/publish-dev.yml +0 -0
  26. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/publish-docs.yml +0 -0
  27. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/publish-prior-stable-version.yml +0 -0
  28. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/slack.yml +0 -0
  29. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/test-custom-version.yml +0 -0
  30. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.github/workflows/test.yml +0 -0
  31. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.gitignore +0 -0
  32. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.pre-commit-config.yaml +0 -0
  33. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.python-version +0 -0
  34. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.vscode/extensions.json +0 -0
  35. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/.vscode/settings.json +0 -0
  36. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/CONTRIBUTING.md +0 -0
  37. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/LICENSE +0 -0
  38. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/README.md +0 -0
  39. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/context_grounding.md +0 -0
  40. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/quick_start.md +0 -0
  41. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
  42. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/quick_start_images/cloud_env_var_light.png +0 -0
  43. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/quick_start_images/invoke_output_dark.png +0 -0
  44. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/quick_start_images/invoke_output_light.png +0 -0
  45. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/click-storage-bucket.png +0 -0
  46. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-index-1.png +0 -0
  47. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-index-2.png +0 -0
  48. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-process.png +0 -0
  49. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-quiz-generator.png +0 -0
  50. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
  51. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
  52. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/folder-path.png +0 -0
  53. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/job-info.png +0 -0
  54. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/output.png +0 -0
  55. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/process-page.png +0 -0
  56. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/researcher-1.png +0 -0
  57. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/researcher-2.png +0 -0
  58. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/run-process-1.png +0 -0
  59. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/run-process-2.png +0 -0
  60. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/RAG/storage-bucket-content.png +0 -0
  61. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
  62. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
  63. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
  64. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
  65. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
  66. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
  67. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
  68. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
  69. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
  70. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
  71. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
  72. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
  73. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
  74. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
  75. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/run-agent.png +0 -0
  76. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
  77. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/start-job.png +0 -0
  78. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
  79. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/README.md +0 -0
  80. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/env.example +0 -0
  81. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +0 -0
  82. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +0 -0
  83. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/langgraph.json +0 -0
  84. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/pyproject.toml +0 -0
  85. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +0 -0
  86. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +0 -0
  87. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +0 -0
  88. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +0 -0
  89. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/uipath.json +0 -0
  90. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/RAG-quiz-generator/uv.lock +0 -0
  91. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/README.md +0 -0
  92. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/.env.example +0 -0
  93. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/agent.mermaid +0 -0
  94. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/graph.py +0 -0
  95. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/langgraph.json +0 -0
  96. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/pyproject.toml +0 -0
  97. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/uipath.json +0 -0
  98. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/company-research-agent/uv.lock +0 -0
  99. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/database.py +0 -0
  100. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/main.py +0 -0
  101. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/models.py +0 -0
  102. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/pyproject.toml +0 -0
  103. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/schemas.py +0 -0
  104. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/templates/index.html +0 -0
  105. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/hitl-inbox-server/uv.lock +0 -0
  106. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
  107. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
  108. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
  109. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
  110. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
  111. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
  112. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
  113. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/coder.py +0 -0
  114. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/planner.py +0 -0
  115. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/src/multi-agent-distributed/researcher.py +0 -0
  116. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
  117. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +0 -0
  118. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
  119. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
  120. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
  121. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
  122. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
  123. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
  124. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
  125. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
  126. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/retrieval-chain/.env.example +0 -0
  127. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/retrieval-chain/README.md +0 -0
  128. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/retrieval-chain/main.py +0 -0
  129. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/retrieval-chain/pyproject.toml +0 -0
  130. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/retrieval-chain/uv.lock +0 -0
  131. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/.env.example +0 -0
  132. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/README.md +0 -0
  133. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/agent.mermaid +0 -0
  134. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/langgraph.json +0 -0
  135. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/pyproject.toml +0 -0
  136. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
  137. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
  138. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
  139. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/uipath.json +0 -0
  140. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-local-mcp/uv.lock +0 -0
  141. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/.env.example +0 -0
  142. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/README.md +0 -0
  143. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/agent.mermaid +0 -0
  144. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/langgraph.json +0 -0
  145. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/main.py +0 -0
  146. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/pyproject.toml +0 -0
  147. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/uipath.json +0 -0
  148. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/simple-remote-mcp/uv.lock +0 -0
  149. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/.env.example +0 -0
  150. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/README.md +0 -0
  151. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/agent.mermaid +0 -0
  152. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/escalation_app_solution/generic-escalation-app-solution-1.0.0.zip +0 -0
  153. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/langgraph.json +0 -0
  154. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/main.py +0 -0
  155. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/pyproject.toml +0 -0
  156. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/uipath.json +0 -0
  157. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/samples/ticket-classification/uv.lock +0 -0
  158. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/__init__.py +0 -0
  159. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/__init__.py +0 -0
  160. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
  161. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
  162. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
  163. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
  164. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
  165. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/cli_new.py +0 -0
  166. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_cli/cli_run.py +0 -0
  167. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_utils/__init__.py +0 -0
  168. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
  169. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/chat/__init__.py +0 -0
  170. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/embeddings/__init__.py +0 -0
  171. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/middlewares.py +0 -0
  172. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/retrievers/__init__.py +0 -0
  173. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
  174. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +0 -0
  175. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/tracers/__init__.py +0 -0
  176. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/tracers/_events.py +0 -0
  177. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
  178. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/tracers/_utils.py +0 -0
  179. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/vectorstores/__init__.py +0 -0
  180. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
  181. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/__init__.py +0 -0
  182. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/__init__.py +0 -0
  183. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/conftest.py +0 -0
  184. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/action_trigger_hitl.py +0 -0
  185. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/job_trigger_hitl.py +0 -0
  186. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/langgraph.json +0 -0
  187. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/uipath-default-escalation.json +0 -0
  188. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/mocks/uipath.json +0 -0
  189. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/test_action_trigger.py +0 -0
  190. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/test_hitl_api_trigger.py +0 -0
  191. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/test_hitl_default_escalation.py +0 -0
  192. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/hitl/test_hitl_job_trigger.py +0 -0
  193. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/test_dummy.py +0 -0
  194. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/tracers/__init__.py +0 -0
  195. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/tests/tracers/test_async_uipath_tracer.py +0 -0
  196. {uipath_langchain-0.0.115 → uipath_langchain-0.0.117}/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.115
3
+ Version: 0.0.117
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
@@ -24,7 +24,7 @@ Requires-Dist: langgraph>=0.2.70
24
24
  Requires-Dist: openai>=1.65.5
25
25
  Requires-Dist: pydantic-settings>=2.6.0
26
26
  Requires-Dist: python-dotenv>=1.0.1
27
- Requires-Dist: uipath<2.1.0,>=2.0.71
27
+ Requires-Dist: uipath<2.1.0,>=2.0.79
28
28
  Provides-Extra: langchain
29
29
  Description-Content-Type: text/markdown
30
30
 
@@ -1,6 +1,6 @@
1
1
  # Chat Models
2
2
 
3
- UiPath provides two chat models `UiPathAzureChatOpenAI` and `UiPathChat`. These are compatible with langgraph as drop in replacements. You do not need to add tokens from OpenAI or Anthropic, usage of these chat models will consume `AI Units` on your account.
3
+ UiPath provides two chat models `UiPathAzureChatOpenAI` and `UiPathChat`. These are compatible with LangGraph as drop in replacements. You do not need to add tokens from OpenAI or Anthropic, usage of these chat models will consume `Agent Units` on your account.
4
4
 
5
5
  ## UiPathAzureChatOpenAI
6
6
 
@@ -86,7 +86,7 @@ Currently the following models can be used with `UiPathChat` (this list can be u
86
86
  - `anthropic.claude-3-5-sonnet-20240620-v1:0`, `anthropic.claude-3-5-sonnet-20241022-v2:0`, `anthropic.claude-3-7-sonnet-20250219-v1:0`, `anthropic.claude-3-haiku-20240307-v1:0`, `gemini-1.5-pro-001`, `gemini-2.0-flash-001`, `gpt-4o-2024-05-13`, `gpt-4o-2024-08-06`, `gpt-4o-2024-11-20`, `gpt-4o-mini-2024-07-18`, `o3-mini-2025-01-31`
87
87
 
88
88
  /// warning
89
- Please note that that you may get errors related to data residency, as some models are not available on all regions.
89
+ Please note that you may get errors related to data residency, as some models are not available on all regions.
90
90
 
91
91
  Example: `[Enforced Region] No model configuration found for product uipath-python-sdk in EU using model anthropic.claude-3-opus-20240229-v1:0`.
92
92
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Guide for **Human-In-The-Loop** scenarios within the UiPath-Langchain integration.
4
4
  It focuses on the **interrupt(model)** functionality, illustrating its role as a symbolic representation of an agent's
5
- wait state within the Langchain framework.
5
+ wait state within the LangGraph framework.
6
6
 
7
7
  ## Models Overview
8
8
 
@@ -49,7 +49,7 @@ action_output = interrupt(WaitAction(action=my_action_instance))
49
49
 
50
50
  ---
51
51
 
52
- > 💡 UiPath Langchain sdk also supports **Robot/Agent-in-the-loop** scenarios. In this context, the execution of one agent
52
+ > 💡The UiPath-LangChain SDK also supports **Robot/Agent-in-the-loop** scenarios. In this context, the execution of one agent
53
53
  > can be suspended until another robot or agent finishes its execution.
54
54
 
55
55
  ### 3. InvokeProcess
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "uipath-langchain"
3
- version = "0.0.115"
3
+ version = "0.0.117"
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.0.71, <2.1.0",
8
+ "uipath>=2.0.79, <2.1.0",
9
9
  "langgraph>=0.2.70",
10
10
  "langchain-core>=0.3.34",
11
11
  "langgraph-checkpoint-sqlite>=2.0.3",
@@ -49,6 +49,7 @@ dev = [
49
49
  "pytest>=7.4.0",
50
50
  "pytest-cov>=4.1.0",
51
51
  "pytest-mock>=3.11.1",
52
+ "pytest-asyncio>=1.0.0",
52
53
  "pre-commit>=4.1.0",
53
54
  "numpy>=1.24.0",
54
55
  "pytest_httpx>=0.35.0"
@@ -100,6 +101,8 @@ disallow_untyped_defs = false
100
101
  testpaths = ["tests"]
101
102
  python_files = "test_*.py"
102
103
  addopts = "-ra -q"
104
+ asyncio_default_fixture_loop_scope = "function"
105
+ asyncio_mode = "auto"
103
106
 
104
107
  [[tool.uv.index]]
105
108
  name = "testpypi"
@@ -11,7 +11,7 @@ class LangGraphRuntimeContext(UiPathRuntimeContext):
11
11
  """Context information passed throughout the runtime execution."""
12
12
 
13
13
  langgraph_config: Optional[LangGraphConfig] = None
14
- state_graph: Optional[StateGraph] = None
14
+ state_graph: Optional[StateGraph[Any, Any]] = None
15
15
  output: Optional[Any] = None
16
16
  state: Optional[Any] = (
17
17
  None # TypedDict issue, the actual type is: Optional[langgraph.types.StateSnapshot]
@@ -271,7 +271,9 @@ class LangGraphRuntime(UiPathBaseRuntime):
271
271
  if hasattr(self, "graph_config") and self.graph_config:
272
272
  await self.graph_config.cleanup()
273
273
 
274
- def _extract_graph_result(self, final_chunk, graph: CompiledStateGraph):
274
+ def _extract_graph_result(
275
+ self, final_chunk, graph: CompiledStateGraph[Any, Any, Any]
276
+ ):
275
277
  """
276
278
  Extract the result from a LangGraph output chunk according to the graph's output channels.
277
279
 
@@ -21,14 +21,18 @@ class GraphConfig:
21
21
  path: str
22
22
  file_path: str
23
23
  graph_var: str
24
- _graph: Optional[Union[StateGraph, CompiledStateGraph]] = None
24
+ _graph: Optional[Union[StateGraph[Any, Any], CompiledStateGraph[Any, Any, Any]]] = (
25
+ None
26
+ )
25
27
 
26
28
  @classmethod
27
29
  def from_config(cls, name: str, path: str) -> "GraphConfig":
28
30
  file_path, graph_var = path.split(":")
29
31
  return cls(name=name, path=path, file_path=file_path, graph_var=graph_var)
30
32
 
31
- async def load_graph(self) -> Union[StateGraph, CompiledStateGraph]:
33
+ async def load_graph(
34
+ self,
35
+ ) -> Union[StateGraph[Any, Any], CompiledStateGraph[Any, Any, Any]]:
32
36
  """Load graph from the specified path"""
33
37
  try:
34
38
  cwd = os.path.abspath(os.getcwd())
@@ -54,7 +54,9 @@ def process_nullable_types(
54
54
  return schema
55
55
 
56
56
 
57
- def generate_schema_from_graph(graph: CompiledStateGraph) -> Dict[str, Any]:
57
+ def generate_schema_from_graph(
58
+ graph: CompiledStateGraph[Any, Any, Any],
59
+ ) -> Dict[str, Any]:
58
60
  """Extract input/output schema from a LangGraph graph"""
59
61
  schema = {
60
62
  "input": {"type": "object", "properties": {}, "required": []},
@@ -17,6 +17,7 @@ from tenacity import (
17
17
  stop_after_attempt,
18
18
  wait_exponential_jitter,
19
19
  )
20
+ from uipath._utils._ssl_context import get_httpx_client_kwargs
20
21
 
21
22
  from uipath_langchain._utils._settings import (
22
23
  UiPathClientFactorySettings,
@@ -39,6 +40,8 @@ class UiPathRequestMixin(BaseModel):
39
40
 
40
41
  default_headers: Optional[Mapping[str, str]] = {
41
42
  "X-UiPath-Streaming-Enabled": "false",
43
+ "X-UiPath-JobKey": os.getenv("UIPATH_JOB_KEY", ""),
44
+ "X-UiPath-ProcessKey": os.getenv("UIPATH_PROCESS_KEY", ""),
42
45
  }
43
46
  model_name: Optional[str] = Field(
44
47
  default_factory=lambda: os.getenv("UIPATH_MODEL_NAME", "gpt-4o-2024-08-06"),
@@ -135,11 +138,13 @@ class UiPathRequestMixin(BaseModel):
135
138
  """Run an asynchronous call to the LLM."""
136
139
  # if self.logger:
137
140
  # self.logger.info(f"Completion request: {request_body['messages'][:2]}")
141
+ client_kwargs = get_httpx_client_kwargs()
138
142
  with httpx.Client(
143
+ **client_kwargs, # Apply SSL configuration
139
144
  event_hooks={
140
145
  "request": [self._log_request_duration],
141
146
  "response": [self._log_response_duration],
142
- }
147
+ },
143
148
  ) as client:
144
149
  response = client.post(
145
150
  url,
@@ -212,11 +217,13 @@ class UiPathRequestMixin(BaseModel):
212
217
  ) -> Dict[str, Any]:
213
218
  # if self.logger:
214
219
  # self.logger.info(f"Completion request: {request_body['messages'][:2]}")
220
+ client_kwargs = get_httpx_client_kwargs()
215
221
  async with httpx.AsyncClient(
222
+ **client_kwargs, # Apply SSL configuration
216
223
  event_hooks={
217
224
  "request": [self._alog_request_duration],
218
225
  "response": [self._alog_response_duration],
219
- }
226
+ },
220
227
  ) as client:
221
228
  response = await client.post(
222
229
  url,
@@ -1,6 +1,5 @@
1
1
  # mypy: disable-error-code="syntax"
2
2
  import os
3
- from enum import Enum
4
3
  from typing import Any, Optional
5
4
 
6
5
  import httpx
@@ -47,14 +46,6 @@ class UiPathClientSettings(BaseSettings):
47
46
  action_id: str = Field(default="DefaultActionId", alias="UIPATH_ACTION_ID")
48
47
 
49
48
 
50
- class UiPathEndpoints(Enum):
51
- NORMALIZED_COMPLETION_ENDPOINT = "llmgateway_/api/chat/completions"
52
- PASSTHROUGH_COMPLETION_ENDPOINT = "llmgateway_/openai/deployments/{model}/chat/completions?api-version={api_version}"
53
- EMBEDDING_ENDPOINT = (
54
- "llmgateway_/openai/deployments/{model}/embeddings?api-version={api_version}"
55
- )
56
-
57
-
58
49
  def get_uipath_token_header(
59
50
  settings: Any = None,
60
51
  ) -> str:
@@ -1,4 +1,6 @@
1
1
  import json
2
+ import logging
3
+ from os import environ as env
2
4
  from typing import Any, Dict, List, Literal, Optional, Union
3
5
 
4
6
  from langchain_core.callbacks import (
@@ -12,9 +14,11 @@ from langchain_core.outputs import ChatGeneration, ChatResult
12
14
  from langchain_core.runnables import Runnable
13
15
  from langchain_openai.chat_models import AzureChatOpenAI
14
16
  from pydantic import BaseModel
17
+ from uipath.utils import EndpointManager
15
18
 
16
19
  from uipath_langchain._utils._request_mixin import UiPathRequestMixin
17
- from uipath_langchain._utils._settings import UiPathEndpoints
20
+
21
+ logger = logging.getLogger(__name__)
18
22
 
19
23
 
20
24
  class UiPathAzureChatOpenAI(UiPathRequestMixin, AzureChatOpenAI):
@@ -71,7 +75,9 @@ class UiPathAzureChatOpenAI(UiPathRequestMixin, AzureChatOpenAI):
71
75
 
72
76
  @property
73
77
  def endpoint(self) -> str:
74
- return UiPathEndpoints.PASSTHROUGH_COMPLETION_ENDPOINT.value.format(
78
+ endpoint = EndpointManager.get_passthrough_endpoint()
79
+ logger.debug("Using endpoint: %s", endpoint)
80
+ return endpoint.format(
75
81
  model=self.model_name, api_version=self.openai_api_version
76
82
  )
77
83
 
@@ -79,6 +85,15 @@ class UiPathAzureChatOpenAI(UiPathRequestMixin, AzureChatOpenAI):
79
85
  class UiPathChat(UiPathRequestMixin, AzureChatOpenAI):
80
86
  """Custom LLM connector for LangChain integration with UiPath Normalized."""
81
87
 
88
+ def __init__(self, *args: Any, **kwargs: Any):
89
+ """Initialize the UiPath Azure Chat OpenAI model."""
90
+
91
+ super().__init__(*args, **kwargs)
92
+ self.default_headers = {
93
+ "X-UiPath-JobKey": env.get("UIPATH_JOB_KEY", ""),
94
+ "X-UiPath-ProcessKey": env.get("UIPATH_PROCESS_KEY", ""),
95
+ }
96
+
82
97
  def _create_chat_result(
83
98
  self,
84
99
  response: Union[Dict[str, Any], BaseModel],
@@ -252,7 +267,11 @@ class UiPathChat(UiPathRequestMixin, AzureChatOpenAI):
252
267
 
253
268
  @property
254
269
  def endpoint(self) -> str:
255
- return UiPathEndpoints.NORMALIZED_COMPLETION_ENDPOINT.value
270
+ endpoint = EndpointManager.get_passthrough_endpoint()
271
+ logger.debug("Using endpoint: %s", endpoint)
272
+ return endpoint.format(
273
+ model=self.model_name, api_version=self.openai_api_version
274
+ )
256
275
 
257
276
  @property
258
277
  def is_normalized(self) -> bool:
@@ -5,9 +5,9 @@ import httpx
5
5
  from langchain_community.callbacks.manager import openai_callback_var
6
6
  from langchain_openai.embeddings import AzureOpenAIEmbeddings, OpenAIEmbeddings
7
7
  from pydantic import Field
8
+ from uipath.utils import EndpointManager
8
9
 
9
10
  from uipath_langchain._utils._request_mixin import UiPathRequestMixin
10
- from uipath_langchain._utils._settings import UiPathEndpoints
11
11
 
12
12
 
13
13
  class UiPathAzureOpenAIEmbeddings(UiPathRequestMixin, AzureOpenAIEmbeddings):
@@ -43,7 +43,8 @@ class UiPathAzureOpenAIEmbeddings(UiPathRequestMixin, AzureOpenAIEmbeddings):
43
43
 
44
44
  @property
45
45
  def endpoint(self) -> str:
46
- return UiPathEndpoints.EMBEDDING_ENDPOINT.value.format(
46
+ endpoint = EndpointManager.get_embeddings_endpoint()
47
+ return endpoint.format(
47
48
  model=self.model_name, api_version=self.openai_api_version
48
49
  )
49
50
 
@@ -59,7 +60,7 @@ class UiPathOpenAIEmbeddings(UiPathRequestMixin, OpenAIEmbeddings):
59
60
  )
60
61
 
61
62
  def embed_documents(
62
- self, texts: List[str], chunk_size: Optional[int] = None
63
+ self, texts: List[str], chunk_size: Optional[int] = None, **kwargs
63
64
  ) -> List[List[float]]:
64
65
  """Embed a list of documents using the UiPath."""
65
66
  embeddings = []
@@ -83,6 +84,7 @@ class UiPathOpenAIEmbeddings(UiPathRequestMixin, OpenAIEmbeddings):
83
84
  self,
84
85
  texts: List[str],
85
86
  chunk_size: Optional[int] = None,
87
+ **kwargs,
86
88
  ) -> List[List[float]]:
87
89
  """Async version of embed_documents."""
88
90
  embeddings = []
@@ -104,6 +106,7 @@ class UiPathOpenAIEmbeddings(UiPathRequestMixin, OpenAIEmbeddings):
104
106
 
105
107
  @property
106
108
  def endpoint(self) -> str:
107
- return UiPathEndpoints.EMBEDDING_ENDPOINT.value.format(
109
+ endpoint = EndpointManager.get_embeddings_endpoint()
110
+ return endpoint.format(
108
111
  model=self.model_name, api_version=self.openai_api_version
109
112
  )
@@ -1,26 +1,20 @@
1
- import dataclasses
1
+ from typing import TypedDict
2
2
 
3
3
  from langgraph.checkpoint.memory import MemorySaver
4
4
  from langgraph.graph import END, START, StateGraph
5
5
  from langgraph.types import interrupt
6
6
 
7
7
 
8
- @dataclasses.dataclass
9
- class Input:
10
- pass
11
-
12
-
13
- @dataclasses.dataclass
14
- class Output:
8
+ class State(TypedDict):
15
9
  message: str
16
10
 
17
11
 
18
- def main_node(input: Input) -> Output:
12
+ def main_node(state: State) -> State:
19
13
  response = interrupt("interrupt message")
20
- return Output(message=response)
14
+ return {"message": response}
21
15
 
22
16
 
23
- builder = StateGraph(input=Input, output=Output)
17
+ builder: StateGraph[State] = StateGraph(State)
24
18
 
25
19
  builder.add_node("main_node", main_node)
26
20