langgraph-agent-toolkit 0.10.1__tar.gz → 0.10.2__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.
- langgraph_agent_toolkit-0.10.2/.dockerignore +28 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.env.example +21 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/dependabot.yml +4 -0
- langgraph_agent_toolkit-0.10.2/.github/workflows/langfuse-disposable.yml +87 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/langfuse-live.yml +18 -3
- langgraph_agent_toolkit-0.10.2/.github/workflows/phoenix-e2e.yml +86 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/release.yml +1 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/sphinx.yml +1 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/test.yml +74 -24
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.pre-commit-config.yaml +1 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CHANGELOG.md +88 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CLAUDE.md +39 -24
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/PKG-INFO +96 -60
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/README.md +38 -23
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/langfuse/.langfuse.env.example +12 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker/api/Dockerfile +27 -8
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker/app/Dockerfile +20 -5
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker-compose.yaml +43 -16
- langgraph_agent_toolkit-0.10.2/docs/deepagents.rst +742 -0
- langgraph_agent_toolkit-0.10.2/docs/dependency_releases_2026_10.rst +345 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/dependency_updates.rst +240 -45
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/deployment.rst +94 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/environment_setup.rst +63 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/index.rst +5 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/installation.rst +21 -8
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/integrations.rst +48 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/langfuse_compatibility.rst +112 -17
- langgraph_agent_toolkit-0.10.2/docs/langfuse_server_upgrade.rst +275 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/load_testing.rst +8 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/mcp.rst +143 -4
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/migration.rst +207 -4
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/onboarding.rst +3 -3
- langgraph_agent_toolkit-0.10.2/docs/phoenix.rst +437 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/reliability.rst +89 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/testing.rst +234 -13
- langgraph_agent_toolkit-0.10.2/docs/tool_selection.rst +312 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/usage.rst +113 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/agent_executor.py +72 -25
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/_shared.py +13 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/agent.py +17 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/agent.py +18 -2
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/agents/blueprints/deep_agent/agent.py +161 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/agent.py +12 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/client/client.py +52 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/_base_settings.py +30 -11
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/config_secrets.py +89 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/mcp.py +162 -15
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_saver.py +11 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_sqlite.py +14 -0
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/memory/threads.py +227 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/factory.py +5 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/factory.py +5 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/langfuse.py +4 -2
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/observability/masking.py +39 -0
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/observability/phoenix.py +360 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/types.py +1 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +5 -5
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/prompt_manager.py +5 -1
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/tool_selection.py +108 -0
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/tool_selection_config.py +40 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/utils.py +19 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/__init__.py +6 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/schema.py +53 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/auth.py +18 -2
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/handler.py +17 -5
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/routes.py +66 -5
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/utils.py +1 -0
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/ui/components/elicitation.py +191 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/main_page.py +40 -8
- langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/ui/utils/constants.py +25 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/utils/message.py +25 -4
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/pyproject.toml +42 -19
- langgraph_agent_toolkit-0.10.2/scripts/ci/langfuse_stack.py +132 -0
- langgraph_agent_toolkit-0.10.2/scripts/ci/phoenix_stack.py +116 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/ci/verify_base_wheel.py +14 -1
- langgraph_agent_toolkit-0.10.2/scripts/ci/verify_langfuse_legacy_upgrade.py +132 -0
- langgraph_agent_toolkit-0.10.2/scripts/ci/verify_ui_imports.py +26 -0
- langgraph_agent_toolkit-0.10.2/scripts/python/11-tool-selection.py +147 -0
- langgraph_agent_toolkit-0.10.2/tests/agents/test_deepagents_configuration.py +106 -0
- langgraph_agent_toolkit-0.10.2/tests/agents/test_tool_selection.py +322 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/conftest.py +10 -5
- langgraph_agent_toolkit-0.10.2/tests/core/test_config_secrets.py +109 -0
- langgraph_agent_toolkit-0.10.2/tests/core/test_dependency_contracts.py +245 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_langfuse_compatibility.py +15 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_langfuse_settings.py +3 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm_transport.py +37 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_mcp.py +53 -4
- langgraph_agent_toolkit-0.10.2/tests/core/test_mcp_http.py +445 -0
- langgraph_agent_toolkit-0.10.2/tests/core/test_phoenix.py +290 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_settings.py +30 -0
- langgraph_agent_toolkit-0.10.2/tests/core/test_thread_listing.py +115 -0
- langgraph_agent_toolkit-0.10.1/tests/e2e/conftest.py → langgraph_agent_toolkit-0.10.2/tests/e2e/api_process.py +1 -12
- langgraph_agent_toolkit-0.10.2/tests/e2e/conftest.py +15 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/langfuse_support_agent.py +103 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/mcp_support_agent.py +35 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/mcp_support_server.py +65 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/phoenix_support_agent.py +103 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_api_journeys.py +30 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/test_langfuse_api.py +248 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_llm_live.py +1 -1
- langgraph_agent_toolkit-0.10.2/tests/e2e/test_mcp_recovery.py +141 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/test_phoenix_api.py +264 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/test_tool_selection_api.py +210 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/test_typed_recovery.py +95 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/tool_selection_support_agent.py +204 -0
- langgraph_agent_toolkit-0.10.2/tests/e2e/typed_support_agent.py +49 -0
- langgraph_agent_toolkit-0.10.2/tests/fixtures/checkpoint_sqlite_3_1_1.sql +33 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/helper/test_helper_utils.py +57 -1
- langgraph_agent_toolkit-0.10.2/tests/integration/docker_image_smoke.py +158 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/docker_ui_smoke.py +92 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/langfuse-legacy.compose.yaml +10 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/langfuse.compose.yaml +182 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/phoenix.compose.yaml +14 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_deepagents.py +186 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_media_recovery.py +149 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_permissions.py +157 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_postgres.py +100 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_live.py +19 -13
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_live_reader.py +13 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_sdk.py +161 -12
- langgraph_agent_toolkit-0.10.2/tests/integration/test_langsmith_sdk.py +70 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_multimodal_uploads.py +153 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_observability_sessions.py +151 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_phoenix_live.py +118 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_phoenix_sdk.py +347 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_postgres_checkpoint_prune.py +110 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_postgres_reliability.py +74 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_sqlite_checkpoint_upgrade.py +62 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_tool_selection_mcp.py +111 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_tool_selection_providers.py +114 -0
- langgraph_agent_toolkit-0.10.2/tests/integration/test_typed_interrupts.py +181 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_factory.py +1 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_functional_history.py +74 -2
- langgraph_agent_toolkit-0.10.2/tests/service/test_mcp_history_recovery.py +209 -0
- langgraph_agent_toolkit-0.10.2/tests/service/test_observability_lifecycle.py +63 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_production_contracts.py +1 -0
- langgraph_agent_toolkit-0.10.2/tests/service/test_real_graph_interrupts.py +109 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_resource_limits.py +5 -1
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_integration.py +13 -4
- langgraph_agent_toolkit-0.10.2/tests/service/test_threads.py +408 -0
- langgraph_agent_toolkit-0.10.2/tests/ui/test_elicitation.py +342 -0
- langgraph_agent_toolkit-0.10.2/tests/ui/test_minimal_imports.py +41 -0
- langgraph_agent_toolkit-0.10.2/tests/ui/test_uploads.py +75 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/uv.lock +851 -827
- langgraph_agent_toolkit-0.10.1/.dockerignore +0 -170
- langgraph_agent_toolkit-0.10.1/docs/deepagents.rst +0 -401
- langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/deep_agent/agent.py +0 -93
- langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/ui/utils/constants.py +0 -7
- langgraph_agent_toolkit-0.10.1/scripts/ci/verify_ui_imports.py +0 -20
- langgraph_agent_toolkit-0.10.1/tests/agents/test_deepagents_configuration.py +0 -32
- langgraph_agent_toolkit-0.10.1/tests/core/test_dependency_contracts.py +0 -80
- langgraph_agent_toolkit-0.10.1/tests/core/test_mcp_http.py +0 -171
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.claude/settings.json +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.coveragerc +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/codecov.yml +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/scripts/tag_from_pyproject.sh +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/scripts/verify_release_tag.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.gitignore +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.project-root +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/AGENTS.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CONTRIBUTING.md +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/LICENSE +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/Makefile +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/clickhouse/.clickhouse.env.example +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/litellm/.litellm.env.example +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/litellm/config.example.yaml +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/minio/.minio.env.example +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/postgres/.postgres.env.example +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/redis/.redis.env.example +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/.gitignore +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/Makefile +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_static/custom.css +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/class.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/layout.html +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/module.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/conf.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/contributing.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/live_llm_testing.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/load_test_results.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/make.bat +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_architecture.excalidraw +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_architecture.png +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_diagram.png +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/logo.svg +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/quickstart.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/related_projects.rst +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph.json +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/deep_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/react/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/checkpoint/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/checkpoint/empty.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/_history.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/clear_intermediate_tool_calls.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/immediate_generation.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/sanitize_history.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/token_trim.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/trim_messages.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/client/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/execution.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/base.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/concurrency.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_store.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/migration.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/pool.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/postgres.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/schema_lock.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/types.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/fake.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/transport.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/base.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/settings.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/constants.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/exceptions.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/logging.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/types.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/run_api.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/run_app.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/models.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/task_data.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/admission.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/blocking.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/exception_handlers.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/factory.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/feedback.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/middleware.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/responses.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/types.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/draw_message.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/side_panel.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/utils/__init__.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/ci/verify_langfuse_version.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/load_test.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/postgres-init/create_databases.sql +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/postgres-init/create_schema.sql +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/01-invoke-proxy.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/02-test-local-pm.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/03-test-langfuse-pm.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/04-test-langsmith-pm.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/05-test-prompt-types.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/07-test-get-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/08-test-update-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/09-test-clear-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/098-cls-example.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/099-t.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/10-deep-agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_agent_executor.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_blueprints.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_checkpoint_durability.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_checkpoint_empty.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_components_utils.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_deepagents_streaming.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_graph_factories.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_hitl_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_knowledge_base_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_mcp_elicitation.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_mcp_tools.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_middlewares.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_production_regressions.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_stream_cleanup.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/conftest.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_client.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_error_details.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_feedback_token.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_http_contract.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_stream_completion.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_audit_regressions.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_concurrency.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_deadlocks.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_live_llm_guard.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm_edge_cases.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_memory.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_migration.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_observability.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_prompt_manager.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_prompts.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_sqlite_reliability.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/deep_support_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/live_support_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/support_agent.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_deepagents_api.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/helper/test_create_ai_message.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/docker_transport_smoke.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_docker_e2e.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_postgres_migration.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/client.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/db_pressure.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/resources.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/slow_reader.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/support.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_db_pressure.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_harness.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_http_load_client.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_resources.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_slow_reader.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_support.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/conftest.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_admission.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_auth.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_blocking_feedback.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_exception_handlers.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_feedback_authorization.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_handler.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_middleware.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_provider_errors.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_service.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_shutdown.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_headers.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_transport_cleanup.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_usage_metadata.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_worker_recovery.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/ui/test_draw_messages.py +0 -0
- {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/ui/test_navigation.py +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Only dependency manifests and application source enter the build context.
|
|
2
|
+
# Docker sends the selected Dockerfile and this ignore file separately.
|
|
3
|
+
**
|
|
4
|
+
!pyproject.toml
|
|
5
|
+
!uv.lock
|
|
6
|
+
!langgraph_agent_toolkit/
|
|
7
|
+
!langgraph_agent_toolkit/**
|
|
8
|
+
|
|
9
|
+
# Keep local secrets and generated files out of the application source copy.
|
|
10
|
+
**/.env
|
|
11
|
+
**/.env.*
|
|
12
|
+
**/*.env
|
|
13
|
+
**/*.env.*
|
|
14
|
+
**/.git
|
|
15
|
+
**/.venv
|
|
16
|
+
**/__pycache__
|
|
17
|
+
**/*.py[cod]
|
|
18
|
+
**/.pytest_cache
|
|
19
|
+
**/.ruff_cache
|
|
20
|
+
**/.mypy_cache
|
|
21
|
+
**/.DS_Store
|
|
22
|
+
**/*.log
|
|
23
|
+
**/*.db
|
|
24
|
+
**/*.sqlite
|
|
25
|
+
**/*.sqlite3
|
|
26
|
+
**/*-journal
|
|
27
|
+
**/*-wal
|
|
28
|
+
**/*-shm
|
|
@@ -35,12 +35,26 @@ OBSERVABILITY_SHUTDOWN_TIMEOUT=10
|
|
|
35
35
|
# Optional current SDK URL alias. It takes precedence over LANGFUSE_HOST.
|
|
36
36
|
# LANGFUSE_BASE_URL=http://langfuse-web:3000
|
|
37
37
|
|
|
38
|
+
# Compose server image selection. Existing v3 volumes need the migration guide.
|
|
39
|
+
LANGFUSE_SERVER_VERSION=4.71.0
|
|
40
|
+
# API image SDK generation. Use 4 or 3 with an existing Langfuse v3 server.
|
|
41
|
+
LANGFUSE_SDK_MAJOR=5
|
|
42
|
+
|
|
38
43
|
# LangSmith configuration
|
|
39
44
|
# LANGSMITH_TRACING=true
|
|
40
45
|
# LANGSMITH_API_KEY=
|
|
41
46
|
# LANGSMITH_PROJECT=default
|
|
42
47
|
# LANGSMITH_ENDPOINT=https://api.smith.langchain.com
|
|
43
48
|
|
|
49
|
+
# Phoenix configuration. Install the `phoenix` extra and select `phoenix` above.
|
|
50
|
+
# Use the base HTTP API URL. The adapter adds `/v1/traces` for OTLP export.
|
|
51
|
+
# PHOENIX_ENDPOINT=http://localhost:6006
|
|
52
|
+
# PHOENIX_PROJECT_NAME=langgraph-agent-toolkit
|
|
53
|
+
# PHOENIX_API_KEY=
|
|
54
|
+
# PHOENIX_TIMEOUT=5
|
|
55
|
+
# Native OpenTelemetry export interval in milliseconds. Phoenix defaults to 1 second.
|
|
56
|
+
# OTEL_BSP_SCHEDULE_DELAY=1000
|
|
57
|
+
|
|
44
58
|
# Select a memory backend.
|
|
45
59
|
# `postgres` requires the PostgreSQL variables.
|
|
46
60
|
# `sqlite` accepts an optional `SQLITE_DB_PATH` value.
|
|
@@ -194,6 +208,13 @@ MCP_SERVERS={}
|
|
|
194
208
|
MCP_AGENT_SERVERS={}
|
|
195
209
|
# Bound total tool discovery time during worker startup, in seconds.
|
|
196
210
|
MCP_DISCOVERY_TIMEOUT=30
|
|
211
|
+
|
|
212
|
+
# Optional native and Deep Agents tool selection. Keep disabled for small catalogs.
|
|
213
|
+
TOOL_SELECTION={"mode":"off"}
|
|
214
|
+
# TOOL_SELECTION={"mode":"llm","max_tools":8,"model_config_key":"selector"}
|
|
215
|
+
# Configure `selector` in MODEL_CONFIGS. Omit the key to use the main model.
|
|
216
|
+
# Provider search needs a compatible model and API route. See docs/tool_selection.rst.
|
|
217
|
+
# TOOL_SELECTION={"mode":"provider","always_include":["add"]}
|
|
197
218
|
# Example: read the full Authorization header from DOCUMENTS_MCP_AUTH.
|
|
198
219
|
# MCP_SERVERS={"docs":{"url":"https://mcp.example.com/mcp","headers_env":{"Authorization":"DOCUMENTS_MCP_AUTH"},"timeout":30,"tool_allowlist":["search"]}}
|
|
199
220
|
# MCP_AGENT_SERVERS={"create-agent":["docs"],"react-agent":["docs"]}
|
|
@@ -31,6 +31,8 @@ updates:
|
|
|
31
31
|
timezone: "Europe/Kyiv"
|
|
32
32
|
cooldown:
|
|
33
33
|
default-days: 7
|
|
34
|
+
exclude:
|
|
35
|
+
- "certifi"
|
|
34
36
|
groups:
|
|
35
37
|
# Keep security fixes separate from routine updates.
|
|
36
38
|
python-security:
|
|
@@ -58,6 +60,8 @@ updates:
|
|
|
58
60
|
patterns:
|
|
59
61
|
- "langfuse"
|
|
60
62
|
- "langsmith"
|
|
63
|
+
- "arize-phoenix*"
|
|
64
|
+
- "openinference*"
|
|
61
65
|
- "opentelemetry*"
|
|
62
66
|
update-types:
|
|
63
67
|
- "minor"
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
name: Langfuse disposable E2E
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: read
|
|
8
|
+
|
|
9
|
+
concurrency:
|
|
10
|
+
group: langfuse-disposable-${{ github.ref }}
|
|
11
|
+
cancel-in-progress: false
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test-server:
|
|
15
|
+
name: Server ${{ matrix.server }} with SDK ${{ matrix.sdk }}
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
timeout-minutes: 25
|
|
18
|
+
strategy:
|
|
19
|
+
fail-fast: false
|
|
20
|
+
max-parallel: 2
|
|
21
|
+
matrix:
|
|
22
|
+
include:
|
|
23
|
+
- server: "4.71.0"
|
|
24
|
+
sdk: "5.0.4"
|
|
25
|
+
extra: langfuse-v5
|
|
26
|
+
- server: "4.71.0"
|
|
27
|
+
sdk: "4.18.0"
|
|
28
|
+
extra: langfuse-v4
|
|
29
|
+
- server: "3.225.15"
|
|
30
|
+
sdk: "4.18.0"
|
|
31
|
+
extra: langfuse-v4
|
|
32
|
+
- server: "3.225.15"
|
|
33
|
+
sdk: "3.15.0"
|
|
34
|
+
extra: langfuse-v3
|
|
35
|
+
- server: "3.225.15"
|
|
36
|
+
sdk: "2.60.10"
|
|
37
|
+
extra: langfuse-v2
|
|
38
|
+
steps:
|
|
39
|
+
- uses: actions/checkout@v7
|
|
40
|
+
with:
|
|
41
|
+
persist-credentials: false
|
|
42
|
+
- uses: actions/setup-python@v7
|
|
43
|
+
with:
|
|
44
|
+
python-version: "3.13"
|
|
45
|
+
- uses: astral-sh/setup-uv@v10.1.0
|
|
46
|
+
with:
|
|
47
|
+
version: "0.13.6"
|
|
48
|
+
- name: Install the locked SDK and service dependencies
|
|
49
|
+
run: >-
|
|
50
|
+
uv sync --frozen --no-install-project --no-default-groups --extra all
|
|
51
|
+
--extra '${{ matrix.extra }}' --group tests
|
|
52
|
+
- name: Generate a disposable project
|
|
53
|
+
env:
|
|
54
|
+
EXPECTED_LANGFUSE_VERSION: ${{ matrix.sdk }}
|
|
55
|
+
run: |
|
|
56
|
+
uv run --no-sync python - <<'PY'
|
|
57
|
+
import os
|
|
58
|
+
from importlib.metadata import version
|
|
59
|
+
assert version("langfuse") == os.environ["EXPECTED_LANGFUSE_VERSION"]
|
|
60
|
+
PY
|
|
61
|
+
uv run --no-sync python scripts/ci/langfuse_stack.py prepare \
|
|
62
|
+
--directory=data/langfuse-ci --server_version='${{ matrix.server }}'
|
|
63
|
+
- name: Start the isolated server and wait for health checks
|
|
64
|
+
run: >-
|
|
65
|
+
uv run --no-sync python scripts/ci/langfuse_stack.py start
|
|
66
|
+
--directory=data/langfuse-ci
|
|
67
|
+
- name: Verify stored SDK and API process records
|
|
68
|
+
run: |
|
|
69
|
+
set -a
|
|
70
|
+
source data/langfuse-ci/server.env
|
|
71
|
+
set +a
|
|
72
|
+
uv run --no-sync pytest tests/integration/test_langfuse_live.py \
|
|
73
|
+
tests/e2e/test_langfuse_api.py --run-e2e --run-langfuse \
|
|
74
|
+
--junitxml=data/langfuse-ci/results.xml -q
|
|
75
|
+
- name: Collect logs and remove only this test stack
|
|
76
|
+
if: always()
|
|
77
|
+
run: >-
|
|
78
|
+
uv run --no-sync python scripts/ci/langfuse_stack.py stop
|
|
79
|
+
--directory=data/langfuse-ci
|
|
80
|
+
- name: Save the test report
|
|
81
|
+
if: always()
|
|
82
|
+
uses: actions/upload-artifact@v7
|
|
83
|
+
with:
|
|
84
|
+
name: langfuse-${{ matrix.server }}-sdk-${{ matrix.sdk }}
|
|
85
|
+
path: data/langfuse-ci/results.xml
|
|
86
|
+
if-no-files-found: warn
|
|
87
|
+
retention-days: 14
|
|
@@ -30,11 +30,14 @@ jobs:
|
|
|
30
30
|
sdk: "3.15.0"
|
|
31
31
|
extra: langfuse-v3
|
|
32
32
|
- server: 3
|
|
33
|
-
sdk: "4.
|
|
33
|
+
sdk: "4.18.0"
|
|
34
34
|
extra: langfuse-v4
|
|
35
35
|
- server: 4
|
|
36
|
-
sdk: "4.
|
|
36
|
+
sdk: "4.18.0"
|
|
37
37
|
extra: langfuse-v4
|
|
38
|
+
- server: 4
|
|
39
|
+
sdk: "5.0.4"
|
|
40
|
+
extra: langfuse-v5
|
|
38
41
|
steps:
|
|
39
42
|
- uses: actions/checkout@v7
|
|
40
43
|
with:
|
|
@@ -44,7 +47,7 @@ jobs:
|
|
|
44
47
|
python-version: "3.12"
|
|
45
48
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
46
49
|
with:
|
|
47
|
-
version: "0.
|
|
50
|
+
version: "0.13.6"
|
|
48
51
|
- name: Install the selected SDK and test dependencies
|
|
49
52
|
run: |
|
|
50
53
|
uv venv .venv-live
|
|
@@ -63,3 +66,15 @@ jobs:
|
|
|
63
66
|
LAT_TEST_LANGFUSE_PUBLIC_KEY: ${{ secrets.LANGFUSE_TEST_PUBLIC_KEY }}
|
|
64
67
|
LAT_TEST_LANGFUSE_SECRET_KEY: ${{ secrets.LANGFUSE_TEST_SECRET_KEY }}
|
|
65
68
|
LAT_TEST_LANGFUSE_TIMEOUT: "180"
|
|
69
|
+
|
|
70
|
+
- name: Verify API worker shutdown and restart
|
|
71
|
+
if: matrix.server != 2
|
|
72
|
+
run: >-
|
|
73
|
+
uv run --no-project --python .venv-live/bin/python python -m pytest
|
|
74
|
+
tests/e2e/test_langfuse_api.py --run-e2e --run-langfuse -q
|
|
75
|
+
env:
|
|
76
|
+
LAT_TEST_LANGFUSE_BASE_URL: ${{ vars.LANGFUSE_TEST_URL }}
|
|
77
|
+
LAT_TEST_LANGFUSE_SERVER_VERSION: ${{ vars.LANGFUSE_TEST_VERSION }}
|
|
78
|
+
LAT_TEST_LANGFUSE_PUBLIC_KEY: ${{ secrets.LANGFUSE_TEST_PUBLIC_KEY }}
|
|
79
|
+
LAT_TEST_LANGFUSE_SECRET_KEY: ${{ secrets.LANGFUSE_TEST_SECRET_KEY }}
|
|
80
|
+
LAT_TEST_LANGFUSE_TIMEOUT: "180"
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
name: Phoenix E2E
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
paths:
|
|
6
|
+
- "langgraph_agent_toolkit/core/observability/**"
|
|
7
|
+
- "langgraph_agent_toolkit/core/_base_settings.py"
|
|
8
|
+
- "langgraph_agent_toolkit/agents/agent_executor.py"
|
|
9
|
+
- "langgraph_agent_toolkit/service/**"
|
|
10
|
+
- "tests/conftest.py"
|
|
11
|
+
- "tests/e2e/*phoenix*"
|
|
12
|
+
- "tests/e2e/api_process.py"
|
|
13
|
+
- "tests/integration/*phoenix*"
|
|
14
|
+
- "scripts/ci/phoenix_stack.py"
|
|
15
|
+
- "pyproject.toml"
|
|
16
|
+
- "uv.lock"
|
|
17
|
+
- ".github/workflows/phoenix-e2e.yml"
|
|
18
|
+
push:
|
|
19
|
+
branches: ["main"]
|
|
20
|
+
paths:
|
|
21
|
+
- "langgraph_agent_toolkit/core/observability/**"
|
|
22
|
+
- "tests/e2e/*phoenix*"
|
|
23
|
+
- "tests/integration/*phoenix*"
|
|
24
|
+
- "scripts/ci/phoenix_stack.py"
|
|
25
|
+
- "pyproject.toml"
|
|
26
|
+
- "uv.lock"
|
|
27
|
+
- ".github/workflows/phoenix-e2e.yml"
|
|
28
|
+
workflow_dispatch:
|
|
29
|
+
|
|
30
|
+
permissions:
|
|
31
|
+
contents: read
|
|
32
|
+
|
|
33
|
+
concurrency:
|
|
34
|
+
group: phoenix-e2e-${{ github.event_name }}-${{ github.ref }}
|
|
35
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
36
|
+
|
|
37
|
+
jobs:
|
|
38
|
+
test-server:
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
timeout-minutes: 15
|
|
41
|
+
steps:
|
|
42
|
+
- uses: actions/checkout@v7
|
|
43
|
+
with:
|
|
44
|
+
persist-credentials: false
|
|
45
|
+
- uses: actions/setup-python@v7
|
|
46
|
+
with:
|
|
47
|
+
python-version: "3.13"
|
|
48
|
+
- uses: astral-sh/setup-uv@v10.1.0
|
|
49
|
+
with:
|
|
50
|
+
version: "0.13.6"
|
|
51
|
+
- name: Install the locked service and Phoenix dependencies
|
|
52
|
+
run: >-
|
|
53
|
+
uv sync --frozen --no-install-project --no-default-groups --extra all
|
|
54
|
+
--group tests
|
|
55
|
+
- name: Generate and start a disposable Phoenix server
|
|
56
|
+
run: |
|
|
57
|
+
uv run --no-sync python scripts/ci/phoenix_stack.py prepare \
|
|
58
|
+
--directory=data/phoenix-ci --server_version=20.26.1
|
|
59
|
+
uv run --no-sync python scripts/ci/phoenix_stack.py start \
|
|
60
|
+
--directory=data/phoenix-ci
|
|
61
|
+
- name: Verify stored traces, prompts, feedback, and restarts
|
|
62
|
+
run: |
|
|
63
|
+
set -a
|
|
64
|
+
source data/phoenix-ci/server.env
|
|
65
|
+
set +a
|
|
66
|
+
uv run --no-sync pytest tests/integration/test_phoenix_live.py \
|
|
67
|
+
tests/e2e/test_phoenix_api.py --run-e2e --run-phoenix \
|
|
68
|
+
--no-cov --basetemp=data/phoenix-ci/process-tests \
|
|
69
|
+
--junitxml=data/phoenix-ci/results.xml -q
|
|
70
|
+
- name: Collect logs and remove only this test stack
|
|
71
|
+
if: always()
|
|
72
|
+
run: >-
|
|
73
|
+
uv run --no-sync python scripts/ci/phoenix_stack.py stop
|
|
74
|
+
--directory=data/phoenix-ci
|
|
75
|
+
- name: Save the test report
|
|
76
|
+
if: always()
|
|
77
|
+
uses: actions/upload-artifact@v7
|
|
78
|
+
with:
|
|
79
|
+
name: phoenix-server-20.26.1
|
|
80
|
+
path: |
|
|
81
|
+
data/phoenix-ci/results.xml
|
|
82
|
+
data/phoenix-ci/process-tests/**/api.log
|
|
83
|
+
data/phoenix-ci/process-tests/**/phoenix-records.json
|
|
84
|
+
data/phoenix-ci/services.log
|
|
85
|
+
if-no-files-found: warn
|
|
86
|
+
retention-days: 14
|
{langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/sphinx.yml
RENAMED
|
@@ -39,7 +39,7 @@ jobs:
|
|
|
39
39
|
python-version: "3.11"
|
|
40
40
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
41
41
|
with:
|
|
42
|
-
version: "0.
|
|
42
|
+
version: "0.13.6"
|
|
43
43
|
- name: Install locked documentation and runtime dependencies
|
|
44
44
|
run:
|
|
45
45
|
uv sync --frozen --no-install-project --no-default-groups --extra all
|
{langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/test.yml
RENAMED
|
@@ -54,7 +54,7 @@ jobs:
|
|
|
54
54
|
python-version: "3.13"
|
|
55
55
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
56
56
|
with:
|
|
57
|
-
version: "0.
|
|
57
|
+
version: "0.13.6"
|
|
58
58
|
- name: Install the configured hook runner
|
|
59
59
|
run: uv sync --frozen --only-group lint
|
|
60
60
|
- name: Stage the pull request changes in this disposable checkout
|
|
@@ -91,7 +91,7 @@ jobs:
|
|
|
91
91
|
python-version: "3.13"
|
|
92
92
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
93
93
|
with:
|
|
94
|
-
version: "0.
|
|
94
|
+
version: "0.13.6"
|
|
95
95
|
- name: Verify the dependency lockfile
|
|
96
96
|
run: uv lock --check
|
|
97
97
|
- name: Install lint dependencies
|
|
@@ -117,7 +117,7 @@ jobs:
|
|
|
117
117
|
python-version: ${{ matrix.python-version }}
|
|
118
118
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
119
119
|
with:
|
|
120
|
-
version: "0.
|
|
120
|
+
version: "0.13.6"
|
|
121
121
|
- name: Build and install the base wheel in a clean environment
|
|
122
122
|
run: |
|
|
123
123
|
uv build --wheel
|
|
@@ -142,6 +142,15 @@ jobs:
|
|
|
142
142
|
--python "$GITHUB_WORKSPACE/.venv-wheel/bin/python" python \
|
|
143
143
|
"$GITHUB_WORKSPACE/scripts/ci/verify_ui_imports.py"
|
|
144
144
|
|
|
145
|
+
- name: Verify the source UI without service dependencies
|
|
146
|
+
run: |
|
|
147
|
+
uv sync --frozen --only-group client --python "${{ matrix.python-version }}"
|
|
148
|
+
uv run --no-sync python scripts/ci/verify_ui_imports.py
|
|
149
|
+
env:
|
|
150
|
+
UV_PROJECT_ENVIRONMENT: .venv-client
|
|
151
|
+
PYTHONPATH: ${{ github.workspace }}
|
|
152
|
+
PYTHON_DOTENV_DISABLED: "1"
|
|
153
|
+
|
|
145
154
|
test-python:
|
|
146
155
|
runs-on: ubuntu-latest
|
|
147
156
|
timeout-minutes: 20
|
|
@@ -162,13 +171,15 @@ jobs:
|
|
|
162
171
|
- name: Install uv
|
|
163
172
|
uses: astral-sh/setup-uv@v10.1.0
|
|
164
173
|
with:
|
|
165
|
-
version: "0.
|
|
174
|
+
version: "0.13.6"
|
|
166
175
|
- name: Install dependencies with uv
|
|
167
176
|
run:
|
|
168
177
|
uv sync --frozen --no-install-project --no-default-groups --extra all
|
|
169
178
|
--group tests
|
|
170
179
|
|
|
171
180
|
- name: Test the package and API process journeys with coverage
|
|
181
|
+
env:
|
|
182
|
+
LAT_TEST_TOOL_SELECTION_REPORT_DIR: data/tool-selection-ci/reports
|
|
172
183
|
run: >-
|
|
173
184
|
uv run --no-sync pytest --run-e2e --cov --cov-report=xml
|
|
174
185
|
--junitxml=test-results.xml
|
|
@@ -181,6 +192,7 @@ jobs:
|
|
|
181
192
|
path: |
|
|
182
193
|
coverage.xml
|
|
183
194
|
test-results.xml
|
|
195
|
+
data/tool-selection-ci/reports/*.json
|
|
184
196
|
retention-days: 14
|
|
185
197
|
if-no-files-found: warn
|
|
186
198
|
|
|
@@ -214,7 +226,9 @@ jobs:
|
|
|
214
226
|
- extra: langfuse-v3
|
|
215
227
|
version: "3.15.0"
|
|
216
228
|
- extra: langfuse-v4
|
|
217
|
-
version: "4.
|
|
229
|
+
version: "4.18.0"
|
|
230
|
+
- extra: langfuse-v5
|
|
231
|
+
version: "5.0.4"
|
|
218
232
|
steps:
|
|
219
233
|
- uses: actions/checkout@v7
|
|
220
234
|
with:
|
|
@@ -224,7 +238,7 @@ jobs:
|
|
|
224
238
|
python-version: ${{ matrix.python-version }}
|
|
225
239
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
226
240
|
with:
|
|
227
|
-
version: "0.
|
|
241
|
+
version: "0.13.6"
|
|
228
242
|
- name: Verify the extra selects its SDK major
|
|
229
243
|
run: |
|
|
230
244
|
uv venv .venv-langfuse
|
|
@@ -276,15 +290,17 @@ jobs:
|
|
|
276
290
|
python-version: ${{ matrix.python-version }}
|
|
277
291
|
- uses: astral-sh/setup-uv@v10.1.0
|
|
278
292
|
with:
|
|
279
|
-
version: "0.
|
|
293
|
+
version: "0.13.6"
|
|
280
294
|
- name: Install test dependencies
|
|
281
|
-
run:
|
|
295
|
+
run: >-
|
|
282
296
|
uv sync --frozen --no-install-project --no-default-groups --group
|
|
283
|
-
tests
|
|
284
|
-
- name: Verify locking, restart, cancellation, and
|
|
297
|
+
tests --extra deepagents
|
|
298
|
+
- name: Verify locking, restart, cancellation, checkpoints, and media
|
|
285
299
|
run: >-
|
|
286
300
|
uv run --no-sync pytest tests/integration/test_postgres_reliability.py
|
|
287
301
|
tests/integration/test_postgres_migration.py
|
|
302
|
+
tests/integration/test_deepagents_postgres.py
|
|
303
|
+
tests/integration/test_postgres_checkpoint_prune.py
|
|
288
304
|
tests/core/test_concurrency.py tests/core/test_deadlocks.py
|
|
289
305
|
--run-postgres -q
|
|
290
306
|
env:
|
|
@@ -315,6 +331,13 @@ jobs:
|
|
|
315
331
|
cache-from: type=gha,scope=api
|
|
316
332
|
cache-to: type=gha,scope=api,mode=max,ignore-error=true,timeout=2m
|
|
317
333
|
|
|
334
|
+
- name: Verify service runtime contents
|
|
335
|
+
run: |
|
|
336
|
+
docker run --rm --network none \
|
|
337
|
+
--mount "type=bind,source=$PWD/tests/integration/docker_image_smoke.py,target=/tmp/docker_image_smoke.py,readonly" \
|
|
338
|
+
agent-service-toolkit.service:${{ github.sha }} \
|
|
339
|
+
python /tmp/docker_image_smoke.py api
|
|
340
|
+
|
|
318
341
|
- name: Verify both model transports in the service image
|
|
319
342
|
run: |
|
|
320
343
|
docker run --rm --network none \
|
|
@@ -333,6 +356,33 @@ jobs:
|
|
|
333
356
|
cache-from: type=gha,scope=app
|
|
334
357
|
cache-to: type=gha,scope=app,mode=max,ignore-error=true,timeout=2m
|
|
335
358
|
|
|
359
|
+
- name: Verify app runtime contents and client-only imports
|
|
360
|
+
run: |
|
|
361
|
+
docker run --rm --network none \
|
|
362
|
+
--mount "type=bind,source=$PWD/tests/integration/docker_image_smoke.py,target=/tmp/docker_image_smoke.py,readonly" \
|
|
363
|
+
--mount "type=bind,source=$PWD/scripts/ci/verify_ui_imports.py,target=/tmp/verify_ui_imports.py,readonly" \
|
|
364
|
+
agent-service-toolkit.app:${{ github.sha }} \
|
|
365
|
+
python /tmp/docker_image_smoke.py app
|
|
366
|
+
|
|
367
|
+
- name: Record image sizes and layers
|
|
368
|
+
run: |
|
|
369
|
+
{
|
|
370
|
+
echo "### Docker image sizes"
|
|
371
|
+
echo
|
|
372
|
+
echo "These are uncompressed local image sizes, not registry transfer sizes."
|
|
373
|
+
echo
|
|
374
|
+
echo '| Image | Platform | Size (bytes) |'
|
|
375
|
+
echo '| --- | --- | ---: |'
|
|
376
|
+
for image in agent-service-toolkit.service:${{ github.sha }} agent-service-toolkit.app:${{ github.sha }}; do
|
|
377
|
+
docker image inspect --format '| {{index .RepoTags 0}} | {{.Os}}/{{.Architecture}} | {{.Size}} |' "$image"
|
|
378
|
+
done
|
|
379
|
+
} >> "$GITHUB_STEP_SUMMARY"
|
|
380
|
+
for image in agent-service-toolkit.service:${{ github.sha }} agent-service-toolkit.app:${{ github.sha }}; do
|
|
381
|
+
echo "::group::Layers for $image"
|
|
382
|
+
docker history --no-trunc "$image"
|
|
383
|
+
echo "::endgroup::"
|
|
384
|
+
done
|
|
385
|
+
|
|
336
386
|
- name: Start service container
|
|
337
387
|
run:
|
|
338
388
|
docker run -d --name service-container --network host -e
|
|
@@ -342,33 +392,33 @@ jobs:
|
|
|
342
392
|
|
|
343
393
|
- name: Confirm service starts correctly
|
|
344
394
|
run: |
|
|
345
|
-
timeout
|
|
346
|
-
while
|
|
347
|
-
echo "Waiting for service
|
|
395
|
+
timeout 90 bash <<'BASH'
|
|
396
|
+
while [ "$(docker inspect --format "{{.State.Health.Status}}" service-container)" != "healthy" ]; do
|
|
397
|
+
echo "Waiting for the service health check..."
|
|
348
398
|
docker logs service-container
|
|
349
399
|
sleep 2
|
|
350
400
|
done
|
|
351
|
-
|
|
401
|
+
BASH
|
|
352
402
|
|
|
353
403
|
- name: Run app container
|
|
354
404
|
run:
|
|
355
|
-
docker run -d --name app-container --network host
|
|
356
|
-
|
|
357
|
-
|
|
405
|
+
docker run -d --name app-container --network host --mount
|
|
406
|
+
"type=bind,source=$PWD/tests/integration/docker_ui_smoke.py,target=/tmp/docker_ui_smoke.py,readonly"
|
|
407
|
+
-e AGENT_URL=http://127.0.0.1:8080 -e AUTH_SECRET=ci-test-token
|
|
358
408
|
agent-service-toolkit.app:${{ github.sha }}
|
|
359
409
|
|
|
360
410
|
- name: Confirm app starts correctly
|
|
361
411
|
run: |
|
|
362
|
-
timeout
|
|
363
|
-
while
|
|
364
|
-
echo "Waiting for app
|
|
412
|
+
timeout 90 bash <<'BASH'
|
|
413
|
+
while [ "$(docker inspect --format "{{.State.Health.Status}}" app-container)" != "healthy" ]; do
|
|
414
|
+
echo "Waiting for the app health check..."
|
|
365
415
|
docker logs app-container
|
|
366
416
|
sleep 2
|
|
367
417
|
done
|
|
368
|
-
|
|
418
|
+
BASH
|
|
369
419
|
|
|
370
|
-
- name: Verify
|
|
371
|
-
run: docker exec app-container python /tmp/
|
|
420
|
+
- name: Verify chat and history from the app container
|
|
421
|
+
run: docker exec app-container python /tmp/docker_ui_smoke.py
|
|
372
422
|
|
|
373
423
|
- name: Set up Python
|
|
374
424
|
uses: actions/setup-python@v7
|
|
@@ -377,7 +427,7 @@ jobs:
|
|
|
377
427
|
- name: Install uv
|
|
378
428
|
uses: astral-sh/setup-uv@v10.1.0
|
|
379
429
|
with:
|
|
380
|
-
version: "0.
|
|
430
|
+
version: "0.13.6"
|
|
381
431
|
- name: Install ONLY CLIENT dependencies with uv
|
|
382
432
|
run: |
|
|
383
433
|
uv sync --frozen --only-group client --only-group tests
|
|
@@ -6,6 +6,94 @@ This file uses the [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
|
|
6
6
|
format. The project uses
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.10.2]
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Add authenticated `/threads` and `/{agent_id}/threads` endpoints. Return
|
|
14
|
+
paginated conversation IDs for one user and agent without loading message
|
|
15
|
+
content. Add `list_threads()` and `alist_threads()` to `AgentClient`.
|
|
16
|
+
- Add optional tool selection for native agents and Deep Agents. Reuse LangChain
|
|
17
|
+
LLM selection and provider tool search. Keep selection disabled by default.
|
|
18
|
+
Add examples and API benchmarks for tool schemas, calls, and task completion.
|
|
19
|
+
- Add the optional Phoenix observability backend. Support isolated OpenInference
|
|
20
|
+
traces, remote prompt versions, and feedback annotations. Add a disposable
|
|
21
|
+
Phoenix server and API end-to-end verification.
|
|
22
|
+
- Return `pending_interrupts` with history pages. Recover saved questions after
|
|
23
|
+
a lost response or worker restart without executing remote tools.
|
|
24
|
+
- Show MCP forms and URL requests in Streamlit. Support structured answers,
|
|
25
|
+
decline, cancel, parallel questions, and recovery after a failed request.
|
|
26
|
+
- Preserve tool status and JSON-safe MCP structured content in streaming
|
|
27
|
+
messages and saved history.
|
|
28
|
+
- Add optional Deep Agents backend, store, and binary offloading configuration.
|
|
29
|
+
Keep offloading disabled by default. Require blob storage outside graph state.
|
|
30
|
+
- Accept DOCX, PPTX, XLSX, CSV, JSON, and Markdown uploads in Streamlit.
|
|
31
|
+
Preserve document filenames in standard content blocks.
|
|
32
|
+
- Add native Deep Agents filesystem permissions, skills, memory files, and
|
|
33
|
+
remote async subagent configuration. Keep these features optional.
|
|
34
|
+
- Preserve typed interrupt response schemas in live responses and history.
|
|
35
|
+
Accept answers by interrupt ID through `input.resume`.
|
|
36
|
+
- Add per-server `max_sse_event_size` for MCP HTTP connections. Keep the SDK's 1
|
|
37
|
+
MiB limit unless an operator sets a larger positive limit.
|
|
38
|
+
|
|
39
|
+
### Changed
|
|
40
|
+
|
|
41
|
+
- Require `certifi>=2026.10.19` for service and client installations. Use uv
|
|
42
|
+
0.13.6 for CI, Docker builds, and the lock hook. Exempt certifi from update
|
|
43
|
+
cooldowns. Use Python 3.13.18 and pip 26.2.2 or later in both Docker images.
|
|
44
|
+
- Update the default Langfuse Python SDK to 5.0.4. Add `langfuse-v5` and keep
|
|
45
|
+
SDK v2, v3, and v4 selectors. Require server 4.59.0 or later for SDK v5.
|
|
46
|
+
- Update the explicit SDK v4 baseline to 4.18.0. Keep SDK v2 and v3 at 2.60.10
|
|
47
|
+
and 3.15.0.
|
|
48
|
+
- Select Langfuse Server 4.71.0 for new Compose deployments. Require an explicit
|
|
49
|
+
`LANGFUSE_SERVER_VERSION` before starting the web and worker services.
|
|
50
|
+
- Update Deep Agents to 0.7.32, LangChain to 1.4.7, Core to 1.7.0, and LangGraph
|
|
51
|
+
to 1.2.18. Include native document support, filesystem permission fixes, and
|
|
52
|
+
checkpoint resume fixes.
|
|
53
|
+
- Update the provider integrations, PostgreSQL saver, SQLite saver, MCP, and
|
|
54
|
+
Studio dependency sets. Require LangSmith `>=0.14.14,<0.15`.
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Protect known credentials in model/database configuration and encoded sources
|
|
59
|
+
with `SecretStr`. Unwrap them at SDK construction. Hide raw settings inputs in
|
|
60
|
+
displayed validation errors.
|
|
61
|
+
- Preserve custom progress events when token streaming is disabled. Add real
|
|
62
|
+
graph tests for interrupted runs and history pagination with subgraphs.
|
|
63
|
+
- Keep tool selection settings independent of agent runtime imports. Restore
|
|
64
|
+
client and Streamlit startup in the minimal app image without LangChain.
|
|
65
|
+
- Close each distinct agent observability backend during shutdown or failed
|
|
66
|
+
startup. Include custom agent backends and close shared instances once.
|
|
67
|
+
- Normalize Langfuse base URLs before SDK construction. Prevent duplicate
|
|
68
|
+
slashes from redirecting telemetry exports without storing traces.
|
|
69
|
+
- Keep public conversation IDs in telemetry sessions. Retain owner and agent
|
|
70
|
+
scoping for checkpoint storage and conversation locks.
|
|
71
|
+
- Persist Redis queues in an AOF volume. Reject writes under the configured
|
|
72
|
+
memory limit instead of removing queued keys. Read Redis credentials from the
|
|
73
|
+
service environment for both startup and health checks.
|
|
74
|
+
- Start the Langfuse worker after web migrations. Use probes supported by the
|
|
75
|
+
new server images without a `hostname` executable.
|
|
76
|
+
- Mask typed Pydantic secret values before Langfuse SDK serialization. Prevent
|
|
77
|
+
SDK v2 and v3 from recording their plaintext values.
|
|
78
|
+
- Load MCP schemas before a tool call so the SDK can send `x-mcp-header`
|
|
79
|
+
arguments. Use server cache policies to reduce repeated catalog requests.
|
|
80
|
+
- Reuse isolated MCP HTTP pools through the worker lifespan. Close them after
|
|
81
|
+
shutdown or failed startup. Keep standalone calls safe without a manager.
|
|
82
|
+
|
|
83
|
+
### Documentation
|
|
84
|
+
|
|
85
|
+
- Explain conversation-list pagination and the existing 100-message history
|
|
86
|
+
default. Document storage support and migration limits for conversation lists.
|
|
87
|
+
- Add pending-question recovery, Streamlit forms, tool metadata, and direct
|
|
88
|
+
Python connection management to the MCP and migration guides.
|
|
89
|
+
- Add OpenAI Responses configuration and durable binary storage examples.
|
|
90
|
+
Explain scoped blobs, checkpoint limits, missing media, and cleanup.
|
|
91
|
+
- Review each intervening dependency release. Explain typed interrupt answers,
|
|
92
|
+
filesystem permissions, async subagent deployment, and database upgrade
|
|
93
|
+
limits.
|
|
94
|
+
- Add SDK v5 and server v4 migration steps, reproducible disposable service
|
|
95
|
+
tests, and a manual CI matrix for SDK v2 through v5.
|
|
96
|
+
|
|
9
97
|
## [0.10.1]
|
|
10
98
|
|
|
11
99
|
### Changed
|