langgraph-agent-toolkit 0.9.2__tar.gz → 0.10.1__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 (345) hide show
  1. langgraph_agent_toolkit-0.10.1/.coveragerc +16 -0
  2. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.dockerignore +6 -15
  3. langgraph_agent_toolkit-0.10.1/.env.example +220 -0
  4. langgraph_agent_toolkit-0.10.1/.github/ISSUE_TEMPLATE/bug_report.md +48 -0
  5. langgraph_agent_toolkit-0.10.1/.github/PULL_REQUEST_TEMPLATE.md +44 -0
  6. langgraph_agent_toolkit-0.10.1/.github/RELEASE_TEMPLATE/release-template.md +35 -0
  7. langgraph_agent_toolkit-0.10.1/.github/codecov.yml +25 -0
  8. langgraph_agent_toolkit-0.10.1/.github/dependabot.yml +125 -0
  9. langgraph_agent_toolkit-0.10.1/.github/scripts/verify_release_tag.py +22 -0
  10. langgraph_agent_toolkit-0.10.1/.github/workflows/langfuse-live.yml +65 -0
  11. langgraph_agent_toolkit-0.10.1/.github/workflows/release.yml +59 -0
  12. langgraph_agent_toolkit-0.10.1/.github/workflows/sphinx.yml +80 -0
  13. langgraph_agent_toolkit-0.10.1/.github/workflows/test.yml +403 -0
  14. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.gitignore +9 -24
  15. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.pre-commit-config.yaml +7 -1
  16. langgraph_agent_toolkit-0.10.1/.project-root +2 -0
  17. langgraph_agent_toolkit-0.10.1/AGENTS.md +18 -0
  18. langgraph_agent_toolkit-0.10.1/CHANGELOG.md +831 -0
  19. langgraph_agent_toolkit-0.10.1/CLAUDE.md +375 -0
  20. langgraph_agent_toolkit-0.10.1/CONTRIBUTING.md +135 -0
  21. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/Makefile +3 -3
  22. langgraph_agent_toolkit-0.10.1/PKG-INFO +343 -0
  23. langgraph_agent_toolkit-0.10.1/README.md +215 -0
  24. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/langfuse/.langfuse.env.example +7 -7
  25. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/litellm/config.example.yaml +15 -15
  26. langgraph_agent_toolkit-0.10.1/docker/api/Dockerfile +74 -0
  27. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docker/app/Dockerfile +4 -2
  28. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docker-compose.yaml +11 -11
  29. langgraph_agent_toolkit-0.10.1/docs/Makefile +28 -0
  30. langgraph_agent_toolkit-0.10.1/docs/conf.py +215 -0
  31. langgraph_agent_toolkit-0.10.1/docs/contributing.rst +45 -0
  32. langgraph_agent_toolkit-0.10.1/docs/deepagents.rst +401 -0
  33. langgraph_agent_toolkit-0.10.1/docs/dependency_updates.rst +356 -0
  34. langgraph_agent_toolkit-0.10.1/docs/deployment.rst +230 -0
  35. langgraph_agent_toolkit-0.10.1/docs/environment_setup.rst +233 -0
  36. langgraph_agent_toolkit-0.10.1/docs/index.rst +77 -0
  37. langgraph_agent_toolkit-0.10.1/docs/installation.rst +152 -0
  38. langgraph_agent_toolkit-0.10.1/docs/integrations.rst +159 -0
  39. langgraph_agent_toolkit-0.10.1/docs/langfuse_compatibility.rst +197 -0
  40. langgraph_agent_toolkit-0.10.1/docs/live_llm_testing.rst +139 -0
  41. langgraph_agent_toolkit-0.10.1/docs/load_test_results.rst +196 -0
  42. langgraph_agent_toolkit-0.10.1/docs/load_testing.rst +254 -0
  43. langgraph_agent_toolkit-0.10.1/docs/make.bat +37 -0
  44. langgraph_agent_toolkit-0.10.1/docs/mcp.rst +329 -0
  45. langgraph_agent_toolkit-0.10.1/docs/migration.rst +388 -0
  46. langgraph_agent_toolkit-0.10.1/docs/onboarding.rst +163 -0
  47. langgraph_agent_toolkit-0.10.1/docs/quickstart.rst +166 -0
  48. langgraph_agent_toolkit-0.10.1/docs/related_projects.rst +165 -0
  49. langgraph_agent_toolkit-0.10.1/docs/reliability.rst +506 -0
  50. langgraph_agent_toolkit-0.10.1/docs/testing.rst +472 -0
  51. langgraph_agent_toolkit-0.10.1/docs/usage.rst +440 -0
  52. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/__init__.py +1 -1
  53. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/agent.py +3 -0
  54. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/agent_executor.py +785 -0
  55. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +5 -12
  56. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +1 -1
  57. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +7 -7
  58. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -5
  59. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/create_agent/_shared.py +63 -0
  60. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/create_agent/agent.py +27 -0
  61. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/agent.py +37 -0
  62. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/deep_agent/__init__.py +1 -0
  63. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/blueprints/deep_agent/agent.py +93 -0
  64. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/agent.py +22 -25
  65. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +15 -21
  66. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +61 -40
  67. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +28 -37
  68. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +3 -5
  69. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/checkpoint/empty.py +12 -25
  70. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +46 -78
  71. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/__init__.py +1 -1
  72. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/agents/components/middlewares/_history.py +32 -0
  73. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/clear_intermediate_tool_calls.py +13 -24
  74. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/immediate_generation.py +7 -18
  75. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/sanitize_history.py +4 -7
  76. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/token_trim.py +6 -19
  77. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/middlewares/trim_messages.py +5 -14
  78. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/utils.py +5 -5
  79. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/client/client.py +936 -0
  80. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/__init__.py +1 -1
  81. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/_base_settings.py +145 -135
  82. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/execution.py +39 -0
  83. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/mcp.py +200 -0
  84. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/base.py +7 -7
  85. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/concurrency.py +285 -0
  86. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/coordinated_saver.py +71 -0
  87. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/coordinated_sqlite.py +64 -0
  88. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/coordinated_store.py +23 -0
  89. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/factory.py +5 -5
  90. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/migration.py +307 -0
  91. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/pool.py +58 -0
  92. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/postgres.py +81 -60
  93. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/memory/schema_lock.py +32 -0
  94. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/sqlite.py +5 -6
  95. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/models/__init__.py +15 -0
  96. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/models/chat_openai.py +93 -0
  97. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/models/factory.py +47 -19
  98. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/models/fake.py +1 -1
  99. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/models/transport.py +333 -0
  100. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/base.py +15 -17
  101. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/empty.py +15 -16
  102. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/factory.py +2 -2
  103. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/core/observability/langfuse.py +534 -0
  104. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/langsmith.py +7 -7
  105. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +189 -159
  106. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/prompts/prompt_manager.py +51 -47
  107. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/constants.py +2 -2
  108. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/exceptions.py +44 -50
  109. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/logging.py +25 -36
  110. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/utils.py +27 -29
  111. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/run_api.py +31 -0
  112. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/run_app.py +11 -0
  113. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/schema/schema.py +94 -44
  114. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/schema/task_data.py +4 -4
  115. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/admission.py +238 -0
  116. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/auth.py +100 -0
  117. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/blocking.py +72 -0
  118. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/exception_handlers.py +101 -18
  119. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/factory.py +94 -91
  120. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/feedback.py +86 -0
  121. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/handler.py +208 -0
  122. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/middleware.py +90 -0
  123. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/service/responses.py +47 -0
  124. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/routes.py +165 -159
  125. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/utils.py +53 -88
  126. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/ui/components/__init__.py +1 -0
  127. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/ui/components/draw_message.py +146 -0
  128. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/ui/components/side_panel.py +26 -24
  129. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/ui/main_page.py +73 -29
  130. langgraph_agent_toolkit-0.10.1/langgraph_agent_toolkit/ui/utils/__init__.py +1 -0
  131. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/ui/utils/constants.py +2 -2
  132. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/ui/utils/message.py +12 -11
  133. langgraph_agent_toolkit-0.10.1/pyproject.toml +264 -0
  134. langgraph_agent_toolkit-0.10.1/scripts/ci/verify_base_wheel.py +59 -0
  135. langgraph_agent_toolkit-0.10.1/scripts/ci/verify_langfuse_version.py +25 -0
  136. langgraph_agent_toolkit-0.10.1/scripts/ci/verify_ui_imports.py +20 -0
  137. langgraph_agent_toolkit-0.10.1/scripts/load_test.py +874 -0
  138. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/02-test-local-pm.py +0 -6
  139. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/03-test-langfuse-pm.py +0 -6
  140. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/04-test-langsmith-pm.py +0 -6
  141. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/05-test-prompt-types.py +0 -12
  142. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/06-test-custom-chat-prompt-template.py +48 -51
  143. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/07-test-get-chat-history.py +0 -3
  144. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/08-test-update-chat-history.py +0 -3
  145. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/09-test-clear-chat-history.py +0 -4
  146. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/098-cls-example.py +1 -12
  147. langgraph_agent_toolkit-0.10.1/scripts/python/10-deep-agent.py +107 -0
  148. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/agents/test_agent_executor.py +37 -45
  149. langgraph_agent_toolkit-0.10.1/tests/agents/test_blueprints.py +47 -0
  150. langgraph_agent_toolkit-0.10.1/tests/agents/test_checkpoint_durability.py +182 -0
  151. langgraph_agent_toolkit-0.10.1/tests/agents/test_checkpoint_empty.py +43 -0
  152. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/agents/test_components_utils.py +2 -4
  153. langgraph_agent_toolkit-0.10.1/tests/agents/test_deepagents_configuration.py +32 -0
  154. langgraph_agent_toolkit-0.10.1/tests/agents/test_deepagents_streaming.py +120 -0
  155. langgraph_agent_toolkit-0.10.1/tests/agents/test_graph_factories.py +199 -0
  156. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/agents/test_hitl_agent.py +8 -18
  157. langgraph_agent_toolkit-0.10.1/tests/agents/test_knowledge_base_agent.py +133 -0
  158. langgraph_agent_toolkit-0.10.1/tests/agents/test_mcp_elicitation.py +249 -0
  159. langgraph_agent_toolkit-0.10.1/tests/agents/test_mcp_tools.py +282 -0
  160. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/agents/test_middlewares.py +41 -45
  161. langgraph_agent_toolkit-0.10.1/tests/agents/test_production_regressions.py +218 -0
  162. langgraph_agent_toolkit-0.10.1/tests/agents/test_stream_cleanup.py +267 -0
  163. langgraph_agent_toolkit-0.10.1/tests/client/conftest.py +12 -0
  164. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/client/test_client.py +48 -30
  165. langgraph_agent_toolkit-0.10.1/tests/client/test_error_details.py +264 -0
  166. langgraph_agent_toolkit-0.10.1/tests/client/test_feedback_token.py +62 -0
  167. langgraph_agent_toolkit-0.10.1/tests/client/test_http_contract.py +187 -0
  168. langgraph_agent_toolkit-0.10.1/tests/client/test_stream_completion.py +112 -0
  169. langgraph_agent_toolkit-0.10.1/tests/conftest.py +76 -0
  170. langgraph_agent_toolkit-0.10.1/tests/core/test_audit_regressions.py +348 -0
  171. langgraph_agent_toolkit-0.10.1/tests/core/test_concurrency.py +314 -0
  172. langgraph_agent_toolkit-0.10.1/tests/core/test_deadlocks.py +243 -0
  173. langgraph_agent_toolkit-0.10.1/tests/core/test_dependency_contracts.py +80 -0
  174. langgraph_agent_toolkit-0.10.1/tests/core/test_langfuse_compatibility.py +397 -0
  175. langgraph_agent_toolkit-0.10.1/tests/core/test_langfuse_settings.py +63 -0
  176. langgraph_agent_toolkit-0.10.1/tests/core/test_live_llm_guard.py +158 -0
  177. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_llm.py +3 -1
  178. langgraph_agent_toolkit-0.10.1/tests/core/test_llm_edge_cases.py +273 -0
  179. langgraph_agent_toolkit-0.10.1/tests/core/test_llm_transport.py +623 -0
  180. langgraph_agent_toolkit-0.10.1/tests/core/test_mcp.py +302 -0
  181. langgraph_agent_toolkit-0.10.1/tests/core/test_mcp_http.py +171 -0
  182. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_memory.py +76 -3
  183. langgraph_agent_toolkit-0.10.1/tests/core/test_migration.py +296 -0
  184. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_observability.py +30 -141
  185. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_settings.py +13 -0
  186. langgraph_agent_toolkit-0.10.1/tests/core/test_sqlite_reliability.py +177 -0
  187. langgraph_agent_toolkit-0.10.1/tests/e2e/conftest.py +155 -0
  188. langgraph_agent_toolkit-0.10.1/tests/e2e/deep_support_agent.py +35 -0
  189. langgraph_agent_toolkit-0.10.1/tests/e2e/live_support_agent.py +175 -0
  190. langgraph_agent_toolkit-0.10.1/tests/e2e/support_agent.py +49 -0
  191. langgraph_agent_toolkit-0.10.1/tests/e2e/test_api_journeys.py +133 -0
  192. langgraph_agent_toolkit-0.10.1/tests/e2e/test_deepagents_api.py +43 -0
  193. langgraph_agent_toolkit-0.10.1/tests/e2e/test_llm_live.py +276 -0
  194. langgraph_agent_toolkit-0.10.1/tests/helper/test_create_ai_message.py +24 -0
  195. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/helper/test_helper_utils.py +11 -109
  196. langgraph_agent_toolkit-0.10.1/tests/integration/docker_transport_smoke.py +187 -0
  197. langgraph_agent_toolkit-0.10.1/tests/integration/test_deepagents.py +229 -0
  198. langgraph_agent_toolkit-0.10.1/tests/integration/test_docker_e2e.py +68 -0
  199. langgraph_agent_toolkit-0.10.1/tests/integration/test_langfuse_live.py +376 -0
  200. langgraph_agent_toolkit-0.10.1/tests/integration/test_langfuse_live_reader.py +52 -0
  201. langgraph_agent_toolkit-0.10.1/tests/integration/test_langfuse_sdk.py +274 -0
  202. langgraph_agent_toolkit-0.10.1/tests/integration/test_postgres_migration.py +106 -0
  203. langgraph_agent_toolkit-0.10.1/tests/integration/test_postgres_reliability.py +684 -0
  204. langgraph_agent_toolkit-0.10.1/tests/load/client.py +620 -0
  205. langgraph_agent_toolkit-0.10.1/tests/load/db_pressure.py +268 -0
  206. langgraph_agent_toolkit-0.10.1/tests/load/resources.py +109 -0
  207. langgraph_agent_toolkit-0.10.1/tests/load/slow_reader.py +157 -0
  208. langgraph_agent_toolkit-0.10.1/tests/load/support.py +475 -0
  209. langgraph_agent_toolkit-0.10.1/tests/load/test_db_pressure.py +153 -0
  210. langgraph_agent_toolkit-0.10.1/tests/load/test_harness.py +359 -0
  211. langgraph_agent_toolkit-0.10.1/tests/load/test_http_load_client.py +604 -0
  212. langgraph_agent_toolkit-0.10.1/tests/load/test_resources.py +127 -0
  213. langgraph_agent_toolkit-0.10.1/tests/load/test_slow_reader.py +117 -0
  214. langgraph_agent_toolkit-0.10.1/tests/load/test_support.py +133 -0
  215. langgraph_agent_toolkit-0.10.1/tests/service/conftest.py +82 -0
  216. langgraph_agent_toolkit-0.10.1/tests/service/test_admission.py +239 -0
  217. langgraph_agent_toolkit-0.10.1/tests/service/test_blocking_feedback.py +152 -0
  218. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_factory.py +175 -37
  219. langgraph_agent_toolkit-0.10.1/tests/service/test_feedback_authorization.py +246 -0
  220. langgraph_agent_toolkit-0.10.1/tests/service/test_functional_history.py +225 -0
  221. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_handler.py +21 -10
  222. langgraph_agent_toolkit-0.10.1/tests/service/test_production_contracts.py +489 -0
  223. langgraph_agent_toolkit-0.10.1/tests/service/test_provider_errors.py +349 -0
  224. langgraph_agent_toolkit-0.10.1/tests/service/test_resource_limits.py +349 -0
  225. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_service.py +4 -4
  226. langgraph_agent_toolkit-0.10.1/tests/service/test_shutdown.py +50 -0
  227. langgraph_agent_toolkit-0.10.1/tests/service/test_stream_headers.py +21 -0
  228. langgraph_agent_toolkit-0.10.1/tests/service/test_stream_integration.py +61 -0
  229. langgraph_agent_toolkit-0.10.1/tests/service/test_stream_transport_cleanup.py +142 -0
  230. langgraph_agent_toolkit-0.10.1/tests/service/test_usage_metadata.py +135 -0
  231. langgraph_agent_toolkit-0.10.1/tests/service/test_worker_recovery.py +114 -0
  232. langgraph_agent_toolkit-0.10.1/tests/ui/test_draw_messages.py +111 -0
  233. langgraph_agent_toolkit-0.10.1/tests/ui/test_navigation.py +283 -0
  234. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/uv.lock +2075 -556
  235. langgraph_agent_toolkit-0.9.2/.coveragerc +0 -5
  236. langgraph_agent_toolkit-0.9.2/.env.example +0 -129
  237. langgraph_agent_toolkit-0.9.2/.github/ISSUE_TEMPLATE/bug_report.md +0 -48
  238. langgraph_agent_toolkit-0.9.2/.github/PULL_REQUEST_TEMPLATE.md +0 -49
  239. langgraph_agent_toolkit-0.9.2/.github/RELEASE_TEMPLATE/release-template.md +0 -38
  240. langgraph_agent_toolkit-0.9.2/.github/codecov.yml +0 -13
  241. langgraph_agent_toolkit-0.9.2/.github/dependabot.yml +0 -24
  242. langgraph_agent_toolkit-0.9.2/.github/workflows/release.yml +0 -38
  243. langgraph_agent_toolkit-0.9.2/.github/workflows/sphinx.yml +0 -138
  244. langgraph_agent_toolkit-0.9.2/.github/workflows/test.yml +0 -159
  245. langgraph_agent_toolkit-0.9.2/.project-root +0 -2
  246. langgraph_agent_toolkit-0.9.2/CHANGELOG.md +0 -622
  247. langgraph_agent_toolkit-0.9.2/CLAUDE.md +0 -302
  248. langgraph_agent_toolkit-0.9.2/CONTRIBUTING.md +0 -160
  249. langgraph_agent_toolkit-0.9.2/PKG-INFO +0 -328
  250. langgraph_agent_toolkit-0.9.2/README.md +0 -232
  251. langgraph_agent_toolkit-0.9.2/docker/api/Dockerfile +0 -69
  252. langgraph_agent_toolkit-0.9.2/docs/Makefile +0 -20
  253. langgraph_agent_toolkit-0.9.2/docs/conf.py +0 -203
  254. langgraph_agent_toolkit-0.9.2/docs/contributing.rst +0 -16
  255. langgraph_agent_toolkit-0.9.2/docs/environment_setup.rst +0 -169
  256. langgraph_agent_toolkit-0.9.2/docs/index.rst +0 -105
  257. langgraph_agent_toolkit-0.9.2/docs/installation.rst +0 -52
  258. langgraph_agent_toolkit-0.9.2/docs/make.bat +0 -35
  259. langgraph_agent_toolkit-0.9.2/docs/usage.rst +0 -173
  260. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/agents/agent_executor.py +0 -631
  261. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/agents/blueprints/create_agent/agent.py +0 -91
  262. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/agent.py +0 -76
  263. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/agents/components/middlewares/_history.py +0 -39
  264. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/client/client.py +0 -789
  265. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/core/models/__init__.py +0 -12
  266. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/core/models/chat_openai.py +0 -21
  267. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/core/observability/langfuse.py +0 -314
  268. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/run_api.py +0 -43
  269. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/run_app.py +0 -18
  270. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/service/handler.py +0 -204
  271. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/service/middleware.py +0 -28
  272. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/ui/components/__init__.py +0 -1
  273. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/ui/components/draw_message.py +0 -179
  274. langgraph_agent_toolkit-0.9.2/langgraph_agent_toolkit/ui/utils/__init__.py +0 -1
  275. langgraph_agent_toolkit-0.9.2/pyproject.toml +0 -240
  276. langgraph_agent_toolkit-0.9.2/tests/agents/test_blueprints.py +0 -106
  277. langgraph_agent_toolkit-0.9.2/tests/agents/test_checkpoint_empty.py +0 -47
  278. langgraph_agent_toolkit-0.9.2/tests/agents/test_create_agent_stack.py +0 -107
  279. langgraph_agent_toolkit-0.9.2/tests/agents/test_tools.py +0 -16
  280. langgraph_agent_toolkit-0.9.2/tests/client/conftest.py +0 -11
  281. langgraph_agent_toolkit-0.9.2/tests/conftest.py +0 -56
  282. langgraph_agent_toolkit-0.9.2/tests/helper/test_create_ai_message.py +0 -52
  283. langgraph_agent_toolkit-0.9.2/tests/integration/test_docker_e2e.py +0 -44
  284. langgraph_agent_toolkit-0.9.2/tests/service/conftest.py +0 -157
  285. langgraph_agent_toolkit-0.9.2/tests/service/test_service_e2e.py +0 -128
  286. langgraph_agent_toolkit-0.9.2/tests/ui/test_draw_messages.py +0 -58
  287. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.claude/settings.json +0 -0
  288. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  289. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/.github/scripts/tag_from_pyproject.sh +0 -0
  290. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/LICENSE +0 -0
  291. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/clickhouse/.clickhouse.env.example +0 -0
  292. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/litellm/.litellm.env.example +0 -0
  293. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/minio/.minio.env.example +0 -0
  294. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/postgres/.postgres.env.example +0 -0
  295. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/configs/redis/.redis.env.example +0 -0
  296. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/.gitignore +0 -0
  297. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/_static/custom.css +0 -0
  298. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/_templates/class.rst +0 -0
  299. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/_templates/layout.html +0 -0
  300. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/_templates/module.rst +0 -0
  301. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/media/agent_architecture.excalidraw +0 -0
  302. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/media/agent_architecture.png +0 -0
  303. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/media/agent_diagram.png +0 -0
  304. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/docs/media/logo.svg +0 -0
  305. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph.json +0 -0
  306. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/__init__.py +0 -0
  307. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
  308. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
  309. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
  310. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
  311. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
  312. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/create_agent/__init__.py +0 -0
  313. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/create_agent_structured/__init__.py +0 -0
  314. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/hitl_agent/__init__.py +0 -0
  315. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
  316. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/__init__.py +0 -0
  317. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/react/__init__.py +0 -0
  318. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/__init__.py +0 -0
  319. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/__init__.py +0 -0
  320. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/checkpoint/__init__.py +0 -0
  321. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
  322. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
  323. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/client/__init__.py +0 -0
  324. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/__init__.py +0 -0
  325. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/memory/types.py +0 -0
  326. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
  327. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/observability/types.py +0 -0
  328. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/prompts/__init__.py +0 -0
  329. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/core/settings.py +0 -0
  330. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/__init__.py +0 -0
  331. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/helper/types.py +0 -0
  332. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/schema/__init__.py +0 -0
  333. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/schema/models.py +0 -0
  334. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/__init__.py +0 -0
  335. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/service/types.py +0 -0
  336. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/langgraph_agent_toolkit/ui/__init__.py +0 -0
  337. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/postgres-init/create_databases.sql +0 -0
  338. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/postgres-init/create_schema.sql +0 -0
  339. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/01-invoke-proxy.py +0 -0
  340. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/scripts/python/099-t.py +0 -0
  341. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_prompt_manager.py +0 -0
  342. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/core/test_prompts.py +0 -0
  343. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_auth.py +0 -0
  344. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_exception_handlers.py +0 -0
  345. {langgraph_agent_toolkit-0.9.2 → langgraph_agent_toolkit-0.10.1}/tests/service/test_middleware.py +0 -0
@@ -0,0 +1,16 @@
1
+ [run]
2
+ branch = True
3
+ parallel = True
4
+ relative_files = True
5
+ source_pkgs = langgraph_agent_toolkit
6
+ patch = subprocess
7
+ sigterm = True
8
+ omit =
9
+ examples/*
10
+ scripts/*
11
+ tests/*
12
+
13
+ [report]
14
+ precision = 1
15
+ show_missing = True
16
+ fail_under = 77
@@ -34,8 +34,7 @@ share/python-wheels/
34
34
  MANIFEST
35
35
 
36
36
  # PyInstaller
37
- # Usually these files are written by a python script from a template
38
- # before PyInstaller builds the exe, so as to inject date/other infos into it.
37
+ # PyInstaller writes these files from a template before it builds an executable.
39
38
  *.manifest
40
39
  *.spec
41
40
 
@@ -91,17 +90,12 @@ target/
91
90
  profile_default/
92
91
  ipython_config.py
93
92
 
94
- # pdm
95
- # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
96
- #pdm.lock
97
- # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
98
- # in version control.
99
- # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
93
+ # PDM
100
94
  .pdm.toml
101
95
  .pdm-python
102
96
  .pdm-build/
103
97
 
104
- # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
98
+ # PEP 582
105
99
  __pypackages__/
106
100
 
107
101
  # Celery stuff
@@ -149,10 +143,7 @@ dmypy.json
149
143
  cython_debug/
150
144
 
151
145
  # PyCharm
152
- # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
153
- # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
154
- # and can be added to the global gitignore or merged into this file. For a more nuclear
155
- # option (not recommended) you can uncomment the following to ignore the entire idea folder.
146
+ # See https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore for the JetBrains template.
156
147
  .idea
157
148
 
158
149
  # other
@@ -165,8 +156,8 @@ venv
165
156
  # langgraph
166
157
  .langgraph_api
167
158
 
168
- # Build context trimming — the images only COPY pyproject.toml, uv.lock and
169
- # langgraph_agent_toolkit/, so exclude everything else from the build context.
159
+ # Docker images copy only `pyproject.toml`, `uv.lock`, and `langgraph_agent_toolkit/`.
160
+ # Exclude all other paths from the build context.
170
161
  tests/
171
162
  docs/
172
163
  scripts/
@@ -0,0 +1,220 @@
1
+ # Set the web server address and port.
2
+ HOST=0.0.0.0
3
+ PORT=8080
4
+
5
+ # Do not log redirection responses.
6
+ SKIP_REDIRECTION_LOGGING=true
7
+
8
+ # Set the application mode. `dev` enables Uvicorn reload.
9
+ ENV_MODE=development
10
+
11
+ # Use one shared secret for one client deployment.
12
+ # user_id is optional. The trusted client can supply it for its own users.
13
+ # The code defaults to trusted mode when AUTH_MODE is unset, as shown below.
14
+ AUTH_MODE=trusted
15
+ AUTH_SECRET=
16
+ # Use this identity when a shared-token request omits user_id.
17
+ AUTH_SERVICE_USER_ID=service
18
+ # Optional: use AUTH_MODE=token when untrusted users connect directly to this API.
19
+ # Then each AUTH_USERS token identifies one user; a supplied user_id must match.
20
+ # AUTH_USERS={"user-1":"replace-with-user-token"}
21
+ # Set a separate server-only secret to enable feedback from token users.
22
+ # Use at least 32 random characters. Do not use a client bearer token.
23
+ # Keep the same value across workers, replicas, and restarts.
24
+ # FEEDBACK_SIGNING_SECRET=
25
+
26
+ # Select an observability backend.
27
+ # OBSERVABILITY_BACKEND=langfuse
28
+ # Limit how long graceful shutdown waits for a telemetry flush.
29
+ OBSERVABILITY_SHUTDOWN_TIMEOUT=10
30
+
31
+ # Langfuse configuration
32
+ # LANGFUSE_SECRET_KEY=
33
+ # LANGFUSE_PUBLIC_KEY=
34
+ # LANGFUSE_HOST=http://langfuse-web:3000
35
+ # Optional current SDK URL alias. It takes precedence over LANGFUSE_HOST.
36
+ # LANGFUSE_BASE_URL=http://langfuse-web:3000
37
+
38
+ # LangSmith configuration
39
+ # LANGSMITH_TRACING=true
40
+ # LANGSMITH_API_KEY=
41
+ # LANGSMITH_PROJECT=default
42
+ # LANGSMITH_ENDPOINT=https://api.smith.langchain.com
43
+
44
+ # Select a memory backend.
45
+ # `postgres` requires the PostgreSQL variables.
46
+ # `sqlite` accepts an optional `SQLITE_DB_PATH` value.
47
+ MEMORY_BACKEND=postgres
48
+
49
+ # Set this value when `MEMORY_BACKEND=sqlite`.
50
+ SQLITE_DB_PATH=
51
+
52
+ # Set these values when `MEMORY_BACKEND=postgres`.
53
+ POSTGRES_USER=
54
+ POSTGRES_PASSWORD=
55
+ POSTGRES_HOST=
56
+ POSTGRES_PORT=
57
+ POSTGRES_DB=agents
58
+ # Configure the PostgreSQL connection pool.
59
+ # Set `POSTGRES_POOL_SIZE` below the available PostgreSQL connection count.
60
+ # Count every worker in every replica. Reserve connections for other services and administration.
61
+ # Total upper bound = total workers * (checkpoint pool + lock pool), plus separately opened stores.
62
+ POSTGRES_POOL_SIZE=20
63
+ POSTGRES_LOCK_POOL_SIZE=10
64
+ POSTGRES_POOL_MAX_WAITING=100
65
+ POSTGRES_MIN_SIZE=2
66
+ POSTGRES_MAX_IDLE=120
67
+ POSTGRES_POOL_TIMEOUT=45.0
68
+ POSTGRES_RECONNECT_TIMEOUT=60.0
69
+ # Bound connection establishment and each health probe in seconds.
70
+ POSTGRES_CONNECT_TIMEOUT=10
71
+ POSTGRES_HEALTH_CHECK_TIMEOUT=5.0
72
+ # TCP liveness settings. Support depends on the operating system.
73
+ POSTGRES_KEEPALIVES_IDLE=30
74
+ POSTGRES_KEEPALIVES_INTERVAL=10
75
+ POSTGRES_KEEPALIVES_COUNT=3
76
+ # Milliseconds; ignored on systems without TCP_USER_TIMEOUT.
77
+ POSTGRES_TCP_USER_TIMEOUT=60000
78
+ # Set the maximum connection lifetime in seconds. The pool replaces older connections.
79
+ POSTGRES_MAX_LIFETIME=300.0
80
+ # Set the number of pool-maintenance workers.
81
+ # POSTGRES_NUM_WORKERS=3
82
+ # Set PostgreSQL query timeouts in milliseconds.
83
+ # This limits each SQL statement, not model generation time.
84
+ POSTGRES_STATEMENT_TIMEOUT=120000
85
+ # Bound SQL lock waits. THREAD_QUEUE_TIMEOUT controls conversation-lock waiting.
86
+ POSTGRES_LOCK_TIMEOUT=45000
87
+ # Bound time spent idle inside a transaction. Normal model calls do not hold a transaction open.
88
+ POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT=120000
89
+
90
+ # Finish each checkpoint before the next graph step. Database I/O still uses async methods.
91
+ # Use async to overlap saves and graph steps when the larger crash window is acceptable.
92
+ CHECKPOINT_DURABILITY=sync
93
+
94
+ # Bound conversation waiting, run duration, and request body size.
95
+ THREAD_QUEUE_MAX_WAITERS=32
96
+ THREAD_QUEUE_TIMEOUT=60
97
+ THREAD_LOCK_HEARTBEAT=5
98
+ THREAD_LOCK_HEARTBEAT_TIMEOUT=5
99
+ REQUEST_TIMEOUT=300
100
+ # Mark health probes unhealthy if cancellation cleanup exceeds this many seconds.
101
+ REQUEST_CLEANUP_TIMEOUT=10.0
102
+ # Per worker: reject excess work with HTTP 503 before reading its body.
103
+ REQUEST_MAX_CONCURRENT=8
104
+ REQUEST_QUEUE_MAX_WAITERS=0
105
+ REQUEST_QUEUE_TIMEOUT=1.0
106
+ # Bound each response send, including streaming writes, in seconds.
107
+ RESPONSE_SEND_TIMEOUT=30.0
108
+ REQUEST_MAX_BYTES=20971520
109
+ HISTORY_MAX_PAGE_SIZE=1000
110
+
111
+ # Set the Streamlit agent URL. The default is `http://{HOST}:{PORT}`.
112
+ # AGENT_URL=http://0.0.0.0:8080
113
+
114
+ # Use a fake model for tests.
115
+ USE_FAKE_MODEL=false
116
+
117
+ # OpenAI settings
118
+ OPENAI_API_KEY=
119
+ OPENAI_API_BASE_URL=
120
+ OPENAI_API_VERSION=
121
+ OPENAI_MODEL_NAME=
122
+
123
+ # Managed OpenAI/Azure connections, per worker and endpoint/credential configuration.
124
+ # The API Docker image installs and selects aiohttp. Python installs default to httpx.
125
+ # Leave the selection unset to use that environment's default.
126
+ # Other installs need the openai-aiohttp extra before selecting aiohttp.
127
+ # LLM_HTTP_ASYNC_TRANSPORT=aiohttp
128
+ # Connection limits, phase timeouts, and retries match OpenAI SDK 3.13.0.
129
+ # REQUEST_TIMEOUT sets the total API run deadline.
130
+ # The aiohttp adapter does not enforce the idle connection count or write timeout.
131
+ LLM_HTTP_MAX_CONNECTIONS=1000
132
+ LLM_HTTP_MAX_KEEPALIVE_CONNECTIONS=100
133
+ LLM_HTTP_KEEPALIVE_EXPIRY=5.0
134
+ LLM_HTTP_CONNECT_TIMEOUT=5.0
135
+ LLM_HTTP_READ_TIMEOUT=600.0
136
+ LLM_HTTP_WRITE_TIMEOUT=600.0
137
+ LLM_HTTP_POOL_TIMEOUT=600.0
138
+ LLM_HTTP_MAX_RETRIES=2
139
+ LLM_HTTP_SHUTDOWN_TIMEOUT=10.0
140
+ LLM_HTTP_MAX_POOLS=32
141
+
142
+ # Azure OpenAI settings
143
+ AZURE_OPENAI_API_KEY=
144
+ AZURE_OPENAI_ENDPOINT=
145
+ AZURE_OPENAI_API_VERSION=
146
+ AZURE_OPENAI_MODEL_NAME=
147
+ AZURE_OPENAI_DEPLOYMENT_NAME=
148
+
149
+ # Anthropic settings
150
+ ANTHROPIC_API_KEY=
151
+ ANTHROPIC_MODEL_NAME=
152
+
153
+ # Google Vertex AI settings
154
+ GOOGLE_VERTEXAI_MODEL_NAME=
155
+ GOOGLE_VERTEXAI_API_KEY=
156
+
157
+ # Google GenAI settings
158
+ GOOGLE_GENAI_MODEL_NAME=
159
+ GOOGLE_GENAI_API_KEY=
160
+
161
+ # Bedrock settings
162
+ AWS_BEDROCK_MODEL_NAME=
163
+
164
+ # DeepSeek settings
165
+ DEEPSEEK_MODEL_NAME=
166
+ DEEPSEEK_API_KEY=
167
+
168
+ # Ollama settings
169
+ OLLAMA_MODEL_NAME=
170
+ OLLAMA_BASE_URL=
171
+
172
+ # OpenRouter settings
173
+ OPENROUTER_API_KEY=
174
+
175
+ # Define model configurations. Use line continuation to improve readability.
176
+ # Use this value to select different models for agents or providers.
177
+ MODEL_CONFIGS={"router":{"provider":"azure_openai","model_name":"gpt-4o","openai_api_key":"your-azure-key-here","azure_endpoint":"https://your-resource.openai.azure.com/","openai_api_version":"2024-12-01-preview","deployment_name":"gpt-4o-deployment"},"assistant":{"provider":"azure_openai","model_name":"gpt-4o-mini","openai_api_key":"your-azure-key-here","azure_endpoint":"https://your-resource.openai.azure.com/","openai_api_version":"2024-12-01-preview","deployment_name":"gpt-4o-mini-deployment"},"analyzer":{"provider":"google_genai","model_name":"gemini-pro","api_key":"your-google-key-here","temperature":0.7}}
178
+ MODEL_CONFIGS_BASE64=
179
+ MODEL_CONFIGS_PATH=
180
+ # Optional Deep Agents blueprint: put its startup model under MODEL_CONFIGS.deep_agent.
181
+ # Example: {"deep_agent":{"provider":"openai","name":"your-model-name"}}
182
+ # Install the deepagents extra and select its AGENT_PATHS entry. See docs/deepagents.rst.
183
+
184
+ # Set the Amazon Bedrock Knowledge Base ID.
185
+ AWS_KB_ID=
186
+
187
+ # Detect and resume human-in-the-loop interruptions. The default is `true`.
188
+ # Set this value to `false` if no agent calls `interrupt()`.
189
+ CHECK_INTERRUPTS=
190
+
191
+ # Install the mcp extra to connect agents to MCP tools. See docs/mcp.rst.
192
+ MCP_SERVERS={}
193
+ # Empty selects all configured servers for the default agent.
194
+ MCP_AGENT_SERVERS={}
195
+ # Bound total tool discovery time during worker startup, in seconds.
196
+ MCP_DISCOVERY_TIMEOUT=30
197
+ # Example: read the full Authorization header from DOCUMENTS_MCP_AUTH.
198
+ # MCP_SERVERS={"docs":{"url":"https://mcp.example.com/mcp","headers_env":{"Authorization":"DOCUMENTS_MCP_AUTH"},"timeout":30,"tool_allowlist":["search"]}}
199
+ # MCP_AGENT_SERVERS={"create-agent":["docs"],"react-agent":["docs"]}
200
+ # DOCUMENTS_MCP_AUTH=
201
+ # For stdio, set transport, command, and args explicitly.
202
+ # MCP_SERVERS={"local":{"transport":"stdio","command":"python","args":["/app/mcp_server.py"]}}
203
+
204
+ # Set the maximum number of non-text attachments per message. Leave this value empty for no toolkit limit.
205
+ # The model provider still enforces its own model-specific limits.
206
+ MULTIMODAL_MAX_ATTACHMENTS=
207
+
208
+ # Set defaults for `ClearIntermediateToolCallsMiddleware`.
209
+ # Use `name_args` to collapse identical calls. Use `name` to collapse all calls to a tool.
210
+ # Set the number of recent results to keep for each key in earlier turns.
211
+ CLEAR_INTERMEDIATE_TOOL_CALLS=
212
+ CLEAR_INTERMEDIATE_TOOL_CALLS_BY=
213
+ CLEAR_INTERMEDIATE_TOOL_CALLS_KEEP_LAST_N=
214
+
215
+ # Opt-in real OpenAI tests. Export these values in the test environment.
216
+ # Tests do not load these values from .env. See docs/live_llm_testing.rst.
217
+ # LAT_TEST_OPENAI_API_KEY=
218
+ # LAT_TEST_OPENAI_MODEL=gpt-5.4
219
+ # LAT_TEST_OPENAI_MODEL_KWARGS={"reasoning_effort":"none"}
220
+ # LAT_TEST_LLM_CHILD is an internal gate set only by the test harness.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: Bug report
3
+ about: Create a report that helps us improve
4
+ title: ""
5
+ labels: "kind/bug, priority/p2"
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Describe the issue
10
+
11
+ Describe the bug. State what happened.
12
+
13
+ ### Expected behavior
14
+
15
+ State what you expected to happen.
16
+
17
+ ### Reproduction steps
18
+
19
+ Give the steps that reproduce the issue.
20
+
21
+ - Step 1
22
+ - Step 2
23
+
24
+ ### Reproducible example
25
+
26
+ Provide a minimal reproducible example.
27
+
28
+ ```python
29
+ # Add your code.
30
+ ```
31
+
32
+ ### Specifications
33
+
34
+ - Platform:
35
+ - Python Version:
36
+ - Package Version:
37
+ - `package1_name==x.y.z`
38
+ - `package2_name==x.y.z`
39
+
40
+ **Dockerfile (optional):**
41
+
42
+ ```dockerfile
43
+ # Add your Dockerfile.
44
+ ```
45
+
46
+ ## Possible solution (optional)
47
+
48
+ Describe a solution that you considered.
@@ -0,0 +1,44 @@
1
+ # PR Description
2
+
3
+ ## Summary
4
+
5
+ <!-- Explain why the changes are necessary. Keep the summary concise.
6
+ Add relevant links to Jira tickets, Slack discussions, or design documents. -->
7
+
8
+ ## Changes Made
9
+
10
+ <!-- Describe the changes in this pull request. Explain how the changes solve
11
+ the problem. Add important implementation details. -->
12
+
13
+ ## Checklist
14
+
15
+ - [ ] I added comments to code that is difficult to understand
16
+ - [ ] I made the related documentation changes
17
+ - [ ] My changes generate no new warnings
18
+ - [ ] I added tests that show that my fix or feature works
19
+ - [ ] Maintainers merged and published all dependent changes in downstream
20
+ modules
21
+
22
+ <!-- Optional Sections -->
23
+ <details>
24
+ <summary><strong>Expand for optional sections</strong></summary>
25
+
26
+ ## Screenshots
27
+
28
+ <!-- If the changes are visual, add screenshots or GIFs. These images help
29
+ reviewers understand the changes. -->
30
+
31
+ ## Related issues
32
+
33
+ <!-- Add links to related issues or bugs that this pull request addresses. -->
34
+
35
+ ## Testing instructions
36
+
37
+ <!-- Explain how reviewers can test the changes. -->
38
+
39
+ ## Special notes for your reviewer
40
+
41
+ <!-- Add specific instructions or important information for the reviewer. -->
42
+
43
+ </details>
44
+ <!-- End of Optional Sections -->
@@ -0,0 +1,35 @@
1
+ # Release notes template
2
+
3
+ Review the GitHub diff from the previous release. Use commit titles to create
4
+ the initial outline.
5
+
6
+ ### Upgrade Steps
7
+
8
+ - List each action that users must take after they update the dependency.
9
+ - Use pseudocode to show required code changes.
10
+ - Tell users to update when older releases have known problems.
11
+ - Leave this section empty when no actions are required.
12
+
13
+ ### Breaking Changes
14
+
15
+ - List all breaking changes. Leave this section empty when there are none.
16
+
17
+ ### New Features
18
+
19
+ - Describe the feature and when to use it.
20
+ - Add images when they help the reader.
21
+ - State all limitations, warnings, and beta status.
22
+
23
+ ### Bug Fixes
24
+
25
+ - List existing features that now work as intended.
26
+
27
+ ### Improvements
28
+
29
+ - List improvements to workflows, performance, logging, error messages, or user
30
+ experience.
31
+
32
+ ### Other Changes
33
+
34
+ - List changes that do not fit the other categories.
35
+ - Leave this section empty when possible.
@@ -0,0 +1,25 @@
1
+ codecov:
2
+ require_ci_to_pass: true
3
+ notify:
4
+ # CI uploads one complete report from Python 3.13.
5
+ after_n_builds: 1
6
+ wait_for_ci: true
7
+ notify_error: true
8
+
9
+ coverage:
10
+ precision: 1
11
+ status:
12
+ # Fail if total coverage falls by more than 2 percentage points.
13
+ project:
14
+ default:
15
+ target: auto
16
+ threshold: 2%
17
+ if_not_found: failure
18
+ # Report patch coverage without enforcing it.
19
+ patch:
20
+ default:
21
+ informational: true
22
+ comment:
23
+ require_changes: true
24
+ after_n_builds: 1
25
+ hide_project_coverage: false
@@ -0,0 +1,125 @@
1
+ version: 2
2
+
3
+ updates:
4
+ - package-ecosystem: "github-actions"
5
+ directory: "/"
6
+ schedule:
7
+ interval: "monthly"
8
+ time: "09:00"
9
+ timezone: "Europe/Kyiv"
10
+ cooldown:
11
+ default-days: 7
12
+ groups:
13
+ actions-minor-and-patch:
14
+ patterns:
15
+ - "*"
16
+ update-types:
17
+ - "minor"
18
+ - "patch"
19
+ open-pull-requests-limit: 2
20
+ labels:
21
+ - "dependencies"
22
+ - "github-actions"
23
+
24
+ # Use the uv updater to keep pyproject.toml and uv.lock consistent.
25
+ - package-ecosystem: "uv"
26
+ directory: "/"
27
+ schedule:
28
+ interval: "weekly"
29
+ day: "tuesday"
30
+ time: "09:00"
31
+ timezone: "Europe/Kyiv"
32
+ cooldown:
33
+ default-days: 7
34
+ groups:
35
+ # Keep security fixes separate from routine updates.
36
+ python-security:
37
+ applies-to: "security-updates"
38
+ patterns:
39
+ - "*"
40
+ update-types:
41
+ - "minor"
42
+ - "patch"
43
+ # Review major upgrades separately.
44
+ agent-framework:
45
+ patterns:
46
+ - "langchain*"
47
+ - "langgraph*"
48
+ - "deepagents"
49
+ - "fastmcp"
50
+ - "mcp"
51
+ - "openai"
52
+ - "anthropic"
53
+ - "google-genai"
54
+ update-types:
55
+ - "minor"
56
+ - "patch"
57
+ observability:
58
+ patterns:
59
+ - "langfuse"
60
+ - "langsmith"
61
+ - "opentelemetry*"
62
+ update-types:
63
+ - "minor"
64
+ - "patch"
65
+ development-tools:
66
+ patterns:
67
+ - "pytest*"
68
+ - "coverage"
69
+ - "pre-commit"
70
+ - "ruff"
71
+ - "sphinx*"
72
+ update-types:
73
+ - "minor"
74
+ - "patch"
75
+ python-minor-and-patch:
76
+ patterns:
77
+ - "*"
78
+ update-types:
79
+ - "minor"
80
+ - "patch"
81
+ open-pull-requests-limit: 5
82
+ labels:
83
+ - "dependencies"
84
+ - "python"
85
+
86
+ - package-ecosystem: "docker"
87
+ directories:
88
+ - "/docker/api"
89
+ - "/docker/app"
90
+ schedule:
91
+ interval: "weekly"
92
+ day: "tuesday"
93
+ time: "09:30"
94
+ timezone: "Europe/Kyiv"
95
+ cooldown:
96
+ default-days: 7
97
+ groups:
98
+ # Keep both application images on the same base image versions.
99
+ application-images:
100
+ patterns:
101
+ - "*"
102
+ update-types:
103
+ - "minor"
104
+ - "patch"
105
+ open-pull-requests-limit: 1
106
+ labels:
107
+ - "dependencies"
108
+
109
+ - package-ecosystem: "pre-commit"
110
+ directory: "/"
111
+ schedule:
112
+ interval: "monthly"
113
+ time: "09:30"
114
+ timezone: "Europe/Kyiv"
115
+ cooldown:
116
+ default-days: 7
117
+ groups:
118
+ # Group hook revisions without a semantic-version filter.
119
+ # Review major tool changes in this PR. CI runs the configured hooks.
120
+ hooks:
121
+ patterns:
122
+ - "*"
123
+ open-pull-requests-limit: 1
124
+ labels:
125
+ - "dependencies"
@@ -0,0 +1,22 @@
1
+ """Verify that the release tag matches the package version."""
2
+
3
+ import os
4
+ import tomllib
5
+ from pathlib import Path
6
+
7
+
8
+ PYPROJECT_PATH = Path(__file__).resolve().parents[2] / "pyproject.toml"
9
+
10
+
11
+ def main() -> None:
12
+ """Compare RELEASE_TAG with the project version."""
13
+ with PYPROJECT_PATH.open("rb") as pyproject_file:
14
+ project_version = tomllib.load(pyproject_file)["project"]["version"]
15
+
16
+ release_tag = os.environ["RELEASE_TAG"]
17
+ if release_tag.removeprefix("v") != project_version:
18
+ raise SystemExit("The release tag does not match the package version.")
19
+
20
+
21
+ if __name__ == "__main__":
22
+ main()
@@ -0,0 +1,65 @@
1
+ name: Langfuse live server compatibility
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ permissions:
7
+ contents: read
8
+
9
+ concurrency:
10
+ group: langfuse-live-${{ 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: 10
18
+ environment: langfuse-v${{ matrix.server }}
19
+ strategy:
20
+ fail-fast: false
21
+ matrix:
22
+ include:
23
+ - server: 2
24
+ sdk: "2.60.10"
25
+ extra: langfuse-v2
26
+ - server: 3
27
+ sdk: "2.60.10"
28
+ extra: langfuse-v2
29
+ - server: 3
30
+ sdk: "3.15.0"
31
+ extra: langfuse-v3
32
+ - server: 3
33
+ sdk: "4.15.2"
34
+ extra: langfuse-v4
35
+ - server: 4
36
+ sdk: "4.15.2"
37
+ extra: langfuse-v4
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.12"
45
+ - uses: astral-sh/setup-uv@v10.1.0
46
+ with:
47
+ version: "0.12.1"
48
+ - name: Install the selected SDK and test dependencies
49
+ run: |
50
+ uv venv .venv-live
51
+ uv pip install --python .venv-live/bin/python \
52
+ '.[${{ matrix.extra }},openai,deepagents]' 'langfuse==${{ matrix.sdk }}' \
53
+ pytest pytest-asyncio pytest-env
54
+ uv pip check --python .venv-live/bin/python
55
+ - name:
56
+ Verify prompts, native and Deep Agents traces, subagents, and feedback
57
+ run: >-
58
+ uv run --no-project --python .venv-live/bin/python python -m pytest
59
+ tests/integration/test_langfuse_live.py --run-langfuse -q
60
+ env:
61
+ LAT_TEST_LANGFUSE_BASE_URL: ${{ vars.LANGFUSE_TEST_URL }}
62
+ LAT_TEST_LANGFUSE_SERVER_VERSION: ${{ vars.LANGFUSE_TEST_VERSION }}
63
+ LAT_TEST_LANGFUSE_PUBLIC_KEY: ${{ secrets.LANGFUSE_TEST_PUBLIC_KEY }}
64
+ LAT_TEST_LANGFUSE_SECRET_KEY: ${{ secrets.LANGFUSE_TEST_SECRET_KEY }}
65
+ LAT_TEST_LANGFUSE_TIMEOUT: "180"