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.
Files changed (360) hide show
  1. langgraph_agent_toolkit-0.10.2/.dockerignore +28 -0
  2. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.env.example +21 -0
  3. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/dependabot.yml +4 -0
  4. langgraph_agent_toolkit-0.10.2/.github/workflows/langfuse-disposable.yml +87 -0
  5. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/langfuse-live.yml +18 -3
  6. langgraph_agent_toolkit-0.10.2/.github/workflows/phoenix-e2e.yml +86 -0
  7. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/release.yml +1 -1
  8. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/sphinx.yml +1 -1
  9. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/workflows/test.yml +74 -24
  10. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.pre-commit-config.yaml +1 -1
  11. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CHANGELOG.md +88 -0
  12. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CLAUDE.md +39 -24
  13. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/PKG-INFO +96 -60
  14. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/README.md +38 -23
  15. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/langfuse/.langfuse.env.example +12 -1
  16. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker/api/Dockerfile +27 -8
  17. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker/app/Dockerfile +20 -5
  18. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docker-compose.yaml +43 -16
  19. langgraph_agent_toolkit-0.10.2/docs/deepagents.rst +742 -0
  20. langgraph_agent_toolkit-0.10.2/docs/dependency_releases_2026_10.rst +345 -0
  21. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/dependency_updates.rst +240 -45
  22. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/deployment.rst +94 -0
  23. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/environment_setup.rst +63 -1
  24. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/index.rst +5 -1
  25. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/installation.rst +21 -8
  26. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/integrations.rst +48 -2
  27. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/langfuse_compatibility.rst +112 -17
  28. langgraph_agent_toolkit-0.10.2/docs/langfuse_server_upgrade.rst +275 -0
  29. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/load_testing.rst +8 -0
  30. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/mcp.rst +143 -4
  31. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/migration.rst +207 -4
  32. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/onboarding.rst +3 -3
  33. langgraph_agent_toolkit-0.10.2/docs/phoenix.rst +437 -0
  34. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/reliability.rst +89 -2
  35. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/testing.rst +234 -13
  36. langgraph_agent_toolkit-0.10.2/docs/tool_selection.rst +312 -0
  37. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/usage.rst +113 -0
  38. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/agent_executor.py +72 -25
  39. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/_shared.py +13 -1
  40. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/agent.py +17 -2
  41. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/agent.py +18 -2
  42. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/agents/blueprints/deep_agent/agent.py +161 -0
  43. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/agent.py +12 -2
  44. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/client/client.py +52 -0
  45. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/_base_settings.py +30 -11
  46. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/config_secrets.py +89 -0
  47. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/mcp.py +162 -15
  48. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_saver.py +11 -0
  49. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_sqlite.py +14 -0
  50. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/memory/threads.py +227 -0
  51. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/factory.py +5 -2
  52. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/factory.py +5 -0
  53. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/langfuse.py +4 -2
  54. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/observability/masking.py +39 -0
  55. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/observability/phoenix.py +360 -0
  56. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/types.py +1 -0
  57. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +5 -5
  58. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/prompt_manager.py +5 -1
  59. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/tool_selection.py +108 -0
  60. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/core/tool_selection_config.py +40 -0
  61. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/utils.py +19 -1
  62. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/__init__.py +6 -0
  63. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/schema.py +53 -2
  64. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/auth.py +18 -2
  65. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/handler.py +17 -5
  66. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/routes.py +66 -5
  67. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/utils.py +1 -0
  68. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/ui/components/elicitation.py +191 -0
  69. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/main_page.py +40 -8
  70. langgraph_agent_toolkit-0.10.2/langgraph_agent_toolkit/ui/utils/constants.py +25 -0
  71. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/utils/message.py +25 -4
  72. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/pyproject.toml +42 -19
  73. langgraph_agent_toolkit-0.10.2/scripts/ci/langfuse_stack.py +132 -0
  74. langgraph_agent_toolkit-0.10.2/scripts/ci/phoenix_stack.py +116 -0
  75. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/ci/verify_base_wheel.py +14 -1
  76. langgraph_agent_toolkit-0.10.2/scripts/ci/verify_langfuse_legacy_upgrade.py +132 -0
  77. langgraph_agent_toolkit-0.10.2/scripts/ci/verify_ui_imports.py +26 -0
  78. langgraph_agent_toolkit-0.10.2/scripts/python/11-tool-selection.py +147 -0
  79. langgraph_agent_toolkit-0.10.2/tests/agents/test_deepagents_configuration.py +106 -0
  80. langgraph_agent_toolkit-0.10.2/tests/agents/test_tool_selection.py +322 -0
  81. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/conftest.py +10 -5
  82. langgraph_agent_toolkit-0.10.2/tests/core/test_config_secrets.py +109 -0
  83. langgraph_agent_toolkit-0.10.2/tests/core/test_dependency_contracts.py +245 -0
  84. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_langfuse_compatibility.py +15 -1
  85. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_langfuse_settings.py +3 -1
  86. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm_transport.py +37 -0
  87. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_mcp.py +53 -4
  88. langgraph_agent_toolkit-0.10.2/tests/core/test_mcp_http.py +445 -0
  89. langgraph_agent_toolkit-0.10.2/tests/core/test_phoenix.py +290 -0
  90. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_settings.py +30 -0
  91. langgraph_agent_toolkit-0.10.2/tests/core/test_thread_listing.py +115 -0
  92. langgraph_agent_toolkit-0.10.1/tests/e2e/conftest.py → langgraph_agent_toolkit-0.10.2/tests/e2e/api_process.py +1 -12
  93. langgraph_agent_toolkit-0.10.2/tests/e2e/conftest.py +15 -0
  94. langgraph_agent_toolkit-0.10.2/tests/e2e/langfuse_support_agent.py +103 -0
  95. langgraph_agent_toolkit-0.10.2/tests/e2e/mcp_support_agent.py +35 -0
  96. langgraph_agent_toolkit-0.10.2/tests/e2e/mcp_support_server.py +65 -0
  97. langgraph_agent_toolkit-0.10.2/tests/e2e/phoenix_support_agent.py +103 -0
  98. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_api_journeys.py +30 -0
  99. langgraph_agent_toolkit-0.10.2/tests/e2e/test_langfuse_api.py +248 -0
  100. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_llm_live.py +1 -1
  101. langgraph_agent_toolkit-0.10.2/tests/e2e/test_mcp_recovery.py +141 -0
  102. langgraph_agent_toolkit-0.10.2/tests/e2e/test_phoenix_api.py +264 -0
  103. langgraph_agent_toolkit-0.10.2/tests/e2e/test_tool_selection_api.py +210 -0
  104. langgraph_agent_toolkit-0.10.2/tests/e2e/test_typed_recovery.py +95 -0
  105. langgraph_agent_toolkit-0.10.2/tests/e2e/tool_selection_support_agent.py +204 -0
  106. langgraph_agent_toolkit-0.10.2/tests/e2e/typed_support_agent.py +49 -0
  107. langgraph_agent_toolkit-0.10.2/tests/fixtures/checkpoint_sqlite_3_1_1.sql +33 -0
  108. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/helper/test_helper_utils.py +57 -1
  109. langgraph_agent_toolkit-0.10.2/tests/integration/docker_image_smoke.py +158 -0
  110. langgraph_agent_toolkit-0.10.2/tests/integration/docker_ui_smoke.py +92 -0
  111. langgraph_agent_toolkit-0.10.2/tests/integration/langfuse-legacy.compose.yaml +10 -0
  112. langgraph_agent_toolkit-0.10.2/tests/integration/langfuse.compose.yaml +182 -0
  113. langgraph_agent_toolkit-0.10.2/tests/integration/phoenix.compose.yaml +14 -0
  114. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_deepagents.py +186 -0
  115. langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_media_recovery.py +149 -0
  116. langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_permissions.py +157 -0
  117. langgraph_agent_toolkit-0.10.2/tests/integration/test_deepagents_postgres.py +100 -0
  118. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_live.py +19 -13
  119. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_live_reader.py +13 -0
  120. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_langfuse_sdk.py +161 -12
  121. langgraph_agent_toolkit-0.10.2/tests/integration/test_langsmith_sdk.py +70 -0
  122. langgraph_agent_toolkit-0.10.2/tests/integration/test_multimodal_uploads.py +153 -0
  123. langgraph_agent_toolkit-0.10.2/tests/integration/test_observability_sessions.py +151 -0
  124. langgraph_agent_toolkit-0.10.2/tests/integration/test_phoenix_live.py +118 -0
  125. langgraph_agent_toolkit-0.10.2/tests/integration/test_phoenix_sdk.py +347 -0
  126. langgraph_agent_toolkit-0.10.2/tests/integration/test_postgres_checkpoint_prune.py +110 -0
  127. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_postgres_reliability.py +74 -0
  128. langgraph_agent_toolkit-0.10.2/tests/integration/test_sqlite_checkpoint_upgrade.py +62 -0
  129. langgraph_agent_toolkit-0.10.2/tests/integration/test_tool_selection_mcp.py +111 -0
  130. langgraph_agent_toolkit-0.10.2/tests/integration/test_tool_selection_providers.py +114 -0
  131. langgraph_agent_toolkit-0.10.2/tests/integration/test_typed_interrupts.py +181 -0
  132. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_factory.py +1 -1
  133. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_functional_history.py +74 -2
  134. langgraph_agent_toolkit-0.10.2/tests/service/test_mcp_history_recovery.py +209 -0
  135. langgraph_agent_toolkit-0.10.2/tests/service/test_observability_lifecycle.py +63 -0
  136. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_production_contracts.py +1 -0
  137. langgraph_agent_toolkit-0.10.2/tests/service/test_real_graph_interrupts.py +109 -0
  138. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_resource_limits.py +5 -1
  139. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_integration.py +13 -4
  140. langgraph_agent_toolkit-0.10.2/tests/service/test_threads.py +408 -0
  141. langgraph_agent_toolkit-0.10.2/tests/ui/test_elicitation.py +342 -0
  142. langgraph_agent_toolkit-0.10.2/tests/ui/test_minimal_imports.py +41 -0
  143. langgraph_agent_toolkit-0.10.2/tests/ui/test_uploads.py +75 -0
  144. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/uv.lock +851 -827
  145. langgraph_agent_toolkit-0.10.1/.dockerignore +0 -170
  146. langgraph_agent_toolkit-0.10.1/docs/deepagents.rst +0 -401
  147. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/deep_agent/agent.py +0 -93
  148. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/ui/utils/constants.py +0 -7
  149. langgraph_agent_toolkit-0.10.1/scripts/ci/verify_ui_imports.py +0 -20
  150. langgraph_agent_toolkit-0.10.1/tests/agents/test_deepagents_configuration.py +0 -32
  151. langgraph_agent_toolkit-0.10.1/tests/core/test_dependency_contracts.py +0 -80
  152. langgraph_agent_toolkit-0.10.1/tests/core/test_mcp_http.py +0 -171
  153. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.claude/settings.json +0 -0
  154. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.coveragerc +0 -0
  155. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  156. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  157. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  158. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
  159. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/codecov.yml +0 -0
  160. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/scripts/tag_from_pyproject.sh +0 -0
  161. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.github/scripts/verify_release_tag.py +0 -0
  162. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.gitignore +0 -0
  163. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/.project-root +0 -0
  164. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/AGENTS.md +0 -0
  165. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/CONTRIBUTING.md +0 -0
  166. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/LICENSE +0 -0
  167. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/Makefile +0 -0
  168. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/clickhouse/.clickhouse.env.example +0 -0
  169. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/litellm/.litellm.env.example +0 -0
  170. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/litellm/config.example.yaml +0 -0
  171. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/minio/.minio.env.example +0 -0
  172. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/postgres/.postgres.env.example +0 -0
  173. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/configs/redis/.redis.env.example +0 -0
  174. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/.gitignore +0 -0
  175. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/Makefile +0 -0
  176. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_static/custom.css +0 -0
  177. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/class.rst +0 -0
  178. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/layout.html +0 -0
  179. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/_templates/module.rst +0 -0
  180. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/conf.py +0 -0
  181. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/contributing.rst +0 -0
  182. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/live_llm_testing.rst +0 -0
  183. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/load_test_results.rst +0 -0
  184. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/make.bat +0 -0
  185. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_architecture.excalidraw +0 -0
  186. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_architecture.png +0 -0
  187. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/agent_diagram.png +0 -0
  188. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/media/logo.svg +0 -0
  189. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/quickstart.rst +0 -0
  190. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/docs/related_projects.rst +0 -0
  191. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph.json +0 -0
  192. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/__init__.py +0 -0
  193. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/__init__.py +0 -0
  194. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/agent.py +0 -0
  195. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
  196. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
  197. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +0 -0
  198. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
  199. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
  200. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
  201. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +0 -0
  202. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
  203. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
  204. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent/__init__.py +0 -0
  205. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/__init__.py +0 -0
  206. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/deep_agent/__init__.py +0 -0
  207. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/__init__.py +0 -0
  208. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
  209. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +0 -0
  210. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/__init__.py +0 -0
  211. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +0 -0
  212. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/react/__init__.py +0 -0
  213. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +0 -0
  214. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/__init__.py +0 -0
  215. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +0 -0
  216. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/__init__.py +0 -0
  217. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/checkpoint/__init__.py +0 -0
  218. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/checkpoint/empty.py +0 -0
  219. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
  220. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +0 -0
  221. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/__init__.py +0 -0
  222. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/_history.py +0 -0
  223. {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
  224. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/immediate_generation.py +0 -0
  225. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/sanitize_history.py +0 -0
  226. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/token_trim.py +0 -0
  227. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/middlewares/trim_messages.py +0 -0
  228. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
  229. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
  230. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/client/__init__.py +0 -0
  231. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/__init__.py +0 -0
  232. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/execution.py +0 -0
  233. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/__init__.py +0 -0
  234. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/base.py +0 -0
  235. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/concurrency.py +0 -0
  236. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/coordinated_store.py +0 -0
  237. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
  238. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/migration.py +0 -0
  239. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/pool.py +0 -0
  240. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/postgres.py +0 -0
  241. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/schema_lock.py +0 -0
  242. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
  243. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/memory/types.py +0 -0
  244. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
  245. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
  246. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/fake.py +0 -0
  247. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/models/transport.py +0 -0
  248. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
  249. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/base.py +0 -0
  250. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
  251. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
  252. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/prompts/__init__.py +0 -0
  253. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/core/settings.py +0 -0
  254. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/__init__.py +0 -0
  255. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/constants.py +0 -0
  256. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/exceptions.py +0 -0
  257. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/logging.py +0 -0
  258. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/helper/types.py +0 -0
  259. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/run_api.py +0 -0
  260. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/run_app.py +0 -0
  261. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/models.py +0 -0
  262. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/schema/task_data.py +0 -0
  263. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/__init__.py +0 -0
  264. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/admission.py +0 -0
  265. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/blocking.py +0 -0
  266. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/exception_handlers.py +0 -0
  267. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/factory.py +0 -0
  268. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/feedback.py +0 -0
  269. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/middleware.py +0 -0
  270. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/responses.py +0 -0
  271. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/service/types.py +0 -0
  272. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/__init__.py +0 -0
  273. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/__init__.py +0 -0
  274. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/draw_message.py +0 -0
  275. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/components/side_panel.py +0 -0
  276. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/langgraph_agent_toolkit/ui/utils/__init__.py +0 -0
  277. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/ci/verify_langfuse_version.py +0 -0
  278. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/load_test.py +0 -0
  279. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/postgres-init/create_databases.sql +0 -0
  280. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/postgres-init/create_schema.sql +0 -0
  281. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/01-invoke-proxy.py +0 -0
  282. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/02-test-local-pm.py +0 -0
  283. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/03-test-langfuse-pm.py +0 -0
  284. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/04-test-langsmith-pm.py +0 -0
  285. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/05-test-prompt-types.py +0 -0
  286. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
  287. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/07-test-get-chat-history.py +0 -0
  288. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/08-test-update-chat-history.py +0 -0
  289. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/09-test-clear-chat-history.py +0 -0
  290. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/098-cls-example.py +0 -0
  291. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/099-t.py +0 -0
  292. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/scripts/python/10-deep-agent.py +0 -0
  293. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_agent_executor.py +0 -0
  294. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_blueprints.py +0 -0
  295. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_checkpoint_durability.py +0 -0
  296. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_checkpoint_empty.py +0 -0
  297. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_components_utils.py +0 -0
  298. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_deepagents_streaming.py +0 -0
  299. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_graph_factories.py +0 -0
  300. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_hitl_agent.py +0 -0
  301. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_knowledge_base_agent.py +0 -0
  302. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_mcp_elicitation.py +0 -0
  303. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_mcp_tools.py +0 -0
  304. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_middlewares.py +0 -0
  305. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_production_regressions.py +0 -0
  306. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/agents/test_stream_cleanup.py +0 -0
  307. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/conftest.py +0 -0
  308. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_client.py +0 -0
  309. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_error_details.py +0 -0
  310. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_feedback_token.py +0 -0
  311. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_http_contract.py +0 -0
  312. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/client/test_stream_completion.py +0 -0
  313. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_audit_regressions.py +0 -0
  314. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_concurrency.py +0 -0
  315. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_deadlocks.py +0 -0
  316. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_live_llm_guard.py +0 -0
  317. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm.py +0 -0
  318. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_llm_edge_cases.py +0 -0
  319. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_memory.py +0 -0
  320. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_migration.py +0 -0
  321. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_observability.py +0 -0
  322. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_prompt_manager.py +0 -0
  323. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_prompts.py +0 -0
  324. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/core/test_sqlite_reliability.py +0 -0
  325. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/deep_support_agent.py +0 -0
  326. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/live_support_agent.py +0 -0
  327. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/support_agent.py +0 -0
  328. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/e2e/test_deepagents_api.py +0 -0
  329. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/helper/test_create_ai_message.py +0 -0
  330. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/docker_transport_smoke.py +0 -0
  331. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_docker_e2e.py +0 -0
  332. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/integration/test_postgres_migration.py +0 -0
  333. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/client.py +0 -0
  334. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/db_pressure.py +0 -0
  335. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/resources.py +0 -0
  336. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/slow_reader.py +0 -0
  337. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/support.py +0 -0
  338. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_db_pressure.py +0 -0
  339. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_harness.py +0 -0
  340. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_http_load_client.py +0 -0
  341. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_resources.py +0 -0
  342. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_slow_reader.py +0 -0
  343. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/load/test_support.py +0 -0
  344. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/conftest.py +0 -0
  345. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_admission.py +0 -0
  346. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_auth.py +0 -0
  347. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_blocking_feedback.py +0 -0
  348. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_exception_handlers.py +0 -0
  349. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_feedback_authorization.py +0 -0
  350. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_handler.py +0 -0
  351. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_middleware.py +0 -0
  352. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_provider_errors.py +0 -0
  353. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_service.py +0 -0
  354. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_shutdown.py +0 -0
  355. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_headers.py +0 -0
  356. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_stream_transport_cleanup.py +0 -0
  357. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_usage_metadata.py +0 -0
  358. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/service/test_worker_recovery.py +0 -0
  359. {langgraph_agent_toolkit-0.10.1 → langgraph_agent_toolkit-0.10.2}/tests/ui/test_draw_messages.py +0 -0
  360. {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.15.2"
33
+ sdk: "4.18.0"
34
34
  extra: langfuse-v4
35
35
  - server: 4
36
- sdk: "4.15.2"
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.12.1"
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
@@ -27,7 +27,7 @@ jobs:
27
27
  - name: Install uv
28
28
  uses: astral-sh/setup-uv@v10.1.0
29
29
  with:
30
- version: "0.12.1"
30
+ version: "0.13.6"
31
31
  enable-cache: false
32
32
 
33
33
  - name: Set up Python
@@ -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.12.1"
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
@@ -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.12.1"
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.12.1"
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.12.1"
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.12.1"
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.15.2"
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.12.1"
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.12.1"
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 checkpoint migration
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 30 bash -c '
346
- while ! curl -fsS http://127.0.0.1:8080/health/ready; do
347
- echo "Waiting for service to be ready..."
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 -e
356
- AGENT_URL=http://127.0.0.1:8080 -e AUTH_SECRET=ci-test-token --mount
357
- "type=bind,source=$PWD/scripts/ci/verify_ui_imports.py,target=/tmp/verify_ui_imports.py,readonly"
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 30 bash -c '
363
- while ! curl -fsS http://localhost:8501/_stcore/health; do
364
- echo "Waiting for app to be ready..."
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 imports in the client-only image
371
- run: docker exec app-container python /tmp/verify_ui_imports.py
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.12.1"
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
@@ -48,6 +48,6 @@ repos:
48
48
  args: [--print-width=80, --prose-wrap=always]
49
49
 
50
50
  - repo: https://github.com/astral-sh/uv-pre-commit
51
- rev: 0.12.1
51
+ rev: 0.13.6
52
52
  hooks:
53
53
  - id: uv-lock
@@ -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