sycommon-python-lib 0.2.5a34__tar.gz → 0.2.5a35__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 (294) hide show
  1. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/PKG-INFO +4 -4
  2. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/pyproject.toml +4 -4
  3. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/deep_agent.py +13 -20
  4. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/mcp/tool_loader.py +25 -0
  5. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/multi_agent_team.py +4 -0
  6. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/file_ops.py +4 -4
  7. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/summarization_utils.py +103 -20
  8. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/tool_result_truncation.py +40 -0
  9. sycommon_python_lib-0.2.5a35/src/sycommon/tests/test_summary_leak_e2e.py +872 -0
  10. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/PKG-INFO +4 -4
  11. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/SOURCES.txt +1 -0
  12. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/requires.txt +3 -3
  13. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/README.md +0 -0
  14. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/setup.cfg +0 -0
  15. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/__init__.py +0 -0
  16. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/cli.py +0 -0
  17. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/core/__init__.py +0 -0
  18. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/core/console.py +0 -0
  19. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/core/models.py +0 -0
  20. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/core/project.py +0 -0
  21. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/core/utils.py +0 -0
  22. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/__init__.py +0 -0
  23. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/README.md.tpl +0 -0
  24. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/__init__.py +0 -0
  25. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/api/query.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/app.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  38. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  39. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  40. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/db/service.py.tpl +0 -0
  41. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  42. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/model/parse.py.tpl +0 -0
  43. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  44. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  45. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/.env.tpl +0 -0
  46. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/.gitignore.tpl +0 -0
  47. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/Dockerfile.tpl +0 -0
  48. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/README.md.tpl +0 -0
  49. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/__init__.py +0 -0
  50. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/app.py.tpl +0 -0
  51. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/app.yaml.tpl +0 -0
  52. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  53. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/client/__init__.py.tpl +0 -0
  54. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/model/__init__.py.tpl +0 -0
  55. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/model/file_info.py.tpl +0 -0
  56. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/base/requirements.txt.tpl +0 -0
  57. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/README.md.tpl +0 -0
  58. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/__init__.py +0 -0
  59. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/app.py.tpl +0 -0
  60. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
  61. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/commands/hello.py.tpl +0 -0
  62. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/pyproject.toml.tpl +0 -0
  63. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
  64. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/README.md.tpl +0 -0
  65. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/__init__.py +0 -0
  66. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/api/__init__.py.tpl +0 -0
  67. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/api/echo.py.tpl +0 -0
  68. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  69. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  70. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/app.py.tpl +0 -0
  71. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/client/__init__.py.tpl +0 -0
  72. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/model/__init__.py.tpl +0 -0
  73. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  74. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/command/templates/web/tools/mq.py.tpl +0 -0
  75. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/nexus/__init__.py +0 -0
  76. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/__init__.py +0 -0
  77. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/__main__.py +0 -0
  78. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/agents/__init__.py +0 -0
  79. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/agents/factory.py +0 -0
  80. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/agents/prompts.py +0 -0
  81. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/__init__.py +0 -0
  82. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/browser.py +0 -0
  83. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/__init__.py +0 -0
  84. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/console.py +0 -0
  85. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/dom.py +0 -0
  86. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/network.py +0 -0
  87. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  88. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/performance.py +0 -0
  89. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  90. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/client.py +0 -0
  91. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/protocol.py +0 -0
  92. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cdp/repl.py +0 -0
  93. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/cli.py +0 -0
  94. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/__init__.py +0 -0
  95. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/cdp_cmd.py +0 -0
  96. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/chat_cmd.py +0 -0
  97. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/create_cmd.py +0 -0
  98. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/evaluate_cmd.py +0 -0
  99. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/init_cmd.py +0 -0
  100. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/memory_cmd.py +0 -0
  101. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/resume_cmd.py +0 -0
  102. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/rollback_cmd.py +0 -0
  103. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/commands/run_cmd.py +0 -0
  104. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/__init__.py +0 -0
  105. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/backend.py +0 -0
  106. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/config.py +0 -0
  107. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/display.py +0 -0
  108. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/git_integration.py +0 -0
  109. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/llm.py +0 -0
  110. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/core/state.py +0 -0
  111. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/evaluate/__init__.py +0 -0
  112. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/evaluate/api_evaluator.py +0 -0
  113. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/__init__.py +0 -0
  114. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/compressor.py +0 -0
  115. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/full.py +0 -0
  116. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/hot.py +0 -0
  117. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/manager.py +0 -0
  118. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/memory/warm.py +0 -0
  119. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/mode/__init__.py +0 -0
  120. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/mode/create.py +0 -0
  121. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/mode/optimize.py +0 -0
  122. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/models/__init__.py +0 -0
  123. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/models/config_models.py +0 -0
  124. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/__init__.py +0 -0
  125. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/baseline_tests.py +0 -0
  126. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/checkpoint.py +0 -0
  127. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/convergence.py +0 -0
  128. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/diagnosis.py +0 -0
  129. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/engine.py +0 -0
  130. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/environment.py +0 -0
  131. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/experience.py +0 -0
  132. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/harness_prompts.py +0 -0
  133. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/history.py +0 -0
  134. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/optimization_logger.py +0 -0
  135. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/pre_validation.py +0 -0
  136. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/reward.py +0 -0
  137. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/strategy_bandit.py +0 -0
  138. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/strategy_generator.py +0 -0
  139. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/rl/strategy_prompts.py +0 -0
  140. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycli/skills/__init__.py +0 -0
  141. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/__init__.py +0 -0
  142. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/__init__.py +0 -0
  143. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/agent_manager.py +0 -0
  144. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/chat_events.py +0 -0
  145. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/mcp/__init__.py +0 -0
  146. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/mcp/models.py +0 -0
  147. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/__init__.py +0 -0
  148. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
  149. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
  150. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  151. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  152. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/agent/sandbox/session.py +0 -0
  153. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/__init__.py +0 -0
  154. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/ldap_service.py +0 -0
  155. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/oa_cache.py +0 -0
  156. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/oa_crypto.py +0 -0
  157. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/oa_service.py +0 -0
  158. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  159. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/Config.py +0 -0
  160. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/DatabaseConfig.py +0 -0
  161. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  162. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/EmbeddingConfig.py +0 -0
  163. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/LLMConfig.py +0 -0
  164. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/LangfuseConfig.py +0 -0
  165. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/MQConfig.py +0 -0
  166. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/PgConfig.py +0 -0
  167. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/RedisConfig.py +0 -0
  168. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/RerankerConfig.py +0 -0
  169. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/SentryConfig.py +0 -0
  170. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/XxlJobConfig.py +0 -0
  171. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/config/__init__.py +0 -0
  172. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/async_base_db_service.py +0 -0
  173. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/async_database_service.py +0 -0
  174. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/base_db_service.py +0 -0
  175. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/database_service.py +0 -0
  176. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/elasticsearch_service.py +0 -0
  177. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/pg_checkpoint_service.py +0 -0
  178. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/redis_service.py +0 -0
  179. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/database/token_usage_db_service.py +0 -0
  180. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/health/__init__.py +0 -0
  181. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/health/health_check.py +0 -0
  182. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/health/metrics.py +0 -0
  183. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/health/ping.py +0 -0
  184. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/heartbeat_process/__init__.py +0 -0
  185. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  186. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  187. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  188. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/__init__.py +0 -0
  189. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/embedding.py +0 -0
  190. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/get_llm.py +0 -0
  191. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/llm_logger.py +0 -0
  192. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/llm_tokens.py +0 -0
  193. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  194. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  195. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  196. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/struct_token.py +0 -0
  197. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/sy_langfuse.py +0 -0
  198. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  199. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
  200. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/token_usage_es_service.py +0 -0
  201. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  202. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/token_utils.py +0 -0
  203. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/llm/usage_token.py +0 -0
  204. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/__init__.py +0 -0
  205. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/async_sql_logger.py +0 -0
  206. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/kafka_log.py +0 -0
  207. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/logger_levels.py +0 -0
  208. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/logger_wrapper.py +0 -0
  209. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/process_logger.py +0 -0
  210. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/logging/sql_logger.py +0 -0
  211. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/mcp_server/__init__.py +0 -0
  212. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/mcp_server/server.py +0 -0
  213. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/__init__.py +0 -0
  214. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/context.py +0 -0
  215. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/cors.py +0 -0
  216. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/docs.py +0 -0
  217. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/exception.py +0 -0
  218. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/middleware.py +0 -0
  219. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/monitor_memory.py +0 -0
  220. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/mq.py +0 -0
  221. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/sandbox.py +0 -0
  222. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/timeout.py +0 -0
  223. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/token_tracking.py +0 -0
  224. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/middleware/traceid.py +0 -0
  225. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/__init__.py +0 -0
  226. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/base_http.py +0 -0
  227. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/log.py +0 -0
  228. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/mcp_server_config.py +0 -0
  229. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/mqlistener_config.py +0 -0
  230. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/mqmsg_model.py +0 -0
  231. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/mqsend_config.py +0 -0
  232. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/sandbox.py +0 -0
  233. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/sso_user.py +0 -0
  234. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/token_usage.py +0 -0
  235. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/token_usage_mysql.py +0 -0
  236. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/models/xxljob_handler_config.py +0 -0
  237. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/notice/__init__.py +0 -0
  238. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  239. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/notice/wecom_message.py +0 -0
  240. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  241. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  242. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  243. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  244. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  245. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  246. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  247. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  248. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  249. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/sentry/__init__.py +0 -0
  250. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/sentry/sy_sentry.py +0 -0
  251. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/services.py +0 -0
  252. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/sse/__init__.py +0 -0
  253. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/sse/event.py +0 -0
  254. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/sse/sse.py +0 -0
  255. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/__init__.py +0 -0
  256. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/example.py +0 -0
  257. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/example2.py +0 -0
  258. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/feign.py +0 -0
  259. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/feign_client.py +0 -0
  260. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_client_base.py +0 -0
  261. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  262. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  263. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_service.py +0 -0
  264. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  265. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  266. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/synacos/param.py +0 -0
  267. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/deep_agent_server.py +0 -0
  268. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_consumer_recovery.py +0 -0
  269. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_deep_agent.py +0 -0
  270. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
  271. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_email.py +0 -0
  272. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_encoding_cache.py +0 -0
  273. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_mcp_server.py +0 -0
  274. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
  275. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_mq.py +0 -0
  276. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_oa_login.py +0 -0
  277. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_real_summarization.py +0 -0
  278. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_summarization_config.py +0 -0
  279. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tests/test_summarization_real.py +0 -0
  280. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/__init__.py +0 -0
  281. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/async_utils.py +0 -0
  282. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/docs.py +0 -0
  283. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/env.py +0 -0
  284. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/merge_headers.py +0 -0
  285. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/snowflake.py +0 -0
  286. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/syemail.py +0 -0
  287. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/tools/timing.py +0 -0
  288. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/xxljob/__init__.py +0 -0
  289. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon/xxljob/xxljob_service.py +0 -0
  290. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  291. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  292. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  293. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/tests/test_asyncio_logging.py +0 -0
  294. {sycommon_python_lib-0.2.5a34 → sycommon_python_lib-0.2.5a35}/tests/test_sycli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.5a34
3
+ Version: 0.2.5a35
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -9,16 +9,16 @@ Requires-Dist: aiohttp==3.13.5
9
9
  Requires-Dist: aiomysql==0.3.2
10
10
  Requires-Dist: anyio==4.13.0
11
11
  Requires-Dist: decorator==5.3.1
12
- Requires-Dist: deepagents==0.6.7
12
+ Requires-Dist: deepagents==0.6.8
13
13
  Requires-Dist: elasticsearch==9.4.1
14
14
  Requires-Dist: fastapi==0.136.3
15
15
  Requires-Dist: jinja2==3.1.6
16
16
  Requires-Dist: kafka-python==2.3.1
17
- Requires-Dist: langchain==1.3.2
17
+ Requires-Dist: langchain==1.3.4
18
18
  Requires-Dist: langchain-core==1.4.0
19
19
  Requires-Dist: langchain-openai==1.2.2
20
20
  Requires-Dist: langfuse==4.7.1
21
- Requires-Dist: langgraph==1.2.2
21
+ Requires-Dist: langgraph==1.2.4
22
22
  Requires-Dist: langgraph-checkpoint-postgres==3.1.0
23
23
  Requires-Dist: langgraph-checkpoint-redis==0.4.1
24
24
  Requires-Dist: ldap3==2.9.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.2.5a34"
3
+ version = "0.2.5a35"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -10,16 +10,16 @@ dependencies = [
10
10
  "aiomysql==0.3.2",
11
11
  "anyio==4.13.0",
12
12
  "decorator==5.3.1",
13
- "deepagents==0.6.7",
13
+ "deepagents==0.6.8",
14
14
  "elasticsearch==9.4.1",
15
15
  "fastapi==0.136.3",
16
16
  "jinja2==3.1.6",
17
17
  "kafka-python==2.3.1",
18
- "langchain==1.3.2",
18
+ "langchain==1.3.4",
19
19
  "langchain-core==1.4.0",
20
20
  "langchain-openai==1.2.2",
21
21
  "langfuse==4.7.1",
22
- "langgraph==1.2.2",
22
+ "langgraph==1.2.4",
23
23
  "langgraph-checkpoint-postgres==3.1.0",
24
24
  "langgraph-checkpoint-redis==0.4.1",
25
25
  "ldap3==2.9.1",
@@ -201,34 +201,27 @@ def _patch_agent_streaming(agent):
201
201
  model_, effective_response_format = _get_bound_model(request)
202
202
  messages = request.messages
203
203
 
204
- # 🔑 根治摘要泄漏:将 lc_source="summarization" 的 HumanMessage 转为 SystemMessage
205
- # 根因:SummarizationMiddleware 将摘要注入为 HumanMessage,模型有时会将摘要
206
- # 当作用户输入来回复(复述摘要内容),导致 "SESSION INTENT" 等泄漏到前端。
207
- # 修复:在模型调用前,把摘要 HumanMessage 转换为 SystemMessage,
208
- # 这样模型会将其视为系统上下文而非需要回复的用户消息。
209
- _summary_parts = []
204
+ # 🔑 根治摘要泄漏:将 lc_source="summarization" 的 HumanMessage 从模型输入中移除
205
+ # 根因分析(2026-06-06 端到端测试确认):
206
+ # 1. SummarizationMiddleware 将摘要(可达 40K+ 字符)注入为 HumanMessage
207
+ # 2. 即使转为 SystemMessage + <system_directive> 指令,模型仍会将其作为
208
+ # AIMessageChunk 直接回显(Round 20 泄漏了 40K 字符摘要原文)
209
+ # 3. LangGraph StreamMessagesHandler._find_and_emit_messages 会递归遍历
210
+ # Command.update 中的 _summarization_event,将 summary_message HumanMessage
211
+ # 发射到 stream_mode="messages" 流中(deep_agent.py:624 的 lc_source 过滤
212
+ # 能捕获 HumanMessage,但模型自己输出的 AIMessageChunk 无法过滤)
213
+ # 修复策略:从模型输入中完全移除摘要 HumanMessage,不注入任何形式的摘要内容
214
+ # 摘要仍保留在 LangGraph _summarization_event 状态中,供后续压缩轮次使用
210
215
  _filtered_messages = []
211
216
  for _msg in messages:
212
217
  if (isinstance(_msg, HumanMessage)
213
218
  and getattr(_msg, "additional_kwargs", {}).get("lc_source") == "summarization"):
214
- _summary_parts.append(_msg.content)
215
- SYLogger.debug("[DeepAgent] 摘要 HumanMessage → SystemMessage 转换")
219
+ SYLogger.debug("[DeepAgent] 摘要 HumanMessage 已从模型输入中移除(防止回显泄漏)")
216
220
  else:
217
221
  _filtered_messages.append(_msg)
218
222
  messages = _filtered_messages
219
223
 
220
- if _summary_parts:
221
- from langchain_core.messages import SystemMessage as _SysMsg
222
- _summary_system = _SysMsg(
223
- content="[系统注入的对话上下文摘要,仅供你理解历史,不要复述或提及给用户]\n\n"
224
- + "\n\n".join(_summary_parts)
225
- )
226
- if request.system_message:
227
- messages = [_summary_system, request.system_message, *messages]
228
- else:
229
- messages = [_summary_system, *messages]
230
- SYLogger.debug(f"[DeepAgent] 已将 {len(_summary_parts)} 条摘要转为 SystemMessage")
231
- elif request.system_message:
224
+ if request.system_message:
232
225
  messages = [request.system_message, *messages]
233
226
 
234
227
  # 动态调整 max_tokens,防止 input + max_output 超过上下文窗口
@@ -27,6 +27,27 @@ def sanitize_name(name: str) -> str:
27
27
  return sanitized
28
28
 
29
29
 
30
+ def _contains_auth_error(err_msg: str) -> bool:
31
+ """检查错误信息中是否包含认证相关关键词"""
32
+ auth_keywords = [
33
+ "401", "unauthorized", "token expired", "authentication failed",
34
+ "440", "login timeout", "403", "forbidden",
35
+ "认证失败", "登录过期", "token无效", "token过期",
36
+ "syt_token", "SYT_TOKEN",
37
+ ]
38
+ msg_lower = err_msg.lower()
39
+ return any(kw.lower() in msg_lower for kw in auth_keywords)
40
+
41
+
42
+ def _auth_error_hint() -> str:
43
+ """返回认证错误时的 authorize 工具调用提示"""
44
+ return (
45
+ "\n\n⚠️ **检测到认证错误**:这可能是 SYT_TOKEN 过期或未设置导致的。"
46
+ "请立即调用 `authorize` 工具(传入失败原因和待重试的命令),"
47
+ "让用户重新授权后再自动重试。不要只是告知用户有问题。"
48
+ )
49
+
50
+
30
51
  def wrap_tool_with_error_handler(
31
52
  tool: BaseTool,
32
53
  server_config_id: str,
@@ -97,6 +118,10 @@ def wrap_tool_with_error_handler(
97
118
  f"可能原因: MCP 服务器未启动、网络不可达或连接超时。\n"
98
119
  f"请尝试不使用该工具继续完成任务,或联系管理员检查 MCP 服务 '{server_name}'。"
99
120
  )
121
+
122
+ # 检测认证错误,追加 authorize 工具提示
123
+ if _contains_auth_error(err_msg):
124
+ friendly_msg += _auth_error_hint()
100
125
  if is_content_and_artifact:
101
126
  return friendly_msg, None
102
127
  return [friendly_msg]
@@ -408,6 +408,10 @@ class MultiAgentTeam:
408
408
  parent_agent_map.pop(tool_call_id, None)
409
409
 
410
410
  elif msg_type == "HumanMessage":
411
+ # 🔑 跳过上下文压缩产生的摘要消息,不发送给前端
412
+ if getattr(msg, "additional_kwargs", {}).get("lc_source") == "summarization":
413
+ SYLogger.debug("[MultiAgentTeam] 跳过摘要消息 (lc_source=summarization)")
414
+ continue
411
415
  if ai_chunk_buffer:
412
416
  SYLogger.debug(f"[ai_message] {repr(ai_chunk_buffer[:100])}...")
413
417
  ai_chunk_buffer = ""
@@ -421,13 +421,13 @@ class FileOperationsMixin:
421
421
 
422
422
  # ============== 搜索 ==============
423
423
 
424
- def glob(self: "HTTPSandboxBackend", pattern: str, path: str = "/") -> GlobResult:
424
+ def glob(self: "HTTPSandboxBackend", pattern: str, path: str | None = None) -> GlobResult:
425
425
  """glob 搜索文件"""
426
426
  try:
427
427
  self._ensure_synced_sync()
428
428
  result = self._post_sync(f"{SANDBOX_API_PREFIX}/glob", {
429
429
  "pattern": pattern,
430
- "path": path,
430
+ "path": path or "/",
431
431
  "user_id": self.user_id
432
432
  })
433
433
  matches = [FileInfo(**item) for item in result]
@@ -436,13 +436,13 @@ class FileOperationsMixin:
436
436
  SYLogger.error(f"[Sandbox] glob 搜索失败: {e}")
437
437
  return GlobResult(error=str(e))
438
438
 
439
- async def aglob(self: "HTTPSandboxBackend", pattern: str, path: str = "/", *, timeout: int = None) -> GlobResult:
439
+ async def aglob(self: "HTTPSandboxBackend", pattern: str, path: str | None = None, *, timeout: int = None) -> GlobResult:
440
440
  """异步 glob 搜索文件"""
441
441
  try:
442
442
  await self._ensure_synced_async()
443
443
  result = await self._post_async_with_failover(f"{SANDBOX_API_PREFIX}/glob", {
444
444
  "pattern": pattern,
445
- "path": path,
445
+ "path": path or "/",
446
446
  "user_id": self.user_id
447
447
  }, timeout=timeout)
448
448
  matches = [FileInfo(**item) for item in result]
@@ -26,7 +26,7 @@ if TYPE_CHECKING:
26
26
  logger = logging.getLogger(__name__)
27
27
 
28
28
  # 中文摘要提示词,替代 langchain DEFAULT_SUMMARY_PROMPT
29
- # 使用自然段落格式,避免 SESSION INTENT / ARTIFACTS / NEXT STEPS 等英文标题泄漏到用户输出
29
+ # 使用纯自然段落格式(无标题/小标题/列表标记),避免结构化标题被模型回显到用户输出
30
30
  CUSTOM_SUMMARY_PROMPT = """<role>
31
31
  上下文提取助手
32
32
  </role>
@@ -44,19 +44,15 @@ CUSTOM_SUMMARY_PROMPT = """<role>
44
44
  下面的对话历史将被你在此步骤中提取的上下文替换。
45
45
  你需要确保不会重复任何已完成的操作,因此你从对话历史中提取的上下文应集中于对整体目标最重要的信息。
46
46
 
47
- 请用以下结构提取上下文,每个部分用中文自然段落描述:
47
+ 请用纯自然段落格式提取上下文。不要使用任何标题、小标题、编号列表或【】括号标记。
48
+ 用连贯的叙述方式,在段落中自然地包含以下四类信息:
48
49
 
49
- 【用户意图】
50
- 简要描述用户的主要目标或请求,确保足够完整以理解整个会话的目的。
50
+ 第一段:用户的整体目标、主要请求和意图。
51
+ 第二段:对话中做出的关键决策、重要结论、选择的策略及原因,以及被拒绝的选项。
52
+ 第三段:涉及的重要文件路径、创建或修改过的资源。
53
+ 第四段:仍需完成的待办事项和接下来的步骤。
51
54
 
52
- 【关键上下文】
53
- 提取并记录对话历史中所有最重要的上下文信息,包括重要选择、结论或策略,以及关键决策背后的推理。记录被拒绝的选项及其原因。
54
-
55
- 【相关文件】
56
- 列出在本次对话中创建、修改或访问的文件、资源或工件。对于文件修改,列出具体文件路径并简要描述每个文件的变更。
57
-
58
- 【待办事项】
59
- 列出为达成用户意图仍需完成的具体任务,以及接下来应该做什么。
55
+ 重要:每段直接以内容开始,不要添加「用户意图」「关键上下文」等任何前缀标签。
60
56
  </instructions>
61
57
 
62
58
  用户将向你发送完整的消息历史,你需要从中提取上下文以创建替换内容。请仔细阅读所有内容,并深入思考哪些信息对整体目标最重要且应该被保存:
@@ -184,22 +180,109 @@ _orig_build_new_messages = _OrigDeepAgentsSumm._build_new_messages_with_path
184
180
 
185
181
 
186
182
  def _patched_build_new_messages(self, summary, file_path):
183
+ content = (
184
+ "<internal_context_data>\n"
185
+ "IMPORTANT - INTERNAL SYSTEM DATA - DO NOT OUTPUT, PARAPHRASE, OR REFERENCE "
186
+ "ANY PART OF THIS BLOCK IN YOUR RESPONSE. "
187
+ "Use this information only as internal background knowledge to understand context.\n\n"
188
+ )
187
189
  if file_path is not None:
188
- content = (
189
- "[系统内部消息 - 仅供你理解上下文,绝对禁止将此消息或摘要内容展示、复述或提及给用户]\n\n"
190
- "你正在一个已经被压缩的对话中继续回复用户。\n\n"
191
- f"完整的对话历史已保存到 {file_path},如需查阅细节可以读取该文件。\n\n"
192
- "以下是压缩后的对话摘要(直接基于此摘要理解上下文并正常回复用户,不要提及摘要的存在):\n\n"
193
- f"<summary>\n{summary}\n</summary>"
190
+ content += (
191
+ f"Previous conversation history archived at: {file_path}\n\n"
194
192
  )
195
- else:
196
- content = f"以下是到目前为止的对话摘要:\n\n{summary}"
193
+ content += (
194
+ f"<compressed_history>\n{summary}\n</compressed_history>\n"
195
+ "</internal_context_data>"
196
+ )
197
197
  from langchain_core.messages import HumanMessage
198
198
  return [HumanMessage(content=content, additional_kwargs={"lc_source": "summarization"})]
199
199
 
200
200
 
201
201
  _OrigDeepAgentsSumm._build_new_messages_with_path = _patched_build_new_messages
202
202
 
203
+ # monkey-patch:覆盖 create_summarization_middleware,强制注入中文 summary_prompt
204
+ # deepagents graph.py:608 的 create_deep_agent 会自动调用此函数注入自动压缩 middleware,
205
+ # 但默认不传 summary_prompt,导致用英文 DEFAULT_SUMMARY_PROMPT(含 SESSION INTENT 等标题)。
206
+ def _patched_create_summarization_middleware(model, backend):
207
+ defaults = _patched_compute_summarization_defaults(model)
208
+ return _summ_mod.SummarizationMiddleware(
209
+ model=model,
210
+ backend=backend,
211
+ trigger=defaults["trigger"],
212
+ keep=defaults["keep"],
213
+ trim_tokens_to_summarize=None,
214
+ truncate_args_settings=defaults["truncate_args_settings"],
215
+ summary_prompt=CUSTOM_SUMMARY_PROMPT,
216
+ )
217
+
218
+
219
+ _summ_mod.create_summarization_middleware = _patched_create_summarization_middleware
220
+ # graph.py 在模块加载时 from import 了旧引用,需要同步 patch
221
+ try:
222
+ import deepagents.graph as _graph_mod
223
+ _graph_mod.create_summarization_middleware = _patched_create_summarization_middleware
224
+ except ImportError:
225
+ pass
226
+
227
+ # ==================== 防御性补丁 ====================
228
+ # 以下补丁确保即使某些代码路径绕过了 _patched_create_summarization_middleware,
229
+ # DEFAULT_SUMMARY_PROMPT 的英文标题(SESSION INTENT/SUMMARY/ARTIFACTS/NEXT STEPS)
230
+ # 也不会出现在模型生成的摘要中。
231
+
232
+ # 防御 1: 替换模块级 DEFAULT_SUMMARY_PROMPT 常量
233
+ # 虽然不能改变 __init__ 的默认参数(Python 在定义时求值),
234
+ # 但可以防止任何运行时读取 DEFAULT_SUMMARY_PROMPT 的代码拿到英文版。
235
+ _summ_mod.DEFAULT_SUMMARY_PROMPT = CUSTOM_SUMMARY_PROMPT
236
+ try:
237
+ import langchain.agents.middleware.summarization as _lc_summ_mod
238
+ _lc_summ_mod.DEFAULT_SUMMARY_PROMPT = CUSTOM_SUMMARY_PROMPT
239
+ except ImportError:
240
+ pass
241
+
242
+ # 防御 2: 包装 __init__,强制 summary_prompt 默认值为 CUSTOM_SUMMARY_PROMPT
243
+ # 即使调用方不传 summary_prompt,也会使用中文版。
244
+ _orig_da_init = _OrigDeepAgentsSumm.__init__
245
+
246
+
247
+ def _patched_da_init(self, model, *, backend, trigger=None,
248
+ keep=("messages", 20),
249
+ token_counter=count_tokens_approximately,
250
+ summary_prompt=CUSTOM_SUMMARY_PROMPT, # ← 关键:改为中文默认值
251
+ trim_tokens_to_summarize=4000,
252
+ truncate_args_settings=None, **kwargs):
253
+ _orig_da_init(self, model, backend=backend, trigger=trigger, keep=keep,
254
+ token_counter=token_counter, summary_prompt=summary_prompt,
255
+ trim_tokens_to_summarize=trim_tokens_to_summarize,
256
+ truncate_args_settings=truncate_args_settings, **kwargs)
257
+
258
+
259
+ _OrigDeepAgentsSumm.__init__ = _patched_da_init
260
+
261
+ # 防御 3: patch create_summarization_tool_middleware(deepagents 同模块本地调用绕过)
262
+ # deepagents summarization.py 中 create_summarization_tool_middleware 内部调用
263
+ # create_summarization_middleware 用的是同模块本地名称绑定,
264
+ # 不会走 _summ_mod.create_summarization_middleware 的模块属性替换。
265
+ if hasattr(_summ_mod, 'create_summarization_tool_middleware'):
266
+ _orig_create_tool_mw = _summ_mod.create_summarization_tool_middleware
267
+
268
+ def _patched_create_summarization_tool_middleware(model, backend, *, system_prompt=None):
269
+ """强制使用 CUSTOM_SUMMARY_PROMPT 创建 SummarizationToolMiddleware。"""
270
+ defaults = _patched_compute_summarization_defaults(model)
271
+ summ = _summ_mod.SummarizationMiddleware(
272
+ model=model,
273
+ backend=backend,
274
+ trigger=defaults["trigger"],
275
+ keep=defaults["keep"],
276
+ summary_prompt=CUSTOM_SUMMARY_PROMPT,
277
+ trim_tokens_to_summarize=None,
278
+ truncate_args_settings=defaults["truncate_args_settings"],
279
+ )
280
+ return _summ_mod.SummarizationToolMiddleware(summ, system_prompt=system_prompt)
281
+
282
+ _summ_mod.create_summarization_tool_middleware = _patched_create_summarization_tool_middleware
283
+
284
+ logger.info("[SummarizationUtils] 防御性补丁已应用: DEFAULT_SUMMARY_PROMPT 替换 + __init__ 默认值覆盖 + create_summarization_tool_middleware 覆盖")
285
+
203
286
 
204
287
  def build_summarization_middleware(
205
288
  model: BaseChatModel,
@@ -40,6 +40,21 @@ DEFAULT_PASSTHROUGH_TOOLS: FrozenSet[str] = frozenset({
40
40
  "web_search", # web_search 已在工具内部自行截断
41
41
  })
42
42
 
43
+ # 认证错误关键词(用于检测工具结果中的 SYT_TOKEN 相关错误)
44
+ _AUTH_ERROR_KEYWORDS = [
45
+ "401", "unauthorized", "token expired", "authentication failed",
46
+ "440", "login timeout", "403", "forbidden",
47
+ "认证失败", "登录过期", "token无效", "token过期",
48
+ "syt_token", "SYT_TOKEN",
49
+ ]
50
+
51
+ # 认证错误追加提示
52
+ _AUTH_ERROR_HINT = (
53
+ "\n\n⚠️ **检测到认证错误**:这可能是 SYT_TOKEN 过期或未设置导致的。"
54
+ "请立即调用 `authorize` 工具(传入失败原因和待重试的命令),"
55
+ "让用户重新授权后再自动重试。不要只是告知用户有问题。"
56
+ )
57
+
43
58
  # head+tail 预览截断模板(对齐 deepagents 0.6.3 TOO_LARGE_TOOL_MSG 风格)
44
59
  HEAD_TAIL_TRUNCATION_TEMPLATE = (
45
60
  "[输出已截断,原始长度 {original} 字符 / {original_lines} 行。]"
@@ -216,6 +231,28 @@ class ToolResultTruncationMiddleware(AgentMiddleware):
216
231
  )
217
232
  return truncated
218
233
 
234
+ def _inject_auth_hint(self, content: str, tool_name: str) -> str:
235
+ """检测工具结果中的认证错误,追加 authorize 工具调用提示。
236
+
237
+ 仅对 execute 工具和 MCP 工具生效(这些是可能触发认证问题的工具),
238
+ 跳过 authorize 工具本身避免循环。
239
+ """
240
+ if tool_name == "authorize":
241
+ return content
242
+ # 仅对可能触发认证错误的工具检测(execute、mcp__、read_file 等)
243
+ is_relevant_tool = (
244
+ tool_name == "execute"
245
+ or tool_name.startswith("mcp__")
246
+ or tool_name in ("read_file", "write_file", "edit_file")
247
+ )
248
+ if not is_relevant_tool:
249
+ return content
250
+
251
+ content_lower = content.lower()
252
+ if any(kw.lower() in content_lower for kw in _AUTH_ERROR_KEYWORDS):
253
+ return content + _AUTH_ERROR_HINT
254
+ return content
255
+
219
256
  def _process_result(
220
257
  self,
221
258
  result: Any,
@@ -254,6 +291,9 @@ class ToolResultTruncationMiddleware(AgentMiddleware):
254
291
  if not isinstance(content, str):
255
292
  return result
256
293
 
294
+ # 注入认证错误提示(在截断之前检测,避免被截断丢失)
295
+ content = self._inject_auth_hint(content, tool_name)
296
+
257
297
  new_content = self._truncate(content, tool_name)
258
298
  if new_content is content:
259
299
  return result