sycommon-python-lib 0.2.1a39__tar.gz → 0.2.1a40__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 (144) hide show
  1. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/PKG-INFO +2 -1
  2. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/pyproject.toml +2 -1
  3. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/http_sandbox_backend.py +23 -21
  4. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/sso_user.py +6 -1
  5. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +1 -1
  6. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/PKG-INFO +2 -1
  7. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/requires.txt +1 -0
  8. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/README.md +0 -0
  9. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/setup.cfg +0 -0
  10. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/__init__.py +0 -0
  11. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/cli.py +0 -0
  12. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/core/__init__.py +0 -0
  13. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/core/console.py +0 -0
  14. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/core/models.py +0 -0
  15. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/core/project.py +0 -0
  16. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/core/utils.py +0 -0
  17. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/templates/__init__.py +0 -0
  18. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/templates/agent/__init__.py +0 -0
  19. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/templates/base/__init__.py +0 -0
  20. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/command/templates/web/__init__.py +0 -0
  21. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/__init__.py +0 -0
  22. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/__init__.py +0 -0
  23. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/agent_manager.py +0 -0
  24. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/chat_events.py +0 -0
  25. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/deep_agent.py +0 -0
  26. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/multi_agent_team.py +0 -0
  27. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/__init__.py +0 -0
  28. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/file_ops.py +0 -0
  29. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  30. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  31. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/agent/sandbox/session.py +0 -0
  32. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/auth/__init__.py +0 -0
  33. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/auth/ldap_service.py +0 -0
  34. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/Config.py +0 -0
  35. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/DatabaseConfig.py +0 -0
  36. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  37. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/EmbeddingConfig.py +0 -0
  38. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/LLMConfig.py +0 -0
  39. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/LangfuseConfig.py +0 -0
  40. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/MQConfig.py +0 -0
  41. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/RedisConfig.py +0 -0
  42. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/RerankerConfig.py +0 -0
  43. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/SentryConfig.py +0 -0
  44. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/config/__init__.py +0 -0
  45. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/async_base_db_service.py +0 -0
  46. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/async_database_service.py +0 -0
  47. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/base_db_service.py +0 -0
  48. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/database_service.py +0 -0
  49. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/elasticsearch_service.py +0 -0
  50. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/redis_service.py +0 -0
  51. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/database/token_usage_db_service.py +0 -0
  52. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/health/__init__.py +0 -0
  53. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/health/health_check.py +0 -0
  54. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/health/metrics.py +0 -0
  55. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/health/ping.py +0 -0
  56. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/heartbeat_process/__init__.py +0 -0
  57. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  58. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  59. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  60. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/__init__.py +0 -0
  61. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/embedding.py +0 -0
  62. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/get_llm.py +0 -0
  63. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/llm_logger.py +0 -0
  64. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/llm_tokens.py +0 -0
  65. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  66. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  67. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  68. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/struct_token.py +0 -0
  69. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/sy_langfuse.py +0 -0
  70. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/token_usage_es_service.py +0 -0
  71. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  72. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/llm/usage_token.py +0 -0
  73. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/__init__.py +0 -0
  74. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/async_sql_logger.py +0 -0
  75. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/kafka_log.py +0 -0
  76. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/logger_levels.py +0 -0
  77. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/logger_wrapper.py +0 -0
  78. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/process_logger.py +0 -0
  79. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/logging/sql_logger.py +0 -0
  80. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/__init__.py +0 -0
  81. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/background_execution.py +0 -0
  82. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/context.py +0 -0
  83. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/cors.py +0 -0
  84. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/docs.py +0 -0
  85. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/exception.py +0 -0
  86. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/middleware.py +0 -0
  87. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/monitor_memory.py +0 -0
  88. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/mq.py +0 -0
  89. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/sandbox.py +0 -0
  90. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/timeout.py +0 -0
  91. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/middleware/traceid.py +0 -0
  92. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/__init__.py +0 -0
  93. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/base_http.py +0 -0
  94. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/log.py +0 -0
  95. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/mqlistener_config.py +0 -0
  96. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/mqmsg_model.py +0 -0
  97. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/mqsend_config.py +0 -0
  98. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/sandbox.py +0 -0
  99. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/token_usage.py +0 -0
  100. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/models/token_usage_mysql.py +0 -0
  101. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/notice/__init__.py +0 -0
  102. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  103. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  104. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  105. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  106. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  107. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  108. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  109. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  110. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  111. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/sentry/__init__.py +0 -0
  112. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/sentry/sy_sentry.py +0 -0
  113. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/services.py +0 -0
  114. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/sse/__init__.py +0 -0
  115. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/sse/event.py +0 -0
  116. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/sse/sse.py +0 -0
  117. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/__init__.py +0 -0
  118. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/example.py +0 -0
  119. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/example2.py +0 -0
  120. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/feign.py +0 -0
  121. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/feign_client.py +0 -0
  122. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_client_base.py +0 -0
  123. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  124. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  125. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_service.py +0 -0
  126. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  127. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  128. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/synacos/param.py +0 -0
  129. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tests/deep_agent_server.py +0 -0
  130. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tests/test_deep_agent.py +0 -0
  131. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tests/test_email.py +0 -0
  132. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tests/test_mq.py +0 -0
  133. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/__init__.py +0 -0
  134. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/async_utils.py +0 -0
  135. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/docs.py +0 -0
  136. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/env.py +0 -0
  137. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/merge_headers.py +0 -0
  138. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/snowflake.py +0 -0
  139. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/syemail.py +0 -0
  140. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon/tools/timing.py +0 -0
  141. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
  142. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
  143. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
  144. {sycommon_python_lib-0.2.1a39 → sycommon_python_lib-0.2.1a40}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.1a39
3
+ Version: 0.2.1a40
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -19,6 +19,7 @@ Requires-Dist: langchain-core>=1.2.20
19
19
  Requires-Dist: langchain-openai>=1.1.11
20
20
  Requires-Dist: langfuse>=4.0.1
21
21
  Requires-Dist: langgraph>=1.1.3
22
+ Requires-Dist: langgraph-checkpoint-redis>=0.4.0
22
23
  Requires-Dist: ldap3>=2.9.1
23
24
  Requires-Dist: loguru>=0.7.3
24
25
  Requires-Dist: mysql-connector-python>=9.6.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.2.1a39"
3
+ version = "0.2.1a40"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -20,6 +20,7 @@ dependencies = [
20
20
  "langchain-openai>=1.1.11",
21
21
  "langfuse>=4.0.1",
22
22
  "langgraph>=1.1.3",
23
+ "langgraph-checkpoint-redis>=0.4.0",
23
24
  "ldap3>=2.9.1",
24
25
  "loguru>=0.7.3",
25
26
  "mysql-connector-python>=9.6.0",
@@ -558,32 +558,34 @@ class HTTPSandboxBackend(FileOperationsMixin, SandboxBackendProtocol):
558
558
 
559
559
  SYLogger.info(f"[Sandbox] 准备上传 {len(files_to_upload)} 个文件到沙箱")
560
560
 
561
- success_count = 0
562
- failed_count = 0
563
- errors = []
561
+ semaphore = asyncio.Semaphore(10)
564
562
 
565
- for idx, (sandbox_path, local_file) in enumerate(files_to_upload):
566
- try:
563
+ async def _upload_one(idx, sandbox_path, local_file):
564
+ async with semaphore:
567
565
  if idx % 10 == 0:
568
566
  SYLogger.info(f"[Sandbox] 上传进度: {idx}/{len(files_to_upload)}")
567
+ try:
568
+ content = await asyncio.to_thread(lambda f=local_file: open(f, "rb").read())
569
+ result = await self._post_async(f"{SANDBOX_API_PREFIX}/upload", {
570
+ "path": sandbox_path,
571
+ "content": base64.b64encode(content).decode(),
572
+ "user_id": self._user_id
573
+ })
574
+ if result.get("error"):
575
+ return {"ok": False, "path": sandbox_path, "error": result["error"]}
576
+ return {"ok": True}
577
+ except Exception as e:
578
+ return {"ok": False, "path": sandbox_path, "error": str(e)}
569
579
 
570
- content = await asyncio.to_thread(lambda f=local_file: open(f, "rb").read())
571
-
572
- result = await self._post_async(f"{SANDBOX_API_PREFIX}/upload", {
573
- "path": sandbox_path,
574
- "content": base64.b64encode(content).decode(),
575
- "user_id": self._user_id
576
- })
577
-
578
- if result.get("error"):
579
- failed_count += 1
580
- errors.append({"path": sandbox_path, "error": result["error"]})
581
- else:
582
- success_count += 1
580
+ upload_tasks = [
581
+ _upload_one(idx, sandbox_path, local_file)
582
+ for idx, (sandbox_path, local_file) in enumerate(files_to_upload)
583
+ ]
584
+ upload_results = await asyncio.gather(*upload_tasks)
583
585
 
584
- except Exception as e:
585
- failed_count += 1
586
- errors.append({"path": sandbox_path, "error": str(e)})
586
+ success_count = sum(1 for r in upload_results if r["ok"])
587
+ failed_count = sum(1 for r in upload_results if not r["ok"])
588
+ errors = [{"path": r["path"], "error": r["error"]} for r in upload_results if not r["ok"]]
587
589
 
588
590
  SYLogger.info(f"[Sandbox] _upload_directory_async 完成: 成功={success_count}, 失败={failed_count}")
589
591
  return {"success": success_count, "failed": failed_count, "errors": errors}
@@ -1,11 +1,16 @@
1
1
  from pydantic import BaseModel, ConfigDict
2
+ from pydantic.alias_generators import to_camel
2
3
  from typing import List, Optional
3
4
  from datetime import datetime
4
5
 
5
6
 
6
7
  class SsoUser(BaseModel):
7
8
  """SSO用户模型,对应Java的SsoUser类"""
8
- model_config = ConfigDict(protected_namespaces=())
9
+ model_config = ConfigDict(
10
+ protected_namespaces=(),
11
+ alias_generator=to_camel,
12
+ populate_by_name=True,
13
+ )
9
14
  tenant_id: Optional[str] = None
10
15
  customer_id: Optional[str] = None
11
16
  customer_name: Optional[str] = None
@@ -209,7 +209,7 @@ class RabbitMQProducerManager(RabbitMQClientManager):
209
209
  request_path="/",
210
210
  req_type="SYSTEM",
211
211
  trace_id=logger.get_trace_id(),
212
- ).model_dump_json(),
212
+ ).model_dump_json(by_alias=True),
213
213
  "trace-id": logger.get_trace_id(),
214
214
  "createTime": str(int(time.time() * 1000)),
215
215
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.1a39
3
+ Version: 0.2.1a40
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -19,6 +19,7 @@ Requires-Dist: langchain-core>=1.2.20
19
19
  Requires-Dist: langchain-openai>=1.1.11
20
20
  Requires-Dist: langfuse>=4.0.1
21
21
  Requires-Dist: langgraph>=1.1.3
22
+ Requires-Dist: langgraph-checkpoint-redis>=0.4.0
22
23
  Requires-Dist: ldap3>=2.9.1
23
24
  Requires-Dist: loguru>=0.7.3
24
25
  Requires-Dist: mysql-connector-python>=9.6.0
@@ -13,6 +13,7 @@ langchain-core>=1.2.20
13
13
  langchain-openai>=1.1.11
14
14
  langfuse>=4.0.1
15
15
  langgraph>=1.1.3
16
+ langgraph-checkpoint-redis>=0.4.0
16
17
  ldap3>=2.9.1
17
18
  loguru>=0.7.3
18
19
  mysql-connector-python>=9.6.0