sycommon-python-lib 0.2.2a1__tar.gz → 0.2.2a3__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 (259) hide show
  1. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/PKG-INFO +1 -1
  2. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/pyproject.toml +1 -1
  3. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/http_sandbox_backend.py +76 -14
  4. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/get_llm.py +10 -3
  5. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
  6. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/README.md +0 -0
  7. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/setup.cfg +0 -0
  8. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/__init__.py +0 -0
  9. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/cli.py +0 -0
  10. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/core/__init__.py +0 -0
  11. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/core/console.py +0 -0
  12. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/core/models.py +0 -0
  13. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/core/project.py +0 -0
  14. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/core/utils.py +0 -0
  15. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/__init__.py +0 -0
  16. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/README.md.tpl +0 -0
  17. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/__init__.py +0 -0
  18. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
  19. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
  20. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
  21. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
  22. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
  23. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
  24. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/api/__init__.py.tpl +0 -0
  25. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/api/query.py.tpl +0 -0
  26. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
  27. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
  28. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/app.py.tpl +0 -0
  29. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/client/__init__.py.tpl +0 -0
  30. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/db/__init__.py.tpl +0 -0
  31. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
  32. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
  33. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/db/service.py.tpl +0 -0
  34. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/model/__init__.py.tpl +0 -0
  35. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/model/parse.py.tpl +0 -0
  36. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
  37. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/agent/tools/mq.py.tpl +0 -0
  38. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/.env.tpl +0 -0
  39. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/.gitignore.tpl +0 -0
  40. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/Dockerfile.tpl +0 -0
  41. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/README.md.tpl +0 -0
  42. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/__init__.py +0 -0
  43. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/app.py.tpl +0 -0
  44. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/app.yaml.tpl +0 -0
  45. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
  46. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/client/__init__.py.tpl +0 -0
  47. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/model/__init__.py.tpl +0 -0
  48. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/model/file_info.py.tpl +0 -0
  49. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/base/requirements.txt.tpl +0 -0
  50. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/README.md.tpl +0 -0
  51. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/__init__.py +0 -0
  52. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/api/__init__.py.tpl +0 -0
  53. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/api/echo.py.tpl +0 -0
  54. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
  55. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
  56. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/app.py.tpl +0 -0
  57. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/client/__init__.py.tpl +0 -0
  58. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/model/__init__.py.tpl +0 -0
  59. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/tools/__init__.py.tpl +0 -0
  60. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/command/templates/web/tools/mq.py.tpl +0 -0
  61. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/nexus/__init__.py +0 -0
  62. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/__init__.py +0 -0
  63. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/__main__.py +0 -0
  64. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/agents/__init__.py +0 -0
  65. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/agents/factory.py +0 -0
  66. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/agents/prompts.py +0 -0
  67. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/__init__.py +0 -0
  68. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/browser.py +0 -0
  69. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/__init__.py +0 -0
  70. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/console.py +0 -0
  71. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/dom.py +0 -0
  72. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/network.py +0 -0
  73. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/page_errors.py +0 -0
  74. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/performance.py +0 -0
  75. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/capabilities/screenshot.py +0 -0
  76. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/client.py +0 -0
  77. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/protocol.py +0 -0
  78. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cdp/repl.py +0 -0
  79. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/cli.py +0 -0
  80. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/__init__.py +0 -0
  81. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/cdp_cmd.py +0 -0
  82. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/chat_cmd.py +0 -0
  83. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/create_cmd.py +0 -0
  84. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/evaluate_cmd.py +0 -0
  85. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/init_cmd.py +0 -0
  86. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/memory_cmd.py +0 -0
  87. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/resume_cmd.py +0 -0
  88. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/rollback_cmd.py +0 -0
  89. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/commands/run_cmd.py +0 -0
  90. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/__init__.py +0 -0
  91. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/backend.py +0 -0
  92. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/config.py +0 -0
  93. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/display.py +0 -0
  94. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/git_integration.py +0 -0
  95. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/llm.py +0 -0
  96. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/core/state.py +0 -0
  97. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/evaluate/__init__.py +0 -0
  98. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/evaluate/api_evaluator.py +0 -0
  99. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/__init__.py +0 -0
  100. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/compressor.py +0 -0
  101. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/full.py +0 -0
  102. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/hot.py +0 -0
  103. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/manager.py +0 -0
  104. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/memory/warm.py +0 -0
  105. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/mode/__init__.py +0 -0
  106. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/mode/create.py +0 -0
  107. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/mode/optimize.py +0 -0
  108. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/models/__init__.py +0 -0
  109. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/models/config_models.py +0 -0
  110. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/__init__.py +0 -0
  111. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/baseline_tests.py +0 -0
  112. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/checkpoint.py +0 -0
  113. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/convergence.py +0 -0
  114. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/diagnosis.py +0 -0
  115. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/engine.py +0 -0
  116. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/environment.py +0 -0
  117. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/experience.py +0 -0
  118. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/harness_prompts.py +0 -0
  119. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/history.py +0 -0
  120. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/optimization_logger.py +0 -0
  121. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/pre_validation.py +0 -0
  122. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/reward.py +0 -0
  123. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/strategy_bandit.py +0 -0
  124. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/strategy_generator.py +0 -0
  125. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/rl/strategy_prompts.py +0 -0
  126. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycli/skills/__init__.py +0 -0
  127. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/__init__.py +0 -0
  128. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/__init__.py +0 -0
  129. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/agent_manager.py +0 -0
  130. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/chat_events.py +0 -0
  131. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/deep_agent.py +0 -0
  132. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/multi_agent_team.py +0 -0
  133. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/__init__.py +0 -0
  134. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/file_ops.py +0 -0
  135. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  136. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  137. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/agent/sandbox/session.py +0 -0
  138. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/auth/__init__.py +0 -0
  139. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/auth/ldap_service.py +0 -0
  140. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/auth/wecom_ldap_service.py +0 -0
  141. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/Config.py +0 -0
  142. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/DatabaseConfig.py +0 -0
  143. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  144. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/EmbeddingConfig.py +0 -0
  145. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/LLMConfig.py +0 -0
  146. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/LangfuseConfig.py +0 -0
  147. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/MQConfig.py +0 -0
  148. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/RedisConfig.py +0 -0
  149. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/RerankerConfig.py +0 -0
  150. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/SentryConfig.py +0 -0
  151. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/XxlJobConfig.py +0 -0
  152. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/config/__init__.py +0 -0
  153. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/async_base_db_service.py +0 -0
  154. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/async_database_service.py +0 -0
  155. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/base_db_service.py +0 -0
  156. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/database_service.py +0 -0
  157. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/elasticsearch_service.py +0 -0
  158. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/redis_service.py +0 -0
  159. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/database/token_usage_db_service.py +0 -0
  160. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/health/__init__.py +0 -0
  161. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/health/health_check.py +0 -0
  162. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/health/metrics.py +0 -0
  163. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/health/ping.py +0 -0
  164. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/heartbeat_process/__init__.py +0 -0
  165. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  166. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  167. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  168. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/__init__.py +0 -0
  169. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/embedding.py +0 -0
  170. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/llm_logger.py +0 -0
  171. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/llm_tokens.py +0 -0
  172. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  173. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  174. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  175. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/struct_token.py +0 -0
  176. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/sy_langfuse.py +0 -0
  177. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/token_usage_es_service.py +0 -0
  178. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  179. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/llm/usage_token.py +0 -0
  180. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/__init__.py +0 -0
  181. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/async_sql_logger.py +0 -0
  182. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/kafka_log.py +0 -0
  183. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/logger_levels.py +0 -0
  184. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/logger_wrapper.py +0 -0
  185. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/process_logger.py +0 -0
  186. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/logging/sql_logger.py +0 -0
  187. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/__init__.py +0 -0
  188. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/background_execution.py +0 -0
  189. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/context.py +0 -0
  190. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/cors.py +0 -0
  191. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/docs.py +0 -0
  192. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/exception.py +0 -0
  193. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/middleware.py +0 -0
  194. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/monitor_memory.py +0 -0
  195. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/mq.py +0 -0
  196. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/sandbox.py +0 -0
  197. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/timeout.py +0 -0
  198. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/token_tracking.py +0 -0
  199. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/middleware/traceid.py +0 -0
  200. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/__init__.py +0 -0
  201. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/base_http.py +0 -0
  202. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/log.py +0 -0
  203. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/mqlistener_config.py +0 -0
  204. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/mqmsg_model.py +0 -0
  205. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/mqsend_config.py +0 -0
  206. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/sandbox.py +0 -0
  207. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/sso_user.py +0 -0
  208. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/token_usage.py +0 -0
  209. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/token_usage_mysql.py +0 -0
  210. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/models/xxljob_handler_config.py +0 -0
  211. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/notice/__init__.py +0 -0
  212. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  213. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  214. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  215. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  216. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  217. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  218. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  219. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  220. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  221. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  222. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/sentry/__init__.py +0 -0
  223. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/sentry/sy_sentry.py +0 -0
  224. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/services.py +0 -0
  225. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/sse/__init__.py +0 -0
  226. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/sse/event.py +0 -0
  227. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/sse/sse.py +0 -0
  228. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/__init__.py +0 -0
  229. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/example.py +0 -0
  230. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/example2.py +0 -0
  231. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/feign.py +0 -0
  232. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/feign_client.py +0 -0
  233. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_client_base.py +0 -0
  234. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  235. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  236. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_service.py +0 -0
  237. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  238. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  239. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/synacos/param.py +0 -0
  240. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tests/deep_agent_server.py +0 -0
  241. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tests/test_deep_agent.py +0 -0
  242. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tests/test_email.py +0 -0
  243. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tests/test_mq.py +0 -0
  244. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/__init__.py +0 -0
  245. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/async_utils.py +0 -0
  246. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/docs.py +0 -0
  247. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/env.py +0 -0
  248. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/merge_headers.py +0 -0
  249. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/snowflake.py +0 -0
  250. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/syemail.py +0 -0
  251. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/tools/timing.py +0 -0
  252. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/xxljob/__init__.py +0 -0
  253. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon/xxljob/xxljob_service.py +0 -0
  254. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  255. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  256. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  257. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
  258. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
  259. {sycommon_python_lib-0.2.2a1 → sycommon_python_lib-0.2.2a3}/tests/test_sycli.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.2a1
3
+ Version: 0.2.2a3
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.2a1"
3
+ version = "0.2.2a3"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -408,21 +408,83 @@ class HTTPSandboxBackend(FileOperationsMixin, SandboxBackendProtocol):
408
408
  """用户ID"""
409
409
  return self._user_id
410
410
 
411
- # 沙箱容器内用户数据的实际根目录(与 sandbox server file_ops 路径对齐)
412
- # 线上 Linux 沙箱容器固定为 /data/sycommon_sandbox
413
- # 本地调试(macOS/Windows)使用环境变量 SANDBOX_WORKSPACE 或系统临时目录
414
- _WORKSPACE_ROOT = os.environ.get(
415
- "SANDBOX_WORKSPACE",
416
- "/data/sycommon_sandbox" if sys.platform != "darwin" and sys.platform != "win32"
417
- else os.path.join(tempfile.gettempdir(), "sycommon_sandbox")
418
- )
411
+ # 沙箱容器内用户数据的实际根目录,通过 health 接口从沙箱服务端动态获取。
412
+ # 初始化为 None,首次执行命令时通过 _resolve_workspace_root() 延迟获取。
413
+ _workspace_root: Optional[str] = None
414
+
415
+ def _resolve_workspace_root(self) -> str:
416
+ """同步获取沙箱服务端的 WORKSPACE_BASE,并缓存到实例"""
417
+ if self._workspace_root is not None:
418
+ return self._workspace_root
419
+
420
+ # 优先使用环境变量覆盖
421
+ env_workspace = os.environ.get("SANDBOX_WORKSPACE")
422
+ if env_workspace:
423
+ self._workspace_root = env_workspace
424
+ SYLogger.info(f"[Sandbox] 使用环境变量 SANDBOX_WORKSPACE={env_workspace}")
425
+ return self._workspace_root
426
+
427
+ # 从沙箱服务端 health 接口获取
428
+ try:
429
+ url = f"{self._base_url}{SANDBOX_API_PREFIX}/health"
430
+ resp = requests.get(url, timeout=10)
431
+ if resp.status_code == 200:
432
+ workspace = resp.json().get("workspace", "")
433
+ if workspace:
434
+ self._workspace_root = workspace
435
+ SYLogger.info(f"[Sandbox] 从沙箱服务端获取 WORKSPACE_ROOT={workspace}")
436
+ return self._workspace_root
437
+ except Exception as e:
438
+ SYLogger.warning(f"[Sandbox] 获取沙箱 workspace 失败: {e}")
439
+
440
+ # 兜底:根据平台猜测
441
+ self._workspace_root = "/data/sycommon_sandbox" if sys.platform != "darwin" and sys.platform != "win32" else os.path.join(tempfile.gettempdir(), "sycommon_sandbox")
442
+ SYLogger.warning(f"[Sandbox] 无法获取沙箱 workspace,使用兜底值: {self._workspace_root}")
443
+ return self._workspace_root
444
+
445
+ async def _aresolve_workspace_root(self) -> str:
446
+ """异步获取沙箱服务端的 WORKSPACE_BASE,并缓存到实例"""
447
+ if self._workspace_root is not None:
448
+ return self._workspace_root
449
+
450
+ # 优先使用环境变量覆盖
451
+ env_workspace = os.environ.get("SANDBOX_WORKSPACE")
452
+ if env_workspace:
453
+ self._workspace_root = env_workspace
454
+ SYLogger.info(f"[Sandbox] 使用环境变量 SANDBOX_WORKSPACE={env_workspace}")
455
+ return self._workspace_root
456
+
457
+ # 从沙箱服务端 health 接口获取(aiohttp 异步)
458
+ try:
459
+ url = f"{self._base_url}{SANDBOX_API_PREFIX}/health"
460
+ timeout_obj = aiohttp.ClientTimeout(total=10)
461
+ async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=_SSL_CONTEXT), timeout=timeout_obj) as session:
462
+ async with session.get(url) as resp:
463
+ if resp.status == 200:
464
+ data = await resp.json()
465
+ workspace = data.get("workspace", "")
466
+ if workspace:
467
+ self._workspace_root = workspace
468
+ SYLogger.info(f"[Sandbox] 从沙箱服务端获取 WORKSPACE_ROOT={workspace}")
469
+ return self._workspace_root
470
+ except Exception as e:
471
+ SYLogger.warning(f"[Sandbox] 异步获取沙箱 workspace 失败: {e}")
472
+
473
+ # 兜底
474
+ self._workspace_root = "/data/sycommon_sandbox" if sys.platform != "darwin" and sys.platform != "win32" else os.path.join(tempfile.gettempdir(), "sycommon_sandbox")
475
+ SYLogger.warning(f"[Sandbox] 无法获取沙箱 workspace,使用兜底值: {self._workspace_root}")
476
+ return self._workspace_root
419
477
 
420
478
  def _wrap_command_isolation(self, command: str) -> str:
421
- """包裹命令,确保在用户工作目录下执行
479
+ """同步版本:包裹命令,确保在用户工作目录下执行"""
480
+ workspace_root = self._resolve_workspace_root()
481
+ user_dir = f"{workspace_root}/{self._user_id}"
482
+ return f"mkdir -p {user_dir} && cd {user_dir} && {command.strip()}"
422
483
 
423
- 仅负责工作目录定位,文件系统隔离由沙箱服务端保证。
424
- """
425
- user_dir = f"{self._WORKSPACE_ROOT}/{self._user_id}"
484
+ async def _awrap_command_isolation(self, command: str) -> str:
485
+ """异步版本:包裹命令,确保在用户工作目录下执行"""
486
+ workspace_root = await self._aresolve_workspace_root()
487
+ user_dir = f"{workspace_root}/{self._user_id}"
426
488
  return f"mkdir -p {user_dir} && cd {user_dir} && {command.strip()}"
427
489
 
428
490
  # ============== 执行命令 ==============
@@ -456,7 +518,7 @@ class HTTPSandboxBackend(FileOperationsMixin, SandboxBackendProtocol):
456
518
 
457
519
  async def aexecute(self, command: str, *, timeout: int = None) -> ExecuteResponse:
458
520
  """异步执行 shell 命令(真正的异步实现,带文件系统隔离)"""
459
- isolated_command = self._wrap_command_isolation(command)
521
+ isolated_command = await self._awrap_command_isolation(command)
460
522
  SYLogger.info(f"[Sandbox] aexecute 开始: command={command}")
461
523
  await self._ensure_synced_async()
462
524
  SYLogger.info(f"[Sandbox] _ensure_synced_async 完成,开始执行命令: {command}")
@@ -715,7 +777,7 @@ class HTTPSandboxBackend(FileOperationsMixin, SandboxBackendProtocol):
715
777
  async def aexecute_background(self, command: str, *, timeout: int = 600) -> dict:
716
778
  """异步后台执行 shell 命令(真正的异步实现,带文件系统隔离)"""
717
779
  await self._ensure_synced_async()
718
- isolated_command = self._wrap_command_isolation(command)
780
+ isolated_command = await self._awrap_command_isolation(command)
719
781
  SYLogger.info(f"[Sandbox] 异步后台执行: {command}")
720
782
  try:
721
783
  result = await self._post_async_with_failover(f"{SANDBOX_API_PREFIX}/execute_background", {
@@ -7,13 +7,15 @@ from sycommon.llm.usage_token import LLMWithAutoTokenUsage
7
7
  from typing import Any, Optional, Union
8
8
  from langchain_core.language_models import BaseChatModel
9
9
 
10
+ _TIMEOUT_UNSET = object()
11
+
10
12
 
11
13
  def get_llm(
12
14
  model: Optional[str] = None,
13
15
  *,
14
16
  streaming: bool = False,
15
17
  temperature: Optional[float] = None,
16
- timeout: float = 180,
18
+ timeout: Optional[float] = _TIMEOUT_UNSET,
17
19
  max_retries: int = 3,
18
20
  wrap_structured: bool = True,
19
21
  thinking: bool = False,
@@ -26,7 +28,9 @@ def get_llm(
26
28
  model: 模型名称,如果为 None 则使用配置中 default=True 的模型
27
29
  streaming: 是否启用流式输出
28
30
  temperature: 温度参数,如果为 None 则根据 thinking 模式自动设置
29
- timeout: 请求超时时间(秒),默认180秒
31
+ timeout: 请求超时时间(秒),不传则根据 wrap_structured 自动决定:
32
+ - wrap_structured=True(结构化输出):默认 180 秒
33
+ - wrap_structured=False(普通调用):默认不设超时
30
34
  max_retries: 最大重试次数,默认3次
31
35
  wrap_structured: 是否包装为结构化输出实例,默认True
32
36
  - True: 返回 LLMWithAutoTokenUsage,支持 with_structured_output()
@@ -147,6 +151,10 @@ def get_llm(
147
151
  langfuse_callbacks, langfuse = LangfuseInitializer.get()
148
152
  callbacks = [LLMLogger()] + langfuse_callbacks
149
153
 
154
+ # 根据 wrap_structured 决定默认超时
155
+ if timeout is _TIMEOUT_UNSET:
156
+ timeout = 180 if wrap_structured else None
157
+
150
158
  init_params = {
151
159
  "model_provider": llmConfig.provider,
152
160
  "model": llmConfig.model,
@@ -158,7 +166,6 @@ def get_llm(
158
166
  "timeout": timeout,
159
167
  "max_retries": max_retries,
160
168
  "stream_chunk_timeout": None,
161
- # "model_kwargs": {"response_format": {"type": "json_object"}},
162
169
  }
163
170
 
164
171
  # 合并其他透传参数(包括 presence_penalty, extra_body, top_p 等)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.2a1
3
+ Version: 0.2.2a3
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown