sycommon-python-lib 0.2.7a13__tar.gz → 0.2.7a15__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 (332) hide show
  1. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/PKG-INFO +1 -1
  2. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/pyproject.toml +1 -1
  3. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/deep_agent.py +20 -2
  4. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/middleware/sensitive_guard.py +44 -14
  5. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/multi_agent_team.py +2 -0
  6. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
  7. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_sensitive_guard.py +7 -7
  8. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/README.md +0 -0
  9. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/setup.cfg +0 -0
  10. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/__init__.py +0 -0
  11. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/cli.py +0 -0
  12. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/core/__init__.py +0 -0
  13. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/core/console.py +0 -0
  14. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/core/models.py +0 -0
  15. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/core/project.py +0 -0
  16. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/core/utils.py +0 -0
  17. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/__init__.py +0 -0
  18. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/README.md.tpl +0 -0
  19. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/__init__.py +0 -0
  20. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  21. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  22. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  23. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  24. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  25. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/api/query.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/app.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/db/service.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/model/parse.py.tpl +0 -0
  38. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  39. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  40. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/.env.tpl +0 -0
  41. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/.gitignore.tpl +0 -0
  42. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/Dockerfile.tpl +0 -0
  43. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/README.md.tpl +0 -0
  44. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/__init__.py +0 -0
  45. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/app.py.tpl +0 -0
  46. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/app.yaml.tpl +0 -0
  47. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  48. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/client/__init__.py.tpl +0 -0
  49. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/model/__init__.py.tpl +0 -0
  50. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/model/file_info.py.tpl +0 -0
  51. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/base/requirements.txt.tpl +0 -0
  52. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/README.md.tpl +0 -0
  53. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/__init__.py +0 -0
  54. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/app.py.tpl +0 -0
  55. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
  56. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/commands/hello.py.tpl +0 -0
  57. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/pyproject.toml.tpl +0 -0
  58. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
  59. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/README.md.tpl +0 -0
  60. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/__init__.py +0 -0
  61. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/api/__init__.py.tpl +0 -0
  62. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/api/echo.py.tpl +0 -0
  63. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  64. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  65. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/app.py.tpl +0 -0
  66. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/client/__init__.py.tpl +0 -0
  67. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/model/__init__.py.tpl +0 -0
  68. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  69. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/command/templates/web/tools/mq.py.tpl +0 -0
  70. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/nexus/__init__.py +0 -0
  71. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/__init__.py +0 -0
  72. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/__main__.py +0 -0
  73. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/acp/__init__.py +0 -0
  74. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/acp/config.py +0 -0
  75. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/acp/executor.py +0 -0
  76. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/acp/registry.py +0 -0
  77. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/acp/server.py +0 -0
  78. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/agents/__init__.py +0 -0
  79. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/agents/factory.py +0 -0
  80. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/agents/prompts.py +0 -0
  81. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/__init__.py +0 -0
  82. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/browser.py +0 -0
  83. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/__init__.py +0 -0
  84. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/console.py +0 -0
  85. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/dom.py +0 -0
  86. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/network.py +0 -0
  87. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  88. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/performance.py +0 -0
  89. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  90. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/client.py +0 -0
  91. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/protocol.py +0 -0
  92. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cdp/repl.py +0 -0
  93. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/cli.py +0 -0
  94. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/__init__.py +0 -0
  95. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/acp_cmd.py +0 -0
  96. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/cdp_cmd.py +0 -0
  97. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/chat_cmd.py +0 -0
  98. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/create_cmd.py +0 -0
  99. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/evaluate_cmd.py +0 -0
  100. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/init_cmd.py +0 -0
  101. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/memory_cmd.py +0 -0
  102. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/resume_cmd.py +0 -0
  103. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/rollback_cmd.py +0 -0
  104. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/commands/run_cmd.py +0 -0
  105. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/__init__.py +0 -0
  106. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/backend.py +0 -0
  107. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/config.py +0 -0
  108. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/display.py +0 -0
  109. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/git_integration.py +0 -0
  110. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/llm.py +0 -0
  111. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/core/state.py +0 -0
  112. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/evaluate/__init__.py +0 -0
  113. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/evaluate/api_evaluator.py +0 -0
  114. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/__init__.py +0 -0
  115. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/compressor.py +0 -0
  116. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/full.py +0 -0
  117. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/hot.py +0 -0
  118. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/manager.py +0 -0
  119. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/memory/warm.py +0 -0
  120. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/mode/__init__.py +0 -0
  121. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/mode/create.py +0 -0
  122. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/mode/optimize.py +0 -0
  123. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/models/__init__.py +0 -0
  124. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/models/config_models.py +0 -0
  125. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/__init__.py +0 -0
  126. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/baseline_tests.py +0 -0
  127. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/checkpoint.py +0 -0
  128. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/convergence.py +0 -0
  129. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/diagnosis.py +0 -0
  130. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/engine.py +0 -0
  131. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/environment.py +0 -0
  132. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/experience.py +0 -0
  133. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/harness_prompts.py +0 -0
  134. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/history.py +0 -0
  135. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/optimization_logger.py +0 -0
  136. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/pre_validation.py +0 -0
  137. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/reward.py +0 -0
  138. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/strategy_bandit.py +0 -0
  139. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/strategy_generator.py +0 -0
  140. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/rl/strategy_prompts.py +0 -0
  141. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/simple_chat_agent.py +0 -0
  142. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycli/skills/__init__.py +0 -0
  143. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/__init__.py +0 -0
  144. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/__init__.py +0 -0
  145. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/acp/__init__.py +0 -0
  146. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/acp/client.py +0 -0
  147. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/acp/fetch.py +0 -0
  148. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/acp/ssh_init.py +0 -0
  149. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/acp/tool.py +0 -0
  150. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/agent_manager.py +0 -0
  151. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/chat_events.py +0 -0
  152. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/mcp/__init__.py +0 -0
  153. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/mcp/models.py +0 -0
  154. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/mcp/tool_loader.py +0 -0
  155. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/middleware/sitecustomize.py +0 -0
  156. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/middleware/skill_api_whitelist.py +0 -0
  157. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/middleware/skill_wl_check.py +0 -0
  158. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/middleware/skill_write_guard.py +0 -0
  159. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/__init__.py +0 -0
  160. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/consistent_hash.py +0 -0
  161. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/file_ops.py +0 -0
  162. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
  163. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
  164. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  165. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  166. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/sandbox/session.py +0 -0
  167. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/agent/summarization_utils.py +0 -0
  168. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/__init__.py +0 -0
  169. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/ldap_service.py +0 -0
  170. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/oa_cache.py +0 -0
  171. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/oa_crypto.py +0 -0
  172. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/oa_service.py +0 -0
  173. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  174. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/ACPAgentConfig.py +0 -0
  175. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/Config.py +0 -0
  176. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/DatabaseConfig.py +0 -0
  177. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  178. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/EmbeddingConfig.py +0 -0
  179. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/LLMConfig.py +0 -0
  180. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/LangfuseConfig.py +0 -0
  181. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/MQConfig.py +0 -0
  182. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/PgConfig.py +0 -0
  183. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/RedisConfig.py +0 -0
  184. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/RerankerConfig.py +0 -0
  185. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/SentryConfig.py +0 -0
  186. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/SkillApiWhitelistConfig.py +0 -0
  187. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/XxlJobConfig.py +0 -0
  188. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/__init__.py +0 -0
  189. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/config/config_change_notifier.py +0 -0
  190. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/async_base_db_service.py +0 -0
  191. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/async_database_service.py +0 -0
  192. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/base_db_service.py +0 -0
  193. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/database_service.py +0 -0
  194. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/elasticsearch_service.py +0 -0
  195. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/pg_checkpoint_service.py +0 -0
  196. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/redis_service.py +0 -0
  197. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/resilient_pg_saver.py +0 -0
  198. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/database/token_usage_db_service.py +0 -0
  199. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/health/__init__.py +0 -0
  200. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/health/health_check.py +0 -0
  201. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/health/metrics.py +0 -0
  202. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/health/ping.py +0 -0
  203. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/heartbeat_process/__init__.py +0 -0
  204. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  205. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  206. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  207. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/__init__.py +0 -0
  208. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/embedding.py +0 -0
  209. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/get_llm.py +0 -0
  210. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/llm_logger.py +0 -0
  211. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/llm_tokens.py +0 -0
  212. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  213. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  214. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  215. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/struct_token.py +0 -0
  216. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/sy_langfuse.py +0 -0
  217. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  218. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
  219. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/token_usage_es_service.py +0 -0
  220. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  221. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/token_utils.py +0 -0
  222. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/llm/usage_token.py +0 -0
  223. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/__init__.py +0 -0
  224. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/async_sql_logger.py +0 -0
  225. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/kafka_log.py +0 -0
  226. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/log_masker.py +0 -0
  227. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/logger_levels.py +0 -0
  228. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/logger_wrapper.py +0 -0
  229. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/process_logger.py +0 -0
  230. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/logging/sql_logger.py +0 -0
  231. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/mcp_server/__init__.py +0 -0
  232. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/mcp_server/server.py +0 -0
  233. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/__init__.py +0 -0
  234. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/context.py +0 -0
  235. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/cors.py +0 -0
  236. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/docs.py +0 -0
  237. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/exception.py +0 -0
  238. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/middleware.py +0 -0
  239. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/monitor_memory.py +0 -0
  240. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/mq.py +0 -0
  241. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/sandbox.py +0 -0
  242. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/timeout.py +0 -0
  243. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/token_tracking.py +0 -0
  244. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/tool_result_truncation.py +0 -0
  245. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/middleware/traceid.py +0 -0
  246. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/__init__.py +0 -0
  247. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/base_http.py +0 -0
  248. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/log.py +0 -0
  249. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/mcp_server_config.py +0 -0
  250. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/mqlistener_config.py +0 -0
  251. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/mqmsg_model.py +0 -0
  252. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/mqsend_config.py +0 -0
  253. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/sandbox.py +0 -0
  254. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/sso_user.py +0 -0
  255. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/token_usage.py +0 -0
  256. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/token_usage_mysql.py +0 -0
  257. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/models/xxljob_handler_config.py +0 -0
  258. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/notice/__init__.py +0 -0
  259. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  260. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/notice/wecom_message.py +0 -0
  261. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  262. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  263. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  264. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  265. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  266. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  267. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  268. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  269. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  270. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/sentry/__init__.py +0 -0
  271. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/sentry/sy_sentry.py +0 -0
  272. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/services.py +0 -0
  273. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/sse/__init__.py +0 -0
  274. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/sse/event.py +0 -0
  275. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/sse/sse.py +0 -0
  276. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/__init__.py +0 -0
  277. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/example.py +0 -0
  278. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/example2.py +0 -0
  279. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/feign.py +0 -0
  280. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/feign_client.py +0 -0
  281. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_client_base.py +0 -0
  282. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  283. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  284. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_service.py +0 -0
  285. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  286. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  287. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/synacos/param.py +0 -0
  288. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/deep_agent_server.py +0 -0
  289. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_consistent_hash.py +0 -0
  290. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_consumer_loss_rootcause.py +0 -0
  291. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_consumer_recovery.py +0 -0
  292. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_deep_agent.py +0 -0
  293. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
  294. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_email.py +0 -0
  295. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_encoding_cache.py +0 -0
  296. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_fix_verification.py +0 -0
  297. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_mcp_server.py +0 -0
  298. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
  299. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_mq.py +0 -0
  300. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_oa_login.py +0 -0
  301. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_queue_priority_fallback.py +0 -0
  302. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_real_summarization.py +0 -0
  303. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_summarization_config.py +0 -0
  304. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_summarization_real.py +0 -0
  305. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tests/test_summary_leak_e2e.py +0 -0
  306. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/__init__.py +0 -0
  307. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/async_utils.py +0 -0
  308. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/docs.py +0 -0
  309. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/env.py +0 -0
  310. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/merge_headers.py +0 -0
  311. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/snowflake.py +0 -0
  312. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/syemail.py +0 -0
  313. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/tools/timing.py +0 -0
  314. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/xxljob/__init__.py +0 -0
  315. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon/xxljob/xxljob_service.py +0 -0
  316. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  317. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  318. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  319. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
  320. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  321. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_acp_tool.py +0 -0
  322. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_asyncio_logging.py +0 -0
  323. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_config_change_notifier.py +0 -0
  324. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_hotreload_snapshot.py +0 -0
  325. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_llm_apikey_contextvar.py +0 -0
  326. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_log_masker.py +0 -0
  327. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_resilient_pg_saver.py +0 -0
  328. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_simple_chat_agent.py +0 -0
  329. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_skill_regex_upgrade.py +0 -0
  330. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_skill_write_guard.py +0 -0
  331. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/tests/test_sycli.py +0 -0
  332. {sycommon_python_lib-0.2.7a13 → sycommon_python_lib-0.2.7a15}/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.7a13
3
+ Version: 0.2.7a15
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.7a13"
3
+ version = "0.2.7a15"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -374,6 +374,8 @@ class AgentConfig(BaseModel):
374
374
  internal_model_name: Optional[str] = None
375
375
  # 敏感检测提示词(应用层可覆盖);未传(None)用基础库 DEFAULT_DETECT_PROMPT
376
376
  sensitive_detect_prompt: Optional[str] = None
377
+ # 命中敏感后的动作:"downgrade"=降级内部模型继续;"block"=直接阻断不执行
378
+ sensitive_action: str = "downgrade"
377
379
 
378
380
  # 系统提示词
379
381
  system_prompt: str = DEFAULT_SYSTEM_PROMPT
@@ -1237,11 +1239,13 @@ async def create_deep_agent(
1237
1239
  # internal_model_name 由应用层透传(避免基础库硬编码应用常量);
1238
1240
  # 未传(None)时 middleware 内部用 get_llm() 读 nacos default 模型兜底。
1239
1241
  # sensitive_detect_prompt 由应用层透传覆盖默认检测提示词。
1242
+ # sensitive_action 决定命中后降级还是阻断。
1240
1243
  guard = SensitiveGuardMiddleware(
1241
1244
  model_tier=config.model_tier,
1242
1245
  enabled=config.sensitive_guard,
1243
1246
  internal_model_name=config.internal_model_name,
1244
1247
  detect_prompt=config.sensitive_detect_prompt,
1248
+ action=config.sensitive_action,
1245
1249
  )
1246
1250
 
1247
1251
  middleware_list = [
@@ -1416,8 +1420,22 @@ async def _sync_skills_to_sandbox(
1416
1420
  _skip_lazy_sync=True)
1417
1421
  if remote_content and remote_content.file_data:
1418
1422
  # FileData 是 TypedDict(dict), 用键访问而非属性
1419
- return _parse_skill_version(
1420
- remote_content.file_data.get("content", "") or "")
1423
+ content = remote_content.file_data.get("content", "") or ""
1424
+ # 优先直接解 version(明文小文件最快);
1425
+ # 解不出再兜底解码 base64——沙箱 /read 对大文件(如 skill-creator 的
1426
+ # 34KB SKILL.md)返回 base64, 但 encoding 标志位可能漏标/误标,
1427
+ # 若依赖该标志位,漏标时会因找不到 "version:" 行误判为"无版本"
1428
+ # → 每次新建 Agent 都全量重传。改为「先解 → 解不出再 b64 兜底」,
1429
+ # 不依赖 encoding 字段, 对明文/base64 两种返回都正确。
1430
+ version = _parse_skill_version(content)
1431
+ if version:
1432
+ return version
1433
+ try:
1434
+ import base64 as _b64
1435
+ decoded = _b64.b64decode(content).decode("utf-8", errors="replace")
1436
+ return _parse_skill_version(decoded)
1437
+ except Exception:
1438
+ return ""
1421
1439
  except Exception:
1422
1440
  pass
1423
1441
  return ""
@@ -10,7 +10,7 @@
10
10
  共享同一实例,避免敏感数据通过委派链继续流向外部模型。
11
11
 
12
12
  agent 本就是内部模型(model_tier="internal")时短路放行,不检测。
13
- 检测失败 fail-close(视为敏感,降级内部模型)。
13
+ 检测失败 fail-open(视为不敏感,放行)。
14
14
  """
15
15
  import asyncio
16
16
  from typing import Any, Awaitable, Callable, List, Optional
@@ -18,7 +18,7 @@ from typing import Any, Awaitable, Callable, List, Optional
18
18
  from langchain.agents.middleware.types import (
19
19
  AgentMiddleware, ContextT, ModelRequest, ModelResponse, ResponseT,
20
20
  )
21
- from langchain_core.messages import BaseMessage, HumanMessage
21
+ from langchain_core.messages import BaseMessage, HumanMessage, AIMessage
22
22
  from pydantic import BaseModel
23
23
 
24
24
  from sycommon.logging.kafka_log import SYLogger
@@ -228,6 +228,10 @@ class SensitiveGuardMiddleware(AgentMiddleware):
228
228
  state: Optional[DowngradeState] = None,
229
229
  # 应用层可覆盖检测提示词;未传(None)用 DEFAULT_DETECT_PROMPT
230
230
  detect_prompt: Optional[str] = None,
231
+ # 命中敏感后的动作:"downgrade"=降级内部模型继续;"block"=直接阻断(不调任何模型)
232
+ action: str = "downgrade",
233
+ # 阻断模式下的异步提示回调(与 on_downgrade 区分文案);downgrade 模式不用
234
+ on_block: Optional[Callable[[], Awaitable[None]]] = None,
231
235
  # 测试注入:绕过懒加载的真实 get_llm
232
236
  _detector: Any = None,
233
237
  _internal_raw: Any = None,
@@ -236,6 +240,8 @@ class SensitiveGuardMiddleware(AgentMiddleware):
236
240
  # None 时检测器/降级目标都用 get_llm() 读 nacos default 模型,不写死模型名
237
241
  self._internal_name = internal_model_name
238
242
  self._on_downgrade = on_downgrade
243
+ self._on_block = on_block
244
+ self._action = action if action in ("downgrade", "block") else "downgrade"
239
245
  self._enabled = enabled
240
246
  self._state = state or DowngradeState()
241
247
  self._detect_prompt = detect_prompt or DEFAULT_DETECT_PROMPT
@@ -247,6 +253,15 @@ class SensitiveGuardMiddleware(AgentMiddleware):
247
253
  def is_downgraded(self) -> bool:
248
254
  return self._state.is_downgraded
249
255
 
256
+ @property
257
+ def is_blocked(self) -> bool:
258
+ """本会话是否已阻断(命中过敏感且 action=block)。"""
259
+ return self._state.is_downgraded and self._action == "block"
260
+
261
+ @property
262
+ def action(self) -> str:
263
+ return self._action
264
+
250
265
  @property
251
266
  def last_notice_source(self) -> str:
252
267
  """首次命中时的敏感来源(user_input/tool_result/history),供应用层选文案。"""
@@ -286,16 +301,14 @@ class SensitiveGuardMiddleware(AgentMiddleware):
286
301
  return self._internal_raw
287
302
 
288
303
  async def _detect(self, messages: List[BaseMessage]) -> SensitiveCheck:
289
- """一次检测:命中即返回 SensitiveCheck。fail-close(异常→视为敏感)。
304
+ """一次检测:命中即返回 SensitiveCheck。fail-open(识别不出来→视为不敏感放行)。
290
305
 
291
306
  稳定性策略:
292
307
  - 检测提示词只描述「判什么敏感」,不要求模型自己格式化输出;
293
308
  - 直接用 detector.ainvoke 拿原始文本,本方法用正则提 {…} 再 Pydantic 解析;
294
309
  - 单轮、零修正重试,避免 with_structured_output 的解析重试烧 token。
295
- 解析失败时 fail-close 视为敏感(宁可错杀不让敏感外泄)。
310
+ 识别失败时 fail-open 视为不敏感(默认放行),避免误伤正常请求。
296
311
  """
297
- import json
298
- import re
299
312
  content = _messages_to_text(messages)
300
313
  try:
301
314
  detector = await self._get_detector()
@@ -321,13 +334,15 @@ class SensitiveGuardMiddleware(AgentMiddleware):
321
334
  text = raw.content if isinstance(raw, BaseMessage) else str(raw)
322
335
  check = _parse_detect_json(text)
323
336
  if check is None:
337
+ # fail-open:识别不出来默认放行(不阻断/不降级),仅告警便于排查。
324
338
  SYLogger.warning(
325
- f"[SensitiveGuard] 检测无有效JSON(fail-close→内部模型): {text[:500]!r}")
326
- return SensitiveCheck(is_sensitive=True, reason="no_json_in_detect_output")
339
+ f"[SensitiveGuard] 检测无有效JSON(fail-open→放行): {text[:300]!r}")
340
+ return SensitiveCheck(is_sensitive=False, reason="no_json_in_detect_output")
327
341
  return check
328
342
  except Exception as e:
329
- SYLogger.warning(f"[SensitiveGuard] 检测异常(fail-close→内部模型): {e}")
330
- return SensitiveCheck(is_sensitive=True, reason=f"detect_error:{e}")
343
+ # fail-open:检测异常默认放行,避免检测器自身故障拖垮正常对话。
344
+ SYLogger.warning(f"[SensitiveGuard] 检测异常(fail-open→放行): {e}")
345
+ return SensitiveCheck(is_sensitive=False, reason=f"detect_error:{e}")
331
346
 
332
347
  async def awrap_model_call(
333
348
  self,
@@ -338,10 +353,14 @@ class SensitiveGuardMiddleware(AgentMiddleware):
338
353
  if not self._enabled or self._model_tier == "internal":
339
354
  return await handler(request)
340
355
 
341
- # (b) 本会话已降级 → 直接路由内部模型,不再检测;
342
- # 但本次输入若本身不含敏感(敏感来自历史记忆),刷新 last_source=history,
343
- # 供应用层在「后续命中」时选「记忆」提示文案(NOTICE_FROM_HISTORY)。
356
+ # (b) 本会话已命中敏感
344
357
  if self._state.is_downgraded:
358
+ # 阻断模式:直接返回空响应,不再调任何模型;应用层发完提示后会 break stream。
359
+ # 这里构造一个 content 空的 AIMessage,让 langgraph 把本轮当作模型已回完,
360
+ # 不进工具循环(无 tool_calls),干净结束。
361
+ if self._action == "block":
362
+ return ModelResponse(result=[AIMessage(content="")])
363
+ # 降级模式:路由内部模型继续;本次输入若非敏感(来自历史记忆)刷新 source=history
345
364
  await self._refresh_source_if_history(request.messages)
346
365
  return await handler(request.override(model=await self._get_internal_raw()))
347
366
 
@@ -350,8 +369,19 @@ class SensitiveGuardMiddleware(AgentMiddleware):
350
369
  if not check.is_sensitive:
351
370
  return await handler(request)
352
371
 
353
- # (d) 命中 → CAS 抢占降级;仅首个命中者发提示(带来源)
372
+ # (d) 命中 → CAS 抢占;按 action 分流
354
373
  is_first = await self._state.mark_downgraded(check.source)
374
+ if self._action == "block":
375
+ SYLogger.info(
376
+ f"[SensitiveGuard] 命中敏感信息,阻断执行: {check.reason} (source={check.source})")
377
+ if is_first and self._on_block:
378
+ try:
379
+ await self._on_block()
380
+ except Exception as e:
381
+ SYLogger.warning(f"[SensitiveGuard] 阻断提示回调失败: {e}")
382
+ # 不调 handler,返回空响应结束本轮
383
+ return ModelResponse(result=[AIMessage(content="")])
384
+ # downgrade 模式:发提示 + 路由内部模型继续执行
355
385
  SYLogger.info(
356
386
  f"[SensitiveGuard] 命中敏感信息,降级内部模型: {check.reason} (source={check.source})")
357
387
  if is_first and self._on_downgrade:
@@ -133,6 +133,7 @@ class TeamConfig(BaseModel):
133
133
  sensitive_guard: bool = True # 是否启用敏感信息检测守卫
134
134
  internal_model_name: Optional[str] = None # 敏感降级目标内部模型名(应用层透传)
135
135
  sensitive_detect_prompt: Optional[str] = None # 敏感检测提示词(应用层覆盖)
136
+ sensitive_action: str = "downgrade" # "downgrade"=降级继续;"block"=阻断
136
137
 
137
138
  coordinator_prompt: str = ""
138
139
  coordinator_name: str = "项目经理"
@@ -633,6 +634,7 @@ async def create_multi_agent_team(
633
634
  state=shared_downgrade_state,
634
635
  internal_model_name=config.internal_model_name,
635
636
  detect_prompt=config.sensitive_detect_prompt,
637
+ action=config.sensitive_action,
636
638
  )
637
639
 
638
640
  middleware = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.7a13
3
+ Version: 0.2.7a15
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -131,8 +131,8 @@ async def test_internal_tier_never_detects():
131
131
 
132
132
 
133
133
  @pytest.mark.asyncio
134
- async def test_detect_error_fail_close():
135
- """detector 抛异常 → fail-close:视为敏感,降级内部模型。"""
134
+ async def test_detect_error_fail_open():
135
+ """detector 抛异常 → fail-open:视为不敏感,放行。"""
136
136
  class _BoomDetector:
137
137
  async def ainvoke(self, _prompt):
138
138
  raise RuntimeError("detector down")
@@ -142,8 +142,8 @@ async def test_detect_error_fail_close():
142
142
  _internal_raw=_FakeModel(),
143
143
  )
144
144
  _, called, _ = await _run(mw, [HumanMessage(content="x")])
145
- assert mw.is_downgraded is True
146
- assert called["model"] is not None
145
+ assert mw.is_downgraded is False # 检测失败不阻断
146
+ assert called["model"] is None # 不降级到内部模型
147
147
 
148
148
 
149
149
  @pytest.mark.asyncio
@@ -193,8 +193,8 @@ async def test_detect_parses_think_tag_wrapped_json():
193
193
 
194
194
 
195
195
  @pytest.mark.asyncio
196
- async def test_detect_no_json_fail_close():
197
- """模型输出无 JSON → fail-close 视为敏感。"""
196
+ async def test_detect_no_json_fail_open():
197
+ """模型输出无 JSON → fail-open 视为不敏感放行。"""
198
198
  class _Detector:
199
199
  async def ainvoke(self, _prompt):
200
200
  return "我没有按要求输出,无法判断"
@@ -202,7 +202,7 @@ async def test_detect_no_json_fail_close():
202
202
  mw = SensitiveGuardMiddleware(
203
203
  model_tier="external", _detector=_Detector(), _internal_raw=_FakeModel())
204
204
  check = await mw._detect([HumanMessage(content="x")])
205
- assert check.is_sensitive is True
205
+ assert check.is_sensitive is False
206
206
 
207
207
 
208
208
  @pytest.mark.asyncio