sycommon-python-lib 0.2.1a30__tar.gz → 0.2.1a31__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.1a30 → sycommon_python_lib-0.2.1a31}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/background_execution.py +62 -16
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/README.md +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/01_basic_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/02_tool_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/03_structured_output.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/04_memory_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/05_streaming.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/06_multi_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/07_skills_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/08_middleware.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/09_interrupt.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/10_custom_llm.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/11_complex_workflow.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/12_batch_processing.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/01_basic_monitoring.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/02_permission_control.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/03_tool_skill_filter.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/04_caching_retry.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/05_sanitization.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/06_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/07_advanced.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/08_progressive_skills.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/middleware/override_examples.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/examples/virtual_employee_demo.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/exports.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/get_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/file_ops.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/skills/examples/faq_handler/scripts/search.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/skills/exports.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/virtual_employee.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/sandbox.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/sandbox.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
|
@@ -168,6 +168,8 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
168
168
|
backend: 后端实例或工厂函数。如果为 None,从 ToolRuntime 获取。
|
|
169
169
|
"""
|
|
170
170
|
self._backend = backend
|
|
171
|
+
# 缓存已解析的 backend(在 wrap_model_call 中首次获取后会缓存)
|
|
172
|
+
self._resolved_backend: BackendProtocol | None = None
|
|
171
173
|
|
|
172
174
|
# 预创建工具(会在 wrap_model_call 中根据 backend 能力过滤)
|
|
173
175
|
self.tools = [
|
|
@@ -176,14 +178,58 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
176
178
|
self._create_kill_process_tool(),
|
|
177
179
|
]
|
|
178
180
|
|
|
179
|
-
def
|
|
180
|
-
"""获取 backend
|
|
181
|
-
if self.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if
|
|
185
|
-
|
|
186
|
-
|
|
181
|
+
def _get_backend_from_tool_runtime(self, runtime: ToolRuntime) -> BackendProtocol | None:
|
|
182
|
+
"""从 ToolRuntime 获取 backend(工具函数中使用)"""
|
|
183
|
+
if self._resolved_backend is not None:
|
|
184
|
+
return self._resolved_backend
|
|
185
|
+
|
|
186
|
+
if self._backend is not None:
|
|
187
|
+
if callable(self._backend):
|
|
188
|
+
return self._backend(runtime)
|
|
189
|
+
return self._backend
|
|
190
|
+
|
|
191
|
+
# 尝试从 runtime.config 获取
|
|
192
|
+
config = getattr(runtime, 'config', None)
|
|
193
|
+
if config:
|
|
194
|
+
backend = config.get("configurable", {}).get("backend")
|
|
195
|
+
if backend:
|
|
196
|
+
self._resolved_backend = backend
|
|
197
|
+
return backend
|
|
198
|
+
|
|
199
|
+
# 尝试从 state 获取
|
|
200
|
+
state = getattr(runtime, 'state', None)
|
|
201
|
+
if state is not None:
|
|
202
|
+
self._resolved_backend = state
|
|
203
|
+
return state
|
|
204
|
+
|
|
205
|
+
return None
|
|
206
|
+
|
|
207
|
+
def _get_backend_from_runtime(self, runtime) -> BackendProtocol | None:
|
|
208
|
+
"""从 Runtime 获取 backend(wrap_model_call 中使用)"""
|
|
209
|
+
if self._resolved_backend is not None:
|
|
210
|
+
return self._resolved_backend
|
|
211
|
+
|
|
212
|
+
if self._backend is not None:
|
|
213
|
+
if callable(self._backend):
|
|
214
|
+
# 构造 ToolRuntime 来调用工厂函数
|
|
215
|
+
from langchain.tools import ToolRuntime
|
|
216
|
+
config = getattr(runtime, 'config', {})
|
|
217
|
+
tool_runtime = ToolRuntime(
|
|
218
|
+
state=None,
|
|
219
|
+
context=getattr(runtime, 'context', None),
|
|
220
|
+
stream_writer=getattr(runtime, 'stream_writer', None),
|
|
221
|
+
store=getattr(runtime, 'store', None),
|
|
222
|
+
config=config,
|
|
223
|
+
tool_call_id=None,
|
|
224
|
+
)
|
|
225
|
+
backend = self._backend(tool_runtime)
|
|
226
|
+
if backend:
|
|
227
|
+
self._resolved_backend = backend
|
|
228
|
+
return backend
|
|
229
|
+
self._resolved_backend = self._backend
|
|
230
|
+
return self._backend
|
|
231
|
+
|
|
232
|
+
return None
|
|
187
233
|
|
|
188
234
|
def _create_execute_background_tool(self) -> BaseTool:
|
|
189
235
|
"""创建 execute_background 工具"""
|
|
@@ -193,7 +239,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
193
239
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
194
240
|
timeout: Annotated[int, "命令最大运行时间(秒),默认 600 秒"] = 600,
|
|
195
241
|
) -> str:
|
|
196
|
-
backend = self.
|
|
242
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
197
243
|
|
|
198
244
|
if not _supports_background_execution(backend):
|
|
199
245
|
return "Error: 后台执行不可用。请确保 backend 实现了 execute_background 方法。"
|
|
@@ -215,7 +261,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
215
261
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
216
262
|
timeout: Annotated[int, "命令最大运行时间(秒),默认 600 秒"] = 600,
|
|
217
263
|
) -> str:
|
|
218
|
-
backend = self.
|
|
264
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
219
265
|
|
|
220
266
|
if not _supports_background_execution(backend):
|
|
221
267
|
return "Error: 后台执行不可用。请确保 backend 实现了 execute_background 方法。"
|
|
@@ -246,7 +292,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
246
292
|
process_id: Annotated[str, "要检查的进程 ID"],
|
|
247
293
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
248
294
|
) -> str:
|
|
249
|
-
backend = self.
|
|
295
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
250
296
|
|
|
251
297
|
if not _supports_background_execution(backend):
|
|
252
298
|
return "Error: 后台执行不可用。"
|
|
@@ -280,7 +326,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
280
326
|
process_id: Annotated[str, "要检查的进程 ID"],
|
|
281
327
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
282
328
|
) -> str:
|
|
283
|
-
backend = self.
|
|
329
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
284
330
|
|
|
285
331
|
if not _supports_background_execution(backend):
|
|
286
332
|
return "Error: 后台执行不可用。"
|
|
@@ -324,7 +370,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
324
370
|
process_id: Annotated[str, "要终止的进程 ID"],
|
|
325
371
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
326
372
|
) -> str:
|
|
327
|
-
backend = self.
|
|
373
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
328
374
|
|
|
329
375
|
if not _supports_background_execution(backend):
|
|
330
376
|
return "Error: 后台执行不可用。"
|
|
@@ -349,7 +395,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
349
395
|
process_id: Annotated[str, "要终止的进程 ID"],
|
|
350
396
|
runtime: ToolRuntime[None, BackgroundExecutionState],
|
|
351
397
|
) -> str:
|
|
352
|
-
backend = self.
|
|
398
|
+
backend = self._get_backend_from_tool_runtime(runtime)
|
|
353
399
|
|
|
354
400
|
if not _supports_background_execution(backend):
|
|
355
401
|
return "Error: 后台执行不可用。"
|
|
@@ -384,7 +430,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
384
430
|
) -> ModelResponse[ResponseT]:
|
|
385
431
|
"""在 model call 前添加工具和系统提示"""
|
|
386
432
|
# 检查 backend 是否支持后台执行
|
|
387
|
-
backend = self.
|
|
433
|
+
backend = self._get_backend_from_runtime(request.runtime) # type: ignore
|
|
388
434
|
if not _supports_background_execution(backend):
|
|
389
435
|
# 不支持则直接透传
|
|
390
436
|
return handler(request)
|
|
@@ -420,7 +466,7 @@ class BackgroundExecutionMiddleware(AgentMiddleware[BackgroundExecutionState, Co
|
|
|
420
466
|
) -> ModelResponse[ResponseT]:
|
|
421
467
|
"""(async) 在 model call 前添加工具和系统提示"""
|
|
422
468
|
# 检查 backend 是否支持后台执行
|
|
423
|
-
backend = self.
|
|
469
|
+
backend = self._get_backend_from_runtime(request.runtime) # type: ignore
|
|
424
470
|
if not _supports_background_execution(backend):
|
|
425
471
|
return await handler(request)
|
|
426
472
|
|
|
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.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/command/templates/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/__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
|
|
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.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/get_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/file_ops.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/sandbox/session.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/skills/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/skills/exports.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/agent/virtual_employee.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/LLMConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/MQConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/SentryConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/database/redis_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/health_check.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/health/metrics.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
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/llm_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/llm_tokens.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/struct_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/sy_langfuse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/llm/usage_token.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/kafka_log.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/logger_levels.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/logger_wrapper.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/process_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/logging/sql_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/context.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/cors.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/docs.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/exception.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/middleware.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/sandbox.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/timeout.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/middleware/traceid.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/base_http.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/mqmsg_model.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/mqsend_config.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/sandbox.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/sso_user.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/models/token_usage.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/notice/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/notice/uvicorn_monitor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/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
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/sentry/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/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.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/example.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/example2.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/feign_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/synacos/nacos_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/test_deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tests/test_email.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/async_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/merge_headers.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.1a30 → sycommon_python_lib-0.2.1a31}/src/sycommon/tools/snowflake.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
|