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.
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/PKG-INFO +2 -2
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/pyproject.toml +2 -2
- uipath_langchain-0.0.130/src/uipath_langchain/_cli/_runtime/_context.py +21 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_runtime.py +0 -13
- uipath_langchain-0.0.130/src/uipath_langchain/_cli/cli_eval.py +68 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_run.py +10 -14
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/uv.lock +5 -5
- uipath_langchain-0.0.128/src/uipath_langchain/_cli/_runtime/_context.py +0 -168
- uipath_langchain-0.0.128/src/uipath_langchain/_cli/cli_eval.py +0 -63
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.cursorrules +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.editorconfig +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.gitattributes +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/cd.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/ci.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/commitlint.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/integration_tests.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/lint-custom-version.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/lint.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-dev.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-docs.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/publish-prior-stable-version.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/slack.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/test-custom-version.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/test.yml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.gitignore +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.pre-commit-config.yaml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.python-version +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.vscode/extensions.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.vscode/settings.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/CONTRIBUTING.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/LICENSE +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/chat_models.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/context_grounding.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/human_in_the_loop.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/cloud_env_var_dark.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/cloud_env_var_light.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/invoke_output_dark.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/invoke_output_light.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/click-storage-bucket.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-1.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-2.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-process.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-quiz-generator.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-storage-bucket-1.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-storage-bucket-2.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/folder-path.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/job-info.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/output.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/process-page.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-1.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-2.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-1.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-2.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/storage-bucket-content.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/coder-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/coder-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/planner-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/planner-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/researcher-agent-package-overview.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/multi-agent-distributed/researcher-agent-process-configuration.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/activate-apps.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/activate-deployment.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/copy-folder-path.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/deploy-solution-package-wizard.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/deploy-solution-package.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/monitor-agent.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/navigate-to-solution-folder.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/resume-condition.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/run-agent.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/solution-destination-folder.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/start-job.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/ticket-classification/upload-solution-package.png +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/input.example/quiz-generator-debug-input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/input.example/researcher-debug-input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/quiz-generator-RAG-agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/researcher-RAG-agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/src/agents/quiz-generator-RAG-agent.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/src/agents/researcher-RAG-agent.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/chat-agent/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/company-research-agent/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.env.template +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.python-version +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/.vscode/launch.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/src/email_organizer/outlook_client.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/email-organizer-agent/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/database.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/models.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/schemas.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/templates/index.html +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/hitl-inbox-server/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/coder.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/planner.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/researcher.mermaid +0 -0
- {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
- {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
- {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
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-planner-researcher-coder-distributed/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/retrieval-chain/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-local-mcp/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/simple-remote-mcp/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/agent.mermaid +0 -0
- {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
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/ticket-classification/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_conversation.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_exception.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_input.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_output.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_templates/langgraph.json.template +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_templates/main.py.template +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_utils/_graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_dev.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_init.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/cli_new.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_request_mixin.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_settings.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_utils/_sleep_policy.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/builder/agent_config.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/chat/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/chat/models.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/embeddings/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/embeddings/embeddings.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/middlewares.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/retrievers/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/retrievers/context_grounding_retriever.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/AsyncUiPathTracer.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_events.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_instrument_traceable.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/tracers/_utils.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/vectorstores/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/vectorstores/context_grounding_vectorstore.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/Dockerfile +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/run.sh +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/src/assert.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/src/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/company-research-agent/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/run.sh +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/src/assert.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/src/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/multi-agent-supervisor-researcher-coder/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/run.sh +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/assert.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/graph.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/math_server.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/src/simple-local-mcp/weather_server.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/simple-local-mcp/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/.env.example +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/README.md +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/agent.mermaid +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/input.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/pyproject.toml +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/run.sh +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/src/assert.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/src/main.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/testcases/ticket-classification/uv.lock +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/builder/test_config.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/conftest.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/simple_agent.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/mocks/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/cli/test_run.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/conftest.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/action_trigger_hitl.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/api_trigger_hitl.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/job_trigger_hitl.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/langgraph.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/uipath-default-escalation.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/mocks/uipath.json +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_action_trigger.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_api_trigger.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_default_escalation.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/hitl/test_hitl_job_trigger.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/test_dummy.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/tracers/__init__.py +0 -0
- {uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/tests/tracers/test_async_uipath_tracer.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
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"
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/src/uipath_langchain/_cli/_runtime/_runtime.py
RENAMED
|
@@ -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
|
|
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
|
|
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
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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.
|
|
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/
|
|
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/
|
|
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.
|
|
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.
|
|
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
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/integration_tests.yml
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/lint-custom-version.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/.github/workflows/test-custom-version.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/cloud_env_var_dark.png
RENAMED
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/quick_start_images/invoke_output_dark.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-1.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-index-2.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/create-process.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/folder-path.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/process-page.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-1.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/researcher-2.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-1.png
RENAMED
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/docs/sample_images/RAG/run-process-2.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uipath_langchain-0.0.128 → uipath_langchain-0.0.130}/samples/RAG-quiz-generator/env.example
RENAMED
|
File without changes
|