sycommon-python-lib 0.2.7a53__tar.gz → 0.2.7a54__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 (351) hide show
  1. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/PKG-INFO +1 -1
  2. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/pyproject.toml +67 -67
  3. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/sandbox.py +116 -57
  4. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
  5. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/README.md +0 -0
  6. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/setup.cfg +0 -0
  7. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/__init__.py +0 -0
  8. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/cli.py +0 -0
  9. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/core/__init__.py +0 -0
  10. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/core/console.py +0 -0
  11. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/core/models.py +0 -0
  12. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/core/project.py +0 -0
  13. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/core/utils.py +0 -0
  14. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/__init__.py +0 -0
  15. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/README.md.tpl +0 -0
  16. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/__init__.py +0 -0
  17. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  18. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  19. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  20. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  21. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  22. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  23. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  24. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/api/query.py.tpl +0 -0
  25. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/app.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/db/service.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/model/parse.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/.env.tpl +0 -0
  38. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/.gitignore.tpl +0 -0
  39. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/Dockerfile.tpl +0 -0
  40. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/README.md.tpl +0 -0
  41. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/__init__.py +0 -0
  42. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/app.py.tpl +0 -0
  43. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/app.yaml.tpl +0 -0
  44. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  45. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/client/__init__.py.tpl +0 -0
  46. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/model/__init__.py.tpl +0 -0
  47. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/model/file_info.py.tpl +0 -0
  48. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/base/requirements.txt.tpl +0 -0
  49. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/README.md.tpl +0 -0
  50. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/__init__.py +0 -0
  51. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/app.py.tpl +0 -0
  52. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
  53. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/commands/hello.py.tpl +0 -0
  54. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/pyproject.toml.tpl +0 -0
  55. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
  56. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/README.md.tpl +0 -0
  57. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/__init__.py +0 -0
  58. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/api/__init__.py.tpl +0 -0
  59. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/api/echo.py.tpl +0 -0
  60. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  61. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  62. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/app.py.tpl +0 -0
  63. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/client/__init__.py.tpl +0 -0
  64. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/model/__init__.py.tpl +0 -0
  65. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  66. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/command/templates/web/tools/mq.py.tpl +0 -0
  67. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/nexus/__init__.py +0 -0
  68. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/__init__.py +0 -0
  69. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/__main__.py +0 -0
  70. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/acp/__init__.py +0 -0
  71. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/acp/config.py +0 -0
  72. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/acp/executor.py +0 -0
  73. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/acp/registry.py +0 -0
  74. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/acp/server.py +0 -0
  75. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/agents/__init__.py +0 -0
  76. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/agents/factory.py +0 -0
  77. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/agents/prompts.py +0 -0
  78. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/__init__.py +0 -0
  79. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/browser.py +0 -0
  80. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/__init__.py +0 -0
  81. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/console.py +0 -0
  82. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/dom.py +0 -0
  83. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/network.py +0 -0
  84. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  85. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/performance.py +0 -0
  86. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  87. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/client.py +0 -0
  88. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/protocol.py +0 -0
  89. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cdp/repl.py +0 -0
  90. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/cli.py +0 -0
  91. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/__init__.py +0 -0
  92. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/acp_cmd.py +0 -0
  93. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/cdp_cmd.py +0 -0
  94. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/chat_cmd.py +0 -0
  95. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/create_cmd.py +0 -0
  96. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/evaluate_cmd.py +0 -0
  97. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/init_cmd.py +0 -0
  98. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/memory_cmd.py +0 -0
  99. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/resume_cmd.py +0 -0
  100. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/rollback_cmd.py +0 -0
  101. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/commands/run_cmd.py +0 -0
  102. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/__init__.py +0 -0
  103. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/backend.py +0 -0
  104. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/config.py +0 -0
  105. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/display.py +0 -0
  106. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/git_integration.py +0 -0
  107. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/llm.py +0 -0
  108. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/core/state.py +0 -0
  109. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/evaluate/__init__.py +0 -0
  110. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/evaluate/api_evaluator.py +0 -0
  111. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/__init__.py +0 -0
  112. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/compressor.py +0 -0
  113. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/full.py +0 -0
  114. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/hot.py +0 -0
  115. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/manager.py +0 -0
  116. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/memory/warm.py +0 -0
  117. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/mode/__init__.py +0 -0
  118. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/mode/create.py +0 -0
  119. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/mode/optimize.py +0 -0
  120. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/models/__init__.py +0 -0
  121. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/models/config_models.py +0 -0
  122. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/__init__.py +0 -0
  123. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/baseline_tests.py +0 -0
  124. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/checkpoint.py +0 -0
  125. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/convergence.py +0 -0
  126. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/diagnosis.py +0 -0
  127. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/engine.py +0 -0
  128. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/environment.py +0 -0
  129. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/experience.py +0 -0
  130. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/harness_prompts.py +0 -0
  131. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/history.py +0 -0
  132. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/optimization_logger.py +0 -0
  133. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/pre_validation.py +0 -0
  134. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/reward.py +0 -0
  135. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/strategy_bandit.py +0 -0
  136. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/strategy_generator.py +0 -0
  137. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/rl/strategy_prompts.py +0 -0
  138. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/simple_chat_agent.py +0 -0
  139. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycli/skills/__init__.py +0 -0
  140. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/__init__.py +0 -0
  141. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/__init__.py +0 -0
  142. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/acp/__init__.py +0 -0
  143. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/acp/client.py +0 -0
  144. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/acp/fetch.py +0 -0
  145. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/acp/ssh_init.py +0 -0
  146. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/acp/tool.py +0 -0
  147. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/agent_manager.py +0 -0
  148. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/chat_events.py +0 -0
  149. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/deep_agent.py +0 -0
  150. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/mcp/__init__.py +0 -0
  151. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/mcp/models.py +0 -0
  152. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/mcp/tool_loader.py +0 -0
  153. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/model_request_prep.py +0 -0
  154. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/sandbox_path_guard.py +0 -0
  155. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/sensitive_guard.py +0 -0
  156. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/sitecustomize.py +0 -0
  157. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/skill_api_whitelist.py +0 -0
  158. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/skill_wl_check.py +0 -0
  159. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/middleware/skill_write_guard.py +0 -0
  160. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/multi_agent_team.py +0 -0
  161. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/reasoning_content_patch.py +0 -0
  162. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/resume_compactor.py +0 -0
  163. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/__init__.py +0 -0
  164. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/consistent_hash.py +0 -0
  165. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/file_ops.py +0 -0
  166. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
  167. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
  168. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  169. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  170. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/sandbox/session.py +0 -0
  171. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/agent/summarization_utils.py +0 -0
  172. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/__init__.py +0 -0
  173. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/ldap_service.py +0 -0
  174. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/oa_cache.py +0 -0
  175. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/oa_crypto.py +0 -0
  176. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/oa_service.py +0 -0
  177. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  178. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/ACPAgentConfig.py +0 -0
  179. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/Config.py +0 -0
  180. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/DatabaseConfig.py +0 -0
  181. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  182. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/EmbeddingConfig.py +0 -0
  183. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/LLMConfig.py +0 -0
  184. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/LangfuseConfig.py +0 -0
  185. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/MQConfig.py +0 -0
  186. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/PgConfig.py +0 -0
  187. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/RedisConfig.py +0 -0
  188. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/RerankerConfig.py +0 -0
  189. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/SentryConfig.py +0 -0
  190. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/SkillApiWhitelistConfig.py +0 -0
  191. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/XxlJobConfig.py +0 -0
  192. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/__init__.py +0 -0
  193. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/config/config_change_notifier.py +0 -0
  194. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/async_base_db_service.py +0 -0
  195. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/async_database_service.py +0 -0
  196. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/base_db_service.py +0 -0
  197. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/database_service.py +0 -0
  198. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/elasticsearch_service.py +0 -0
  199. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/pg_checkpoint_service.py +0 -0
  200. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/redis_service.py +0 -0
  201. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/resilient_pg_saver.py +0 -0
  202. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/database/token_usage_db_service.py +0 -0
  203. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/health/__init__.py +0 -0
  204. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/health/health_check.py +0 -0
  205. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/health/metrics.py +0 -0
  206. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/health/ping.py +0 -0
  207. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/heartbeat_process/__init__.py +0 -0
  208. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  209. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  210. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  211. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/__init__.py +0 -0
  212. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/embedding.py +0 -0
  213. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/get_llm.py +0 -0
  214. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/llm_logger.py +0 -0
  215. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/llm_tokens.py +0 -0
  216. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  217. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  218. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  219. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/struct_token.py +0 -0
  220. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/sy_langfuse.py +0 -0
  221. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
  222. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
  223. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/token_usage_es_service.py +0 -0
  224. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  225. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/token_utils.py +0 -0
  226. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/llm/usage_token.py +0 -0
  227. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/__init__.py +0 -0
  228. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/async_sql_logger.py +0 -0
  229. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/kafka_log.py +0 -0
  230. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/log_masker.py +0 -0
  231. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/logger_levels.py +0 -0
  232. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/logger_wrapper.py +0 -0
  233. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/process_logger.py +0 -0
  234. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/logging/sql_logger.py +0 -0
  235. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/mcp_server/__init__.py +0 -0
  236. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/mcp_server/server.py +0 -0
  237. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/__init__.py +0 -0
  238. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/context.py +0 -0
  239. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/cors.py +0 -0
  240. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/docs.py +0 -0
  241. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/exception.py +0 -0
  242. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/middleware.py +0 -0
  243. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/monitor_memory.py +0 -0
  244. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/mq.py +0 -0
  245. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/timeout.py +0 -0
  246. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/token_tracking.py +0 -0
  247. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/tool_result_truncation.py +0 -0
  248. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/middleware/traceid.py +0 -0
  249. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/__init__.py +0 -0
  250. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/base_http.py +0 -0
  251. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/log.py +0 -0
  252. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/mcp_server_config.py +0 -0
  253. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/mqlistener_config.py +0 -0
  254. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/mqmsg_model.py +0 -0
  255. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/mqsend_config.py +0 -0
  256. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/sandbox.py +0 -0
  257. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/sso_user.py +0 -0
  258. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/token_usage.py +0 -0
  259. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/token_usage_mysql.py +0 -0
  260. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/models/xxljob_handler_config.py +0 -0
  261. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/notice/__init__.py +0 -0
  262. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  263. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/notice/wecom_message.py +0 -0
  264. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  265. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  266. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  267. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  268. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  269. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  270. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  271. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  272. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  273. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/sentry/__init__.py +0 -0
  274. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/sentry/sy_sentry.py +0 -0
  275. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/services.py +0 -0
  276. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/sse/__init__.py +0 -0
  277. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/sse/event.py +0 -0
  278. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/sse/sse.py +0 -0
  279. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/__init__.py +0 -0
  280. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/example.py +0 -0
  281. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/example2.py +0 -0
  282. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/feign.py +0 -0
  283. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/feign_client.py +0 -0
  284. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_client_base.py +0 -0
  285. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  286. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  287. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_service.py +0 -0
  288. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  289. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  290. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/synacos/param.py +0 -0
  291. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/deep_agent_server.py +0 -0
  292. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consistent_hash.py +0 -0
  293. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consume_dedup.py +0 -0
  294. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consumer_loss_rootcause.py +0 -0
  295. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consumer_recovery.py +0 -0
  296. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consumer_recovery_fix.py +0 -0
  297. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_consumer_tags_sync.py +0 -0
  298. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_deep_agent.py +0 -0
  299. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
  300. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_email.py +0 -0
  301. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_encoding_cache.py +0 -0
  302. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_exp_concurrent_migrate.py +0 -0
  303. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_exp_delete_queue_with_consumers.py +0 -0
  304. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_fault_injection_real.py +0 -0
  305. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_fix_verification.py +0 -0
  306. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_heartbeat_timeout.py +0 -0
  307. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_integration_real_broker.py +0 -0
  308. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_mcp_server.py +0 -0
  309. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
  310. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_mq.py +0 -0
  311. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_mq_config_driven.py +0 -0
  312. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_oa_login.py +0 -0
  313. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_queue_priority_fallback.py +0 -0
  314. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_queue_priority_upgrade_timing.py +0 -0
  315. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_real_summarization.py +0 -0
  316. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_reconnect_scenarios.py +0 -0
  317. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_summarization_config.py +0 -0
  318. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_summarization_real.py +0 -0
  319. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_summary_leak_e2e.py +0 -0
  320. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_upgrade_aio_pika.py +0 -0
  321. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_upgrade_langgraph_stream.py +0 -0
  322. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tests/test_upgrade_verification.py +0 -0
  323. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/__init__.py +0 -0
  324. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/async_utils.py +0 -0
  325. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/docs.py +0 -0
  326. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/env.py +0 -0
  327. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/merge_headers.py +0 -0
  328. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/snowflake.py +0 -0
  329. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/syemail.py +0 -0
  330. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/tools/timing.py +0 -0
  331. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/xxljob/__init__.py +0 -0
  332. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon/xxljob/xxljob_service.py +0 -0
  333. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  334. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  335. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  336. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
  337. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  338. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_acp_tool.py +0 -0
  339. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_asyncio_logging.py +0 -0
  340. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_config_change_notifier.py +0 -0
  341. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_hotreload_snapshot.py +0 -0
  342. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_llm_apikey_contextvar.py +0 -0
  343. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_log_masker.py +0 -0
  344. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_resilient_pg_saver.py +0 -0
  345. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_sandbox_path_guard.py +0 -0
  346. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_sensitive_guard.py +0 -0
  347. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_simple_chat_agent.py +0 -0
  348. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_skill_regex_upgrade.py +0 -0
  349. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_skill_write_guard.py +0 -0
  350. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/tests/test_sycli.py +0 -0
  351. {sycommon_python_lib-0.2.7a53 → sycommon_python_lib-0.2.7a54}/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.7a53
3
+ Version: 0.2.7a54
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -1,67 +1,67 @@
1
- [project]
2
- name = "sycommon-python-lib"
3
- version = "0.2.7a53"
4
- description = "Add your description here"
5
- readme = "README.md"
6
- requires-python = ">=3.11"
7
- dependencies = [
8
- "aio-pika==10.0.1",
9
- "aiohttp==3.14.3",
10
- "aiomysql==0.3.2",
11
- "anyio==4.14.2",
12
- "decorator==5.3.1",
13
- "deepagents==0.7.1",
14
- "elasticsearch==9.4.1",
15
- "fastapi==0.141.1",
16
- "jinja2==3.1.6",
17
- "kafka-python==3.0.9",
18
- "langchain==1.3.14",
19
- "langchain-core==1.5.3",
20
- "langchain-openai==1.4.1",
21
- "langfuse==4.14.2",
22
- "langgraph==1.2.10",
23
- "langgraph-checkpoint-postgres==3.1.1",
24
- "langgraph-checkpoint-redis==0.5.1",
25
- "ldap3==2.9.1",
26
- "loguru==0.7.3",
27
- "mysql-connector-python==26.7.0",
28
- "nacos-sdk-python==2.0.11,<3.0",
29
- "psutil==7.2.2",
30
- "pyxxl==0.4.8",
31
- "pydantic==2.13.4",
32
- "python-dotenv==1.2.2",
33
- "python-multipart==0.0.32",
34
- "pyyaml==6.0.3",
35
- "redis==7.4.0",
36
- "sentry-sdk[fastapi]==2.66.1",
37
- "sqlalchemy[asyncio]==2.0.51",
38
- "starlette[full]==1.3.1",
39
- "tiktoken==0.13.0",
40
- "uvicorn==0.52.1",
41
- "wecom-aibot-python-sdk==1.0.2",
42
- "twine==7.0.0",
43
- "minio==7.2.20",
44
- "langchain-mcp-adapters==0.3.1",
45
- "fastapi-mcp==0.4.0",
46
- "psycopg[binary,pool]==3.3.4",
47
- "agent-client-protocol==0.12.0",
48
- "pypinyin==0.55.0",
49
- ]
50
-
51
- [tool.setuptools]
52
- packages = {find = {where = ["src"], exclude = ["*.__pycache__", "*.__pycache__.*"]}}
53
- package-data = {command = ["templates/**/*", "templates/**/.*"], sycommon = ["llm/tiktoken_cache/*"]}
54
-
55
- [build-system]
56
- requires = ["setuptools"]
57
- build-backend = "setuptools.build_meta"
58
-
59
- [dependency-groups]
60
- dev = [
61
- "pytest>=9.0.3",
62
- ]
63
-
64
- [project.scripts]
65
- sycommon = "command.cli:main"
66
- sycli = "sycli.cli:main"
67
- sypublish = "nexus:main"
1
+ [project]
2
+ name = "sycommon-python-lib"
3
+ version = "0.2.7a54"
4
+ description = "Add your description here"
5
+ readme = "README.md"
6
+ requires-python = ">=3.11"
7
+ dependencies = [
8
+ "aio-pika==10.0.1",
9
+ "aiohttp==3.14.3",
10
+ "aiomysql==0.3.2",
11
+ "anyio==4.14.2",
12
+ "decorator==5.3.1",
13
+ "deepagents==0.7.1",
14
+ "elasticsearch==9.4.1",
15
+ "fastapi==0.141.1",
16
+ "jinja2==3.1.6",
17
+ "kafka-python==3.0.9",
18
+ "langchain==1.3.14",
19
+ "langchain-core==1.5.3",
20
+ "langchain-openai==1.4.1",
21
+ "langfuse==4.14.2",
22
+ "langgraph==1.2.10",
23
+ "langgraph-checkpoint-postgres==3.1.1",
24
+ "langgraph-checkpoint-redis==0.5.1",
25
+ "ldap3==2.9.1",
26
+ "loguru==0.7.3",
27
+ "mysql-connector-python==26.7.0",
28
+ "nacos-sdk-python==2.0.11,<3.0",
29
+ "psutil==7.2.2",
30
+ "pyxxl==0.4.8",
31
+ "pydantic==2.13.4",
32
+ "python-dotenv==1.2.2",
33
+ "python-multipart==0.0.32",
34
+ "pyyaml==6.0.3",
35
+ "redis==7.4.0",
36
+ "sentry-sdk[fastapi]==2.66.1",
37
+ "sqlalchemy[asyncio]==2.0.51",
38
+ "starlette[full]==1.3.1",
39
+ "tiktoken==0.13.0",
40
+ "uvicorn==0.52.1",
41
+ "wecom-aibot-python-sdk==1.0.2",
42
+ "twine==7.0.0",
43
+ "minio==7.2.20",
44
+ "langchain-mcp-adapters==0.3.1",
45
+ "fastapi-mcp==0.4.0",
46
+ "psycopg[binary,pool]==3.3.4",
47
+ "agent-client-protocol==0.12.0",
48
+ "pypinyin==0.55.0",
49
+ ]
50
+
51
+ [tool.setuptools]
52
+ packages = {find = {where = ["src"], exclude = ["*.__pycache__", "*.__pycache__.*"]}}
53
+ package-data = {command = ["templates/**/*", "templates/**/.*"], sycommon = ["llm/tiktoken_cache/*"]}
54
+
55
+ [build-system]
56
+ requires = ["setuptools"]
57
+ build-backend = "setuptools.build_meta"
58
+
59
+ [dependency-groups]
60
+ dev = [
61
+ "pytest>=9.0.3",
62
+ ]
63
+
64
+ [project.scripts]
65
+ sycommon = "command.cli:main"
66
+ sycli = "sycli.cli:main"
67
+ sypublish = "nexus:main"
@@ -108,6 +108,45 @@ _PIP_TMP_MIN_AGE_SECONDS = 10 * 60
108
108
  # 不再用周期 60s 轮询——启动 + 对话结束两个事件已覆盖所有产生时机。
109
109
 
110
110
 
111
+ # ============== 流式上传并发限流 ==============
112
+ # 两层信号量:全局封顶防多用户同时上传打爆服务端线程池/IO;per-user 限流防
113
+ # 单用户独占全局额度。超出额度的请求在信号量上排队(asyncio.Semaphore 是 FIFO
114
+ # 公平等待,不会饿死),不是直接拒绝。
115
+ #
116
+ # 配置走环境变量(默认值:全局 50 / 单用户 3):
117
+ # SANDBOX_UPLOAD_GLOBAL_MAX — 全局并发上传上限
118
+ # SANDBOX_UPLOAD_PER_USER — 单用户并发上传上限
119
+ #
120
+ # 🔑 多 worker 注意:每个 worker 进程各自独立计数(进程级信号量,非跨进程共享)。
121
+ # 实际全局上限 ≈ workers × SANDBOX_UPLOAD_GLOBAL_MAX。沙箱按 user_id 哈希到固定
122
+ # worker(load_balance),故单用户的真实上限仍是 SANDBOX_UPLOAD_PER_USER,不受多 worker 影响。
123
+ _UPLOAD_GLOBAL_MAX = int(os.environ.get("SANDBOX_UPLOAD_GLOBAL_MAX", 50))
124
+ _UPLOAD_PER_USER = int(os.environ.get("SANDBOX_UPLOAD_PER_USER", 3))
125
+
126
+ # 全局信号量:惰性创建(绑定首次调用时的 event loop;单 loop 部署下不变)。
127
+ # 模块顶层直接 asyncio.Semaphore() 在某些导入时机(无 running loop)会报错,故延迟。
128
+ _upload_global_sem: "asyncio.Semaphore | None" = None
129
+ # per-user 信号量缓存:user_id -> Semaphore。不同用户独立计数、互不抢占。
130
+ _upload_user_sems: "Dict[str, asyncio.Semaphore]" = {}
131
+
132
+
133
+ def _get_upload_global_sem() -> "asyncio.Semaphore":
134
+ """惰性创建全局上传信号量。"""
135
+ global _upload_global_sem
136
+ if _upload_global_sem is None:
137
+ _upload_global_sem = asyncio.Semaphore(_UPLOAD_GLOBAL_MAX)
138
+ return _upload_global_sem
139
+
140
+
141
+ def _get_upload_user_sem(user_id: str) -> "asyncio.Semaphore":
142
+ """惰性创建/取回某用户的上传信号量。不存在则新建(不会回收,user_id 域有限,可忽略)。"""
143
+ sem = _upload_user_sems.get(user_id)
144
+ if sem is None:
145
+ sem = asyncio.Semaphore(_UPLOAD_PER_USER)
146
+ _upload_user_sems[user_id] = sem
147
+ return sem
148
+
149
+
111
150
  async def _cleanup_finished_processes():
112
151
  """周期清理已完成的过期后台进程记录(仅进程记录,不含 pip tmp)。
113
152
 
@@ -1394,75 +1433,95 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
1394
1433
  支持任意大小文件。元数据(path/user_id/size)走 query 参数,不进 body——
1395
1434
  避免框架/中间件预缓冲 JSON body 重新引入 OOM(对齐 /download/stream 的反向思路)。
1396
1435
  错误用 HTTP 状态码 + JSON body 表达:400 路径非法 / 500 写入或长度不符。
1436
+
1437
+ 并发限流:两层 asyncio.Semaphore(全局 _UPLOAD_GLOBAL_MAX / 单用户
1438
+ _UPLOAD_PER_USER)。超出额度的请求在此排队等待,不拒绝。先抢全局额度、
1439
+ 再抢本用户额度,释放顺序相反,避免全局额度被等待用户额度的请求空占。
1397
1440
  """
1398
- workspace = await aget_user_workspace(user_id)
1441
+ # 并发限流在路径校验之前:让超额请求尽早排队,而非先做路径解析再排队。
1442
+ # (路径非法的请求量极小,不值得为此打乱限流顺序。)
1443
+ global_sem = _get_upload_global_sem()
1444
+ user_sem = _get_upload_user_sem(user_id)
1445
+ await global_sem.acquire()
1399
1446
  try:
1400
- file_path = resolve_sandbox_path(path, workspace)
1401
- except ValueError as e:
1402
- SYLogger.warning(f"[Sandbox Server] upload/stream 路径非法: {e}")
1403
- return JSONResponse(status_code=400, content={"error": str(e)})
1447
+ await user_sem.acquire()
1448
+ except BaseException:
1449
+ # acquire user_sem 失败(如被取消)必须先放全局额度,避免泄漏。
1450
+ global_sem.release()
1451
+ raise
1452
+ try:
1453
+ workspace = await aget_user_workspace(user_id)
1454
+ try:
1455
+ file_path = resolve_sandbox_path(path, workspace)
1456
+ except ValueError as e:
1457
+ SYLogger.warning(f"[Sandbox Server] upload/stream 路径非法: {e}")
1458
+ return JSONResponse(status_code=400, content={"error": str(e)})
1404
1459
 
1405
- # 预建父目录(磁盘 IO 不阻塞事件循环)
1406
- parent = os.path.dirname(file_path)
1460
+ # 预建父目录(磁盘 IO 不阻塞事件循环)
1461
+ parent = os.path.dirname(file_path)
1407
1462
 
1408
- def _prepare():
1409
- if parent:
1410
- os.makedirs(parent, exist_ok=True)
1411
- try:
1412
- await asyncio.to_thread(_prepare)
1413
- except OSError as e:
1414
- SYLogger.error(f"[Sandbox Server] upload/stream 建目录失败: {e}")
1415
- return JSONResponse(status_code=500, content={"error": str(e)})
1463
+ def _prepare():
1464
+ if parent:
1465
+ os.makedirs(parent, exist_ok=True)
1466
+ try:
1467
+ await asyncio.to_thread(_prepare)
1468
+ except OSError as e:
1469
+ SYLogger.error(f"[Sandbox Server] upload/stream 建目录失败: {e}")
1470
+ return JSONResponse(status_code=500, content={"error": str(e)})
1416
1471
 
1417
- loop = asyncio.get_event_loop()
1418
- # O_NOFOLLOW 防 symlink 写劫持(对齐 /upload、/batch_upload)。
1419
- flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC | getattr(os, "O_NOFOLLOW", 0)
1472
+ loop = asyncio.get_event_loop()
1473
+ # O_NOFOLLOW 防 symlink 写劫持(对齐 /upload、/batch_upload)。
1474
+ flags = os.O_WRONLY | os.O_CREAT | os.O_TRUNC | getattr(os, "O_NOFOLLOW", 0)
1420
1475
 
1421
- f = None
1422
- written = 0
1423
- try:
1424
- # os.fdopen(fd, 'wb'):二进制模式(Windows 不做 \n→\r\n 翻译),
1425
- # 内部按缓冲写盘并消化 partial write,比裸 os.write 更稳(对齐 /upload)。
1426
- fd = await loop.run_in_executor(None, os.open, file_path, flags, 0o644)
1427
- f = await loop.run_in_executor(None, os.fdopen, fd, 'wb')
1428
- async for chunk in request.stream():
1429
- if not chunk:
1430
- continue
1431
- await loop.run_in_executor(None, f.write, chunk)
1432
- written += len(chunk)
1433
- await loop.run_in_executor(None, f.close)
1434
1476
  f = None
1435
- except Exception as e:
1436
- # 客户端中途断连 / 写盘失败:关句柄 + 清理半成品文件(对齐 download_stream 的 finally 清理)
1437
- SYLogger.error(
1438
- f"[Sandbox Server] upload/stream 写入异常: {file_path} - {type(e).__name__}: {e}")
1439
- if f is not None:
1477
+ written = 0
1478
+ try:
1479
+ # os.fdopen(fd, 'wb'):二进制模式(Windows 不做 \n→\r\n 翻译),
1480
+ # 内部按缓冲写盘并消化 partial write,比裸 os.write 更稳(对齐 /upload)。
1481
+ fd = await loop.run_in_executor(None, os.open, file_path, flags, 0o644)
1482
+ f = await loop.run_in_executor(None, os.fdopen, fd, 'wb')
1483
+ async for chunk in request.stream():
1484
+ if not chunk:
1485
+ continue
1486
+ await loop.run_in_executor(None, f.write, chunk)
1487
+ written += len(chunk)
1488
+ await loop.run_in_executor(None, f.close)
1489
+ f = None
1490
+ except Exception as e:
1491
+ # 客户端中途断连 / 写盘失败:关句柄 + 清理半成品文件(对齐 download_stream 的 finally 清理)
1492
+ SYLogger.error(
1493
+ f"[Sandbox Server] upload/stream 写入异常: {file_path} - {type(e).__name__}: {e}")
1494
+ if f is not None:
1495
+ try:
1496
+ await loop.run_in_executor(None, f.close)
1497
+ except OSError:
1498
+ pass
1440
1499
  try:
1441
- await loop.run_in_executor(None, f.close)
1500
+ await loop.run_in_executor(None, os.unlink, file_path)
1442
1501
  except OSError:
1443
1502
  pass
1444
- try:
1445
- await loop.run_in_executor(None, os.unlink, file_path)
1446
- except OSError:
1447
- pass
1448
- return JSONResponse(status_code=500, content={"error": str(e)})
1503
+ return JSONResponse(status_code=500, content={"error": str(e)})
1449
1504
 
1450
- # size 给定时校验长度(防客户端截断后留下残缺文件)
1451
- if size is not None and written != size:
1452
- SYLogger.warning(
1453
- f"[Sandbox Server] upload/stream 长度不符: {file_path} "
1454
- f"written={written} expected={size},清理半成品")
1455
- try:
1456
- await loop.run_in_executor(None, os.unlink, file_path)
1457
- except OSError:
1458
- pass
1459
- return JSONResponse(
1460
- status_code=500,
1461
- content={"error": f"size mismatch: written={written} expected={size}"})
1505
+ # size 给定时校验长度(防客户端截断后留下残缺文件)
1506
+ if size is not None and written != size:
1507
+ SYLogger.warning(
1508
+ f"[Sandbox Server] upload/stream 长度不符: {file_path} "
1509
+ f"written={written} expected={size},清理半成品")
1510
+ try:
1511
+ await loop.run_in_executor(None, os.unlink, file_path)
1512
+ except OSError:
1513
+ pass
1514
+ return JSONResponse(
1515
+ status_code=500,
1516
+ content={"error": f"size mismatch: written={written} expected={size}"})
1462
1517
 
1463
- SYLogger.info(
1464
- f"[Sandbox Server] upload/stream 完成: {file_path} (user={user_id}, size={written})")
1465
- return {"path": path, "size": written}
1518
+ SYLogger.info(
1519
+ f"[Sandbox Server] upload/stream 完成: {file_path} (user={user_id}, size={written})")
1520
+ return {"path": path, "size": written}
1521
+ finally:
1522
+ # 释放顺序:先放用户额度,再放全局额度(与获取相反,避免全局额度空占)
1523
+ user_sem.release()
1524
+ global_sem.release()
1466
1525
 
1467
1526
  @sandbox_router.post("/tree", response_model=TreeResponse)
1468
1527
  async def tree_dir(req: TreeRequest):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.7a53
3
+ Version: 0.2.7a54
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown