sycommon-python-lib 0.2.7a25__tar.gz → 0.2.7a27__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.7a25 → sycommon_python_lib-0.2.7a27}/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/pyproject.toml +1 -1
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/sensitive_guard.py +12 -3
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/wecom_ldap_service.py +64 -27
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/PKG-INFO +1 -1
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/README.md +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/setup.cfg +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/cli.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/core/console.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/core/models.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/core/project.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/core/utils.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/main_agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/nodes/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/nodes/example_node.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/states/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/agent/states/agent_state.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/api/query.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/api/sse/agent.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/db/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/db/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/db/model/entity.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/db/service.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/model/parse.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/agent/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/.env.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/.gitignore.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/Dockerfile.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/app.yaml.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/client/FileServiceClient.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/model/file_info.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/requirements.txt.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/commands/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/commands/hello.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/pyproject.toml.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/README.md.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/api/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/api/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/api/sse/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/api/sse/echo.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/app.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/client/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/model/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/tools/__init__.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/web/tools/mq.py.tpl +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/nexus/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/__main__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/acp/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/acp/config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/acp/executor.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/acp/registry.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/acp/server.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/agents/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/agents/factory.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/agents/prompts.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/browser.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/console.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/dom.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/network.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/page_errors.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/performance.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/screenshot.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/client.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/protocol.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/repl.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cli.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/acp_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/cdp_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/chat_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/create_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/evaluate_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/init_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/memory_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/resume_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/rollback_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/run_cmd.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/backend.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/display.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/git_integration.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/llm.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/state.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/evaluate/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/evaluate/api_evaluator.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/compressor.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/full.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/hot.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/memory/warm.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/mode/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/mode/create.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/mode/optimize.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/models/config_models.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/baseline_tests.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/checkpoint.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/convergence.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/diagnosis.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/engine.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/environment.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/experience.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/harness_prompts.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/history.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/optimization_logger.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/pre_validation.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/reward.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_bandit.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_generator.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_prompts.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/simple_chat_agent.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/skills/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/client.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/fetch.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/ssh_init.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/tool.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/agent_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/chat_events.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/deep_agent.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/models.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/tool_loader.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/sandbox_path_guard.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/sitecustomize.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/skill_api_whitelist.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/skill_wl_check.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/middleware/skill_write_guard.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/multi_agent_team.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/consistent_hash.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/file_ops.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/http_sandbox_backend.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/minio_sync.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/sandbox_pool.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/sandbox_recovery.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/session.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/summarization_utils.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/ldap_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/oa_cache.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/oa_crypto.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/auth/oa_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/ACPAgentConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/Config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/DatabaseConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/ElasticsearchConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/EmbeddingConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/LLMConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/LangfuseConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/MQConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/PgConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/RedisConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/RerankerConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/SentryConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/SkillApiWhitelistConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/XxlJobConfig.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/config/config_change_notifier.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/async_base_db_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/async_database_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/base_db_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/database_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/elasticsearch_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/pg_checkpoint_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/redis_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/resilient_pg_saver.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/database/token_usage_db_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/health/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/health/health_check.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/health/metrics.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/health/ping.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/heartbeat_process/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/heartbeat_process/heartbeat_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/heartbeat_process/heartbeat_process_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/heartbeat_process/heartbeat_process_worker.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/embedding.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/get_llm.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/llm_logger.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/llm_tokens.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/llm_with_token_tracking.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/native_with_fallback_runnable.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/output_fixing_runnable.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/struct_token.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/sy_langfuse.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/tiktoken_cache/9b5ad71b2ce5302211f9c61530b329a4922fc6a4 +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/tiktoken_cache/fb374d419588a4632f3f557e76b4b70aebbca790 +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/token_usage_es_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/token_usage_mysql_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/token_utils.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/llm/usage_token.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/async_sql_logger.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/kafka_log.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/log_masker.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/logger_levels.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/logger_wrapper.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/process_logger.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/logging/sql_logger.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/mcp_server/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/mcp_server/server.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/context.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/cors.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/docs.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/exception.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/middleware.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/monitor_memory.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/mq.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/sandbox.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/timeout.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/token_tracking.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/tool_result_truncation.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/middleware/traceid.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/base_http.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/log.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/mcp_server_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/mqlistener_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/mqmsg_model.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/mqsend_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/sandbox.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/sso_user.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/token_usage.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/token_usage_mysql.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/models/xxljob_handler_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/notice/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/notice/uvicorn_monitor.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/notice/wecom_message.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/process_pool_consumer.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_client.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_pool.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service_client_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service_connection_monitor.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service_consumer_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service_core.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/rabbitmq/rabbitmq_service_producer_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/sentry/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/sentry/sy_sentry.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/services.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/sse/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/sse/event.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/sse/sse.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/example.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/example2.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/feign.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/feign_client.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_client_base.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_config_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_heartbeat_manager.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_service_discovery.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/nacos_service_registration.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/synacos/param.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/deep_agent_server.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_consistent_hash.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_consumer_loss_rootcause.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_consumer_recovery.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_deep_agent.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_dynamic_max_tokens.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_email.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_encoding_cache.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_fix_verification.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_mcp_server.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_minimax_reasoning.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_mq.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_oa_login.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_queue_priority_fallback.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_real_summarization.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_summarization_config.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_summarization_real.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tests/test_summary_leak_e2e.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/async_utils.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/docs.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/env.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/merge_headers.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/snowflake.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/syemail.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/tools/timing.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/xxljob/__init__.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/xxljob/xxljob_service.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/SOURCES.txt +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/dependency_links.txt +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/entry_points.txt +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/requires.txt +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon_python_lib.egg-info/top_level.txt +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_acp_tool.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_asyncio_logging.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_config_change_notifier.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_hotreload_snapshot.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_llm_apikey_contextvar.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_log_masker.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_resilient_pg_saver.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_sandbox_path_guard.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_sensitive_guard.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_simple_chat_agent.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_skill_regex_upgrade.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_skill_write_guard.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_sycli.py +0 -0
- {sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/tests/test_sync_skills_to_sandbox.py +0 -0
|
@@ -193,12 +193,14 @@ def _parse_detect_json(text: str) -> Optional[SensitiveCheck]:
|
|
|
193
193
|
# 或 "is_sensitive: true- reason: ..." 这种换行被吞的畸形文本)。
|
|
194
194
|
# 注意:在 4a/4b 走完仍未返回时才到这里,此时要么没大括号、
|
|
195
195
|
# 要么大括号是工具结果片段(不是判定 JSON),用正则从全文提判定字段更稳。
|
|
196
|
-
|
|
196
|
+
# 🔑 支持 [::=] 三种分隔符:模型常写 "is_sensitive: true"(冒号) 或
|
|
197
|
+
# "is_sensitive=true"(等号,Qwen thinking 模式常见),否则等号写法会漏判 fail-open。
|
|
198
|
+
m_bool = re.search(r'is[_\s\-]*sensitive["\']?\s*[::=]\s*(true|false)', text, re.I)
|
|
197
199
|
if m_bool:
|
|
198
200
|
data = {"is_sensitive": m_bool.group(1).lower() == "true"}
|
|
199
201
|
# reason: 取到行尾(容忍换行被吞成空格,遇下一个字段名停止)
|
|
200
202
|
m_reason = re.search(
|
|
201
|
-
r'reason["\']?\s*[
|
|
203
|
+
r'reason["\']?\s*[::=]\s*["\']?(.+?)(?=\s*(?:[\-]*\s*)?(?:reason|source|is[_\s\-]*sensitive)["\']?\s*[::=]|$)',
|
|
202
204
|
text, re.I | re.DOTALL)
|
|
203
205
|
if m_reason:
|
|
204
206
|
r = m_reason.group(1).strip()
|
|
@@ -206,9 +208,16 @@ def _parse_detect_json(text: str) -> Optional[SensitiveCheck]:
|
|
|
206
208
|
r = r.split("\n", 1)[0].strip().strip('"\'')
|
|
207
209
|
if r:
|
|
208
210
|
data["reason"] = r
|
|
209
|
-
|
|
211
|
+
# 🔑 source 容错:模型可能把 user_input 写残(如 "user_in")或带尾随文字。
|
|
212
|
+
# 匹配 user_input/tool_result/history 的【前缀】(user_in → user_input),
|
|
213
|
+
# 匹配不到时默认 user_input(最安全的阻断来源判定,避免整条 fail-open)。
|
|
214
|
+
m_source = re.search(r'source["\']?\s*[::=]\s*["\']?(user_input|tool_result|history)',
|
|
215
|
+
text, re.I)
|
|
210
216
|
if m_source:
|
|
211
217
|
data["source"] = m_source.group(1).lower()
|
|
218
|
+
elif "user" in text.lower() and "input" not in text.lower():
|
|
219
|
+
# 疑似 user_input 写残但能看出是用户输入来源
|
|
220
|
+
pass # 留默认值
|
|
212
221
|
try:
|
|
213
222
|
return SensitiveCheck(**{k: v for k, v in data.items() if v is not None})
|
|
214
223
|
except Exception:
|
|
@@ -211,6 +211,17 @@ class WeComLDAPService(metaclass=SingletonMeta):
|
|
|
211
211
|
# 企微部门 ID -> 名称 缓存
|
|
212
212
|
self._dept_map: Dict[int, str] = {}
|
|
213
213
|
|
|
214
|
+
# 🔑 resolve 进程内 L1 缓存 + per-userid 并发去重锁
|
|
215
|
+
# 背景:企微 push 把「文件+文字」拆成两条并发 asyncio task,各自在 handler
|
|
216
|
+
# 入口 await resolve_unified_user_id。Redis(L2) 缓存写入有传播/竞态延迟,
|
|
217
|
+
# 并发的两个请求互相看不到对方刚写的 Redis → 各自查一遍企微 user/get API
|
|
218
|
+
# (~1-2s/次)→ 文件 handler 入口被卡 2s+ → 注册 _user_tasks 晚 → 文字抢先
|
|
219
|
+
# 起 agent → 双气泡。L1 命中直接返回;per-userid 锁保证同一人同时只查一次,
|
|
220
|
+
# 其余并发请求等结果复用。TTL 短(5min),Redis 仍负责跨进程持久化。
|
|
221
|
+
self._resolve_cache: Dict[str, tuple] = {} # wecom_userid -> (unified_id, expire_ts)
|
|
222
|
+
self._resolve_locks: Dict[str, asyncio.Lock] = {}
|
|
223
|
+
self._resolve_ttl: int = 300 # 进程内 L1 缓存 5 分钟
|
|
224
|
+
|
|
214
225
|
# 订阅配置热更新(幂等)
|
|
215
226
|
from sycommon.config.config_change_notifier import notifier
|
|
216
227
|
notifier.register("wecom_ldap", sync_cb=self.reload)
|
|
@@ -232,6 +243,8 @@ class WeComLDAPService(metaclass=SingletonMeta):
|
|
|
232
243
|
# access_token 直接作废,避免用旧 secret 换来的 token 继续生效。
|
|
233
244
|
self._access_token = None
|
|
234
245
|
self._token_expires_at = 0
|
|
246
|
+
# 配置热更新时清空 resolve L1 缓存,避免用旧映射继续返回。
|
|
247
|
+
self._resolve_cache.clear()
|
|
235
248
|
|
|
236
249
|
# ─── 企微 API ───
|
|
237
250
|
|
|
@@ -737,8 +750,10 @@ class WeComLDAPService(metaclass=SingletonMeta):
|
|
|
737
750
|
async def resolve_unified_user_id(self, wecom_userid: str) -> str:
|
|
738
751
|
"""将企微 userid 解析为统一 user_id(LDAP sAMAccountName)
|
|
739
752
|
|
|
740
|
-
|
|
741
|
-
|
|
753
|
+
优先从进程内 L1 缓存读取(命中直接返回,无任何网络开销),其次 Redis(L2) 缓存,
|
|
754
|
+
最后查企微+LDAP 并写入两层缓存。per-userid 锁保证同一 userid 的并发请求只查一次
|
|
755
|
+
API,其余等结果复用——这是修复「文件+文字并发各查一遍企微 API → 文件 handler
|
|
756
|
+
入口被卡 → 双气泡」的关键。
|
|
742
757
|
|
|
743
758
|
Args:
|
|
744
759
|
wecom_userid: 企微用户ID(如 "0633"、密文 open_userid)
|
|
@@ -746,33 +761,55 @@ class WeComLDAPService(metaclass=SingletonMeta):
|
|
|
746
761
|
Returns:
|
|
747
762
|
统一 user_id(小写,如 "osulcode.xiao")
|
|
748
763
|
"""
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
764
|
+
now = time.time()
|
|
765
|
+
|
|
766
|
+
# 0. L1 进程内缓存(最快,无网络)
|
|
767
|
+
hit = self._resolve_cache.get(wecom_userid)
|
|
768
|
+
if hit and hit[1] > now:
|
|
769
|
+
return hit[0]
|
|
770
|
+
|
|
771
|
+
# per-userid 锁:同一 userid 并发只放一个进去查,其余等结果
|
|
772
|
+
lock = self._resolve_locks.get(wecom_userid)
|
|
773
|
+
if lock is None:
|
|
774
|
+
lock = asyncio.Lock()
|
|
775
|
+
self._resolve_locks[wecom_userid] = lock
|
|
776
|
+
async with lock:
|
|
777
|
+
# 双检:拿到锁后可能已被前一个并发请求填好 L1
|
|
778
|
+
now = time.time()
|
|
779
|
+
hit = self._resolve_cache.get(wecom_userid)
|
|
780
|
+
if hit and hit[1] > now:
|
|
781
|
+
return hit[0]
|
|
782
|
+
|
|
783
|
+
# 1. 查 Redis 缓存(L2)
|
|
784
|
+
cached = await self._get_cached_mapping(wecom_userid)
|
|
785
|
+
if cached:
|
|
786
|
+
self._resolve_cache[wecom_userid] = (cached, now + self._resolve_ttl)
|
|
787
|
+
return cached
|
|
788
|
+
|
|
789
|
+
# 2. 查企微 + LDAP
|
|
790
|
+
unified_id = wecom_userid
|
|
791
|
+
employee_id = wecom_userid # 默认用工号就是原始 userid
|
|
792
|
+
try:
|
|
793
|
+
result = await self.get_user_info(wecom_userid)
|
|
794
|
+
employee_id = result.wecom_userid # get_user_info 返回解码后的明文工号
|
|
795
|
+
if result.matched and result.ldap_user and result.ldap_user.username:
|
|
796
|
+
unified_id = result.ldap_user.username
|
|
797
|
+
SYLogger.info(
|
|
798
|
+
f"[WeComLDAP] 用户映射: wecom={wecom_userid} -> ldap={unified_id}")
|
|
799
|
+
else:
|
|
800
|
+
SYLogger.info(
|
|
801
|
+
f"[WeComLDAP] 用户映射: wecom={wecom_userid} -> 未匹配LDAP,回退={unified_id}")
|
|
802
|
+
except Exception as e:
|
|
803
|
+
SYLogger.warning(
|
|
804
|
+
f"[WeComLDAP] 解析统一 user_id 失败: wecom_userid={wecom_userid}, error={e}")
|
|
770
805
|
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
806
|
+
# 3. 写入 Redis 缓存(统一小写)
|
|
807
|
+
unified_id = unified_id.lower().replace(" ", "")
|
|
808
|
+
await self._set_cached_mapping(employee_id, unified_id)
|
|
774
809
|
|
|
775
|
-
|
|
810
|
+
# 写入 L1
|
|
811
|
+
self._resolve_cache[wecom_userid] = (unified_id, time.time() + self._resolve_ttl)
|
|
812
|
+
return unified_id
|
|
776
813
|
|
|
777
814
|
async def get_employee_id(self, unified_id: str) -> Optional[str]:
|
|
778
815
|
"""从 Redis 获取企微员工工号
|
|
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.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/.env.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/base/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/command/templates/cli/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/console.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/cdp/capabilities/dom.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/chat_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/create_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/evaluate_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/init_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/memory_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/commands/resume_cmd.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/core/git_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/evaluate/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/evaluate/api_evaluator.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/models/config_models.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/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.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/harness_prompts.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/optimization_logger.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/pre_validation.py
RENAMED
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_bandit.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_generator.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/rl/strategy_prompts.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycli/simple_chat_agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/client.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/fetch.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/ssh_init.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/acp/tool.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/agent_manager.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/chat_events.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/deep_agent.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/__init__.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/models.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/mcp/tool_loader.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.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/multi_agent_team.py
RENAMED
|
File without changes
|
{sycommon_python_lib-0.2.7a25 → sycommon_python_lib-0.2.7a27}/src/sycommon/agent/sandbox/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|