sycommon-python-lib 0.2.3a3__tar.gz → 0.2.3a4__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.3a3 → sycommon_python_lib-0.2.3a4}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/deep_agent.py +4 -2
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/multi_agent_team.py +7 -2
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/summarization_utils.py +8 -4
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/llm_with_token_tracking.py +17 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/mqlistener_config.py +1 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_client.py +56 -8
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +1 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/README.md +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/api/query.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/db/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/db/service.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/model/parse.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/.env.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/.gitignore.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/Dockerfile.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/app.yaml.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/model/file_info.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/requirements.txt.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/commands/hello.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/pyproject.toml.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/api/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/nexus/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/__main__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/agents/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/agents/factory.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/agents/prompts.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/browser.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/console.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/dom.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/network.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/page_errors.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/performance.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/screenshot.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/client.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/protocol.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/repl.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cli.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/cdp_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/chat_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/create_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/evaluate_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/init_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/memory_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/resume_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/rollback_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/run_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/backend.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/config.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/display.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/git_integration.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/llm.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/state.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/evaluate/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/evaluate/api_evaluator.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/compressor.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/full.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/hot.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/memory/warm.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/mode/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/mode/create.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/mode/optimize.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/models/config_models.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/baseline_tests.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/checkpoint.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/convergence.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/diagnosis.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/engine.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/environment.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/experience.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/harness_prompts.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/history.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/optimization_logger.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/pre_validation.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/reward.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/strategy_bandit.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/strategy_generator.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/strategy_prompts.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/file_ops.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/auth/ldap_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/auth/wecom_ldap_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/XxlJobConfig.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/background_execution.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/sandbox.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/token_tracking.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/tool_result_truncation.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/sandbox.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/xxljob_handler_config.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/notice/wecom_message.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/xxljob/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/xxljob/xxljob_service.py +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
- {sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/tests/test_sycli.py +0 -0
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/deep_agent.py
RENAMED
|
@@ -617,7 +617,8 @@ async def create_deep_agent(
|
|
|
617
617
|
from deepagents import create_deep_agent as _create_deep_agent
|
|
618
618
|
|
|
619
619
|
# 根据模型上下文窗口大小配置压缩阈值
|
|
620
|
-
|
|
620
|
+
# 返回 (auto_summarization_mw, tool_mw),auto 用于自动压缩,tool_mw 提供 compact_conversation 工具
|
|
621
|
+
auto_summarization_mw, tool_summarization_mw = build_summarization_middleware(
|
|
621
622
|
model, config.model_name, sandbox_backend,
|
|
622
623
|
)
|
|
623
624
|
|
|
@@ -632,7 +633,8 @@ async def create_deep_agent(
|
|
|
632
633
|
BackgroundExecutionMiddleware(backend=sandbox_backend),
|
|
633
634
|
ToolResultTruncationMiddleware(),
|
|
634
635
|
TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
|
|
635
|
-
|
|
636
|
+
auto_summarization_mw,
|
|
637
|
+
tool_summarization_mw,
|
|
636
638
|
],
|
|
637
639
|
}
|
|
638
640
|
if skills_path:
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/agent/multi_agent_team.py
RENAMED
|
@@ -584,11 +584,14 @@ async def create_multi_agent_team(
|
|
|
584
584
|
from deepagents import create_deep_agent
|
|
585
585
|
from deepagents.middleware.subagents import CompiledSubAgent
|
|
586
586
|
|
|
587
|
+
# 子 agent 共享同一组压缩 middleware
|
|
588
|
+
_auto_mw, _tool_mw = build_summarization_middleware(model, config.model_name, sandbox_backend)
|
|
587
589
|
middleware = [
|
|
588
590
|
BackgroundExecutionMiddleware(backend=sandbox_backend),
|
|
589
591
|
ToolResultTruncationMiddleware(),
|
|
590
592
|
TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
|
|
591
|
-
|
|
593
|
+
_auto_mw,
|
|
594
|
+
_tool_mw,
|
|
592
595
|
]
|
|
593
596
|
shared = config.shared_tools or [get_current_date]
|
|
594
597
|
|
|
@@ -629,6 +632,7 @@ async def create_multi_agent_team(
|
|
|
629
632
|
|
|
630
633
|
# 创建协调者 Agent
|
|
631
634
|
coord_name = config.coordinator_name
|
|
635
|
+
_coord_auto_mw, _coord_tool_mw = build_summarization_middleware(model, config.model_name, sandbox_backend)
|
|
632
636
|
coordinator_agent = create_deep_agent(
|
|
633
637
|
model=model,
|
|
634
638
|
tools=config.shared_tools or [get_current_date],
|
|
@@ -644,7 +648,8 @@ async def create_multi_agent_team(
|
|
|
644
648
|
BackgroundExecutionMiddleware(backend=sandbox_backend),
|
|
645
649
|
ToolResultTruncationMiddleware(),
|
|
646
650
|
TokenTrackingMiddleware(model_name=config.model_name, user_id=user_id),
|
|
647
|
-
|
|
651
|
+
_coord_auto_mw,
|
|
652
|
+
_coord_tool_mw,
|
|
648
653
|
],
|
|
649
654
|
)
|
|
650
655
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
|
-
from typing import TYPE_CHECKING
|
|
9
|
+
from typing import TYPE_CHECKING, Tuple
|
|
10
10
|
|
|
11
11
|
from deepagents.middleware.summarization import (
|
|
12
12
|
SummarizationMiddleware,
|
|
@@ -26,7 +26,7 @@ def build_summarization_middleware(
|
|
|
26
26
|
trigger_fraction: float = 0.70,
|
|
27
27
|
keep_fraction: float = 0.10,
|
|
28
28
|
default_max_tokens: int = 200000,
|
|
29
|
-
) -> SummarizationToolMiddleware:
|
|
29
|
+
) -> Tuple[SummarizationMiddleware, SummarizationToolMiddleware]:
|
|
30
30
|
"""根据模型上下文窗口大小构建压缩 middleware。
|
|
31
31
|
|
|
32
32
|
使用绝对 token 数而非 fraction 模式,避免要求模型提供 profile 信息。
|
|
@@ -40,7 +40,8 @@ def build_summarization_middleware(
|
|
|
40
40
|
default_max_tokens: 无法从配置读取时的默认上下文窗口大小。
|
|
41
41
|
|
|
42
42
|
Returns:
|
|
43
|
-
SummarizationToolMiddleware
|
|
43
|
+
(SummarizationMiddleware, SummarizationToolMiddleware) 元组。
|
|
44
|
+
第一个是自动压缩 middleware,第二个是 compact_conversation 工具 middleware。
|
|
44
45
|
"""
|
|
45
46
|
try:
|
|
46
47
|
from sycommon.config.Config import Config
|
|
@@ -65,4 +66,7 @@ def build_summarization_middleware(
|
|
|
65
66
|
"max_length": 2000,
|
|
66
67
|
},
|
|
67
68
|
)
|
|
68
|
-
|
|
69
|
+
print(f"[Summarization] 压缩配置: model={model_name}, max_tokens={max_tokens}, "
|
|
70
|
+
f"trigger={trigger_tokens} tokens ({trigger_fraction:.0%}), "
|
|
71
|
+
f"keep={keep_tokens} tokens ({keep_fraction:.0%})")
|
|
72
|
+
return summ, SummarizationToolMiddleware(summ)
|
|
@@ -230,6 +230,23 @@ class LLMWithTokenTracking(BaseChatModel):
|
|
|
230
230
|
"output_tokens": total_output,
|
|
231
231
|
})
|
|
232
232
|
|
|
233
|
+
def _resolve_model_profile(self):
|
|
234
|
+
"""从 llmConfig.maxTokens 构建 profile,供 deepagents 计算压缩阈值使用。"""
|
|
235
|
+
if self.llmConfig and self.llmConfig.maxTokens:
|
|
236
|
+
return {"max_input_tokens": self.llmConfig.maxTokens}
|
|
237
|
+
if self.llm and hasattr(self.llm, 'profile') and self.llm.profile:
|
|
238
|
+
return self.llm.profile
|
|
239
|
+
return None
|
|
240
|
+
|
|
241
|
+
@property
|
|
242
|
+
def profile(self):
|
|
243
|
+
p = self._resolve_model_profile()
|
|
244
|
+
return p
|
|
245
|
+
|
|
246
|
+
@profile.setter
|
|
247
|
+
def profile(self, value):
|
|
248
|
+
pass
|
|
249
|
+
|
|
233
250
|
def bind_tools(self, tools, *, tool_choice=None, **kwargs):
|
|
234
251
|
"""绑定工具 - 委托给底层 LLM,返回绑定后的 Runnable"""
|
|
235
252
|
return self.llm.bind_tools(tools, tool_choice=tool_choice, **kwargs)
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/models/mqlistener_config.py
RENAMED
|
@@ -32,6 +32,7 @@ class RabbitMQListenerConfig(BaseModel):
|
|
|
32
32
|
auto_delete: bool = Field(False, description="是否自动删除队列")
|
|
33
33
|
auto_parse_json: bool = Field(True, description="是否自动解析JSON消息")
|
|
34
34
|
prefetch_count: int = Field(2, description="mq同时消费数量")
|
|
35
|
+
max_concurrent_tasks: int = Field(5, description="handler 最大并发任务数")
|
|
35
36
|
|
|
36
37
|
class Config:
|
|
37
38
|
"""模型配置"""
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycommon/rabbitmq/rabbitmq_client.py
RENAMED
|
@@ -13,6 +13,7 @@ from aio_pika.abc import (
|
|
|
13
13
|
)
|
|
14
14
|
from sycommon.rabbitmq.rabbitmq_pool import RabbitMQConnectionPool
|
|
15
15
|
from sycommon.logging.kafka_log import SYLogger
|
|
16
|
+
from sycommon.middleware.context import current_trace_id
|
|
16
17
|
from sycommon.models.mqmsg_model import MQMsgModel
|
|
17
18
|
|
|
18
19
|
logger = SYLogger
|
|
@@ -41,6 +42,7 @@ class RabbitMQClient:
|
|
|
41
42
|
auto_delete: bool = False,
|
|
42
43
|
auto_parse_json: bool = True,
|
|
43
44
|
create_if_not_exists: bool = True,
|
|
45
|
+
max_concurrent_tasks: int = 5,
|
|
44
46
|
**kwargs,
|
|
45
47
|
):
|
|
46
48
|
self.connection_pool = connection_pool
|
|
@@ -73,6 +75,10 @@ class RabbitMQClient:
|
|
|
73
75
|
self._connect_lock = asyncio.Lock()
|
|
74
76
|
self._reconnect_semaphore = asyncio.Semaphore(1)
|
|
75
77
|
|
|
78
|
+
# 异步任务并发控制(方案C:收到即ACK + create_task)
|
|
79
|
+
self._task_semaphore = asyncio.Semaphore(max_concurrent_tasks)
|
|
80
|
+
self._running_tasks: set = set()
|
|
81
|
+
|
|
76
82
|
@property
|
|
77
83
|
async def is_connected(self) -> bool:
|
|
78
84
|
if self._closed:
|
|
@@ -231,9 +237,9 @@ class RabbitMQClient:
|
|
|
231
237
|
f"后台重连尝试 {attempt + 1}/{max_attempts} 失败: {e}")
|
|
232
238
|
logger.warning(f"后台重连已达最大尝试次数 {max_attempts},放弃重连")
|
|
233
239
|
|
|
234
|
-
async def set_message_handler(self, handler: Callable
|
|
235
|
-
if not
|
|
236
|
-
raise TypeError("
|
|
240
|
+
async def set_message_handler(self, handler: Callable) -> None:
|
|
241
|
+
if not callable(handler):
|
|
242
|
+
raise TypeError("消息处理器必须是可调用对象")
|
|
237
243
|
self._message_handler = handler
|
|
238
244
|
|
|
239
245
|
async def _process_message_callback(self, message: AbstractIncomingMessage):
|
|
@@ -246,20 +252,50 @@ class RabbitMQClient:
|
|
|
246
252
|
|
|
247
253
|
SYLogger.set_trace_id(msg_obj.traceId)
|
|
248
254
|
|
|
249
|
-
|
|
250
|
-
await self._message_handler(msg_obj, message)
|
|
251
|
-
|
|
255
|
+
# 先 ACK,让 RabbitMQ 确认投递成功
|
|
252
256
|
await message.ack()
|
|
253
257
|
|
|
258
|
+
# 将 handler 投递到后台任务,不阻塞消费循环
|
|
259
|
+
if self._message_handler:
|
|
260
|
+
task = asyncio.create_task(
|
|
261
|
+
self._safe_execute_handler(msg_obj, message)
|
|
262
|
+
)
|
|
263
|
+
self._running_tasks.add(task)
|
|
264
|
+
task.add_done_callback(self._running_tasks.discard)
|
|
265
|
+
|
|
254
266
|
except json.JSONDecodeError as e:
|
|
255
|
-
# JSON解析失败,消息格式错误,记录日志并ACK(避免无限循环)
|
|
256
267
|
logger.error(f"消息JSON解析失败,消息将被丢弃: {e}", exc_info=True)
|
|
257
268
|
await message.ack()
|
|
258
269
|
except Exception as e:
|
|
259
|
-
# 处理异常,记录日志并ACK(避免消息重复消费)
|
|
260
270
|
logger.error(f"消息处理异常,消息将被丢弃: {e}", exc_info=True)
|
|
261
271
|
await message.ack()
|
|
262
272
|
|
|
273
|
+
async def _safe_execute_handler(self, msg_obj: MQMsgModel, message: AbstractIncomingMessage):
|
|
274
|
+
"""在 Semaphore 控制下安全执行 handler,支持异步和同步阻塞 handler"""
|
|
275
|
+
async with self._task_semaphore:
|
|
276
|
+
try:
|
|
277
|
+
if not self._message_handler:
|
|
278
|
+
return
|
|
279
|
+
handler = self._message_handler
|
|
280
|
+
if inspect.iscoroutinefunction(handler):
|
|
281
|
+
await handler(msg_obj, message)
|
|
282
|
+
else:
|
|
283
|
+
# 同步阻塞 handler:丢进线程池,手动传递 traceId
|
|
284
|
+
trace_id = msg_obj.traceId
|
|
285
|
+
loop = asyncio.get_running_loop()
|
|
286
|
+
|
|
287
|
+
def _sync_wrapper():
|
|
288
|
+
SYLogger.set_trace_id(trace_id)
|
|
289
|
+
try:
|
|
290
|
+
return handler(msg_obj, message)
|
|
291
|
+
finally:
|
|
292
|
+
SYLogger.reset_trace_id(
|
|
293
|
+
current_trace_id.set(None))
|
|
294
|
+
|
|
295
|
+
await loop.run_in_executor(None, _sync_wrapper)
|
|
296
|
+
except Exception as e:
|
|
297
|
+
logger.error(f"异步任务执行失败: {e}", exc_info=True)
|
|
298
|
+
|
|
263
299
|
async def start_consuming(self) -> Optional[ConsumerTag]:
|
|
264
300
|
if self._closed:
|
|
265
301
|
raise RuntimeError("客户端已关闭,无法启动消费")
|
|
@@ -391,6 +427,18 @@ class RabbitMQClient:
|
|
|
391
427
|
|
|
392
428
|
await self.stop_consuming()
|
|
393
429
|
|
|
430
|
+
# 等待后台任务完成(优雅退出)
|
|
431
|
+
if self._running_tasks:
|
|
432
|
+
logger.info(f"等待 {len(self._running_tasks)} 个后台任务完成...")
|
|
433
|
+
try:
|
|
434
|
+
await asyncio.wait_for(
|
|
435
|
+
asyncio.gather(*self._running_tasks, return_exceptions=True),
|
|
436
|
+
timeout=15.0
|
|
437
|
+
)
|
|
438
|
+
except asyncio.TimeoutError:
|
|
439
|
+
logger.warning(f"等待后台任务超时,剩余 {len(self._running_tasks)} 个任务将被丢弃")
|
|
440
|
+
self._running_tasks.clear()
|
|
441
|
+
|
|
394
442
|
if self._channel and not self._channel.is_closed:
|
|
395
443
|
try:
|
|
396
444
|
await self._channel.close()
|
|
@@ -158,6 +158,7 @@ class RabbitMQClientManager(RabbitMQCoreService):
|
|
|
158
158
|
auto_parse_json=kwargs.get('auto_parse_json', True),
|
|
159
159
|
create_if_not_exists=create_if_not_exists,
|
|
160
160
|
prefetch_count=kwargs.get('prefetch_count', 2),
|
|
161
|
+
max_concurrent_tasks=kwargs.get('max_concurrent_tasks', 5),
|
|
161
162
|
)
|
|
162
163
|
|
|
163
164
|
# 4. 连接客户端
|
|
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.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/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
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/agent/app.py.tpl
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
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/.env.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/app.py.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/base/app.yaml.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/cli/app.py.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/command/templates/web/app.py.tpl
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
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/console.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/dom.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/network.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/cdp/capabilities/screenshot.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.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/create_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/evaluate_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/memory_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/resume_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/commands/rollback_cmd.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.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/core/git_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/evaluate/api_evaluator.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
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/models/config_models.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
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/optimization_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/strategy_generator.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a3 → sycommon_python_lib-0.2.3a4}/src/sycli/rl/strategy_prompts.py
RENAMED
|
File without changes
|
|
File without changes
|