sycommon-python-lib 0.2.1a5__tar.gz → 0.2.1a7__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.1a5 → sycommon_python_lib-0.2.1a7}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/sandbox.py +20 -11
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/README.md +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/01_basic_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/02_tool_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/03_structured_output.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/04_memory_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/05_streaming.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/06_multi_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/07_skills_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/08_middleware.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/09_interrupt.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/10_custom_llm.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/11_complex_workflow.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/12_batch_processing.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/01_basic_monitoring.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/02_permission_control.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/03_tool_skill_filter.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/04_caching_retry.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/05_sanitization.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/06_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/07_advanced.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/08_progressive_skills.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/middleware/override_examples.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/virtual_employee_demo.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/exports.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/get_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/file_ops.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/skills/examples/faq_handler/scripts/search.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/skills/exports.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/virtual_employee.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/sandbox.py
RENAMED
|
@@ -73,20 +73,27 @@ def resolve_sandbox_path(path: str, workspace: str) -> str:
|
|
|
73
73
|
- /skills/foo.md -> {workspace}/skills/foo.md
|
|
74
74
|
- skills/foo.md -> {workspace}/skills/foo.md
|
|
75
75
|
|
|
76
|
+
如果传入的绝对路径已经在工作目录内,则直接返回。
|
|
77
|
+
|
|
76
78
|
同时防止路径遍历攻击,确保解析后的路径仍在工作目录内
|
|
77
79
|
"""
|
|
80
|
+
# 规范化路径
|
|
81
|
+
path = os.path.normpath(path)
|
|
82
|
+
workspace = os.path.normpath(workspace)
|
|
83
|
+
|
|
84
|
+
# 如果路径已经在工作目录内,直接返回
|
|
85
|
+
if path.startswith(workspace + os.sep) or path == workspace:
|
|
86
|
+
return path
|
|
87
|
+
|
|
78
88
|
# 移除开头的 / 使其成为相对路径
|
|
79
89
|
if os.path.isabs(path):
|
|
80
|
-
path = path.lstrip(
|
|
81
|
-
|
|
82
|
-
# 规范化路径,防止 ../ 等路径遍历
|
|
83
|
-
path = os.path.normpath(path)
|
|
90
|
+
path = path.lstrip(os.sep)
|
|
84
91
|
|
|
85
92
|
# 拼接到工作目录
|
|
86
93
|
resolved = os.path.normpath(os.path.join(workspace, path))
|
|
87
94
|
|
|
88
95
|
# 安全检查:确保最终路径在工作目录内
|
|
89
|
-
if not resolved.startswith(workspace):
|
|
96
|
+
if not resolved.startswith(workspace + os.sep) and resolved != workspace:
|
|
90
97
|
raise ValueError(f"Path traversal detected: {path}")
|
|
91
98
|
|
|
92
99
|
return resolved
|
|
@@ -417,7 +424,7 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
417
424
|
|
|
418
425
|
@sandbox_router.post("/write", response_model=WriteResponse)
|
|
419
426
|
async def write_file(req: WriteRequest):
|
|
420
|
-
"""
|
|
427
|
+
"""写入文件(如果文件存在则覆盖)"""
|
|
421
428
|
workspace = get_user_workspace(req.user_id)
|
|
422
429
|
try:
|
|
423
430
|
file_path = resolve_sandbox_path(req.file_path, workspace)
|
|
@@ -430,18 +437,20 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
430
437
|
try:
|
|
431
438
|
content = base64.b64decode(req.content).decode('utf-8')
|
|
432
439
|
|
|
433
|
-
|
|
434
|
-
SYLogger.error(f"[Sandbox Server] 写入失败: 文件已存在 {file_path}")
|
|
435
|
-
return WriteResponse(error=f"File '{file_path}' already exists", path=None)
|
|
436
|
-
|
|
440
|
+
# 创建父目录(如果不存在)
|
|
437
441
|
parent = os.path.dirname(file_path)
|
|
438
442
|
if parent:
|
|
439
443
|
os.makedirs(parent, exist_ok=True)
|
|
440
444
|
|
|
445
|
+
# 检查文件是否已存在(用于日志)
|
|
446
|
+
is_overwrite = os.path.exists(file_path)
|
|
447
|
+
|
|
448
|
+
# 直接写入,如果文件存在则覆盖
|
|
441
449
|
with open(file_path, 'w') as f:
|
|
442
450
|
f.write(content)
|
|
443
451
|
|
|
444
|
-
|
|
452
|
+
action = "覆盖" if is_overwrite else "新建"
|
|
453
|
+
SYLogger.info(f"[Sandbox Server] 写入成功({action}): {file_path} ({len(content)} 字符)")
|
|
445
454
|
return WriteResponse(error=None, path=file_path)
|
|
446
455
|
|
|
447
456
|
except Exception as e:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/agent/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/command/templates/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/file_ops.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/sandbox/session.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/skills/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/skills/exports.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/agent/virtual_employee.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/LLMConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/config/SentryConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/base_db_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/database/redis_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/health/health_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/llm/struct_token.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/async_sql_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/kafka_log.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/logger_levels.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/logger_wrapper.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/process_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/logging/sql_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/exception.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/timeout.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/middleware/traceid.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/base_http.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqlistener_config.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqmsg_model.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/mqsend_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/token_usage.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/models/token_usage_mysql.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/notice/uvicorn_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_client.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/rabbitmq/rabbitmq_pool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/sentry/sy_sentry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/example2.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/feign_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/synacos/nacos_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/deep_agent_server.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/test_deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tests/test_email.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/async_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a5 → sycommon_python_lib-0.2.1a7}/src/sycommon/tools/merge_headers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|