sycommon-python-lib 0.2.7a32__tar.gz → 0.2.7a34__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 (338) hide show
  1. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/PKG-INFO +1 -1
  2. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/pyproject.toml +1 -1
  3. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/deep_agent.py +2 -1
  4. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/sensitive_guard.py +119 -15
  5. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/multi_agent_team.py +17 -4
  6. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/Config.py +2 -1
  7. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/llm_logger.py +30 -0
  8. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
  9. sycommon_python_lib-0.2.7a34/tests/test_sensitive_guard.py +466 -0
  10. sycommon_python_lib-0.2.7a32/tests/test_sensitive_guard.py +0 -231
  11. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/README.md +0 -0
  12. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/setup.cfg +0 -0
  13. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/__init__.py +0 -0
  14. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/cli.py +0 -0
  15. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/core/__init__.py +0 -0
  16. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/core/console.py +0 -0
  17. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/core/models.py +0 -0
  18. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/core/project.py +0 -0
  19. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/core/utils.py +0 -0
  20. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/__init__.py +0 -0
  21. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/README.md.tpl +0 -0
  22. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/__init__.py +0 -0
  23. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  24. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  25. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/api/query.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/app.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  38. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/db/service.py.tpl +0 -0
  39. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  40. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/model/parse.py.tpl +0 -0
  41. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  42. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  43. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/.env.tpl +0 -0
  44. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/.gitignore.tpl +0 -0
  45. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/Dockerfile.tpl +0 -0
  46. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/README.md.tpl +0 -0
  47. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/__init__.py +0 -0
  48. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/app.py.tpl +0 -0
  49. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/app.yaml.tpl +0 -0
  50. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  51. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/client/__init__.py.tpl +0 -0
  52. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/model/__init__.py.tpl +0 -0
  53. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/model/file_info.py.tpl +0 -0
  54. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/base/requirements.txt.tpl +0 -0
  55. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/README.md.tpl +0 -0
  56. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/__init__.py +0 -0
  57. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/app.py.tpl +0 -0
  58. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
  59. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/commands/hello.py.tpl +0 -0
  60. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/pyproject.toml.tpl +0 -0
  61. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
  62. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/README.md.tpl +0 -0
  63. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/__init__.py +0 -0
  64. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/api/__init__.py.tpl +0 -0
  65. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/api/echo.py.tpl +0 -0
  66. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  67. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  68. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/app.py.tpl +0 -0
  69. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/client/__init__.py.tpl +0 -0
  70. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/model/__init__.py.tpl +0 -0
  71. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  72. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/command/templates/web/tools/mq.py.tpl +0 -0
  73. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/nexus/__init__.py +0 -0
  74. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/__init__.py +0 -0
  75. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/__main__.py +0 -0
  76. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/acp/__init__.py +0 -0
  77. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/acp/config.py +0 -0
  78. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/acp/executor.py +0 -0
  79. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/acp/registry.py +0 -0
  80. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/acp/server.py +0 -0
  81. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/agents/__init__.py +0 -0
  82. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/agents/factory.py +0 -0
  83. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/agents/prompts.py +0 -0
  84. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/__init__.py +0 -0
  85. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/browser.py +0 -0
  86. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/__init__.py +0 -0
  87. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/console.py +0 -0
  88. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/dom.py +0 -0
  89. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/network.py +0 -0
  90. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  91. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/performance.py +0 -0
  92. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  93. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/client.py +0 -0
  94. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/protocol.py +0 -0
  95. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cdp/repl.py +0 -0
  96. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/cli.py +0 -0
  97. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/__init__.py +0 -0
  98. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/acp_cmd.py +0 -0
  99. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/cdp_cmd.py +0 -0
  100. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/chat_cmd.py +0 -0
  101. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/create_cmd.py +0 -0
  102. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/evaluate_cmd.py +0 -0
  103. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/init_cmd.py +0 -0
  104. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/memory_cmd.py +0 -0
  105. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/resume_cmd.py +0 -0
  106. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/rollback_cmd.py +0 -0
  107. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/commands/run_cmd.py +0 -0
  108. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/__init__.py +0 -0
  109. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/backend.py +0 -0
  110. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/config.py +0 -0
  111. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/display.py +0 -0
  112. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/git_integration.py +0 -0
  113. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/llm.py +0 -0
  114. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/core/state.py +0 -0
  115. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/evaluate/__init__.py +0 -0
  116. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/evaluate/api_evaluator.py +0 -0
  117. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/__init__.py +0 -0
  118. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/compressor.py +0 -0
  119. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/full.py +0 -0
  120. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/hot.py +0 -0
  121. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/manager.py +0 -0
  122. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/memory/warm.py +0 -0
  123. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/mode/__init__.py +0 -0
  124. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/mode/create.py +0 -0
  125. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/mode/optimize.py +0 -0
  126. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/models/__init__.py +0 -0
  127. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/models/config_models.py +0 -0
  128. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/__init__.py +0 -0
  129. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/baseline_tests.py +0 -0
  130. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/checkpoint.py +0 -0
  131. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/convergence.py +0 -0
  132. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/diagnosis.py +0 -0
  133. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/engine.py +0 -0
  134. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/environment.py +0 -0
  135. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/experience.py +0 -0
  136. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/harness_prompts.py +0 -0
  137. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/history.py +0 -0
  138. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/optimization_logger.py +0 -0
  139. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/pre_validation.py +0 -0
  140. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/reward.py +0 -0
  141. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/strategy_bandit.py +0 -0
  142. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/strategy_generator.py +0 -0
  143. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/rl/strategy_prompts.py +0 -0
  144. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/simple_chat_agent.py +0 -0
  145. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycli/skills/__init__.py +0 -0
  146. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/__init__.py +0 -0
  147. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/__init__.py +0 -0
  148. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/acp/__init__.py +0 -0
  149. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/acp/client.py +0 -0
  150. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/acp/fetch.py +0 -0
  151. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/acp/ssh_init.py +0 -0
  152. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/acp/tool.py +0 -0
  153. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/agent_manager.py +0 -0
  154. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/chat_events.py +0 -0
  155. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/mcp/__init__.py +0 -0
  156. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/mcp/models.py +0 -0
  157. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/mcp/tool_loader.py +0 -0
  158. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/sandbox_path_guard.py +0 -0
  159. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/sitecustomize.py +0 -0
  160. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/skill_api_whitelist.py +0 -0
  161. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/skill_wl_check.py +0 -0
  162. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/middleware/skill_write_guard.py +0 -0
  163. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/__init__.py +0 -0
  164. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/consistent_hash.py +0 -0
  165. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/file_ops.py +0 -0
  166. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
  167. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
  168. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  169. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  170. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/sandbox/session.py +0 -0
  171. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/agent/summarization_utils.py +0 -0
  172. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/__init__.py +0 -0
  173. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/ldap_service.py +0 -0
  174. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/oa_cache.py +0 -0
  175. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/oa_crypto.py +0 -0
  176. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/oa_service.py +0 -0
  177. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  178. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/ACPAgentConfig.py +0 -0
  179. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/DatabaseConfig.py +0 -0
  180. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  181. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/EmbeddingConfig.py +0 -0
  182. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/LLMConfig.py +0 -0
  183. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/LangfuseConfig.py +0 -0
  184. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/MQConfig.py +0 -0
  185. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/PgConfig.py +0 -0
  186. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/RedisConfig.py +0 -0
  187. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/RerankerConfig.py +0 -0
  188. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/SentryConfig.py +0 -0
  189. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/SkillApiWhitelistConfig.py +0 -0
  190. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/XxlJobConfig.py +0 -0
  191. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/__init__.py +0 -0
  192. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/config/config_change_notifier.py +0 -0
  193. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/async_base_db_service.py +0 -0
  194. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/async_database_service.py +0 -0
  195. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/base_db_service.py +0 -0
  196. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/database_service.py +0 -0
  197. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/elasticsearch_service.py +0 -0
  198. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/pg_checkpoint_service.py +0 -0
  199. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/redis_service.py +0 -0
  200. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/resilient_pg_saver.py +0 -0
  201. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/database/token_usage_db_service.py +0 -0
  202. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/health/__init__.py +0 -0
  203. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/health/health_check.py +0 -0
  204. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/health/metrics.py +0 -0
  205. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/health/ping.py +0 -0
  206. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/heartbeat_process/__init__.py +0 -0
  207. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  208. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  209. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  210. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/__init__.py +0 -0
  211. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/embedding.py +0 -0
  212. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/get_llm.py +0 -0
  213. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/llm_tokens.py +0 -0
  214. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  215. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  216. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  217. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/struct_token.py +0 -0
  218. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/sy_langfuse.py +0 -0
  219. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  220. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
  221. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/token_usage_es_service.py +0 -0
  222. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  223. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/token_utils.py +0 -0
  224. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/llm/usage_token.py +0 -0
  225. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/__init__.py +0 -0
  226. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/async_sql_logger.py +0 -0
  227. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/kafka_log.py +0 -0
  228. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/log_masker.py +0 -0
  229. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/logger_levels.py +0 -0
  230. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/logger_wrapper.py +0 -0
  231. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/process_logger.py +0 -0
  232. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/logging/sql_logger.py +0 -0
  233. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/mcp_server/__init__.py +0 -0
  234. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/mcp_server/server.py +0 -0
  235. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/__init__.py +0 -0
  236. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/context.py +0 -0
  237. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/cors.py +0 -0
  238. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/docs.py +0 -0
  239. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/exception.py +0 -0
  240. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/middleware.py +0 -0
  241. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/monitor_memory.py +0 -0
  242. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/mq.py +0 -0
  243. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/sandbox.py +0 -0
  244. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/timeout.py +0 -0
  245. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/token_tracking.py +0 -0
  246. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/tool_result_truncation.py +0 -0
  247. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/middleware/traceid.py +0 -0
  248. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/__init__.py +0 -0
  249. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/base_http.py +0 -0
  250. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/log.py +0 -0
  251. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/mcp_server_config.py +0 -0
  252. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/mqlistener_config.py +0 -0
  253. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/mqmsg_model.py +0 -0
  254. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/mqsend_config.py +0 -0
  255. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/sandbox.py +0 -0
  256. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/sso_user.py +0 -0
  257. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/token_usage.py +0 -0
  258. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/token_usage_mysql.py +0 -0
  259. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/models/xxljob_handler_config.py +0 -0
  260. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/notice/__init__.py +0 -0
  261. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  262. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/notice/wecom_message.py +0 -0
  263. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  264. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  265. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  266. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  267. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  268. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  269. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  270. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  271. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  272. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/sentry/__init__.py +0 -0
  273. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/sentry/sy_sentry.py +0 -0
  274. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/services.py +0 -0
  275. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/sse/__init__.py +0 -0
  276. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/sse/event.py +0 -0
  277. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/sse/sse.py +0 -0
  278. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/__init__.py +0 -0
  279. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/example.py +0 -0
  280. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/example2.py +0 -0
  281. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/feign.py +0 -0
  282. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/feign_client.py +0 -0
  283. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_client_base.py +0 -0
  284. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  285. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  286. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_service.py +0 -0
  287. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  288. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  289. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/synacos/param.py +0 -0
  290. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/deep_agent_server.py +0 -0
  291. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_consistent_hash.py +0 -0
  292. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_consumer_loss_rootcause.py +0 -0
  293. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_consumer_recovery.py +0 -0
  294. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_deep_agent.py +0 -0
  295. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
  296. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_email.py +0 -0
  297. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_encoding_cache.py +0 -0
  298. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_fix_verification.py +0 -0
  299. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_mcp_server.py +0 -0
  300. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
  301. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_mq.py +0 -0
  302. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_oa_login.py +0 -0
  303. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_queue_priority_fallback.py +0 -0
  304. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_real_summarization.py +0 -0
  305. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_summarization_config.py +0 -0
  306. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_summarization_real.py +0 -0
  307. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_summary_leak_e2e.py +0 -0
  308. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_upgrade_aio_pika.py +0 -0
  309. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_upgrade_langgraph_stream.py +0 -0
  310. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tests/test_upgrade_verification.py +0 -0
  311. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/__init__.py +0 -0
  312. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/async_utils.py +0 -0
  313. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/docs.py +0 -0
  314. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/env.py +0 -0
  315. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/merge_headers.py +0 -0
  316. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/snowflake.py +0 -0
  317. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/syemail.py +0 -0
  318. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/tools/timing.py +0 -0
  319. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/xxljob/__init__.py +0 -0
  320. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon/xxljob/xxljob_service.py +0 -0
  321. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  322. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  323. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  324. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
  325. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  326. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_acp_tool.py +0 -0
  327. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_asyncio_logging.py +0 -0
  328. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_config_change_notifier.py +0 -0
  329. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_hotreload_snapshot.py +0 -0
  330. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_llm_apikey_contextvar.py +0 -0
  331. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_log_masker.py +0 -0
  332. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_resilient_pg_saver.py +0 -0
  333. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_sandbox_path_guard.py +0 -0
  334. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_simple_chat_agent.py +0 -0
  335. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_skill_regex_upgrade.py +0 -0
  336. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_skill_write_guard.py +0 -0
  337. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_sycli.py +0 -0
  338. {sycommon_python_lib-0.2.7a32 → sycommon_python_lib-0.2.7a34}/tests/test_sync_skills_to_sandbox.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.7a32
3
+ Version: 0.2.7a34
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.2.7a32"
3
+ version = "0.2.7a34"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -378,7 +378,8 @@ class AgentConfig(BaseModel):
378
378
  internal_model_name: Optional[str] = None
379
379
  # 敏感检测提示词(应用层可覆盖);未传(None)用基础库 DEFAULT_DETECT_PROMPT
380
380
  sensitive_detect_prompt: Optional[str] = None
381
- # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;"block"=直接阻断不执行
381
+ # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;
382
+ # "block"=直接阻断不执行(检测整段上下文);"block_user_input"=阻断(仅检测最后一条 HumanMessage)。
382
383
  sensitive_action: str = "allow"
383
384
 
384
385
  # 系统提示词
@@ -250,13 +250,19 @@ class SensitiveGuardMiddleware(AgentMiddleware):
250
250
  state: Optional[DowngradeState] = None,
251
251
  # 应用层可覆盖检测提示词;未传(None)用 DEFAULT_DETECT_PROMPT
252
252
  detect_prompt: Optional[str] = None,
253
- # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;"block"=直接阻断(不调任何模型)
253
+ # 命中敏感后的动作:"allow"=不检测放行;"downgrade"=降级内部模型继续;
254
+ # "block"=直接阻断(不调任何模型),检测整段上下文;
255
+ # "block_user_input"=直接阻断,但只检测最后一条 HumanMessage(用户本轮输入)。
254
256
  action: str = "allow",
255
257
  # 阻断模式下的异步提示回调(与 on_downgrade 区分文案);downgrade 模式不用
256
258
  on_block: Optional[Callable[[], Awaitable[None]]] = None,
257
259
  # 测试注入:绕过懒加载的真实 get_llm
258
260
  _detector: Any = None,
259
261
  _internal_raw: Any = None,
262
+ # 是否执行检测。多 agent 子 agent 传 False:它看到的「最后一条 HumanMessage」
263
+ # 多是协调者委派指令而非用户原文,重复判易误命中;改由协调者检测、子 agent 只靠
264
+ # 共享 DowngradeState 短路阻断。单 agent 始终 True(默认)。
265
+ detect: bool = True,
260
266
  ):
261
267
  self._model_tier = model_tier
262
268
  # None 时检测器/降级目标都用 get_llm() 读 nacos default 模型,不写死模型名
@@ -264,7 +270,18 @@ class SensitiveGuardMiddleware(AgentMiddleware):
264
270
  self._on_downgrade = on_downgrade
265
271
  self._on_block = on_block
266
272
  # 默认 allow(不检测):应用层未显式指定时按"放行"处理,避免误伤。
267
- self._action = action if action in ("downgrade", "block", "allow") else "allow"
273
+ self._action = action if action in ("downgrade", "block", "block_user_input", "allow") else "allow"
274
+ self._detect_enabled = detect
275
+ # 单轮「有附件降 block」标志:仅 block_user_input 模式下,应用层每轮 chat 前按
276
+ # has_file 刷新。True → 本轮按 block 行为检测(整段上下文,含工具结果/附件正文);
277
+ # False → 按 block_user_input(仅最后一条 HumanMessage)。绝不改 _action,避免
278
+ # 与用户配的真 block 混淆(set_file_turn_degrade 在非 block_user_input 上为 no-op)。
279
+ self._file_turn_degrade = False
280
+ # 本轮(last_human 范围)「用户输入已判过」标志:block_user_input 无附件时,
281
+ # 同一轮里用户输入恒定不变,第一次判过即可,工具执行后再进模型节点不再重复判
282
+ # (重复判定等价于白烧一次内网调用,见 awrap_model_call (c) last_human 分支)。
283
+ # 每轮 chat 前由 set_file_turn_degrade() 重置;命中敏感走 (b) 短路,本标志无影响。
284
+ self._last_human_judged = False
268
285
  self._enabled = enabled
269
286
  self._state = state or DowngradeState()
270
287
  self._detect_prompt = detect_prompt or DEFAULT_DETECT_PROMPT
@@ -276,15 +293,53 @@ class SensitiveGuardMiddleware(AgentMiddleware):
276
293
  def is_downgraded(self) -> bool:
277
294
  return self._state.is_downgraded
278
295
 
296
+ @property
297
+ def _is_block_turn(self) -> bool:
298
+ """本轮是否走阻断路径(命中即返空响应、不调任何模型)。
299
+
300
+ block 和 block_user_input 都是阻断型 action;降级标志只改「检测范围」
301
+ (effective_detect_messages: last_human vs all),不改「是否阻断」。
302
+ is_blocked 与 awrap_model_call 的 (b)(d) 共用本判定。
303
+ """
304
+ return self._action in ("block", "block_user_input")
305
+
279
306
  @property
280
307
  def is_blocked(self) -> bool:
281
- """本会话是否已阻断(命中过敏感且 action=block)。"""
282
- return self._state.is_downgraded and self._action == "block"
308
+ """本会话是否已阻断(命中过敏感且本轮 action 是阻断型)。
309
+ action {block, block_user_input} 时为 True(两者都是阻断型 action)。
310
+ 降级标志只改检测范围(effective_detect_messages),不改是否阻断。"""
311
+ return self._state.is_downgraded and self._is_block_turn
283
312
 
284
313
  @property
285
314
  def action(self) -> str:
286
315
  return self._action
287
316
 
317
+ def set_file_turn_degrade(self, on: bool) -> None:
318
+ """单轮「有附件降 block」标志开关(仅对 base=block_user_input 生效)。
319
+
320
+ 应用层每轮 agent.chat 开始前按本轮 has_file 调用:
321
+ - has_file=True → on=True 本轮按 block 行为检测(整段上下文)
322
+ - has_file=False → on=False 本轮按 block_user_input 行为检测(仅用户输入)
323
+ 只在 self._action == "block_user_input" 时生效;其它 base(allow/downgrade/block)
324
+ 调本方法为 no-op(且强制清标志防残留),绝不改 _action。
325
+ """
326
+ if self._action == "block_user_input":
327
+ self._file_turn_degrade = bool(on)
328
+ else:
329
+ self._file_turn_degrade = False
330
+ # 每轮 chat 开始时调用 → 重置「本轮用户输入已判过」标志。
331
+ # 新一轮用户输入到来,上一轮的判定结论不再复用,需重新判一次。
332
+ self._last_human_judged = False
333
+
334
+ @property
335
+ def effective_detect_messages(self) -> str:
336
+ """本轮检测范围标识:'all'(整段上下文)/ 'last_human'(仅最后一条 HumanMessage)。
337
+ block_user_input + 降级标志 → 'all';block_user_input 无标志 → 'last_human';
338
+ block/downgrade → 'all';allow 由 (a) 短路不检测。"""
339
+ if self._action == "block_user_input" and not self._file_turn_degrade:
340
+ return "last_human"
341
+ return "all"
342
+
288
343
  @property
289
344
  def last_notice_source(self) -> str:
290
345
  """首次命中时的敏感来源(user_input/tool_result/history),供应用层选文案。"""
@@ -294,6 +349,18 @@ class SensitiveGuardMiddleware(AgentMiddleware):
294
349
  def state(self) -> DowngradeState:
295
350
  return self._state
296
351
 
352
+ @staticmethod
353
+ def _last_human(messages: List[BaseMessage]) -> Optional[List[BaseMessage]]:
354
+ """取最后一条 HumanMessage,包装成单元素列表供 _detect 使用。
355
+
356
+ block_user_input 模式只检测用户本轮输入(含附件正文),工具结果/历史不进检测。
357
+ 无 HumanMessage 返回 None(调用方放行)。
358
+ """
359
+ for m in reversed(messages):
360
+ if isinstance(m, HumanMessage):
361
+ return [m]
362
+ return None
363
+
297
364
  async def _get_detector(self):
298
365
  if self._detector is None:
299
366
  async with self._init_lock:
@@ -333,6 +400,17 @@ class SensitiveGuardMiddleware(AgentMiddleware):
333
400
  识别失败时 fail-open 视为不敏感(默认放行),避免误伤正常请求。
334
401
  """
335
402
  content = _messages_to_text(messages)
403
+ # 🔍 sensitive judge 诊断:打印本轮发出去的 content 字符数 + action + 范围
404
+ # block_user_input 应只发最后一条 HumanMessage(短);命中场景下若 chars 异常大,
405
+ # 说明检测范围没按 has_file 切换。仅打印长度与首尾摘要,不泄露正文。
406
+ try:
407
+ _action_now = getattr(self, "action", None) or getattr(self, "_action", None)
408
+ SYLogger.info(
409
+ f"[SensitiveGuard][Detect] 发起判定: action={_action_now} "
410
+ f"messages={len(messages)} content_chars={len(content)} "
411
+ f"head={content[:80]!r} tail={content[-80:]!r}")
412
+ except Exception:
413
+ pass
336
414
  try:
337
415
  detector = await self._get_detector()
338
416
  # 🔑 提示词模板里含 {content} 占位符(应用层 SENSITIVE_DETECT_PROMPT)。
@@ -377,27 +455,53 @@ class SensitiveGuardMiddleware(AgentMiddleware):
377
455
  if not self._enabled or self._model_tier == "internal" or self._action == "allow":
378
456
  return await handler(request)
379
457
 
380
- # (b) 本会话已命中敏感
458
+ # (b) 本会话已命中敏感(共享 state 已 downgraded)
381
459
  if self._state.is_downgraded:
382
- # 阻断模式:直接返回空响应,不再调任何模型;应用层发完提示后会 break stream。
383
- # 这里构造一个 content 空的 AIMessage,让 langgraph 把本轮当作模型已回完,
384
- # 不进工具循环(无 tool_calls),干净结束。
385
- if self._action == "block":
460
+ # 阻断路径(真 block 或 block_user_input+降级标志):返回空响应,不再调模型。
461
+ if self._is_block_turn:
386
462
  return ModelResponse(result=[AIMessage(content="")])
387
- # 降级模式:路由内部模型继续;本次输入若非敏感(来自历史记忆)刷新 source=history
463
+ # 降级模式(downgrade,或 block_user_input 非降级轮——后者理论不会到这因 (c) 只判用户输入):
464
+ # 路由内部模型继续;本次输入若非敏感(来自历史记忆)刷新 source=history
388
465
  await self._refresh_source_if_history(request.messages)
389
466
  return await handler(request.override(model=await self._get_internal_raw()))
390
467
 
391
- # (c) 检测
392
- check = await self._detect(request.messages)
468
+ # (b') detect=False 且尚未命中:放行(多 agent 子 agent 不主动检测,
469
+ # 等协调者命中后由共享 state (b) 短路阻断)。
470
+ if not self._detect_enabled:
471
+ return await handler(request)
472
+
473
+ # (c) 检测:按 effective_detect_messages 选喂给 detector 的消息范围
474
+ # block_user_input 无降级标志 → 仅最后一条 HumanMessage;其余(block/downgrade/
475
+ # block_user_input+降级;allow 已在 (a) 短路不会到这)→ 整段上下文
476
+ if self.effective_detect_messages == "last_human":
477
+ detect_messages = self._last_human(request.messages)
478
+ if detect_messages is None:
479
+ # 无用户输入(理论上不会发生)→ 无从检测,放行
480
+ return await handler(request)
481
+ # 🔑 block_user_input 无附件:本轮只判一次用户输入。
482
+ # 工具执行后模型节点会再次进入本方法,但用户输入本轮恒定不变 → 直接放行,
483
+ # 不重复调 detector(省一次内网判定调用 + 3s 延迟)。命中过则已在 (b) 短路,
484
+ # 不会走到这。set_file_turn_degrade() 每轮 chat 前会清本标志。
485
+ if self._last_human_judged:
486
+ SYLogger.info(
487
+ "[SensitiveGuard][Detect] 本轮用户输入已判过,跳过重复判定(last_human)")
488
+ return await handler(request)
489
+ else:
490
+ # block / downgrade / block_user_input+降级:整段上下文
491
+ detect_messages = request.messages
492
+
493
+ check = await self._detect(detect_messages)
494
+ # last_human 范围:无论命中与否,本轮用户输入的判定已完成,置位避免重复判定。
495
+ if self.effective_detect_messages == "last_human":
496
+ self._last_human_judged = True
393
497
  if not check.is_sensitive:
394
498
  return await handler(request)
395
499
 
396
- # (d) 命中 → CAS 抢占;按 action 分流
500
+ # (d) 命中 → CAS 抢占;按本轮是否阻断路径分流
397
501
  is_first = await self._state.mark_downgraded(check.source)
398
- if self._action == "block":
502
+ if self._is_block_turn:
399
503
  SYLogger.info(
400
- f"[SensitiveGuard] 命中敏感信息,阻断执行: {check.reason} (source={check.source})")
504
+ f"[SensitiveGuard] 命中敏感信息,阻断执行: {check.reason} (source={check.source}, action={self._action})")
401
505
  if is_first and self._on_block:
402
506
  try:
403
507
  await self._on_block()
@@ -134,7 +134,7 @@ class TeamConfig(BaseModel):
134
134
  sensitive_guard: bool = True # 是否启用敏感信息检测守卫
135
135
  internal_model_name: Optional[str] = None # 敏感降级目标内部模型名(应用层透传)
136
136
  sensitive_detect_prompt: Optional[str] = None # 敏感检测提示词(应用层覆盖)
137
- sensitive_action: str = "allow" # "allow"=不检测放行;"downgrade"=降级继续;"block"=阻断
137
+ sensitive_action: str = "allow" # "allow"=不检测放行;"downgrade"=降级继续;"block"=阻断(整段上下文);"block_user_input"=阻断(仅检测用户输入)
138
138
 
139
139
  coordinator_prompt: str = ""
140
140
  coordinator_name: str = "项目经理"
@@ -200,6 +200,7 @@ class MultiAgentTeam:
200
200
  coordinator_name: str = "项目经理",
201
201
  recovery_manager: Optional[SandboxRecoveryManager] = None,
202
202
  downgrade_state: Optional[DowngradeState] = None,
203
+ sensitive_guard: Optional["SensitiveGuardMiddleware"] = None,
203
204
  ):
204
205
  self.user_id = user_id
205
206
  self.agent = agent
@@ -210,6 +211,10 @@ class MultiAgentTeam:
210
211
  self.sandbox_backend = sandbox_backend
211
212
  self.recovery_manager = recovery_manager
212
213
  self.downgrade_state = downgrade_state
214
+ # 协调者的敏感检测 guard 实例(build 时传入)。暴露给应用层读 guard 状态
215
+ # (is_downgraded / last_notice_source / set_file_turn_degrade 等),
216
+ # 让单 agent 与 multi-agent 的应用层代码统一走 `getattr(agent, "sensitive_guard", None)`。
217
+ self.sensitive_guard = sensitive_guard
213
218
 
214
219
  @property
215
220
  def is_downgraded(self) -> bool:
@@ -628,7 +633,9 @@ async def create_multi_agent_team(
628
633
  # 任一命中 → 全员降级(敏感数据会经委派链流动,独立 state 会漏)。
629
634
  shared_downgrade_state = DowngradeState()
630
635
 
631
- def _make_guard():
636
+ def _make_guard(detect: bool = True):
637
+ """协调者 detect=True(检测用户输入);子 agent detect=False
638
+ (只靠共享 state 短路阻断,不把委派指令当用户输入重复判)。"""
632
639
  return SensitiveGuardMiddleware(
633
640
  model_tier=config.model_tier,
634
641
  enabled=config.sensitive_guard,
@@ -636,10 +643,11 @@ async def create_multi_agent_team(
636
643
  internal_model_name=config.internal_model_name,
637
644
  detect_prompt=config.sensitive_detect_prompt,
638
645
  action=config.sensitive_action,
646
+ detect=detect,
639
647
  )
640
648
 
641
649
  middleware = [
642
- _make_guard(),
650
+ _make_guard(detect=False),
643
651
  ToolResultTruncationMiddleware(),
644
652
  TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
645
653
  summarization_mw,
@@ -686,6 +694,10 @@ async def create_multi_agent_team(
686
694
  # 创建协调者 Agent
687
695
  coord_name = config.coordinator_name
688
696
  coord_summarization_mw = build_summarization_middleware(model, config.model_name, sandbox_backend)
697
+ # 协调者 guard 实例:单独构造,传给 MultiAgentTeam.sensitive_guard 供应用层读取
698
+ # (与单 agent 的 agent.sensitive_guard 对齐)。
699
+ coord_guard = _make_guard(detect=True)
700
+
689
701
  coordinator_agent = create_deep_agent(
690
702
  model=model,
691
703
  tools=config.shared_tools or [get_current_date],
@@ -698,7 +710,7 @@ async def create_multi_agent_team(
698
710
  debug=config.debug,
699
711
  name=coord_name,
700
712
  middleware=[
701
- _make_guard(),
713
+ coord_guard,
702
714
  ToolResultTruncationMiddleware(),
703
715
  TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
704
716
  coord_summarization_mw,
@@ -718,6 +730,7 @@ async def create_multi_agent_team(
718
730
  coordinator_name=coord_name,
719
731
  recovery_manager=recovery_manager,
720
732
  downgrade_state=shared_downgrade_state,
733
+ sensitive_guard=coord_guard,
721
734
  )
722
735
 
723
736
 
@@ -186,7 +186,8 @@ class Config(metaclass=SingletonMeta):
186
186
  # 但消费方按顶层 key 读取(LLMConfig 等)——提升到顶层,免得每个调用方都得知道嵌套路径。
187
187
  override_keys = ['LLMConfig', 'EmbeddingConfig', 'RerankerConfig',
188
188
  'ACPAgentConfig',
189
- 'SkillApiWhitelist']
189
+ 'SkillApiWhitelist',
190
+ 'SensitiveConfig']
190
191
  for k in override_keys:
191
192
  if k in project_cfg:
192
193
  self.config[k] = project_cfg[k]
@@ -29,6 +29,36 @@ class LLMLogger(AsyncCallbackHandler):
29
29
  **kwargs: Any
30
30
  ) -> None:
31
31
  model_name = serialized.get('name', 'unknown')
32
+ # 🔍 每次模型调用诊断:模型名 + 消息组数 + 各组消息类型/条数 + 每组总字符数
33
+ # (字符数≈4×token,可粗判 input 是否「固定长度分类器」还是「全文上下文」)。
34
+ # 跨意图识别/sensitive judge/主对话/rubric 全覆盖。
35
+ try:
36
+ groups_summary = []
37
+ for gi, group in enumerate(messages):
38
+ chars = 0
39
+ type_counts: Dict[str, int] = {}
40
+ for m in group:
41
+ c = m.content
42
+ if isinstance(c, str):
43
+ chars += len(c)
44
+ elif isinstance(c, list):
45
+ # 多模态:累加每个块的 text 长度
46
+ for blk in c:
47
+ if isinstance(blk, dict):
48
+ chars += len(str(blk.get("text", "")))
49
+ else:
50
+ chars += len(str(blk))
51
+ else:
52
+ chars += len(str(c))
53
+ t = getattr(m, "type", type(m).__name__)
54
+ type_counts[t] = type_counts.get(t, 0) + 1
55
+ groups_summary.append(
56
+ f"#{gi+1} msgs={len(group)} chars={chars} types={type_counts}")
57
+ SYLogger.info(
58
+ f"[LLM-DIAG] 调用开始 model={model_name} 组数={len(messages)} | "
59
+ f"{' || '.join(groups_summary)}")
60
+ except Exception as _e:
61
+ SYLogger.warning(f"[LLM-DIAG] 诊断统计失败(非致命): {_e}")
32
62
  SYLogger.info(
33
63
  f"聊天模型调用开始 | 模型: {model_name} | 消息组数: {len(messages)}")
34
64
  self._log_chat_messages(messages)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.7a32
3
+ Version: 0.2.7a34
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown