sycommon-python-lib 0.2.1a44__tar.gz → 0.2.1a46__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 (187) hide show
  1. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/PKG-INFO +10 -9
  2. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/pyproject.toml +11 -9
  3. sycommon_python_lib-0.2.1a46/src/sycli/__init__.py +3 -0
  4. sycommon_python_lib-0.2.1a46/src/sycli/__main__.py +6 -0
  5. sycommon_python_lib-0.2.1a46/src/sycli/agents/__init__.py +1 -0
  6. sycommon_python_lib-0.2.1a46/src/sycli/agents/factory.py +159 -0
  7. sycommon_python_lib-0.2.1a46/src/sycli/agents/prompts.py +228 -0
  8. sycommon_python_lib-0.2.1a46/src/sycli/cli.py +392 -0
  9. sycommon_python_lib-0.2.1a46/src/sycli/commands/__init__.py +1 -0
  10. sycommon_python_lib-0.2.1a46/src/sycli/commands/chat_cmd.py +283 -0
  11. sycommon_python_lib-0.2.1a46/src/sycli/commands/create_cmd.py +122 -0
  12. sycommon_python_lib-0.2.1a46/src/sycli/commands/evaluate_cmd.py +144 -0
  13. sycommon_python_lib-0.2.1a46/src/sycli/commands/init_cmd.py +163 -0
  14. sycommon_python_lib-0.2.1a46/src/sycli/commands/memory_cmd.py +168 -0
  15. sycommon_python_lib-0.2.1a46/src/sycli/commands/resume_cmd.py +127 -0
  16. sycommon_python_lib-0.2.1a46/src/sycli/commands/rollback_cmd.py +88 -0
  17. sycommon_python_lib-0.2.1a46/src/sycli/commands/run_cmd.py +112 -0
  18. sycommon_python_lib-0.2.1a46/src/sycli/core/__init__.py +31 -0
  19. sycommon_python_lib-0.2.1a46/src/sycli/core/backend.py +36 -0
  20. sycommon_python_lib-0.2.1a46/src/sycli/core/config.py +4 -0
  21. sycommon_python_lib-0.2.1a46/src/sycli/core/display.py +96 -0
  22. sycommon_python_lib-0.2.1a46/src/sycli/core/git_integration.py +198 -0
  23. sycommon_python_lib-0.2.1a46/src/sycli/core/llm.py +63 -0
  24. sycommon_python_lib-0.2.1a46/src/sycli/core/state.py +29 -0
  25. sycommon_python_lib-0.2.1a46/src/sycli/memory/__init__.py +1 -0
  26. sycommon_python_lib-0.2.1a46/src/sycli/memory/compressor.py +127 -0
  27. sycommon_python_lib-0.2.1a46/src/sycli/memory/full.py +74 -0
  28. sycommon_python_lib-0.2.1a46/src/sycli/memory/hot.py +92 -0
  29. sycommon_python_lib-0.2.1a46/src/sycli/memory/manager.py +241 -0
  30. sycommon_python_lib-0.2.1a46/src/sycli/memory/warm.py +78 -0
  31. sycommon_python_lib-0.2.1a46/src/sycli/mode/__init__.py +1 -0
  32. sycommon_python_lib-0.2.1a46/src/sycli/mode/create.py +524 -0
  33. sycommon_python_lib-0.2.1a46/src/sycli/mode/optimize.py +40 -0
  34. sycommon_python_lib-0.2.1a46/src/sycli/models/__init__.py +1 -0
  35. sycommon_python_lib-0.2.1a46/src/sycli/models/config_models.py +150 -0
  36. sycommon_python_lib-0.2.1a46/src/sycli/rl/__init__.py +1 -0
  37. sycommon_python_lib-0.2.1a46/src/sycli/rl/convergence.py +155 -0
  38. sycommon_python_lib-0.2.1a46/src/sycli/rl/engine.py +678 -0
  39. sycommon_python_lib-0.2.1a46/src/sycli/rl/history.py +126 -0
  40. sycommon_python_lib-0.2.1a46/src/sycli/rl/reward.py +98 -0
  41. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/__init__.py +4 -0
  42. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/file_ops.py +78 -35
  43. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/http_sandbox_backend.py +48 -7
  44. sycommon_python_lib-0.2.1a46/src/sycommon/config/XxlJobConfig.py +17 -0
  45. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/sandbox.py +70 -0
  46. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/sandbox.py +23 -0
  47. sycommon_python_lib-0.2.1a46/src/sycommon/models/xxljob_handler_config.py +11 -0
  48. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/services.py +15 -2
  49. sycommon_python_lib-0.2.1a46/src/sycommon/xxljob/__init__.py +3 -0
  50. sycommon_python_lib-0.2.1a46/src/sycommon/xxljob/xxljob_service.py +196 -0
  51. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/PKG-INFO +10 -9
  52. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/SOURCES.txt +44 -1
  53. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/entry_points.txt +1 -0
  54. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/requires.txt +9 -8
  55. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/top_level.txt +1 -0
  56. sycommon_python_lib-0.2.1a46/tests/test_sycli.py +880 -0
  57. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/README.md +0 -0
  58. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/setup.cfg +0 -0
  59. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/__init__.py +0 -0
  60. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/cli.py +0 -0
  61. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/__init__.py +0 -0
  62. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/console.py +0 -0
  63. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/models.py +0 -0
  64. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/project.py +0 -0
  65. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/utils.py +0 -0
  66. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/__init__.py +0 -0
  67. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/agent/__init__.py +0 -0
  68. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/base/__init__.py +0 -0
  69. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/web/__init__.py +0 -0
  70. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/__init__.py +0 -0
  71. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/__init__.py +0 -0
  72. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/agent_manager.py +0 -0
  73. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/chat_events.py +0 -0
  74. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/deep_agent.py +0 -0
  75. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/multi_agent_team.py +0 -0
  76. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
  77. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
  78. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/session.py +0 -0
  79. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/auth/__init__.py +0 -0
  80. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/auth/ldap_service.py +0 -0
  81. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/Config.py +0 -0
  82. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/DatabaseConfig.py +0 -0
  83. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/ElasticsearchConfig.py +0 -0
  84. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/EmbeddingConfig.py +0 -0
  85. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/LLMConfig.py +0 -0
  86. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/LangfuseConfig.py +0 -0
  87. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/MQConfig.py +0 -0
  88. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/RedisConfig.py +0 -0
  89. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/RerankerConfig.py +0 -0
  90. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/SentryConfig.py +0 -0
  91. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/__init__.py +0 -0
  92. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/async_base_db_service.py +0 -0
  93. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/async_database_service.py +0 -0
  94. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/base_db_service.py +0 -0
  95. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/database_service.py +0 -0
  96. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/elasticsearch_service.py +0 -0
  97. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/redis_service.py +0 -0
  98. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/token_usage_db_service.py +0 -0
  99. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/__init__.py +0 -0
  100. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/health_check.py +0 -0
  101. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/metrics.py +0 -0
  102. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/ping.py +0 -0
  103. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/__init__.py +0 -0
  104. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
  105. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
  106. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
  107. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/__init__.py +0 -0
  108. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/embedding.py +0 -0
  109. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/get_llm.py +0 -0
  110. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_logger.py +0 -0
  111. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_tokens.py +0 -0
  112. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
  113. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
  114. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/output_fixing_runnable.py +0 -0
  115. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/struct_token.py +0 -0
  116. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/sy_langfuse.py +0 -0
  117. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/token_usage_es_service.py +0 -0
  118. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
  119. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/usage_token.py +0 -0
  120. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/__init__.py +0 -0
  121. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/async_sql_logger.py +0 -0
  122. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/kafka_log.py +0 -0
  123. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/logger_levels.py +0 -0
  124. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/logger_wrapper.py +0 -0
  125. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/process_logger.py +0 -0
  126. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/sql_logger.py +0 -0
  127. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/__init__.py +0 -0
  128. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/background_execution.py +0 -0
  129. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/context.py +0 -0
  130. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/cors.py +0 -0
  131. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/docs.py +0 -0
  132. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/exception.py +0 -0
  133. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/middleware.py +0 -0
  134. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/monitor_memory.py +0 -0
  135. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/mq.py +0 -0
  136. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/timeout.py +0 -0
  137. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/traceid.py +0 -0
  138. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/__init__.py +0 -0
  139. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/base_http.py +0 -0
  140. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/log.py +0 -0
  141. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqlistener_config.py +0 -0
  142. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqmsg_model.py +0 -0
  143. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqsend_config.py +0 -0
  144. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/sso_user.py +0 -0
  145. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/token_usage.py +0 -0
  146. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/token_usage_mysql.py +0 -0
  147. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/notice/__init__.py +0 -0
  148. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/notice/uvicorn_monitor.py +0 -0
  149. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
  150. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
  151. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
  152. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
  153. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
  154. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
  155. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
  156. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
  157. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
  158. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sentry/__init__.py +0 -0
  159. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sentry/sy_sentry.py +0 -0
  160. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/__init__.py +0 -0
  161. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/event.py +0 -0
  162. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/sse.py +0 -0
  163. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/__init__.py +0 -0
  164. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/example.py +0 -0
  165. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/example2.py +0 -0
  166. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/feign.py +0 -0
  167. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/feign_client.py +0 -0
  168. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_client_base.py +0 -0
  169. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_config_manager.py +0 -0
  170. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
  171. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service.py +0 -0
  172. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
  173. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service_registration.py +0 -0
  174. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/param.py +0 -0
  175. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/deep_agent_server.py +0 -0
  176. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_deep_agent.py +0 -0
  177. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_email.py +0 -0
  178. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_mq.py +0 -0
  179. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/__init__.py +0 -0
  180. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/async_utils.py +0 -0
  181. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/docs.py +0 -0
  182. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/env.py +0 -0
  183. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/merge_headers.py +0 -0
  184. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/snowflake.py +0 -0
  185. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/syemail.py +0 -0
  186. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/timing.py +0 -0
  187. {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
@@ -1,36 +1,37 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sycommon-python-lib
3
- Version: 0.2.1a44
3
+ Version: 0.2.1a46
4
4
  Summary: Add your description here
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
7
7
  Requires-Dist: aio-pika>=9.6.2
8
- Requires-Dist: aiohttp>=3.13.3
8
+ Requires-Dist: aiohttp>=3.13.5
9
9
  Requires-Dist: aiomysql>=0.3.2
10
10
  Requires-Dist: anyio>=4.12.1
11
11
  Requires-Dist: decorator>=5.2.1
12
12
  Requires-Dist: deepagents>=0.5.0a2
13
13
  Requires-Dist: elasticsearch>=9.3.0
14
- Requires-Dist: fastapi>=0.135.1
14
+ Requires-Dist: fastapi>=0.135.3
15
15
  Requires-Dist: jinja2>=3.1.6
16
16
  Requires-Dist: kafka-python>=2.3.0
17
- Requires-Dist: langchain>=1.2.13
18
- Requires-Dist: langchain-core>=1.2.20
17
+ Requires-Dist: langchain>=1.2.14
18
+ Requires-Dist: langchain-core>=1.2.25
19
19
  Requires-Dist: langchain-openai>=1.1.11
20
- Requires-Dist: langfuse>=4.0.1
21
- Requires-Dist: langgraph>=1.1.3
20
+ Requires-Dist: langfuse>=4.0.6
21
+ Requires-Dist: langgraph>=1.1.4
22
22
  Requires-Dist: langgraph-checkpoint-redis>=0.4.0
23
23
  Requires-Dist: ldap3>=2.9.1
24
24
  Requires-Dist: loguru>=0.7.3
25
25
  Requires-Dist: mysql-connector-python>=9.6.0
26
- Requires-Dist: nacos-sdk-python<3.0,>=2.0.9
26
+ Requires-Dist: nacos-sdk-python<3.0,>=2.0.11
27
27
  Requires-Dist: psutil>=7.2.2
28
+ Requires-Dist: pyxxl>=0.4.6
28
29
  Requires-Dist: pydantic>=2.12.5
29
30
  Requires-Dist: python-dotenv>=1.2.2
30
31
  Requires-Dist: python-multipart>=0.0.22
31
32
  Requires-Dist: pyyaml>=6.0.3
32
33
  Requires-Dist: redis>=7.3.0
33
- Requires-Dist: sentry-sdk[fastapi]>=2.55.0
34
+ Requires-Dist: sentry-sdk[fastapi]>=2.57.0
34
35
  Requires-Dist: sqlalchemy[asyncio]>=2.0.48
35
36
  Requires-Dist: starlette[full]>=1.0.0
36
37
  Requires-Dist: tiktoken>=0.12.0
@@ -1,37 +1,38 @@
1
1
  [project]
2
2
  name = "sycommon-python-lib"
3
- version = "0.2.1a44"
3
+ version = "0.2.1a46"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
7
7
  dependencies = [
8
8
  "aio-pika>=9.6.2",
9
- "aiohttp>=3.13.3",
9
+ "aiohttp>=3.13.5",
10
10
  "aiomysql>=0.3.2",
11
11
  "anyio>=4.12.1",
12
12
  "decorator>=5.2.1",
13
13
  "deepagents>=0.5.0a2",
14
14
  "elasticsearch>=9.3.0",
15
- "fastapi>=0.135.1",
15
+ "fastapi>=0.135.3",
16
16
  "jinja2>=3.1.6",
17
17
  "kafka-python>=2.3.0",
18
- "langchain>=1.2.13",
19
- "langchain-core>=1.2.20",
18
+ "langchain>=1.2.14",
19
+ "langchain-core>=1.2.25",
20
20
  "langchain-openai>=1.1.11",
21
- "langfuse>=4.0.1",
22
- "langgraph>=1.1.3",
21
+ "langfuse>=4.0.6",
22
+ "langgraph>=1.1.4",
23
23
  "langgraph-checkpoint-redis>=0.4.0",
24
24
  "ldap3>=2.9.1",
25
25
  "loguru>=0.7.3",
26
26
  "mysql-connector-python>=9.6.0",
27
- "nacos-sdk-python>=2.0.9,<3.0",
27
+ "nacos-sdk-python>=2.0.11,<3.0",
28
28
  "psutil>=7.2.2",
29
+ "pyxxl>=0.4.6",
29
30
  "pydantic>=2.12.5",
30
31
  "python-dotenv>=1.2.2",
31
32
  "python-multipart>=0.0.22",
32
33
  "pyyaml>=6.0.3",
33
34
  "redis>=7.3.0",
34
- "sentry-sdk[fastapi]>=2.55.0",
35
+ "sentry-sdk[fastapi]>=2.57.0",
35
36
  "sqlalchemy[asyncio]>=2.0.48",
36
37
  "starlette[full]>=1.0.0",
37
38
  "tiktoken>=0.12.0",
@@ -48,3 +49,4 @@ build-backend = "setuptools.build_meta"
48
49
 
49
50
  [project.scripts]
50
51
  sycommon = "command.cli:main"
52
+ sycli = "sycli.cli:main"
@@ -0,0 +1,3 @@
1
+ """sycli - RL-based multi-agent code optimization CLI."""
2
+
3
+ __version__ = "0.1.0"
@@ -0,0 +1,6 @@
1
+ """Allow running sycli as `python -m sycli`."""
2
+
3
+ from sycli.cli import main
4
+
5
+ if __name__ == "__main__":
6
+ main()
@@ -0,0 +1 @@
1
+ """Agent factory for sycli."""
@@ -0,0 +1,159 @@
1
+ """Agent factory - builds all agents for sycli."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pathlib import Path
6
+ from typing import Any, Sequence
7
+
8
+ from deepagents import SubAgent
9
+ from deepagents.backends.local_shell import LocalShellBackend
10
+ from deepagents.middleware.memory import MemoryMiddleware
11
+ from langchain_core.language_models import BaseChatModel
12
+
13
+ from sycli.agents.prompts import (
14
+ ARCHITECT_PROMPT,
15
+ CODER_PROMPT,
16
+ CRITIC_PROMPT,
17
+ DATA_ANALYST_PROMPT,
18
+ ORCHESTRATOR_PROMPT,
19
+ PROMPT_ENGINEER_PROMPT,
20
+ RESEARCHER_PROMPT,
21
+ RUNTIME_OBSERVER_PROMPT,
22
+ )
23
+ from sycli.models.config_models import SycliConfig
24
+
25
+
26
+ def _memory_middleware(
27
+ backend: LocalShellBackend,
28
+ project_name: str,
29
+ agent_role: str,
30
+ ) -> MemoryMiddleware:
31
+ """Create MemoryMiddleware with per-agent source paths.
32
+
33
+ Sources loaded in order (concatenated):
34
+ 1. hot/context.md - Layer 0+1: working memory
35
+ 2. warm/agents/{role}.md - Layer 2: agent-specific compressed
36
+ 3. warm/strategies.md - Layer 2: shared strategies
37
+ 4. warm/anti_patterns.md - Layer 2: shared anti-patterns
38
+ """
39
+ return MemoryMiddleware(
40
+ backend=backend,
41
+ sources=[
42
+ f".sycli/memory/{project_name}/hot/context.md",
43
+ f".sycli/memory/{project_name}/warm/agents/{agent_role}.md",
44
+ f".sycli/memory/{project_name}/warm/strategies.md",
45
+ f".sycli/memory/{project_name}/warm/anti_patterns.md",
46
+ ],
47
+ )
48
+
49
+
50
+ def build_subagents(
51
+ config: SycliConfig,
52
+ llm: BaseChatModel,
53
+ backend: LocalShellBackend,
54
+ project_name: str,
55
+ mode: str = "optimize",
56
+ ) -> list[SubAgent]:
57
+ """Build SubAgent specs for all agents based on mode.
58
+
59
+ Args:
60
+ config: sycli configuration.
61
+ llm: LLM instance shared by all agents.
62
+ backend: LocalShellBackend shared by all agents.
63
+ project_name: Project name for memory paths.
64
+ mode: "optimize" or "create".
65
+
66
+ Returns:
67
+ List of SubAgent specs to pass to the orchestrator.
68
+ """
69
+ agents: list[SubAgent] = []
70
+
71
+ # --- Core agents (always available) ---
72
+
73
+ agents.append({
74
+ "name": "researcher",
75
+ "description": (
76
+ "Explores the codebase to understand structure, find relevant files, "
77
+ "analyze dependencies and patterns. Use FIRST before coding."
78
+ ),
79
+ "system_prompt": RESEARCHER_PROMPT,
80
+ "model": llm,
81
+ "middleware": [_memory_middleware(backend, project_name, "researcher")],
82
+ })
83
+
84
+ agents.append({
85
+ "name": "coder",
86
+ "description": (
87
+ "Writes and modifies code, generates test cases. "
88
+ "The ONLY agent with write/edit capabilities. "
89
+ "Auto-fixes compilation errors before reporting."
90
+ ),
91
+ "system_prompt": CODER_PROMPT,
92
+ "model": llm,
93
+ "middleware": [_memory_middleware(backend, project_name, "coder")],
94
+ })
95
+
96
+ agents.append({
97
+ "name": "critic",
98
+ "description": (
99
+ "Evaluates code changes by running tests and static analysis. "
100
+ "Read + execute access, no write. "
101
+ "Produces a structured evaluation report."
102
+ ),
103
+ "system_prompt": CRITIC_PROMPT,
104
+ "model": llm,
105
+ "middleware": [_memory_middleware(backend, project_name, "critic")],
106
+ })
107
+
108
+ agents.append({
109
+ "name": "runtime_observer",
110
+ "description": (
111
+ "Starts the project, monitors runtime behavior, collects metrics. "
112
+ "Read + execute access, no write. "
113
+ "Produces a runtime validation report."
114
+ ),
115
+ "system_prompt": RUNTIME_OBSERVER_PROMPT,
116
+ "model": llm,
117
+ "middleware": [_memory_middleware(backend, project_name, "runtime_observer")],
118
+ })
119
+
120
+ agents.append({
121
+ "name": "prompt_engineer",
122
+ "description": (
123
+ "Optimizes the strategy based on evaluation results. "
124
+ "Read-only. Only called when a round scores below threshold. "
125
+ "Produces actionable optimization suggestions."
126
+ ),
127
+ "system_prompt": PROMPT_ENGINEER_PROMPT,
128
+ "model": llm,
129
+ "middleware": [_memory_middleware(backend, project_name, "prompt_engineer")],
130
+ })
131
+
132
+ # --- CREATE mode only ---
133
+
134
+ if mode == "create":
135
+ agents.append({
136
+ "name": "architect",
137
+ "description": (
138
+ "Designs project architecture from scratch. "
139
+ "CREATE mode only. Read-only. "
140
+ "Produces a complete architecture blueprint."
141
+ ),
142
+ "system_prompt": ARCHITECT_PROMPT,
143
+ "model": llm,
144
+ "middleware": [_memory_middleware(backend, project_name, "architect")],
145
+ })
146
+
147
+ agents.append({
148
+ "name": "data_analyst",
149
+ "description": (
150
+ "Analyzes datasets to infer schemas, types, and relationships. "
151
+ "CREATE mode only. Read + execute. "
152
+ "Produces a data analysis report with seed data."
153
+ ),
154
+ "system_prompt": DATA_ANALYST_PROMPT,
155
+ "model": llm,
156
+ "middleware": [_memory_middleware(backend, project_name, "data_analyst")],
157
+ })
158
+
159
+ return agents
@@ -0,0 +1,228 @@
1
+ """System prompts for all sycli agents."""
2
+
3
+ # ── Orchestrator ──────────────────────────────────────────────
4
+
5
+ ORCHESTRATOR_PROMPT = """You are the Orchestrator Agent of the sycli RL optimization system.
6
+
7
+ Your role is to coordinate a team of specialized agents to complete a code task.
8
+ You dispatch work via the `task` tool to the appropriate sub-agent.
9
+
10
+ ## Available Agents
11
+
12
+ - **researcher**: Explores the codebase, finds relevant files, analyzes architecture.
13
+ Use FIRST before any coding to understand the project context.
14
+
15
+ - **coder**: Writes and modifies code. Also generates test cases.
16
+ The ONLY agent with write/edit capabilities. Auto-fixes compilation errors.
17
+
18
+ - **critic**: Evaluates code changes by running tests and static analysis.
19
+ Read + execute, CANNOT write. Produces evaluation report.
20
+
21
+ - **runtime_observer**: Starts the project, monitors runtime behavior.
22
+ Read + execute, CANNOT write. Validates runtime correctness.
23
+
24
+ - **prompt_engineer**: Optimizes strategy based on evaluation results.
25
+ Read-only. Called when round scores below threshold.
26
+
27
+ ## Workflow
28
+
29
+ For each round:
30
+ 1. Dispatch **researcher** to understand current state
31
+ 2. Dispatch **coder** to make changes + generate tests
32
+ 3. Dispatch **critic** to evaluate
33
+ 4. Dispatch **runtime_observer** to validate runtime
34
+ 5. If score < threshold → dispatch **prompt_engineer** to refine strategy
35
+
36
+ ## Output
37
+
38
+ At the end of each round, report in this EXACT format:
39
+
40
+ ```
41
+ ROUND_COMPLETE:
42
+ test_result: {passed}/{total}
43
+ score: {accuracy}
44
+ decision: ACCEPT|RETRY|ROLLBACK
45
+ ```
46
+
47
+ Where:
48
+ - test_result: number of tests passed out of total
49
+ - score: accuracy from 0.0 to 1.0
50
+ - decision: ACCEPT if score >= threshold, RETRY if can improve, ROLLBACK if regression detected
51
+ """
52
+
53
+ # ── Researcher ────────────────────────────────────────────────
54
+
55
+ RESEARCHER_PROMPT = """You are the Researcher Agent. Your job is to explore the codebase and provide context.
56
+
57
+ ## Rules
58
+ - You are READ-ONLY. Never modify any files.
59
+ - Use ls, read_file, glob, grep to explore.
60
+ - Be thorough but efficient. Target < 10 tool calls.
61
+
62
+ ## Output Format
63
+
64
+ Return a structured context report:
65
+
66
+ ```
67
+ CONTEXT_REPORT:
68
+ project_type: {web|agent|cli|library}
69
+ entry_point: {main file path}
70
+ relevant_files:
71
+ - {path}: {brief description}
72
+ dependencies: {key dependency relationships}
73
+ patterns: {coding patterns/conventions observed}
74
+ suggestions: {what the coder should focus on}
75
+ ```
76
+ """
77
+
78
+ # ── Coder ─────────────────────────────────────────────────────
79
+
80
+ CODER_PROMPT = """You are the Coder Agent. Your job is to modify code and generate tests.
81
+
82
+ ## Rules
83
+ - You are the ONLY agent that can write/edit files.
84
+ - ALWAYS generate corresponding test files when modifying code (TDD approach).
85
+ - Make MINIMAL changes - only modify what is necessary.
86
+ - After writing code, run syntax check to verify.
87
+ - If syntax check fails, auto-fix and retry (up to 5 times).
88
+ - Follow the project's existing code style and conventions.
89
+
90
+ ## Auto-Fix Loop
91
+ Before reporting completion, verify your code:
92
+ 1. Run syntax check: python -c 'import <module>'
93
+ 2. If fails → fix the error → retry (max 5 times)
94
+ 3. Only report completion when syntax passes
95
+
96
+ ## Output
97
+
98
+ At the end, report:
99
+ ```
100
+ CODE_RESULT:
101
+ files_modified:
102
+ - {path}: {what changed}
103
+ tests_created:
104
+ - {path}: {what it tests}
105
+ syntax_verified: true
106
+ ```
107
+ """
108
+
109
+ # ── Critic ────────────────────────────────────────────────────
110
+
111
+ CRITIC_PROMPT = """You are the Critic Agent (Test Engineer). Your job is to evaluate code changes.
112
+
113
+ ## Rules
114
+ - You have READ + EXECUTE access. You CANNOT write files.
115
+ - Run the project's test suite to evaluate changes.
116
+ - Be objective and thorough.
117
+
118
+ ## Evaluation Steps
119
+ 1. Run existing tests: pytest tests/ -v (or project test command)
120
+ 2. Check for import/syntax errors
121
+ 3. Count: passed, failed, errors
122
+ 4. Identify any NEW failures (regressions)
123
+
124
+ ## Output
125
+
126
+ Report in this format:
127
+ ```
128
+ EVALUATION:
129
+ tests_passed: {count}
130
+ tests_failed: {count}
131
+ tests_total: {count}
132
+ regressions: {count}
133
+ score: {passed}/{total}
134
+ ```
135
+ """
136
+
137
+ # ── RuntimeObserver ───────────────────────────────────────────
138
+
139
+ RUNTIME_OBSERVER_PROMPT = """You are the RuntimeObserver Agent. Your job is to validate runtime behavior.
140
+
141
+ ## Rules
142
+ - You have READ + EXECUTE access. You CANNOT write files.
143
+ - Start the project and monitor its behavior.
144
+ - Collect runtime metrics.
145
+
146
+ ## Steps
147
+ 1. Start the project (background process)
148
+ 2. Wait for health check
149
+ 3. Send probe requests to key endpoints
150
+ 4. Check logs for errors
151
+ 5. Stop the project when done
152
+
153
+ ## Output
154
+
155
+ ```
156
+ RUNTIME_REPORT:
157
+ startup: SUCCESS|FAILURE
158
+ health_check: PASS|FAIL
159
+ endpoints_tested:
160
+ - {method} {path}: {status}
161
+ new_errors: {count}
162
+ runtime_ok: true|false
163
+ ```
164
+ """
165
+
166
+ # ── PromptEngineer ────────────────────────────────────────────
167
+
168
+ PROMPT_ENGINEER_PROMPT = """You are the PromptEngineer Agent. Optimize strategy based on evaluation results.
169
+
170
+ ## Rules
171
+ - You are READ-ONLY. Never modify any files.
172
+ - Analyze the evaluation results from the current round.
173
+ - Generate specific, actionable optimization suggestions.
174
+
175
+ ## Output
176
+
177
+ ```
178
+ STRATEGY_UPDATE:
179
+ analysis: {what went wrong/right}
180
+ root_cause: {identified issue}
181
+ suggestions:
182
+ - {specific change to make}
183
+ ```
184
+ """
185
+
186
+ # ── Architect (CREATE mode only) ─────────────────────────────
187
+
188
+ ARCHITECT_PROMPT = """You are the Architect Agent. Design project architecture from scratch.
189
+
190
+ ## Rules
191
+ - You are READ-ONLY. Never modify any files.
192
+ - Design the complete project structure before any coding.
193
+ - Consider the user's description, data analysis, and test cases.
194
+
195
+ ## Output
196
+
197
+ ```
198
+ BLUEPRINT:
199
+ project_name: {name}
200
+ project_type: {web|agent|cli}
201
+ tech_stack: {framework, database, cache}
202
+ structure: {directory tree with descriptions}
203
+ data_models: {model definitions}
204
+ endpoints: {API endpoint list}
205
+ test_plan: {verification plan}
206
+ ```
207
+ """
208
+
209
+ # ── DataAnalyst (CREATE mode only) ────────────────────────────
210
+
211
+ DATA_ANALYST_PROMPT = """You are the DataAnalyst Agent. Analyze datasets and infer data structures.
212
+
213
+ ## Rules
214
+ - You have READ + EXECUTE access for running analysis scripts.
215
+ - Analyze data files to infer schemas, types, and relationships.
216
+
217
+ ## Output
218
+
219
+ ```
220
+ DATA_ANALYSIS:
221
+ files:
222
+ - file: {name}
223
+ rows: {count}
224
+ columns: {name: type}
225
+ relations: {foreign key relationships}
226
+ seed_data: {sample rows for testing}
227
+ ```
228
+ """