sycommon-python-lib 0.2.3a0__tar.gz → 0.2.3a2__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.3a0 → sycommon_python_lib-0.2.3a2}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/deep_agent.py +31 -3
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/file_ops.py +11 -3
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/sy_langfuse.py +4 -4
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/tool_result_truncation.py +59 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/README.md +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/api/query.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/db/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/db/service.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/model/parse.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/agent/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/.env.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/.gitignore.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/Dockerfile.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/app.yaml.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/model/file_info.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/requirements.txt.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/commands/hello.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/pyproject.toml.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/api/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/nexus/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/__main__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/agents/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/agents/factory.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/agents/prompts.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/browser.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/console.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/dom.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/network.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/page_errors.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/performance.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/screenshot.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/client.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/protocol.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/repl.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cli.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/cdp_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/chat_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/create_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/evaluate_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/init_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/memory_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/resume_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/rollback_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/run_cmd.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/backend.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/display.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/git_integration.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/llm.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/state.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/evaluate/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/evaluate/api_evaluator.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/compressor.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/full.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/hot.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/memory/warm.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/mode/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/mode/create.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/mode/optimize.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/models/config_models.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/baseline_tests.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/checkpoint.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/convergence.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/diagnosis.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/engine.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/environment.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/experience.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/harness_prompts.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/history.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/optimization_logger.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/pre_validation.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/reward.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/strategy_bandit.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/strategy_generator.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/strategy_prompts.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/multi_agent_team.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/summarization_utils.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/auth/ldap_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/auth/wecom_ldap_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/XxlJobConfig.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/background_execution.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/sandbox.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/token_tracking.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/sandbox.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/models/xxljob_handler_config.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/notice/wecom_message.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/xxljob/__init__.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/xxljob/xxljob_service.py +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
- {sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/tests/test_sycli.py +0 -0
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/deep_agent.py
RENAMED
|
@@ -231,9 +231,32 @@ class DeepAgent:
|
|
|
231
231
|
f"[DeepAgent] AIMessage | content={repr(content_log)} | tools={tc_names}")
|
|
232
232
|
elif msg_type == "ToolMessage":
|
|
233
233
|
content_log = (msg.content or "")
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
234
|
+
if isinstance(content_log, list):
|
|
235
|
+
# e.g. [{'type': 'image', 'base64': '...'}]
|
|
236
|
+
preview_parts = []
|
|
237
|
+
total_len = 0
|
|
238
|
+
for item in content_log:
|
|
239
|
+
if isinstance(item, dict):
|
|
240
|
+
t = item.get('type', '?')
|
|
241
|
+
if t == 'image' and 'base64' in item:
|
|
242
|
+
b64 = item['base64']
|
|
243
|
+
total_len += len(b64)
|
|
244
|
+
preview_parts.append(
|
|
245
|
+
f"{{'type': 'image', 'base64': '{b64[:100]}...'({len(b64)} chars)}}")
|
|
246
|
+
else:
|
|
247
|
+
s = str(item)
|
|
248
|
+
total_len += len(s)
|
|
249
|
+
preview_parts.append(s[:100])
|
|
250
|
+
else:
|
|
251
|
+
s = str(item)
|
|
252
|
+
total_len += len(s)
|
|
253
|
+
preview_parts.append(s[:100])
|
|
254
|
+
print(
|
|
255
|
+
f"[DeepAgent] ToolResult | {getattr(msg, 'name', '?')} | len={total_len} | preview={preview_parts}")
|
|
256
|
+
else:
|
|
257
|
+
preview = str(content_log)[:100]
|
|
258
|
+
print(
|
|
259
|
+
f"[DeepAgent] ToolResult | {getattr(msg, 'name', '?')} | len={len(str(content_log))} | preview={repr(preview)}")
|
|
237
260
|
elif msg_type == "HumanMessage":
|
|
238
261
|
content_log = (msg.content or "")[:100]
|
|
239
262
|
print(
|
|
@@ -506,6 +529,11 @@ class DeepAgent:
|
|
|
506
529
|
return
|
|
507
530
|
except (APIConnectionError, APIError, APITimeoutError, ConnectionError, httpx.RemoteProtocolError) as e:
|
|
508
531
|
last_error = e
|
|
532
|
+
# 400 BadRequestError 不重试:请求参数有误,重试无意义
|
|
533
|
+
from openai import BadRequestError
|
|
534
|
+
if isinstance(e, BadRequestError):
|
|
535
|
+
SYLogger.error(f"[DeepAgent] API 参数错误,不重试: {e}")
|
|
536
|
+
raise
|
|
509
537
|
if attempt < max_retries - 1:
|
|
510
538
|
delay = base_delay * (2 ** attempt)
|
|
511
539
|
SYLogger.warning(
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/file_ops.py
RENAMED
|
@@ -266,8 +266,12 @@ class FileOperationsMixin:
|
|
|
266
266
|
"limit": limit
|
|
267
267
|
}, timeout=timeout)
|
|
268
268
|
if result.get("error"):
|
|
269
|
-
|
|
270
|
-
|
|
269
|
+
err_msg = result['error']
|
|
270
|
+
if 'not found' in err_msg:
|
|
271
|
+
SYLogger.warning(f"[Sandbox] 异步读取文件未找到: {err_msg}")
|
|
272
|
+
else:
|
|
273
|
+
SYLogger.error(f"[Sandbox] 异步读取文件失败: {err_msg}")
|
|
274
|
+
return ReadResult(error=err_msg)
|
|
271
275
|
content = result.get("content", "")
|
|
272
276
|
encoding = result.get("encoding", "utf-8")
|
|
273
277
|
SYLogger.info(
|
|
@@ -329,7 +333,11 @@ class FileOperationsMixin:
|
|
|
329
333
|
path=result.get("path")
|
|
330
334
|
)
|
|
331
335
|
if write_result.error:
|
|
332
|
-
|
|
336
|
+
err_msg = write_result.error
|
|
337
|
+
if 'already exists' in err_msg:
|
|
338
|
+
SYLogger.warning(f"[Sandbox] 异步写入文件已存在: {err_msg}")
|
|
339
|
+
else:
|
|
340
|
+
SYLogger.error(f"[Sandbox] 异步写入失败: {err_msg}")
|
|
333
341
|
else:
|
|
334
342
|
SYLogger.info(f"[Sandbox] 异步写入成功: {write_result.path}")
|
|
335
343
|
return write_result
|
|
@@ -61,10 +61,10 @@ class LangfuseInitializer(metaclass=SingletonMeta):
|
|
|
61
61
|
'baseUrl', '')
|
|
62
62
|
os.environ["LANGFUSE_TRACING_ENVIRONMENT"] = environment
|
|
63
63
|
os.environ["OTEL_SERVICE_NAME"] = server_name
|
|
64
|
-
#
|
|
65
|
-
os.environ["
|
|
66
|
-
|
|
67
|
-
os.environ["
|
|
64
|
+
# 控制 Langfuse OTLP 导出:超时 30s、每批最多 32 个 span、每 10s 强制 flush
|
|
65
|
+
os.environ["LANGFUSE_TIMEOUT"] = "30"
|
|
66
|
+
os.environ["LANGFUSE_FLUSH_AT"] = "32"
|
|
67
|
+
os.environ["LANGFUSE_FLUSH_INTERVAL"] = "10"
|
|
68
68
|
|
|
69
69
|
self._langfuse_client = get_client()
|
|
70
70
|
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
|
|
6
6
|
通过 wrap_tool_call / awrap_tool_call 钩子拦截每个工具调用结果,
|
|
7
7
|
在结果进入对话历史之前完成截断。
|
|
8
|
+
|
|
9
|
+
同时处理 list 类型 content(如 read_file 读取图片返回的 base64 数据),
|
|
10
|
+
将其转换为字符串描述,防止上游 API 拒绝 list content 的 400 错误。
|
|
8
11
|
"""
|
|
9
12
|
|
|
10
13
|
from collections.abc import Awaitable, Callable
|
|
@@ -41,6 +44,41 @@ DEFAULT_TRUNCATION_SUFFIX = (
|
|
|
41
44
|
"2. 将输出重定向到文件后用 read_file 分段读取]"
|
|
42
45
|
)
|
|
43
46
|
|
|
47
|
+
# list 类型 content 中 base64 图片的最大字符数
|
|
48
|
+
MAX_IMAGE_BASE64_CHARS = 500
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def _convert_list_content_to_str(content: list, tool_name: str) -> str:
|
|
52
|
+
"""将 list 类型的 ToolMessage.content 转换为字符串。
|
|
53
|
+
|
|
54
|
+
对于图片类型(type=image 且含 base64),只保留前 MAX_IMAGE_BASE64_CHARS 个字符的 base64 预览。
|
|
55
|
+
对于文本类型,保留完整文本。
|
|
56
|
+
"""
|
|
57
|
+
parts = []
|
|
58
|
+
for item in content:
|
|
59
|
+
if isinstance(item, dict):
|
|
60
|
+
item_type = item.get("type", "text")
|
|
61
|
+
if item_type == "image" and "base64" in item:
|
|
62
|
+
b64 = item["base64"]
|
|
63
|
+
mime = item.get("mime_type", "image/unknown")
|
|
64
|
+
if len(b64) > MAX_IMAGE_BASE64_CHARS:
|
|
65
|
+
parts.append(
|
|
66
|
+
f"[图片文件 ({mime}, {len(b64)} 字符 base64 数据), "
|
|
67
|
+
f"预览: {b64[:MAX_IMAGE_BASE64_CHARS]}...]"
|
|
68
|
+
)
|
|
69
|
+
else:
|
|
70
|
+
parts.append(
|
|
71
|
+
f"[图片文件 ({mime}, {len(b64)} 字符 base64 数据), "
|
|
72
|
+
f"数据: {b64}]"
|
|
73
|
+
)
|
|
74
|
+
elif "text" in item:
|
|
75
|
+
parts.append(item["text"])
|
|
76
|
+
else:
|
|
77
|
+
parts.append(str(item))
|
|
78
|
+
else:
|
|
79
|
+
parts.append(str(item))
|
|
80
|
+
return "\n".join(parts)
|
|
81
|
+
|
|
44
82
|
|
|
45
83
|
class ToolResultTruncationMiddleware(AgentMiddleware):
|
|
46
84
|
"""截断过长的工具结果,防止超出模型上下文窗口。
|
|
@@ -102,6 +140,27 @@ class ToolResultTruncationMiddleware(AgentMiddleware):
|
|
|
102
140
|
return result
|
|
103
141
|
|
|
104
142
|
content = result.content
|
|
143
|
+
|
|
144
|
+
# list 类型 content:如 read_file 读取图片返回的 base64 数据
|
|
145
|
+
# 转换为字符串描述,防止上游 API 拒绝 list content
|
|
146
|
+
if isinstance(content, list):
|
|
147
|
+
has_image = any(
|
|
148
|
+
isinstance(item, dict) and item.get("type") == "image" and "base64" in item
|
|
149
|
+
for item in content
|
|
150
|
+
)
|
|
151
|
+
if has_image:
|
|
152
|
+
new_content = _convert_list_content_to_str(content, tool_name)
|
|
153
|
+
SYLogger.info(
|
|
154
|
+
f"[ToolResultTruncation] tool='{tool_name}' converted image "
|
|
155
|
+
f"list content to string ({len(new_content)} chars)")
|
|
156
|
+
return ToolMessage(
|
|
157
|
+
content=new_content,
|
|
158
|
+
tool_call_id=result.tool_call_id,
|
|
159
|
+
name=result.name,
|
|
160
|
+
status=result.status,
|
|
161
|
+
artifact=result.artifact,
|
|
162
|
+
)
|
|
163
|
+
|
|
105
164
|
if not isinstance(content, str):
|
|
106
165
|
return result
|
|
107
166
|
|
|
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.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/.env.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/base/app.py.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/cli/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/command/templates/web/README.md.tpl
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/console.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/dom.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/cdp/capabilities/network.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/create_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/evaluate_cmd.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/memory_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/commands/resume_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/core/git_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/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.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/optimization_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/strategy_generator.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycli/rl/strategy_prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/agent_manager.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/chat_events.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/multi_agent_team.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/minio_sync.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/agent/sandbox/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/auth/ldap_service.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/auth/wecom_ldap_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/LLMConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.3a0 → sycommon_python_lib-0.2.3a2}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|