deepcode-hku 2.0.0__tar.gz → 2.1.0__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.
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/MANIFEST.in +2 -0
- {deepcode_hku-2.0.0/deepcode_hku.egg-info → deepcode_hku-2.1.0}/PKG-INFO +215 -61
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/README.md +212 -58
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/README_ZH.md +94 -12
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/THIRD_PARTY_NOTICES.md +15 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/dispatcher.py +115 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/methods.py +11 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/notifications.py +3 -0
- deepcode_hku-2.1.0/app_server/runtime_probe.py +73 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/server.py +43 -2
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/goal_runner.py +8 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/headless_turn.py +2 -3
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/loop_cli.py +1 -4
- deepcode_hku-2.1.0/cli/mcp_cli.py +380 -0
- deepcode_hku-2.1.0/cli/plugin_cli.py +177 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/skill_cli.py +17 -5
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/app.py +197 -25
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/commands.py +17 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/input.py +43 -15
- deepcode_hku-2.1.0/core/agent_runtime/context.py +61 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/runner.py +86 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/mcp.py +2 -56
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_setup.py +55 -3
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/agent_adapter.py +50 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/application.py +32 -4
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/errors.py +4 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/llm_configuration_service.py +16 -1
- deepcode_hku-2.1.0/core/application/mcp_service.py +904 -0
- deepcode_hku-2.1.0/core/application/plugin_service.py +192 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/session_runtime.py +5 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/skill_service.py +120 -9
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_service.py +3 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/views.py +128 -2
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/config.py +18 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/session.py +52 -7
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/agents/control.py +3 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/permissions.py +61 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/policy.py +3 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/sandbox.py +54 -11
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/skills.py +50 -4
- deepcode_hku-2.1.0/core/harness/windows_sandbox.py +218 -0
- deepcode_hku-2.1.0/core/mcp/__init__.py +57 -0
- deepcode_hku-2.1.0/core/mcp/connection.py +514 -0
- deepcode_hku-2.1.0/core/mcp/models.py +569 -0
- deepcode_hku-2.1.0/core/mcp/naming.py +43 -0
- deepcode_hku-2.1.0/core/mcp/oauth.py +694 -0
- deepcode_hku-2.1.0/core/mcp/presets.json +253 -0
- deepcode_hku-2.1.0/core/mcp/presets.py +88 -0
- deepcode_hku-2.1.0/core/mcp/probe.py +80 -0
- deepcode_hku-2.1.0/core/mcp/resolver.py +290 -0
- deepcode_hku-2.1.0/core/mcp/runtime.py +268 -0
- deepcode_hku-2.1.0/core/mcp/schema.py +57 -0
- deepcode_hku-2.1.0/core/mcp/tools.py +161 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/platform_compat.py +41 -6
- deepcode_hku-2.1.0/core/plugins/__init__.py +31 -0
- deepcode_hku-2.1.0/core/plugins/domain.py +211 -0
- deepcode_hku-2.1.0/core/plugins/formats/__init__.py +8 -0
- deepcode_hku-2.1.0/core/plugins/formats/agent_plugins_v1.py +279 -0
- deepcode_hku-2.1.0/core/plugins/host.py +339 -0
- deepcode_hku-2.1.0/core/plugins/mcp.py +331 -0
- deepcode_hku-2.1.0/core/plugins/registry.py +306 -0
- deepcode_hku-2.1.0/core/plugins/resolver.py +85 -0
- deepcode_hku-2.1.0/core/plugins/skill_provider.py +277 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/catalog.py +191 -30
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/model_compat.py +26 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_compat.py +22 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/reasoning.py +31 -40
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/registry.py +34 -0
- deepcode_hku-2.1.0/core/skills/__init__.py +98 -0
- deepcode_hku-2.1.0/core/skills/aggregation.py +57 -0
- deepcode_hku-2.1.0/core/skills/builtin/UPSTREAM_SOURCES.json +45 -0
- deepcode_hku-2.1.0/core/skills/builtin/frontend-design/LICENSE.txt +177 -0
- deepcode_hku-2.1.0/core/skills/builtin/frontend-design/SKILL.md +55 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/LICENSE.txt +202 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/SKILL.md +236 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/evaluation.md +602 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/mcp_best_practices.md +249 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/node_mcp_server.md +970 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/python_mcp_server.md +719 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/connections.py +155 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/evaluation.py +426 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/example_evaluation.xml +22 -0
- deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/requirements.txt +2 -0
- deepcode_hku-2.1.0/core/skills/builtin/review-agent/LICENSE.txt +201 -0
- deepcode_hku-2.1.0/core/skills/builtin/review-agent/SKILL.md +57 -0
- deepcode_hku-2.1.0/core/skills/builtin/review-agent/agents/openai.yaml +6 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/LICENSE.txt +201 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/SKILL.md +86 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/agents/openai.yaml +4 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/golang-general-backend-security.md +826 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-express-web-server-security.md +1158 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-general-web-frontend-security.md +747 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-jquery-web-frontend-security.md +678 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1144 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +990 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +791 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-django-web-server-security.md +882 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-fastapi-web-server-security.md +1036 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-flask-web-server-security.md +705 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/LICENSE.txt +201 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/SKILL.md +206 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/agents/openai.yaml +4 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/references/neo4j-import.md +60 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/build_ownership_map.py +1008 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/community_maintainers.py +565 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/query_ownership.py +493 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/run_ownership_map.py +206 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/LICENSE.txt +201 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/SKILL.md +81 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/agents/openai.yaml +4 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/references/prompt-template.md +255 -0
- deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/references/security-controls-and-assets.md +32 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/LICENSE.txt +202 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/SKILL.md +368 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/agents/openai.yaml +4 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/references/openai_yaml.md +43 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/generate_openai_yaml.py +230 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/init_skill.py +409 -0
- deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/quick_validate.py +101 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/LICENSE.txt +202 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/SKILL.md +96 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/console_logging.py +35 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/element_discovery.py +44 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/static_html_automation.py +33 -0
- deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/scripts/with_server.py +129 -0
- deepcode_hku-2.1.0/core/skills/builtin_registry.py +55 -0
- deepcode_hku-2.1.0/core/skills/capabilities.py +253 -0
- deepcode_hku-2.1.0/core/skills/catalog.py +841 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/skills/config.py +5 -1
- deepcode_hku-2.1.0/core/skills/host.py +311 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/skills/management.py +31 -21
- deepcode_hku-2.1.0/core/skills/metadata.py +211 -0
- deepcode_hku-2.1.0/core/skills/models.py +453 -0
- deepcode_hku-2.1.0/core/skills/monitor.py +165 -0
- deepcode_hku-2.1.0/core/skills/prompting.py +162 -0
- deepcode_hku-2.1.0/core/skills/provider.py +376 -0
- deepcode_hku-2.1.0/core/skills/resources.py +234 -0
- deepcode_hku-2.1.0/core/skills/roots.py +138 -0
- deepcode_hku-2.1.0/core/skills/runtime.py +558 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/version.py +1 -1
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode.py +51 -4
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0/deepcode_hku.egg-info}/PKG-INFO +215 -61
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/SOURCES.txt +118 -6
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/requires.txt +2 -2
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/protocol/app-server.schema.json +648 -14
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/pyproject.toml +10 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/requirements.txt +2 -2
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/setup.py +12 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_agent_runner_kernel.py +53 -0
- deepcode_hku-2.1.0/tests/test_cli_logging_bootstrap.py +108 -0
- deepcode_hku-2.1.0/tests/test_code_indexer_output.py +106 -0
- deepcode_hku-2.1.0/tests/test_desktop_ci_scope.py +42 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_desktop_release_scripts.py +14 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_exec_sandbox_wiring.py +3 -3
- deepcode_hku-2.1.0/tests/test_forge_provider.py +75 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_sandbox.py +65 -1
- deepcode_hku-2.1.0/tests/test_mcp_cli.py +202 -0
- deepcode_hku-2.1.0/tests/test_mcp_oauth.py +177 -0
- deepcode_hku-2.1.0/tests/test_mcp_runtime.py +428 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_model_catalog_service.py +5 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_native_file_tools.py +1 -0
- deepcode_hku-2.1.0/tests/test_openspace_recipe.py +31 -0
- deepcode_hku-2.1.0/tests/test_platform_compat.py +24 -0
- deepcode_hku-2.1.0/tests/test_plugin_cli.py +73 -0
- deepcode_hku-2.1.0/tests/test_plugins.py +647 -0
- deepcode_hku-2.1.0/tests/test_python_distribution_release.py +99 -0
- deepcode_hku-2.1.0/tests/test_reasoning_catalog_alignment.py +158 -0
- deepcode_hku-2.1.0/tests/test_requesty_provider.py +72 -0
- deepcode_hku-2.1.0/tests/test_skill_capabilities.py +267 -0
- deepcode_hku-2.1.0/tests/test_skill_host.py +304 -0
- deepcode_hku-2.1.0/tests/test_skill_provider.py +517 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skills.py +45 -7
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skills_product.py +376 -22
- deepcode_hku-2.1.0/tests/test_thinking_requires_capable_model.py +86 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui.py +98 -0
- deepcode_hku-2.1.0/tests/test_workflow_interactions.py +52 -0
- deepcode_hku-2.1.0/tests/test_zhipu_thinking_wire.py +54 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_implementation_server.py +5 -2
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_indexer.py +3 -3
- deepcode_hku-2.1.0/uv.lock +3 -0
- {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/USAGE.md +17 -17
- deepcode_hku-2.1.0/workflows/interactions/__init__.py +12 -0
- {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/base.py +103 -104
- {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/integration.py +31 -31
- {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/plan_review.py +6 -6
- {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/requirement_analysis.py +8 -8
- deepcode_hku-2.0.0/app_server/runtime_probe.py +0 -37
- deepcode_hku-2.0.0/core/application/mcp_service.py +0 -297
- deepcode_hku-2.0.0/core/skills/__init__.py +0 -31
- deepcode_hku-2.0.0/core/skills/catalog.py +0 -537
- deepcode_hku-2.0.0/core/skills/models.py +0 -198
- deepcode_hku-2.0.0/core/skills/runtime.py +0 -279
- deepcode_hku-2.0.0/workflows/plugins/__init__.py +0 -12
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/LICENSE +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/__main__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/connection.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/errors.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/codec.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/models.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/automation_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/automation_foreground.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/config_errors.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/exec_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/execution_options.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/init_config.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/mcp_server.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/project_trust.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/provider_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/schedule_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/session_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/transcript.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/__main__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/domain_events.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/goal_controller.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/renderer.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/session_bridge.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/theme.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/thread_client.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/goal_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/helpers.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/hook.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/injections.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/processes.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/alias.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/base.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/registry.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/application_lease.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/approval_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_permission_policy.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_schedule_policy.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_scheduler.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/config_store.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/diagnostics_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/event_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_admission.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_coordinator.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_handler_registry.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_registry.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_security_policy.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/extension_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/file_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/git_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_extension.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_prompts/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_prompts/continuation.md +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_turn_port.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/interactive_turn_router.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/legacy_session_importer.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/project_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/session_deletion_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/settings_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/terminal_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/test_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/thread_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_input_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_projection.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_usage.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workflow_adapter.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workflow_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workspace_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/worktree_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/mcp_app.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/parallel.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/request_params.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/approval.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/artifact.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/automation.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/common.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/event.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_permission.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_profile.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_security.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/item.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/message_provenance.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/project.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/runtime_coordination.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/thread.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/thread_goal.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/turn.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/workflow.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/llm_events.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/parts.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/protocol.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/file_lock.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/agents/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/approval.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/_runner.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/tool.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/collaboration.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/discovery.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/engine.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/events.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/execution.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/memory.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/snapshot.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/diagnostics.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/files.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/goal.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/patch.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/plan.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/replace.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/search.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/shell.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/spawn_agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/user_input.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/web.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/llm_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/loop/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/loop/autodream.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/hostnames.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/safe_http.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/bus.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/context.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/records.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/automation_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/coordination_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/database.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/errors.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/event_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/execution_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/legacy_import_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/migrations.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/project_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/serde.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/thread_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/workflow_repository.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/platform_file_lock.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/private_storage.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/anthropic.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/base.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/catalog_service.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/credentials.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/converters.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/parsing.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/profiles.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/timeouts.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/reasoning.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/keepalive.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/scheduler.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/continuation.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/deletion.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/index.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/legacy_goal_decoder.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/models.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/store.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/thread_goal_store.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/team/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/team/worktree.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/verification.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/dependency_links.txt +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/entry_points.txt +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/top_level.txt +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/README.md +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/dataset.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/evaluate.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/instance.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/predict.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/report.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/run.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/prompts/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/prompts/code_prompts.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/schema/mcp-agent.config.schema.json +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/setup.cfg +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_agent_session.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_apply_patch.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_autodream.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_automation_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_automation_foreground.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_catalog.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_code_mode.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_collaboration.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_config_errors.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_config_layering.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_diagnostics.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_document_conversion.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_exec_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_fuzzy_replace.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_goal_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_approval.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_permissions.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_policy.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_hooks.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_init_config.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_llm_events.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_llm_runtime_connections.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_loop_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_mcp_server.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_memory.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_model_compat.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_parts.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_pdf_downloader_security.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_plan_tool.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_private_storage.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_provider_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_provider_timeouts.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning_capabilities.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning_providers.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_safe_http.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_schedule.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_compaction.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_index.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_shell_search_tools.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skill_cli.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_snapshot.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_spawn_agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_swebench_harness.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_team_worktree.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui_domain_events.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui_thread_client.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_input_mailbox.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_projection.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_queue.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_steering.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_unified_impl_workflow.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_user_input_tool.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_verification.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_version_metadata.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_web_tools.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_workflow_compatibility.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_reference_indexer.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/command_executor.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/document_conversion.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/document_segmentation_server.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/git_command.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/indexer_config.yaml +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_converter.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_downloader.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_downloader_server.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_utils.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/file_processor.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/llm_utils.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/loop_detector.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agent_orchestration_engine.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/__init__.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/code_implementation_agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/document_segmentation_agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/memory_agent_concise.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/requirement_analysis_agent.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/code_implementation_workflow.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/codebase_index_workflow.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/environment.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/plan_review_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/planning_runtime.py +0 -0
- {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/workflow_context.py +0 -0
|
@@ -3,11 +3,13 @@ include README_ZH.md
|
|
|
3
3
|
include LICENSE
|
|
4
4
|
include THIRD_PARTY_NOTICES.md
|
|
5
5
|
include requirements.txt
|
|
6
|
+
include uv.lock
|
|
6
7
|
include __init__.py
|
|
7
8
|
recursive-include prompts *
|
|
8
9
|
recursive-include schema *
|
|
9
10
|
recursive-include cli *.py
|
|
10
11
|
recursive-include core *.py
|
|
12
|
+
recursive-include core/skills/builtin *
|
|
11
13
|
recursive-include core/application/goal_prompts *.md
|
|
12
14
|
recursive-include app_server *.py
|
|
13
15
|
recursive-include protocol *.json
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: deepcode-hku
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.1.0
|
|
4
4
|
Summary: Open agentic coding with durable sessions, goals, and verification
|
|
5
5
|
Home-page: https://github.com/HKUDS/DeepCode
|
|
6
6
|
Author: DeepCode Team
|
|
@@ -22,7 +22,7 @@ Requires-Python: >=3.12
|
|
|
22
22
|
Description-Content-Type: text/markdown
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
Requires-Dist: aiofiles>=0.8.0
|
|
25
|
-
Requires-Dist: aiohttp>=3.14.
|
|
25
|
+
Requires-Dist: aiohttp>=3.14.3
|
|
26
26
|
Requires-Dist: anthropic>=0.40.0
|
|
27
27
|
Requires-Dist: asyncio-mqtt
|
|
28
28
|
Requires-Dist: google-genai
|
|
@@ -37,7 +37,7 @@ Requires-Dist: openapi
|
|
|
37
37
|
Requires-Dist: pathlib2
|
|
38
38
|
Requires-Dist: prompt_toolkit>=3.0.0
|
|
39
39
|
Requires-Dist: pydantic-settings>=2.14.2
|
|
40
|
-
Requires-Dist: pypdf>=6.
|
|
40
|
+
Requires-Dist: pypdf>=6.15.0
|
|
41
41
|
Requires-Dist: PyYAML>=6.0
|
|
42
42
|
Requires-Dist: reportlab>=3.5.0
|
|
43
43
|
Requires-Dist: rich>=13.0.0
|
|
@@ -78,7 +78,8 @@ Dynamic: summary
|
|
|
78
78
|
</table>
|
|
79
79
|
|
|
80
80
|
<div align="center">
|
|
81
|
-
<a href="https://trendshift.io/repositories/14665" target="_blank"><img src="https://trendshift.io/api/badge/repositories/14665" alt="HKUDS%2FDeepCode | Trendshift"
|
|
81
|
+
<a href="https://trendshift.io/repositories/14665?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-14665" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/14665" alt="HKUDS%2FDeepCode | Trendshift" width="250" height="55"/></a>
|
|
82
|
+
<a href="https://trendshift.io/repositories/14665?utm_source=trendshift-badge&utm_medium=badge&utm_campaign=badge-trendshift-14665" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/trendshift/repositories/14665/daily?language=Python" alt="HKUDS%2FDeepCode | Trendshift" width="250" height="55"/></a>
|
|
82
83
|
</div>
|
|
83
84
|
|
|
84
85
|
<!-- <img src="https://readme-typing-svg.herokuapp.com?font=Russo+One&size=28&duration=2000&pause=800&color=06B6D4&background=00000000¢er=true&vCenter=true&width=800&height=50&lines=%E2%9A%A1+OPEN+AGENTIC+CODING+%E2%9A%A1" alt="DeepCode Tech Subtitle" style="margin-top: 5px; filter: drop-shadow(0 0 12px #06B6D4) drop-shadow(0 0 24px rgba(6,182,212,0.4));"/> -->
|
|
@@ -194,6 +195,7 @@ Skills, permissions, Goals, and Automations. See the
|
|
|
194
195
|
- [🎬 Live demonstrations](#live-demonstrations)
|
|
195
196
|
- [🛠️ Development](#development)
|
|
196
197
|
- [⭐ Star History](#star-history)
|
|
198
|
+
- [🙏 Appreciation](#contributors)
|
|
197
199
|
- [📖 Citation](#citation)
|
|
198
200
|
- [📄 License](#license)
|
|
199
201
|
|
|
@@ -203,6 +205,114 @@ Skills, permissions, Goals, and Automations. See the
|
|
|
203
205
|
|
|
204
206
|
## News
|
|
205
207
|
|
|
208
|
+
**2026-08-12 · Reviewed upstream core Skills**
|
|
209
|
+
|
|
210
|
+
- **Start with reviewed upstream Skills.** DeepCode now bundles eight pinned,
|
|
211
|
+
provenance-tracked Agent Skills from OpenAI, Codex, and Anthropic for Skill
|
|
212
|
+
authoring, code review, security analysis, frontend design, MCP construction,
|
|
213
|
+
and web application testing. They use the same catalog and Turn runtime as
|
|
214
|
+
project, user, and Plugin Skills.
|
|
215
|
+
|
|
216
|
+
**2026-08-12 · Managed MCP catalog, OAuth, and real connection checks**
|
|
217
|
+
|
|
218
|
+
- **Start from reviewed templates without hidden execution.** DeepCode bundles
|
|
219
|
+
a validated catalog based on Nanobot's current 16 MCP templates. Adding
|
|
220
|
+
one copies ordinary user configuration in a disabled state; it never silently
|
|
221
|
+
runs `npx`, Docker, or a remote server.
|
|
222
|
+
- **Configure MCP consistently in every interface.** Desktop and TUI now join
|
|
223
|
+
the management CLI and App Server on one preset, configuration, test, OAuth,
|
|
224
|
+
and live-status service rather than maintaining interface-specific clients.
|
|
225
|
+
- **Distinguish config, authorization, and connectivity.** A real MCP probe
|
|
226
|
+
initializes the server and counts tools, resources, and prompts. Browser
|
|
227
|
+
OAuth uses a loopback callback and a private credential file outside project
|
|
228
|
+
configuration, while Agent startup never opens a browser implicitly.
|
|
229
|
+
|
|
230
|
+
**2026-08-10 · Generic MCP runtime and portable local Plugins**
|
|
231
|
+
|
|
232
|
+
- **Connect standard MCP servers from every interface.** User and trusted
|
|
233
|
+
project configuration, App Server, CLI, and Desktop now share one generic
|
|
234
|
+
stdio/SSE/Streamable HTTP client runtime with bounded discovery, stable tool
|
|
235
|
+
identities, timeouts, cancellation, and session-owned cleanup.
|
|
236
|
+
- **Keep credentials and authority explicit.** Executable config layers replace
|
|
237
|
+
whole entries, child processes receive a minimal environment, provider keys
|
|
238
|
+
stay in private DeepCode connections, and MCP policy can only narrow global
|
|
239
|
+
trust, read-only, approval, and sandbox decisions.
|
|
240
|
+
- **Run Agent Plugins 1.0 MCP components without format forks.** Valid
|
|
241
|
+
`mcp.json` servers join the same runtime only when an Agent Session starts,
|
|
242
|
+
receive isolated `PLUGIN_ROOT` / `PLUGIN_DATA`, and fail independently from
|
|
243
|
+
bundled Skills and other servers.
|
|
244
|
+
- **Connect OpenSpace as MCP plus two ordinary Skills.** A reviewed recipe binds
|
|
245
|
+
an OpenRouter connection without plaintext secrets, imports OpenSpace's host
|
|
246
|
+
Skills into the standalone catalog, and keeps cloud/upload tools disabled by
|
|
247
|
+
default.
|
|
248
|
+
|
|
249
|
+
- **Register trusted local Plugin folders.** CLI and Desktop now share a
|
|
250
|
+
user-level Plugin registry with add, inspect, enable, disable, and unregister
|
|
251
|
+
operations; unregistering never deletes source files.
|
|
252
|
+
- **Keep one execution path.** Enabled Plugins contribute authority-bound
|
|
253
|
+
Skills through the existing Skill Provider host, so selection, dependencies,
|
|
254
|
+
progressive reads, permissions, revisions, and audit metadata remain the
|
|
255
|
+
same across CLI, TUI, headless execution, and Desktop.
|
|
256
|
+
- **Preserve standalone Skills.** Project and user Skills remain independently
|
|
257
|
+
installable and take precedence over a same-named Plugin Skill. Plugins are
|
|
258
|
+
an optional packaging source, never a replacement Skill lifecycle.
|
|
259
|
+
- **Use one portable package contract.** Local Plugins use the Agent Plugins
|
|
260
|
+
1.0.0 root manifest and fixed `skills/` layout; experimental DeepCode
|
|
261
|
+
manifests are no longer accepted. Hooks, Apps, Marketplaces, downloads, and
|
|
262
|
+
updates remain inert.
|
|
263
|
+
|
|
264
|
+
**2026-08-09 · Skills now have a real runtime contract**
|
|
265
|
+
|
|
266
|
+
- **Load guidance through one provider boundary.** Skill discovery, content
|
|
267
|
+
reads, and package search now stay with the provider that owns the Skill,
|
|
268
|
+
while the catalog remains metadata-only. Local Skills keep their existing
|
|
269
|
+
precedence and identity, and future providers no longer need filesystem
|
|
270
|
+
shortcuts to fit the runtime.
|
|
271
|
+
- **Compose Skills without hiding missing capabilities.** Skills can declare
|
|
272
|
+
tool and Skill dependencies; DeepCode expands them in order, detects cycles,
|
|
273
|
+
and fails before the first model request when a requirement is unavailable.
|
|
274
|
+
- **Reveal only what the task needs.** The Agent can search and read bounded
|
|
275
|
+
package resources progressively, with revision, traversal, symlink, and size
|
|
276
|
+
checks applied at the shared provider contract.
|
|
277
|
+
- **Keep execution constrained and auditable.** A Skill can narrow the tools
|
|
278
|
+
already allowed by the Session but cannot grant new permissions. CLI, TUI,
|
|
279
|
+
and Desktop share the same immutable Turn snapshot and persist only Skill
|
|
280
|
+
identity, invocation kind, and revision—not the instruction body.
|
|
281
|
+
- **See changes everywhere without restarting.** One workspace host now owns
|
|
282
|
+
the shared catalog and provider cache, while each Agent Session keeps its own
|
|
283
|
+
Turn context. Local Skill and policy changes refresh Desktop automatically,
|
|
284
|
+
and Composer, management, CLI, and headless execution resolve through the
|
|
285
|
+
same lifecycle.
|
|
286
|
+
|
|
287
|
+
**2026-08-07 · Thinking controls, more providers, and a Desktop you can tune**
|
|
288
|
+
|
|
289
|
+
- **Reasoning controls work again across the board.** Thinking levels are now
|
|
290
|
+
resolved from the model catalog, so Claude, GPT-5, Kimi, Qwen and Grok all
|
|
291
|
+
offer their real effort levels, and DeepSeek, GLM and MiniMax get a working
|
|
292
|
+
thinking toggle. A newly released model inherits its family's controls
|
|
293
|
+
instead of silently losing them.
|
|
294
|
+
- **Three more providers.** Requesty and Forge join as gateways, and MiniMax
|
|
295
|
+
arrives with its own catalog entry — including the 1M-context M3 tier.
|
|
296
|
+
- **Make the Desktop yours.** Settings → Appearance adds conversation width,
|
|
297
|
+
a light/dark override that no longer follows the OS blindly, font size, and
|
|
298
|
+
font selection filtered to what is actually installed on your machine.
|
|
299
|
+
- **Safer command execution on Windows.** A Job Object backend gives the
|
|
300
|
+
sandbox real process-tree isolation where previously there was none.
|
|
301
|
+
|
|
302
|
+
**2026-08-04 · Skills that work wherever you do**
|
|
303
|
+
|
|
304
|
+
- **Keep reusable expertise close to your work.** DeepCode discovers Skills
|
|
305
|
+
from the current project as well as your personal collection, while keeping
|
|
306
|
+
existing DeepCode and Claude-compatible Skill locations working.
|
|
307
|
+
- **Use the same Skill from CLI or Desktop.** Select it for a task and DeepCode
|
|
308
|
+
carries its identity and version with the Turn, so the Session shows which
|
|
309
|
+
guidance shaped the result.
|
|
310
|
+
- **Create Skills without leaving DeepCode.** The built-in Skill Creator helps
|
|
311
|
+
you scaffold and validate focused, reusable workflows from either interface.
|
|
312
|
+
- **Stay focused as your library grows.** Context-aware discovery keeps the
|
|
313
|
+
Agent prompt concise while the complete Skill catalog remains available to
|
|
314
|
+
browse and manage.
|
|
315
|
+
|
|
206
316
|
**2026-08-03 · 🎉 DeepCode v2.0 is here**
|
|
207
317
|
|
|
208
318
|
DeepCode v2.0 introduces a new general-purpose Coding Agent framework for
|
|
@@ -232,50 +342,25 @@ DeepCode v2.0 is built to help you spend less time supervising every step and
|
|
|
232
342
|
more time shipping software you are proud of. We cannot wait to see what you
|
|
233
343
|
build! 🚀
|
|
234
344
|
|
|
235
|
-
**2026-07-31 · One execution model across CLI and Desktop**
|
|
236
|
-
|
|
237
|
-
- Interactive, headless, Goal, Automation, and Desktop work all use the same
|
|
238
|
-
durable Project, Session, Thread, and Turn lifecycle.
|
|
239
|
-
- Workspace trust is explicit and independent from the Session access preset:
|
|
240
|
-
**Ask**, **Read only**, or **Full access**.
|
|
241
|
-
- Model-aware Thinking controls and typed reasoning presentation remain
|
|
242
|
-
separate, so changing display detail never changes the model request.
|
|
243
|
-
|
|
244
|
-
**2026-07-21 · Durable Goals and safe Session lifecycle**
|
|
245
|
-
|
|
246
|
-
- Run long tasks as resumable, evidence-driven Goals shared by CLI and Desktop.
|
|
247
|
-
- Archive history for later or permanently delete it through one guarded
|
|
248
|
-
Session lifecycle, without touching repository files.
|
|
249
|
-
- Interrupted deletions recover from a durable tombstone instead of reviving
|
|
250
|
-
stale Session records.
|
|
251
|
-
|
|
252
|
-
**2026-07-20 · Session-level model control and shared Skills**
|
|
253
|
-
|
|
254
|
-
- Configure named LLM connections once and use them throughout DeepCode.
|
|
255
|
-
- Switch the connection or model for future Turns without losing the
|
|
256
|
-
conversation that came before it.
|
|
257
|
-
- Discover, import, enable, and select the same project or user Skills
|
|
258
|
-
regardless of how the task was started.
|
|
259
|
-
|
|
260
|
-
**2026-07-17 · Durable Session navigation and replay**
|
|
261
|
-
|
|
262
|
-
- Projects organize their own collapsible Session history while older Sessions
|
|
263
|
-
remain discoverable across directories.
|
|
264
|
-
- Long conversations replay incrementally instead of being rejected as one
|
|
265
|
-
oversized message.
|
|
266
|
-
- Approvals, change review, tests, and Artifacts remain attached to the task
|
|
267
|
-
that produced them.
|
|
268
|
-
|
|
269
|
-
**2026-07-10 · Loop Engineering and parallel agents**
|
|
270
|
-
|
|
271
|
-
- Give DeepCode a mutable Goal; it can inspect, implement, verify where
|
|
272
|
-
appropriate, and repair across ordinary Turns while remaining steerable.
|
|
273
|
-
- Delegate focused work to agents in isolated worktrees, then surface conflicts
|
|
274
|
-
explicitly before integration.
|
|
275
|
-
|
|
276
345
|
<details>
|
|
277
|
-
<summary><strong>Earlier milestones</strong></summary>
|
|
278
|
-
|
|
346
|
+
<summary><strong>Earlier 2026 milestones</strong></summary>
|
|
347
|
+
|
|
348
|
+
- **2026-07-31 · One execution model across CLI and Desktop.** Interactive,
|
|
349
|
+
headless, Goal, Automation, and Desktop work share the same durable Project,
|
|
350
|
+
Session, Thread, and Turn lifecycle. Workspace trust stays independent from
|
|
351
|
+
the Session access preset, and reasoning controls remain model-aware.
|
|
352
|
+
- **2026-07-21 · Durable Goals and safe Session lifecycle.** Long-running Goals
|
|
353
|
+
are resumable across CLI and Desktop, while guarded archival and deletion
|
|
354
|
+
preserve repository files and recover safely after interruption.
|
|
355
|
+
- **2026-07-20 · Session-level model control and shared Skills.** Named LLM
|
|
356
|
+
connections and future-Turn model switches preserve conversation history;
|
|
357
|
+
project and user Skills are shared across entry points.
|
|
358
|
+
- **2026-07-17 · Durable Session navigation and replay.** Projects organize
|
|
359
|
+
collapsible Session history, long conversations replay incrementally, and
|
|
360
|
+
approvals, reviews, tests, and Artifacts remain attached to their task.
|
|
361
|
+
- **2026-07-10 · Loop Engineering and parallel agents.** Mutable Goals can
|
|
362
|
+
inspect, implement, verify, and repair across steerable Turns, while focused
|
|
363
|
+
work can be delegated in isolated worktrees with explicit conflict handling.
|
|
279
364
|
- **2026-07-08 · Durable Sessions and memory.** Session history survives
|
|
280
365
|
restarts, project instructions can live in `AGENTS.md` or `DEEPCODE.md`, and
|
|
281
366
|
persistent notes remain with the workspace.
|
|
@@ -405,12 +490,15 @@ reasoning summary returned by the Provider.
|
|
|
405
490
|
### Reusable Skills
|
|
406
491
|
|
|
407
492
|
Skills turn team conventions, domain knowledge, review methods, and repeated
|
|
408
|
-
workflows into reusable Agent capabilities.
|
|
409
|
-
|
|
493
|
+
workflows into reusable Agent capabilities. DeepCode includes pinned upstream
|
|
494
|
+
Skills for authoring, review, security, frontend, MCP, and web testing workflows.
|
|
495
|
+
Keep project Skills in `.agents/skills`, keep personal Skills in
|
|
496
|
+
`~/.agents/skills`, or use the bundled Skill Creator to build one
|
|
497
|
+
conversationally.
|
|
410
498
|
|
|
411
|
-
DeepCode
|
|
412
|
-
can guide how the Agent works, but it cannot
|
|
413
|
-
permissions, or safety boundaries.
|
|
499
|
+
DeepCode also reads existing `.deepcode/skills` and Claude-style directories
|
|
500
|
+
without migrating them. A Skill can guide how the Agent works, but it cannot
|
|
501
|
+
bypass project trust, tool permissions, or safety boundaries.
|
|
414
502
|
|
|
415
503
|
### Permissions you can understand
|
|
416
504
|
|
|
@@ -466,8 +554,8 @@ run, be inspected, and keep improving.
|
|
|
466
554
|
DeepCode has two interfaces with separate installation paths. Choose one to get
|
|
467
555
|
started; both use the same Agent runtime and canonical Session history.
|
|
468
556
|
|
|
469
|
-
> `uv tool install deepcode-hku` installs the CLI and shared
|
|
470
|
-
> does **not** install the Tauri Desktop application.
|
|
557
|
+
> `uv tool install --python 3.12 deepcode-hku` installs the CLI and shared
|
|
558
|
+
> Python runtime. It does **not** install the Tauri Desktop application.
|
|
471
559
|
|
|
472
560
|
### Option A — Install the CLI
|
|
473
561
|
|
|
@@ -480,10 +568,15 @@ winget install --id astral-sh.uv --exact
|
|
|
480
568
|
Open a new terminal after the first `uv` installation, then run:
|
|
481
569
|
|
|
482
570
|
```console
|
|
483
|
-
uv tool install deepcode-hku
|
|
571
|
+
uv tool install --python 3.12 deepcode-hku
|
|
484
572
|
deepcode init
|
|
485
573
|
```
|
|
486
574
|
|
|
575
|
+
The explicit Python selection is intentional: DeepCode requires Python 3.12+
|
|
576
|
+
and must not fall back to an unsupported legacy package on an older interpreter.
|
|
577
|
+
If an existing uv tool environment still contains DeepCode 1.x, migrate it with
|
|
578
|
+
`uv tool upgrade --python 3.12 deepcode-hku`.
|
|
579
|
+
|
|
487
580
|
Create a model connection once. `--api-key` opens a non-echoing prompt:
|
|
488
581
|
|
|
489
582
|
```console
|
|
@@ -628,6 +721,7 @@ and CLI without export or conversion.
|
|
|
628
721
|
| Adjust Thinking effort | Composer effort picker | `/effort` |
|
|
629
722
|
| Choose tool access | Composer access picker | `/permissions` |
|
|
630
723
|
| Load Skills for the next Turn | Composer Skills control | `/skill <name>` |
|
|
724
|
+
| Create a reusable Skill | **Skills → Create Skill** | `$skill-creator` |
|
|
631
725
|
| Set or revise a durable Goal | Goal panel | `/goal` |
|
|
632
726
|
| Stop the active Turn | Use the stop control | `/stop` |
|
|
633
727
|
|
|
@@ -655,12 +749,49 @@ model discovery, and machine-readable checks are documented in the
|
|
|
655
749
|
Skills turn reusable engineering knowledge into instructions the Agent can load
|
|
656
750
|
for a task. Desktop provides a Skills workspace; the interactive CLI uses
|
|
657
751
|
`/skills` to discover them and `/skill <name>` to select one for the next Turn.
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
752
|
+
Choose **Skills → Create Skill** in Desktop or invoke `$skill-creator` in CLI to
|
|
753
|
+
create and validate one through a normal Agent Turn.
|
|
754
|
+
|
|
755
|
+
Project Skills in `.agents/skills` travel with a repository; user Skills in
|
|
756
|
+
`~/.agents/skills` remain available across Projects. Existing DeepCode and
|
|
757
|
+
Claude-compatible directories remain readable. A Skill can guide the Agent,
|
|
758
|
+
but it cannot grant permissions or bypass Project trust, approvals, or tool
|
|
759
|
+
policy. Import, enable, disable, and catalog commands live in the
|
|
760
|
+
[advanced guide](docs/HEADLESS_AND_AUTOMATION.md#skill-management).
|
|
761
|
+
|
|
762
|
+
### Local Plugins
|
|
763
|
+
|
|
764
|
+
Plugins optionally package Skills behind a validated local manifest; standalone
|
|
765
|
+
project and user Skills continue to install and run without a Plugin. New
|
|
766
|
+
packages must use the Agent Plugins 1.0.0 manifest and fixed `skills/` layout.
|
|
767
|
+
Add a trusted folder from the Desktop Plugins workspace or with `deepcode
|
|
768
|
+
plugin add <path>`; its Skills then appear in the ordinary Skill catalog and
|
|
769
|
+
Composer. A standards-compliant `mcp.json` may also contribute MCP servers;
|
|
770
|
+
registration remains inert and those processes start only inside an Agent
|
|
771
|
+
Session. DeepCode does not execute Plugin hooks or Apps and does not download
|
|
772
|
+
from a Marketplace. See the
|
|
773
|
+
[local Plugin contract](docs/LOCAL_PLUGINS.md).
|
|
774
|
+
|
|
775
|
+
### MCP servers
|
|
776
|
+
|
|
777
|
+
Generic coding-agent MCP servers live in the top-level `mcpServers` section of
|
|
778
|
+
`deepcode_config.json`; the historical Paper2Code `tools.mcpServers` section is
|
|
779
|
+
kept separate. Configure servers in Desktop under **MCP**, or use the compact
|
|
780
|
+
`deepcode mcp` CLI. The bundled catalog is listed with `deepcode mcp presets`;
|
|
781
|
+
`add <id>` copies a disabled definition, `test <name>` performs a real
|
|
782
|
+
handshake, and `login/logout <name>` manages explicit browser OAuth. The TUI
|
|
783
|
+
offers the same actions under the single `/mcp` command. User and
|
|
784
|
+
trusted-project layers replace whole server entries rather than merging
|
|
785
|
+
executable fields. Provider secrets are referenced from private DeepCode
|
|
786
|
+
connections, and MCP tool policy can only narrow global trust, read-only,
|
|
787
|
+
approval, and sandbox decisions.
|
|
788
|
+
|
|
789
|
+
DeepCode supports stdio, SSE, and Streamable HTTP, session-owned startup and
|
|
790
|
+
shutdown, bounded discovery, stable `mcp__server__tool` identities, tool
|
|
791
|
+
annotations, allow/deny lists, per-tool approvals, timeouts, and cancellation.
|
|
792
|
+
For a concrete two-Skill plus MCP integration, see the
|
|
793
|
+
[OpenSpace guide](docs/integrations/OPENSPACE.md). Setup, preset, OAuth, and
|
|
794
|
+
connection-state details are in the [MCP client guide](docs/integrations/MCP.md).
|
|
664
795
|
|
|
665
796
|
### Safety and execution
|
|
666
797
|
|
|
@@ -940,6 +1071,8 @@ in [`desktop/README.md`](desktop/README.md) and the
|
|
|
940
1071
|
| Durable Paper2Code workflow | [P5 Paper2Code](docs/P5_PAPER2CODE_ARCHITECTURE.md) |
|
|
941
1072
|
| Canonical Sessions and cross-directory resume | [P6 Session alignment](docs/P6_SESSION_ALIGNMENT_REVIEW.md) |
|
|
942
1073
|
| Skills identity, security, and persistence | [Skills architecture](docs/SKILLS_PRODUCT_ARCHITECTURE.md) |
|
|
1074
|
+
| Generic MCP setup and connection lifecycle | [MCP client guide](docs/integrations/MCP.md) |
|
|
1075
|
+
| OpenSpace integration | [OpenSpace integration](docs/integrations/OPENSPACE.md) |
|
|
943
1076
|
| Automation scheduling and execution | [Automation architecture](docs/AUTOMATION_ARCHITECTURE.md) |
|
|
944
1077
|
| Desktop product and interaction model | [Desktop UI specification](docs/DESKTOP_PRODUCT_UI_SPEC.md) |
|
|
945
1078
|
| Privacy and diagnostics | [Privacy contract](docs/PRIVACY_AND_DIAGNOSTICS.md) |
|
|
@@ -987,6 +1120,27 @@ The empty product-image slots have a shared
|
|
|
987
1120
|
|
|
988
1121
|
---
|
|
989
1122
|
|
|
1123
|
+
<a id="contributors"></a>
|
|
1124
|
+
|
|
1125
|
+
## 🙏 Appreciation
|
|
1126
|
+
|
|
1127
|
+
Thanks to everyone in the open-source community — your stars, issues, pull
|
|
1128
|
+
requests and discussions shape where DeepCode goes next.
|
|
1129
|
+
|
|
1130
|
+
<div align="center">
|
|
1131
|
+
|
|
1132
|
+
<a href="https://github.com/HKUDS/DeepCode/graphs/contributors">
|
|
1133
|
+
<img src="https://contrib.rocks/image?repo=HKUDS/DeepCode&max=999" alt="DeepCode contributors" />
|
|
1134
|
+
</a>
|
|
1135
|
+
|
|
1136
|
+
</div>
|
|
1137
|
+
|
|
1138
|
+
Everyone who has opened a pull request is listed in
|
|
1139
|
+
[CONTRIBUTORS.md](CONTRIBUTORS.md), including contributions that predate the
|
|
1140
|
+
v2.0 rebuild and so are not reflected in the graph above.
|
|
1141
|
+
|
|
1142
|
+
---
|
|
1143
|
+
|
|
990
1144
|
<a id="citation"></a>
|
|
991
1145
|
|
|
992
1146
|
## 📖 Citation
|