sycommon-python-lib 0.2.5a20__tar.gz → 0.2.5a21__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.5a20 → sycommon_python_lib-0.2.5a21}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/file_ops.py +12 -8
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/sandbox.py +21 -8
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/sandbox.py +7 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/README.md +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/api/query.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/db/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/db/service.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/model/parse.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/agent/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/.env.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/.gitignore.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/Dockerfile.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/app.yaml.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/model/file_info.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/requirements.txt.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/commands/hello.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/pyproject.toml.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/api/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/web/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/nexus/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/__main__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/agents/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/agents/factory.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/agents/prompts.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/browser.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/console.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/dom.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/network.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/page_errors.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/performance.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/screenshot.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/client.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/protocol.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/repl.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cli.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/cdp_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/chat_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/create_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/evaluate_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/init_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/memory_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/resume_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/rollback_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/run_cmd.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/backend.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/display.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/git_integration.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/llm.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/state.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/evaluate/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/evaluate/api_evaluator.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/compressor.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/full.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/hot.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/warm.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/mode/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/mode/create.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/mode/optimize.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/models/config_models.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/baseline_tests.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/checkpoint.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/convergence.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/diagnosis.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/engine.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/environment.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/experience.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/harness_prompts.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/history.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/optimization_logger.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/pre_validation.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/reward.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_bandit.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_generator.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_prompts.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/deep_agent.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/models.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/tool_loader.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/multi_agent_team.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/summarization_utils.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/ldap_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/oa_cache.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/oa_crypto.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/oa_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/wecom_ldap_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/PgConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/XxlJobConfig.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/pg_checkpoint_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/mcp_server/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/mcp_server/server.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/token_tracking.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/tool_result_truncation.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/mcp_server_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/xxljob_handler_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/notice/wecom_message.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_consumer_recovery.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_encoding_cache.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_mcp_server.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_oa_login.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_real_summarization.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_summarization_config.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tests/test_summarization_real.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/xxljob/__init__.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/xxljob/xxljob_service.py +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
- {sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/tests/test_sycli.py +0 -0
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/file_ops.py
RENAMED
|
@@ -508,10 +508,12 @@ class FileOperationsMixin:
|
|
|
508
508
|
"path": path,
|
|
509
509
|
"glob": glob
|
|
510
510
|
})
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
511
|
+
# GrepResponse: {"matches": [...], "partial_error": "...", "error": "..."}
|
|
512
|
+
matches = [GrepMatch(**item) for item in result.get("matches", [])]
|
|
513
|
+
return GrepResult(
|
|
514
|
+
matches=matches,
|
|
515
|
+
error=result.get("error"),
|
|
516
|
+
)
|
|
515
517
|
except Exception as e:
|
|
516
518
|
SYLogger.error(f"[Sandbox] grep 搜索失败: {e}")
|
|
517
519
|
return GrepResult(error=str(e))
|
|
@@ -533,10 +535,12 @@ class FileOperationsMixin:
|
|
|
533
535
|
"path": path,
|
|
534
536
|
"glob": glob
|
|
535
537
|
}, timeout=timeout)
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
538
|
+
# GrepResponse: {"matches": [...], "partial_error": "...", "error": "..."}
|
|
539
|
+
matches = [GrepMatch(**item) for item in result.get("matches", [])]
|
|
540
|
+
return GrepResult(
|
|
541
|
+
matches=matches,
|
|
542
|
+
error=result.get("error"),
|
|
543
|
+
)
|
|
540
544
|
except Exception as e:
|
|
541
545
|
SYLogger.error(f"[Sandbox] 异步 grep 搜索失败: {e}")
|
|
542
546
|
return GrepResult(error=str(e))
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/middleware/sandbox.py
RENAMED
|
@@ -44,7 +44,7 @@ from sycommon.models.sandbox import (
|
|
|
44
44
|
DeleteRequest, DeleteResponse,
|
|
45
45
|
FileInfo, LsRequest, LsResponse,
|
|
46
46
|
TreeNode, TreeRequest, TreeResponse,
|
|
47
|
-
GlobRequest, GrepRequest, GrepMatch,
|
|
47
|
+
GlobRequest, GrepRequest, GrepMatch, GrepResponse,
|
|
48
48
|
ReadRequest, ReadResponse,
|
|
49
49
|
WriteRequest, WriteResponse,
|
|
50
50
|
EditRequest, EditResponse,
|
|
@@ -1012,21 +1012,23 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
1012
1012
|
|
|
1013
1013
|
return await asyncio.to_thread(_glob)
|
|
1014
1014
|
|
|
1015
|
-
@sandbox_router.post("/grep", response_model=
|
|
1015
|
+
@sandbox_router.post("/grep", response_model=GrepResponse)
|
|
1016
1016
|
async def grep_search(req: GrepRequest):
|
|
1017
1017
|
"""grep 搜索内容
|
|
1018
1018
|
|
|
1019
|
-
安全增强(对齐 deepagents 0.6.
|
|
1019
|
+
安全增强(对齐 deepagents 0.6.4 backends/filesystem.py):
|
|
1020
1020
|
- symlink 逃逸防护:结果路径必须 resolve 到 workspace 内
|
|
1021
1021
|
- 路径规范化:统一转换为虚拟路径,防止泄露宿主绝对路径
|
|
1022
1022
|
- 结果解析全量异步:os.path.realpath/relpath 通过 asyncio.to_thread 执行
|
|
1023
|
+
- partial_error: grep 命令非零退出码时返回部分结果 + 警告
|
|
1024
|
+
- 不再静默 stderr,用于诊断错误
|
|
1023
1025
|
"""
|
|
1024
1026
|
workspace = await aget_user_workspace(req.user_id)
|
|
1025
1027
|
try:
|
|
1026
1028
|
search_path = resolve_sandbox_path(req.path or "/", workspace)
|
|
1027
1029
|
except ValueError as e:
|
|
1028
1030
|
SYLogger.error(f"[Sandbox Server] grep 失败: {e}")
|
|
1029
|
-
return
|
|
1031
|
+
return GrepResponse(error=str(e))
|
|
1030
1032
|
|
|
1031
1033
|
quoted_path = shlex.quote(search_path)
|
|
1032
1034
|
grep_opts = "-rHnF"
|
|
@@ -1035,7 +1037,8 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
1035
1037
|
glob_pattern = f"--include={shlex.quote(req.glob)}" if req.glob else ""
|
|
1036
1038
|
pattern_escaped = shlex.quote(req.pattern)
|
|
1037
1039
|
|
|
1038
|
-
|
|
1040
|
+
# 注意:不再用 2>/dev/null || true,以便捕获 stderr 用于错误诊断
|
|
1041
|
+
cmd = f"grep {grep_opts} {glob_pattern} -e {pattern_escaped} {quoted_path}"
|
|
1039
1042
|
|
|
1040
1043
|
# 使用 asyncio.create_subprocess_shell 异步执行
|
|
1041
1044
|
proc = await asyncio.create_subprocess_shell(
|
|
@@ -1044,8 +1047,17 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
1044
1047
|
stderr=asyncio.subprocess.PIPE,
|
|
1045
1048
|
start_new_session=_SUBPROCESS_NEW_SESSION,
|
|
1046
1049
|
)
|
|
1047
|
-
stdout,
|
|
1050
|
+
stdout, stderr = await proc.communicate()
|
|
1048
1051
|
result_text = stdout.decode('utf-8') if stdout else ''
|
|
1052
|
+
stderr_text = stderr.decode('utf-8', errors='replace') if stderr else ''
|
|
1053
|
+
|
|
1054
|
+
# 检查退出码:1 = no match (不是错误), 2+ = 真正的错误
|
|
1055
|
+
partial_error = None
|
|
1056
|
+
if proc.returncode is not None and proc.returncode >= 2:
|
|
1057
|
+
partial_error = f"grep exited with code {proc.returncode}"
|
|
1058
|
+
if stderr_text.strip():
|
|
1059
|
+
partial_error += f": {stderr_text.strip()[:500]}"
|
|
1060
|
+
SYLogger.warning(f"[Sandbox Server] grep partial failure: {partial_error}")
|
|
1049
1061
|
|
|
1050
1062
|
# 结果解析(含 os.path.realpath / relpath 同步 IO)放入线程池
|
|
1051
1063
|
def _parse_grep_results():
|
|
@@ -1063,7 +1075,7 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
1063
1075
|
|
|
1064
1076
|
path_part = line[:first_colon]
|
|
1065
1077
|
|
|
1066
|
-
# 路径安全检查(对齐 deepagents 0.6.
|
|
1078
|
+
# 路径安全检查(对齐 deepagents 0.6.4):
|
|
1067
1079
|
# resolve 后必须在 workspace 内,跳过 symlink 逃逸的结果
|
|
1068
1080
|
try:
|
|
1069
1081
|
resolved = os.path.realpath(path_part)
|
|
@@ -1091,7 +1103,8 @@ def setup_sandbox_handler(app: FastAPI, config: dict = None):
|
|
|
1091
1103
|
))
|
|
1092
1104
|
return matches
|
|
1093
1105
|
|
|
1094
|
-
|
|
1106
|
+
matches = await asyncio.to_thread(_parse_grep_results)
|
|
1107
|
+
return GrepResponse(matches=matches, partial_error=partial_error)
|
|
1095
1108
|
|
|
1096
1109
|
@sandbox_router.post("/stat", response_model=StatResponse)
|
|
1097
1110
|
async def stat_file(req: StatRequest):
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/models/sandbox.py
RENAMED
|
@@ -118,6 +118,13 @@ class GrepMatch(BaseModel):
|
|
|
118
118
|
text: str
|
|
119
119
|
|
|
120
120
|
|
|
121
|
+
class GrepResponse(BaseModel):
|
|
122
|
+
"""grep 搜索响应(对齐 deepagents 0.6.4 partial_error 语义)"""
|
|
123
|
+
matches: list[GrepMatch] = []
|
|
124
|
+
partial_error: Optional[str] = None
|
|
125
|
+
error: Optional[str] = None
|
|
126
|
+
|
|
127
|
+
|
|
121
128
|
class ReadRequest(BaseModel):
|
|
122
129
|
"""读取文件请求"""
|
|
123
130
|
file_path: str
|
|
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.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/__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
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/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.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/.env.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/base/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
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/command/templates/cli/app.py.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.5a20 → sycommon_python_lib-0.2.5a21}/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.5a20 → sycommon_python_lib-0.2.5a21}/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.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/console.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/dom.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/cdp/capabilities/network.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.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/chat_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/create_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/evaluate_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/init_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/memory_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/commands/resume_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/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.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/core/git_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/evaluate/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/evaluate/api_evaluator.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/memory/compressor.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.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/models/config_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/baseline_tests.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.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/harness_prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/optimization_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/pre_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_bandit.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_generator.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycli/rl/strategy_prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/agent_manager.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/chat_events.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/models.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/mcp/tool_loader.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/multi_agent_team.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/agent/sandbox/session.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/ldap_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/oa_crypto.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/auth/oa_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/DatabaseConfig.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/EmbeddingConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/LLMConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/LangfuseConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/MQConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/PgConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/RedisConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/RerankerConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/SentryConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/XxlJobConfig.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.5a20 → sycommon_python_lib-0.2.5a21}/src/sycommon/config/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|