sycommon-python-lib 0.2.5a26__tar.gz → 0.2.5a27__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 (292) hide show
  1. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/PKG-INFO +2 -2
  2. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/pyproject.toml +7 -2
  3. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/chat_events.py +36 -0
  4. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/deep_agent.py +51 -6
  5. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/file_ops.py +12 -2
  6. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/llm_with_token_tracking.py +0 -9
  7. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/PKG-INFO +2 -2
  8. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/requires.txt +1 -1
  9. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/README.md +0 -0
  10. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/setup.cfg +0 -0
  11. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/__init__.py +0 -0
  12. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/cli.py +0 -0
  13. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/core/__init__.py +0 -0
  14. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/core/console.py +0 -0
  15. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/core/models.py +0 -0
  16. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/core/project.py +0 -0
  17. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/core/utils.py +0 -0
  18. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/__init__.py +0 -0
  19. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/README.md.tpl +0 -0
  20. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/__init__.py +0 -0
  21. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  22. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  23. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  24. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  25. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/api/query.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/app.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/db/service.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  38. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/model/parse.py.tpl +0 -0
  39. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  40. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  41. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/.env.tpl +0 -0
  42. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/.gitignore.tpl +0 -0
  43. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/Dockerfile.tpl +0 -0
  44. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/README.md.tpl +0 -0
  45. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/__init__.py +0 -0
  46. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/app.py.tpl +0 -0
  47. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/app.yaml.tpl +0 -0
  48. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  49. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/client/__init__.py.tpl +0 -0
  50. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/model/__init__.py.tpl +0 -0
  51. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/model/file_info.py.tpl +0 -0
  52. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/base/requirements.txt.tpl +0 -0
  53. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/README.md.tpl +0 -0
  54. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/__init__.py +0 -0
  55. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/app.py.tpl +0 -0
  56. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
  57. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/commands/hello.py.tpl +0 -0
  58. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/pyproject.toml.tpl +0 -0
  59. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
  60. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/README.md.tpl +0 -0
  61. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/__init__.py +0 -0
  62. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/api/__init__.py.tpl +0 -0
  63. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/api/echo.py.tpl +0 -0
  64. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  65. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  66. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/app.py.tpl +0 -0
  67. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/client/__init__.py.tpl +0 -0
  68. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/model/__init__.py.tpl +0 -0
  69. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  70. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/command/templates/web/tools/mq.py.tpl +0 -0
  71. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/nexus/__init__.py +0 -0
  72. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/__init__.py +0 -0
  73. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/__main__.py +0 -0
  74. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/agents/__init__.py +0 -0
  75. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/agents/factory.py +0 -0
  76. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/agents/prompts.py +0 -0
  77. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/__init__.py +0 -0
  78. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/browser.py +0 -0
  79. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/__init__.py +0 -0
  80. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/console.py +0 -0
  81. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/dom.py +0 -0
  82. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/network.py +0 -0
  83. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  84. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/performance.py +0 -0
  85. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  86. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/client.py +0 -0
  87. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/protocol.py +0 -0
  88. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cdp/repl.py +0 -0
  89. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/cli.py +0 -0
  90. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/__init__.py +0 -0
  91. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/cdp_cmd.py +0 -0
  92. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/chat_cmd.py +0 -0
  93. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/create_cmd.py +0 -0
  94. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/evaluate_cmd.py +0 -0
  95. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/init_cmd.py +0 -0
  96. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/memory_cmd.py +0 -0
  97. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/resume_cmd.py +0 -0
  98. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/rollback_cmd.py +0 -0
  99. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/commands/run_cmd.py +0 -0
  100. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/__init__.py +0 -0
  101. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/backend.py +0 -0
  102. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/config.py +0 -0
  103. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/display.py +0 -0
  104. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/git_integration.py +0 -0
  105. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/llm.py +0 -0
  106. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/core/state.py +0 -0
  107. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/evaluate/__init__.py +0 -0
  108. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/evaluate/api_evaluator.py +0 -0
  109. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/__init__.py +0 -0
  110. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/compressor.py +0 -0
  111. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/full.py +0 -0
  112. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/hot.py +0 -0
  113. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/manager.py +0 -0
  114. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/memory/warm.py +0 -0
  115. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/mode/__init__.py +0 -0
  116. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/mode/create.py +0 -0
  117. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/mode/optimize.py +0 -0
  118. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/models/__init__.py +0 -0
  119. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/models/config_models.py +0 -0
  120. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/__init__.py +0 -0
  121. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/baseline_tests.py +0 -0
  122. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/checkpoint.py +0 -0
  123. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/convergence.py +0 -0
  124. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/diagnosis.py +0 -0
  125. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/engine.py +0 -0
  126. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/environment.py +0 -0
  127. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/experience.py +0 -0
  128. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/harness_prompts.py +0 -0
  129. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/history.py +0 -0
  130. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/optimization_logger.py +0 -0
  131. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/pre_validation.py +0 -0
  132. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/reward.py +0 -0
  133. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/strategy_bandit.py +0 -0
  134. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/strategy_generator.py +0 -0
  135. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/rl/strategy_prompts.py +0 -0
  136. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycli/skills/__init__.py +0 -0
  137. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/__init__.py +0 -0
  138. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/__init__.py +0 -0
  139. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/agent_manager.py +0 -0
  140. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/mcp/__init__.py +0 -0
  141. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/mcp/models.py +0 -0
  142. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/mcp/tool_loader.py +0 -0
  143. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/multi_agent_team.py +0 -0
  144. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/__init__.py +0 -0
  145. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
  146. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
  147. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  148. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  149. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/sandbox/session.py +0 -0
  150. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/agent/summarization_utils.py +0 -0
  151. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/__init__.py +0 -0
  152. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/ldap_service.py +0 -0
  153. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/oa_cache.py +0 -0
  154. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/oa_crypto.py +0 -0
  155. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/oa_service.py +0 -0
  156. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  157. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/Config.py +0 -0
  158. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/DatabaseConfig.py +0 -0
  159. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  160. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/EmbeddingConfig.py +0 -0
  161. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/LLMConfig.py +0 -0
  162. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/LangfuseConfig.py +0 -0
  163. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/MQConfig.py +0 -0
  164. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/PgConfig.py +0 -0
  165. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/RedisConfig.py +0 -0
  166. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/RerankerConfig.py +0 -0
  167. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/SentryConfig.py +0 -0
  168. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/XxlJobConfig.py +0 -0
  169. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/config/__init__.py +0 -0
  170. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/async_base_db_service.py +0 -0
  171. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/async_database_service.py +0 -0
  172. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/base_db_service.py +0 -0
  173. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/database_service.py +0 -0
  174. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/elasticsearch_service.py +0 -0
  175. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/pg_checkpoint_service.py +0 -0
  176. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/redis_service.py +0 -0
  177. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/database/token_usage_db_service.py +0 -0
  178. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/health/__init__.py +0 -0
  179. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/health/health_check.py +0 -0
  180. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/health/metrics.py +0 -0
  181. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/health/ping.py +0 -0
  182. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/heartbeat_process/__init__.py +0 -0
  183. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  184. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  185. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  186. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/__init__.py +0 -0
  187. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/embedding.py +0 -0
  188. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/get_llm.py +0 -0
  189. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/llm_logger.py +0 -0
  190. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/llm_tokens.py +0 -0
  191. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  192. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  193. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/struct_token.py +0 -0
  194. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/sy_langfuse.py +0 -0
  195. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  196. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
  197. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/token_usage_es_service.py +0 -0
  198. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  199. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/llm/usage_token.py +0 -0
  200. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/__init__.py +0 -0
  201. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/async_sql_logger.py +0 -0
  202. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/kafka_log.py +0 -0
  203. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/logger_levels.py +0 -0
  204. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/logger_wrapper.py +0 -0
  205. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/process_logger.py +0 -0
  206. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/logging/sql_logger.py +0 -0
  207. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/mcp_server/__init__.py +0 -0
  208. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/mcp_server/server.py +0 -0
  209. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/__init__.py +0 -0
  210. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/context.py +0 -0
  211. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/cors.py +0 -0
  212. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/docs.py +0 -0
  213. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/exception.py +0 -0
  214. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/middleware.py +0 -0
  215. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/monitor_memory.py +0 -0
  216. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/mq.py +0 -0
  217. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/sandbox.py +0 -0
  218. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/timeout.py +0 -0
  219. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/token_tracking.py +0 -0
  220. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/tool_result_truncation.py +0 -0
  221. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/middleware/traceid.py +0 -0
  222. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/__init__.py +0 -0
  223. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/base_http.py +0 -0
  224. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/log.py +0 -0
  225. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/mcp_server_config.py +0 -0
  226. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/mqlistener_config.py +0 -0
  227. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/mqmsg_model.py +0 -0
  228. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/mqsend_config.py +0 -0
  229. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/sandbox.py +0 -0
  230. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/sso_user.py +0 -0
  231. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/token_usage.py +0 -0
  232. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/token_usage_mysql.py +0 -0
  233. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/models/xxljob_handler_config.py +0 -0
  234. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/notice/__init__.py +0 -0
  235. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  236. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/notice/wecom_message.py +0 -0
  237. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  238. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  239. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  240. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  241. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  242. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  243. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  244. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  245. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  246. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/sentry/__init__.py +0 -0
  247. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/sentry/sy_sentry.py +0 -0
  248. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/services.py +0 -0
  249. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/sse/__init__.py +0 -0
  250. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/sse/event.py +0 -0
  251. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/sse/sse.py +0 -0
  252. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/__init__.py +0 -0
  253. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/example.py +0 -0
  254. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/example2.py +0 -0
  255. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/feign.py +0 -0
  256. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/feign_client.py +0 -0
  257. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_client_base.py +0 -0
  258. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  259. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  260. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_service.py +0 -0
  261. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  262. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  263. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/synacos/param.py +0 -0
  264. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/deep_agent_server.py +0 -0
  265. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_consumer_recovery.py +0 -0
  266. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_deep_agent.py +0 -0
  267. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
  268. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_email.py +0 -0
  269. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_encoding_cache.py +0 -0
  270. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_mcp_server.py +0 -0
  271. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
  272. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_mq.py +0 -0
  273. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_oa_login.py +0 -0
  274. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_real_summarization.py +0 -0
  275. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_summarization_config.py +0 -0
  276. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tests/test_summarization_real.py +0 -0
  277. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/__init__.py +0 -0
  278. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/async_utils.py +0 -0
  279. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/docs.py +0 -0
  280. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/env.py +0 -0
  281. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/merge_headers.py +0 -0
  282. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/snowflake.py +0 -0
  283. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/syemail.py +0 -0
  284. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/tools/timing.py +0 -0
  285. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/xxljob/__init__.py +0 -0
  286. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon/xxljob/xxljob_service.py +0 -0
  287. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  288. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  289. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  290. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  291. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/tests/test_asyncio_logging.py +0 -0
  292. {sycommon_python_lib-0.2.5a26 → sycommon_python_lib-0.2.5a27}/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.5a26
3
+ Version: 0.2.5a27
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -9,7 +9,7 @@ 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.4
12
+ Requires-Dist: deepagents==0.6.6
13
13
  Requires-Dist: elasticsearch==9.4.1
14
14
  Requires-Dist: fastapi==0.136.3
15
15
  Requires-Dist: jinja2==3.1.6
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.2.5a26"
3
+ version = "0.2.5a27"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -10,7 +10,7 @@ dependencies = [
10
10
  "aiomysql==0.3.2",
11
11
  "anyio==4.13.0",
12
12
  "decorator==5.3.1",
13
- "deepagents==0.6.4",
13
+ "deepagents==0.6.6",
14
14
  "elasticsearch==9.4.1",
15
15
  "fastapi==0.136.3",
16
16
  "jinja2==3.1.6",
@@ -54,6 +54,11 @@ package-data = {command = ["templates/**/*", "templates/**/.*"], sycommon = ["ll
54
54
  requires = ["setuptools"]
55
55
  build-backend = "setuptools.build_meta"
56
56
 
57
+ [dependency-groups]
58
+ dev = [
59
+ "pytest>=9.0.3",
60
+ ]
61
+
57
62
  [project.scripts]
58
63
  sycommon = "command.cli:main"
59
64
  sycli = "sycli.cli:main"
@@ -62,6 +62,9 @@ class EventType(str, Enum):
62
62
  PARALLEL_AGENTS = "parallel_agents" # 并行 Agent
63
63
  AGENT_COMPLETE = "agent_complete" # Agent 任务完成
64
64
 
65
+ # 评分相关
66
+ RUBRIC_EVALUATION = "rubric_evaluation" # Rubric 评估结果
67
+
65
68
  # 生命周期
66
69
  DONE = "done" # 完成
67
70
  ERROR = "error" # 错误
@@ -368,6 +371,39 @@ class ChatEventBuilder:
368
371
  """
369
372
  return ChatEvent(EventType.CANCELLED, {"message": message})
370
373
 
374
+ # ============== 评分相关 ==============
375
+
376
+ @staticmethod
377
+ def rubric_evaluation(
378
+ iteration: int,
379
+ result: str,
380
+ criteria: list,
381
+ explanation: str = "",
382
+ agent: str = DEFAULT_AGENT_NAME,
383
+ ) -> ChatEvent:
384
+ """
385
+ 构建 Rubric 评估事件
386
+
387
+ Args:
388
+ iteration: 评估迭代次数
389
+ result: 评估结果(satisfied / needs_revision / failed / max_iterations_reached / grader_error)
390
+ criteria: 各评分标准的判定列表
391
+ explanation: 评估说明
392
+ agent: Agent 名称
393
+
394
+ Returns:
395
+ ChatEvent: 评估事件
396
+ """
397
+ data = {
398
+ "iteration": iteration,
399
+ "result": result,
400
+ "criteria": criteria,
401
+ "agent": agent,
402
+ }
403
+ if explanation:
404
+ data["explanation"] = explanation
405
+ return ChatEvent(EventType.RUBRIC_EVALUATION, data)
406
+
371
407
 
372
408
  # ============== 便捷函数(直接返回字典,兼容旧代码) ==============
373
409
 
@@ -117,10 +117,28 @@ class AgentConfig(BaseModel):
117
117
  # 调试模式
118
118
  debug: bool = False
119
119
 
120
+ # Rubric 评分配置
121
+ rubric_max_iterations: int = 3 # rubric 评估最大迭代次数(0 = 不启用)
122
+
120
123
  class Config:
121
124
  arbitrary_types_allowed = True
122
125
 
123
126
 
127
+ class _RubricEvalCollector:
128
+ """收集 RubricMiddleware 通过 on_evaluation 回调产生的评估结果"""
129
+
130
+ def __init__(self):
131
+ self.evaluations: list = []
132
+
133
+ def on_evaluation(self, evaluation):
134
+ """RubricMiddleware 每次评估完成后调用"""
135
+ self.evaluations.append(evaluation)
136
+
137
+ @property
138
+ def latest(self):
139
+ return self.evaluations[-1] if self.evaluations else None
140
+
141
+
124
142
  class DeepAgent:
125
143
  """数字员工封装类"""
126
144
 
@@ -131,12 +149,14 @@ class DeepAgent:
131
149
  config: Dict[str, Any],
132
150
  sandbox_backend: HTTPSandboxBackend,
133
151
  recovery_manager: Optional[SandboxRecoveryManager] = None,
152
+ rubric_eval_collector: Optional[_RubricEvalCollector] = None,
134
153
  ):
135
154
  self.user_id = user_id
136
155
  self.agent = agent
137
156
  self.config = config
138
157
  self.sandbox_backend = sandbox_backend
139
158
  self.recovery_manager = recovery_manager
159
+ self.rubric_eval_collector = rubric_eval_collector
140
160
 
141
161
  async def cleanup(self):
142
162
  """清理资源"""
@@ -149,6 +169,7 @@ class DeepAgent:
149
169
  async def chat(
150
170
  self,
151
171
  message: str,
172
+ rubric: Optional[str] = None,
152
173
  cancel_event: Optional[asyncio.Event] = None,
153
174
  on_event: Optional[Callable[[ChatEvent], Awaitable[None]]] = None,
154
175
  ) -> AsyncGenerator[ChatEvent, None]:
@@ -156,6 +177,7 @@ class DeepAgent:
156
177
 
157
178
  Args:
158
179
  message: 用户消息
180
+ rubric: 评分标准(可选),传入后 agent 完成时会自动评估是否满足标准
159
181
  cancel_event: 取消事件(用于取消当前任务)
160
182
  on_event: 事件回调,每个事件触发后调用(可用于 DB 持久化等)
161
183
 
@@ -172,8 +194,11 @@ class DeepAgent:
172
194
  total_output_tokens = 0
173
195
 
174
196
  try:
197
+ input_state = {"messages": [HumanMessage(content=message)]}
198
+ if rubric:
199
+ input_state["rubric"] = rubric
175
200
  async for chunk in self._astream_with_retry(
176
- {"messages": [HumanMessage(content=message)]},
201
+ input_state,
177
202
  max_retries=3,
178
203
  base_delay=1.0,
179
204
  ):
@@ -650,6 +675,8 @@ async def create_deep_agent(
650
675
 
651
676
  # 创建 agent
652
677
  from deepagents import create_deep_agent as _create_deep_agent
678
+ from deepagents import RubricMiddleware
679
+ from deepagents.middleware.filesystem import FilesystemMiddleware
653
680
 
654
681
  # 创建 compact_conversation 工具 middleware
655
682
  # 自动压缩由 deepagents 内置的 SummarizationMiddleware 处理(通过 model.profile 获取阈值)
@@ -657,6 +684,27 @@ async def create_deep_agent(
657
684
  model, config.model_name, sandbox_backend,
658
685
  )
659
686
 
687
+ # 🔑 Rubric 评估收集器:通过 on_evaluation 回调收集评估结果
688
+ rubric_eval_collector = None
689
+
690
+ # 构建 middleware 列表
691
+ middleware_list = [
692
+ ToolResultTruncationMiddleware(),
693
+ TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
694
+ summarization_mw,
695
+ ]
696
+
697
+ # RubricMiddleware:复用 FilesystemMiddleware 的工具(底层走 HTTPSandboxBackend HTTP 远程调用)
698
+ if config.rubric_max_iterations > 0 and sandbox_backend:
699
+ rubric_eval_collector = _RubricEvalCollector()
700
+ _rubric_fs_middleware = FilesystemMiddleware(backend=sandbox_backend)
701
+ middleware_list.append(RubricMiddleware(
702
+ model=model,
703
+ tools=_rubric_fs_middleware.tools,
704
+ max_iterations=config.rubric_max_iterations,
705
+ on_evaluation=rubric_eval_collector.on_evaluation,
706
+ ))
707
+
660
708
  agent_kwargs = {
661
709
  "model": model,
662
710
  "tools": config.tools or [get_current_date],
@@ -664,11 +712,7 @@ async def create_deep_agent(
664
712
  "checkpointer": checkpointer,
665
713
  "system_prompt": config.system_prompt,
666
714
  "debug": config.debug,
667
- "middleware": [
668
- ToolResultTruncationMiddleware(),
669
- TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
670
- summarization_mw,
671
- ],
715
+ "middleware": middleware_list,
672
716
  }
673
717
  if skills_path:
674
718
  agent_kwargs["skills"] = [skills_path]
@@ -685,6 +729,7 @@ async def create_deep_agent(
685
729
  config=agent_config,
686
730
  sandbox_backend=sandbox_backend,
687
731
  recovery_manager=recovery_manager,
732
+ rubric_eval_collector=rubric_eval_collector,
688
733
  )
689
734
 
690
735
 
@@ -510,9 +510,15 @@ class FileOperationsMixin:
510
510
  })
511
511
  # GrepResponse: {"matches": [...], "partial_error": "...", "error": "..."}
512
512
  matches = [GrepMatch(**item) for item in result.get("matches", [])]
513
+ # deepagents GrepResult 只有 error 和 matches 字段,
514
+ # 将 partial_error 合并到 error 中(部分失败但有结果时不设 error)
515
+ partial_error = result.get("partial_error")
516
+ error = result.get("error")
517
+ if not error and partial_error and not matches:
518
+ error = partial_error
513
519
  return GrepResult(
514
520
  matches=matches,
515
- error=result.get("error"),
521
+ error=error,
516
522
  )
517
523
  except Exception as e:
518
524
  SYLogger.error(f"[Sandbox] grep 搜索失败: {e}")
@@ -537,9 +543,13 @@ class FileOperationsMixin:
537
543
  }, timeout=timeout)
538
544
  # GrepResponse: {"matches": [...], "partial_error": "...", "error": "..."}
539
545
  matches = [GrepMatch(**item) for item in result.get("matches", [])]
546
+ partial_error = result.get("partial_error")
547
+ error = result.get("error")
548
+ if not error and partial_error and not matches:
549
+ error = partial_error
540
550
  return GrepResult(
541
551
  matches=matches,
542
- error=result.get("error"),
552
+ error=error,
543
553
  )
544
554
  except Exception as e:
545
555
  SYLogger.error(f"[Sandbox] 异步 grep 搜索失败: {e}")
@@ -312,15 +312,6 @@ class LLMWithTokenTracking(BaseChatModel):
312
312
  return self.llm.profile
313
313
  return None
314
314
 
315
- @property
316
- def profile(self):
317
- p = self._resolve_model_profile()
318
- return p
319
-
320
- @profile.setter
321
- def profile(self, value):
322
- pass
323
-
324
315
  def bind_tools(self, tools, *, tool_choice=None, **kwargs):
325
316
  """绑定工具 - 委托给底层 LLM,返回绑定后的 Runnable"""
326
317
  return self.llm.bind_tools(tools, tool_choice=tool_choice, **kwargs)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.5a26
3
+ Version: 0.2.5a27
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -9,7 +9,7 @@ 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.4
12
+ Requires-Dist: deepagents==0.6.6
13
13
  Requires-Dist: elasticsearch==9.4.1
14
14
  Requires-Dist: fastapi==0.136.3
15
15
  Requires-Dist: jinja2==3.1.6
@@ -3,7 +3,7 @@ aiohttp==3.13.5
3
3
  aiomysql==0.3.2
4
4
  anyio==4.13.0
5
5
  decorator==5.3.1
6
- deepagents==0.6.4
6
+ deepagents==0.6.6
7
7
  elasticsearch==9.4.1
8
8
  fastapi==0.136.3
9
9
  jinja2==3.1.6