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.
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/PKG-INFO +10 -9
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/pyproject.toml +11 -9
- sycommon_python_lib-0.2.1a46/src/sycli/__init__.py +3 -0
- sycommon_python_lib-0.2.1a46/src/sycli/__main__.py +6 -0
- sycommon_python_lib-0.2.1a46/src/sycli/agents/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/agents/factory.py +159 -0
- sycommon_python_lib-0.2.1a46/src/sycli/agents/prompts.py +228 -0
- sycommon_python_lib-0.2.1a46/src/sycli/cli.py +392 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/chat_cmd.py +283 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/create_cmd.py +122 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/evaluate_cmd.py +144 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/init_cmd.py +163 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/memory_cmd.py +168 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/resume_cmd.py +127 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/rollback_cmd.py +88 -0
- sycommon_python_lib-0.2.1a46/src/sycli/commands/run_cmd.py +112 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/__init__.py +31 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/backend.py +36 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/config.py +4 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/display.py +96 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/git_integration.py +198 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/llm.py +63 -0
- sycommon_python_lib-0.2.1a46/src/sycli/core/state.py +29 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/compressor.py +127 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/full.py +74 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/hot.py +92 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/manager.py +241 -0
- sycommon_python_lib-0.2.1a46/src/sycli/memory/warm.py +78 -0
- sycommon_python_lib-0.2.1a46/src/sycli/mode/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/mode/create.py +524 -0
- sycommon_python_lib-0.2.1a46/src/sycli/mode/optimize.py +40 -0
- sycommon_python_lib-0.2.1a46/src/sycli/models/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/models/config_models.py +150 -0
- sycommon_python_lib-0.2.1a46/src/sycli/rl/__init__.py +1 -0
- sycommon_python_lib-0.2.1a46/src/sycli/rl/convergence.py +155 -0
- sycommon_python_lib-0.2.1a46/src/sycli/rl/engine.py +678 -0
- sycommon_python_lib-0.2.1a46/src/sycli/rl/history.py +126 -0
- sycommon_python_lib-0.2.1a46/src/sycli/rl/reward.py +98 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/__init__.py +4 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/file_ops.py +78 -35
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/http_sandbox_backend.py +48 -7
- sycommon_python_lib-0.2.1a46/src/sycommon/config/XxlJobConfig.py +17 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/sandbox.py +70 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/sandbox.py +23 -0
- sycommon_python_lib-0.2.1a46/src/sycommon/models/xxljob_handler_config.py +11 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/services.py +15 -2
- sycommon_python_lib-0.2.1a46/src/sycommon/xxljob/__init__.py +3 -0
- sycommon_python_lib-0.2.1a46/src/sycommon/xxljob/xxljob_service.py +196 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/PKG-INFO +10 -9
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/SOURCES.txt +44 -1
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/entry_points.txt +1 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/requires.txt +9 -8
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon_python_lib.egg-info/top_level.txt +1 -0
- sycommon_python_lib-0.2.1a46/tests/test_sycli.py +880 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/README.md +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/multi_agent_team.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/auth/ldap_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/background_execution.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.1a44 → sycommon_python_lib-0.2.1a46}/src/sycommon/tools/timing.py +0 -0
- {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.
|
|
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.
|
|
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.
|
|
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.
|
|
18
|
-
Requires-Dist: langchain-core>=1.2.
|
|
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.
|
|
21
|
-
Requires-Dist: langgraph>=1.1.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
15
|
+
"fastapi>=0.135.3",
|
|
16
16
|
"jinja2>=3.1.6",
|
|
17
17
|
"kafka-python>=2.3.0",
|
|
18
|
-
"langchain>=1.2.
|
|
19
|
-
"langchain-core>=1.2.
|
|
18
|
+
"langchain>=1.2.14",
|
|
19
|
+
"langchain-core>=1.2.25",
|
|
20
20
|
"langchain-openai>=1.1.11",
|
|
21
|
-
"langfuse>=4.0.
|
|
22
|
-
"langgraph>=1.1.
|
|
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.
|
|
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.
|
|
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 @@
|
|
|
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
|
+
"""
|