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.
Files changed (479) hide show
  1. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/MANIFEST.in +2 -0
  2. {deepcode_hku-2.0.0/deepcode_hku.egg-info → deepcode_hku-2.1.0}/PKG-INFO +215 -61
  3. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/README.md +212 -58
  4. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/README_ZH.md +94 -12
  5. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/THIRD_PARTY_NOTICES.md +15 -0
  6. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/dispatcher.py +115 -0
  7. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/methods.py +11 -0
  8. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/notifications.py +3 -0
  9. deepcode_hku-2.1.0/app_server/runtime_probe.py +73 -0
  10. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/server.py +43 -2
  11. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/goal_runner.py +8 -1
  12. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/headless_turn.py +2 -3
  13. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/loop_cli.py +1 -4
  14. deepcode_hku-2.1.0/cli/mcp_cli.py +380 -0
  15. deepcode_hku-2.1.0/cli/plugin_cli.py +177 -0
  16. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/skill_cli.py +17 -5
  17. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/app.py +197 -25
  18. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/commands.py +17 -0
  19. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/input.py +43 -15
  20. deepcode_hku-2.1.0/core/agent_runtime/context.py +61 -0
  21. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/runner.py +86 -1
  22. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/mcp.py +2 -56
  23. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_setup.py +55 -3
  24. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/agent_adapter.py +50 -1
  25. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/application.py +32 -4
  26. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/errors.py +4 -0
  27. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/llm_configuration_service.py +16 -1
  28. deepcode_hku-2.1.0/core/application/mcp_service.py +904 -0
  29. deepcode_hku-2.1.0/core/application/plugin_service.py +192 -0
  30. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/session_runtime.py +5 -0
  31. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/skill_service.py +120 -9
  32. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_service.py +3 -0
  33. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/views.py +128 -2
  34. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/config.py +18 -0
  35. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/session.py +52 -7
  36. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/agents/control.py +3 -0
  37. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/permissions.py +61 -1
  38. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/policy.py +3 -0
  39. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/sandbox.py +54 -11
  40. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/skills.py +50 -4
  41. deepcode_hku-2.1.0/core/harness/windows_sandbox.py +218 -0
  42. deepcode_hku-2.1.0/core/mcp/__init__.py +57 -0
  43. deepcode_hku-2.1.0/core/mcp/connection.py +514 -0
  44. deepcode_hku-2.1.0/core/mcp/models.py +569 -0
  45. deepcode_hku-2.1.0/core/mcp/naming.py +43 -0
  46. deepcode_hku-2.1.0/core/mcp/oauth.py +694 -0
  47. deepcode_hku-2.1.0/core/mcp/presets.json +253 -0
  48. deepcode_hku-2.1.0/core/mcp/presets.py +88 -0
  49. deepcode_hku-2.1.0/core/mcp/probe.py +80 -0
  50. deepcode_hku-2.1.0/core/mcp/resolver.py +290 -0
  51. deepcode_hku-2.1.0/core/mcp/runtime.py +268 -0
  52. deepcode_hku-2.1.0/core/mcp/schema.py +57 -0
  53. deepcode_hku-2.1.0/core/mcp/tools.py +161 -0
  54. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/platform_compat.py +41 -6
  55. deepcode_hku-2.1.0/core/plugins/__init__.py +31 -0
  56. deepcode_hku-2.1.0/core/plugins/domain.py +211 -0
  57. deepcode_hku-2.1.0/core/plugins/formats/__init__.py +8 -0
  58. deepcode_hku-2.1.0/core/plugins/formats/agent_plugins_v1.py +279 -0
  59. deepcode_hku-2.1.0/core/plugins/host.py +339 -0
  60. deepcode_hku-2.1.0/core/plugins/mcp.py +331 -0
  61. deepcode_hku-2.1.0/core/plugins/registry.py +306 -0
  62. deepcode_hku-2.1.0/core/plugins/resolver.py +85 -0
  63. deepcode_hku-2.1.0/core/plugins/skill_provider.py +277 -0
  64. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/catalog.py +191 -30
  65. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/model_compat.py +26 -0
  66. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_compat.py +22 -1
  67. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/reasoning.py +31 -40
  68. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/registry.py +34 -0
  69. deepcode_hku-2.1.0/core/skills/__init__.py +98 -0
  70. deepcode_hku-2.1.0/core/skills/aggregation.py +57 -0
  71. deepcode_hku-2.1.0/core/skills/builtin/UPSTREAM_SOURCES.json +45 -0
  72. deepcode_hku-2.1.0/core/skills/builtin/frontend-design/LICENSE.txt +177 -0
  73. deepcode_hku-2.1.0/core/skills/builtin/frontend-design/SKILL.md +55 -0
  74. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/LICENSE.txt +202 -0
  75. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/SKILL.md +236 -0
  76. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/evaluation.md +602 -0
  77. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/mcp_best_practices.md +249 -0
  78. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/node_mcp_server.md +970 -0
  79. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/reference/python_mcp_server.md +719 -0
  80. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/connections.py +155 -0
  81. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/evaluation.py +426 -0
  82. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/example_evaluation.xml +22 -0
  83. deepcode_hku-2.1.0/core/skills/builtin/mcp-builder/scripts/requirements.txt +2 -0
  84. deepcode_hku-2.1.0/core/skills/builtin/review-agent/LICENSE.txt +201 -0
  85. deepcode_hku-2.1.0/core/skills/builtin/review-agent/SKILL.md +57 -0
  86. deepcode_hku-2.1.0/core/skills/builtin/review-agent/agents/openai.yaml +6 -0
  87. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/LICENSE.txt +201 -0
  88. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/SKILL.md +86 -0
  89. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/agents/openai.yaml +4 -0
  90. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/golang-general-backend-security.md +826 -0
  91. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-express-web-server-security.md +1158 -0
  92. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-general-web-frontend-security.md +747 -0
  93. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-jquery-web-frontend-security.md +678 -0
  94. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +1144 -0
  95. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +990 -0
  96. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +791 -0
  97. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-django-web-server-security.md +882 -0
  98. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-fastapi-web-server-security.md +1036 -0
  99. deepcode_hku-2.1.0/core/skills/builtin/security-best-practices/references/python-flask-web-server-security.md +705 -0
  100. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/LICENSE.txt +201 -0
  101. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/SKILL.md +206 -0
  102. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/agents/openai.yaml +4 -0
  103. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/references/neo4j-import.md +60 -0
  104. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/build_ownership_map.py +1008 -0
  105. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/community_maintainers.py +565 -0
  106. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/query_ownership.py +493 -0
  107. deepcode_hku-2.1.0/core/skills/builtin/security-ownership-map/scripts/run_ownership_map.py +206 -0
  108. deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/LICENSE.txt +201 -0
  109. deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/SKILL.md +81 -0
  110. deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/agents/openai.yaml +4 -0
  111. deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/references/prompt-template.md +255 -0
  112. deepcode_hku-2.1.0/core/skills/builtin/security-threat-model/references/security-controls-and-assets.md +32 -0
  113. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/LICENSE.txt +202 -0
  114. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/SKILL.md +368 -0
  115. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/agents/openai.yaml +4 -0
  116. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/references/openai_yaml.md +43 -0
  117. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/generate_openai_yaml.py +230 -0
  118. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/init_skill.py +409 -0
  119. deepcode_hku-2.1.0/core/skills/builtin/skill-creator/scripts/quick_validate.py +101 -0
  120. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/LICENSE.txt +202 -0
  121. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/SKILL.md +96 -0
  122. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/console_logging.py +35 -0
  123. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/element_discovery.py +44 -0
  124. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/examples/static_html_automation.py +33 -0
  125. deepcode_hku-2.1.0/core/skills/builtin/webapp-testing/scripts/with_server.py +129 -0
  126. deepcode_hku-2.1.0/core/skills/builtin_registry.py +55 -0
  127. deepcode_hku-2.1.0/core/skills/capabilities.py +253 -0
  128. deepcode_hku-2.1.0/core/skills/catalog.py +841 -0
  129. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/skills/config.py +5 -1
  130. deepcode_hku-2.1.0/core/skills/host.py +311 -0
  131. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/skills/management.py +31 -21
  132. deepcode_hku-2.1.0/core/skills/metadata.py +211 -0
  133. deepcode_hku-2.1.0/core/skills/models.py +453 -0
  134. deepcode_hku-2.1.0/core/skills/monitor.py +165 -0
  135. deepcode_hku-2.1.0/core/skills/prompting.py +162 -0
  136. deepcode_hku-2.1.0/core/skills/provider.py +376 -0
  137. deepcode_hku-2.1.0/core/skills/resources.py +234 -0
  138. deepcode_hku-2.1.0/core/skills/roots.py +138 -0
  139. deepcode_hku-2.1.0/core/skills/runtime.py +558 -0
  140. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/version.py +1 -1
  141. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode.py +51 -4
  142. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0/deepcode_hku.egg-info}/PKG-INFO +215 -61
  143. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/SOURCES.txt +118 -6
  144. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/requires.txt +2 -2
  145. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/protocol/app-server.schema.json +648 -14
  146. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/pyproject.toml +10 -0
  147. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/requirements.txt +2 -2
  148. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/setup.py +12 -0
  149. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_agent_runner_kernel.py +53 -0
  150. deepcode_hku-2.1.0/tests/test_cli_logging_bootstrap.py +108 -0
  151. deepcode_hku-2.1.0/tests/test_code_indexer_output.py +106 -0
  152. deepcode_hku-2.1.0/tests/test_desktop_ci_scope.py +42 -0
  153. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_desktop_release_scripts.py +14 -0
  154. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_exec_sandbox_wiring.py +3 -3
  155. deepcode_hku-2.1.0/tests/test_forge_provider.py +75 -0
  156. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_sandbox.py +65 -1
  157. deepcode_hku-2.1.0/tests/test_mcp_cli.py +202 -0
  158. deepcode_hku-2.1.0/tests/test_mcp_oauth.py +177 -0
  159. deepcode_hku-2.1.0/tests/test_mcp_runtime.py +428 -0
  160. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_model_catalog_service.py +5 -0
  161. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_native_file_tools.py +1 -0
  162. deepcode_hku-2.1.0/tests/test_openspace_recipe.py +31 -0
  163. deepcode_hku-2.1.0/tests/test_platform_compat.py +24 -0
  164. deepcode_hku-2.1.0/tests/test_plugin_cli.py +73 -0
  165. deepcode_hku-2.1.0/tests/test_plugins.py +647 -0
  166. deepcode_hku-2.1.0/tests/test_python_distribution_release.py +99 -0
  167. deepcode_hku-2.1.0/tests/test_reasoning_catalog_alignment.py +158 -0
  168. deepcode_hku-2.1.0/tests/test_requesty_provider.py +72 -0
  169. deepcode_hku-2.1.0/tests/test_skill_capabilities.py +267 -0
  170. deepcode_hku-2.1.0/tests/test_skill_host.py +304 -0
  171. deepcode_hku-2.1.0/tests/test_skill_provider.py +517 -0
  172. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skills.py +45 -7
  173. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skills_product.py +376 -22
  174. deepcode_hku-2.1.0/tests/test_thinking_requires_capable_model.py +86 -0
  175. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui.py +98 -0
  176. deepcode_hku-2.1.0/tests/test_workflow_interactions.py +52 -0
  177. deepcode_hku-2.1.0/tests/test_zhipu_thinking_wire.py +54 -0
  178. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_implementation_server.py +5 -2
  179. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_indexer.py +3 -3
  180. deepcode_hku-2.1.0/uv.lock +3 -0
  181. {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/USAGE.md +17 -17
  182. deepcode_hku-2.1.0/workflows/interactions/__init__.py +12 -0
  183. {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/base.py +103 -104
  184. {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/integration.py +31 -31
  185. {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/plan_review.py +6 -6
  186. {deepcode_hku-2.0.0/workflows/plugins → deepcode_hku-2.1.0/workflows/interactions}/requirement_analysis.py +8 -8
  187. deepcode_hku-2.0.0/app_server/runtime_probe.py +0 -37
  188. deepcode_hku-2.0.0/core/application/mcp_service.py +0 -297
  189. deepcode_hku-2.0.0/core/skills/__init__.py +0 -31
  190. deepcode_hku-2.0.0/core/skills/catalog.py +0 -537
  191. deepcode_hku-2.0.0/core/skills/models.py +0 -198
  192. deepcode_hku-2.0.0/core/skills/runtime.py +0 -279
  193. deepcode_hku-2.0.0/workflows/plugins/__init__.py +0 -12
  194. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/LICENSE +0 -0
  195. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/__init__.py +0 -0
  196. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/__init__.py +0 -0
  197. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/__main__.py +0 -0
  198. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/connection.py +0 -0
  199. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/errors.py +0 -0
  200. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/__init__.py +0 -0
  201. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/codec.py +0 -0
  202. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/app_server/protocol/models.py +0 -0
  203. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/__init__.py +0 -0
  204. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/automation_cli.py +0 -0
  205. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/automation_foreground.py +0 -0
  206. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/config_errors.py +0 -0
  207. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/exec_cli.py +0 -0
  208. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/execution_options.py +0 -0
  209. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/init_config.py +0 -0
  210. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/mcp_server.py +0 -0
  211. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/project_trust.py +0 -0
  212. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/provider_cli.py +0 -0
  213. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/schedule_cli.py +0 -0
  214. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/session_cli.py +0 -0
  215. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/transcript.py +0 -0
  216. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/__init__.py +0 -0
  217. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/__main__.py +0 -0
  218. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/domain_events.py +0 -0
  219. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/goal_controller.py +0 -0
  220. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/renderer.py +0 -0
  221. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/session_bridge.py +0 -0
  222. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/theme.py +0 -0
  223. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/cli/tui/thread_client.py +0 -0
  224. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/__init__.py +0 -0
  225. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/__init__.py +0 -0
  226. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/goal_runtime.py +0 -0
  227. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/helpers.py +0 -0
  228. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/hook.py +0 -0
  229. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/injections.py +0 -0
  230. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/processes.py +0 -0
  231. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/runtime.py +0 -0
  232. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/__init__.py +0 -0
  233. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/alias.py +0 -0
  234. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/base.py +0 -0
  235. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/agent_runtime/tools/registry.py +0 -0
  236. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/__init__.py +0 -0
  237. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/application_lease.py +0 -0
  238. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/approval_service.py +0 -0
  239. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_permission_policy.py +0 -0
  240. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_schedule_policy.py +0 -0
  241. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_scheduler.py +0 -0
  242. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/automation_service.py +0 -0
  243. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/config_store.py +0 -0
  244. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/diagnostics_service.py +0 -0
  245. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/event_service.py +0 -0
  246. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_admission.py +0 -0
  247. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_coordinator.py +0 -0
  248. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_handler_registry.py +0 -0
  249. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_registry.py +0 -0
  250. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/execution_security_policy.py +0 -0
  251. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/extension_service.py +0 -0
  252. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/file_service.py +0 -0
  253. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/git_service.py +0 -0
  254. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_extension.py +0 -0
  255. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_prompts/__init__.py +0 -0
  256. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_prompts/continuation.md +0 -0
  257. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/goal_turn_port.py +0 -0
  258. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/interactive_turn_router.py +0 -0
  259. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/legacy_session_importer.py +0 -0
  260. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/project_service.py +0 -0
  261. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/session_deletion_service.py +0 -0
  262. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/settings_service.py +0 -0
  263. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/terminal_service.py +0 -0
  264. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/test_service.py +0 -0
  265. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/thread_service.py +0 -0
  266. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_input_service.py +0 -0
  267. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_projection.py +0 -0
  268. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/turn_usage.py +0 -0
  269. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workflow_adapter.py +0 -0
  270. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workflow_service.py +0 -0
  271. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/workspace_service.py +0 -0
  272. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/application/worktree_service.py +0 -0
  273. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/__init__.py +0 -0
  274. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/agent.py +0 -0
  275. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/mcp_app.py +0 -0
  276. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/parallel.py +0 -0
  277. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/request_params.py +0 -0
  278. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/compat/runtime.py +0 -0
  279. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/__init__.py +0 -0
  280. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/approval.py +0 -0
  281. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/artifact.py +0 -0
  282. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/automation.py +0 -0
  283. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/common.py +0 -0
  284. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/event.py +0 -0
  285. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_permission.py +0 -0
  286. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_profile.py +0 -0
  287. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/execution_security.py +0 -0
  288. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/item.py +0 -0
  289. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/message_provenance.py +0 -0
  290. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/project.py +0 -0
  291. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/runtime_coordination.py +0 -0
  292. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/thread.py +0 -0
  293. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/thread_goal.py +0 -0
  294. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/turn.py +0 -0
  295. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/domain/workflow.py +0 -0
  296. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/__init__.py +0 -0
  297. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/llm_events.py +0 -0
  298. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/parts.py +0 -0
  299. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/events/protocol.py +0 -0
  300. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/file_lock.py +0 -0
  301. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/__init__.py +0 -0
  302. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/agents/__init__.py +0 -0
  303. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/approval.py +0 -0
  304. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/__init__.py +0 -0
  305. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/_runner.py +0 -0
  306. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/code_mode/tool.py +0 -0
  307. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/collaboration.py +0 -0
  308. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/__init__.py +0 -0
  309. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/discovery.py +0 -0
  310. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/engine.py +0 -0
  311. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/events.py +0 -0
  312. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/hooks/execution.py +0 -0
  313. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/memory.py +0 -0
  314. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/snapshot.py +0 -0
  315. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/__init__.py +0 -0
  316. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/diagnostics.py +0 -0
  317. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/files.py +0 -0
  318. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/goal.py +0 -0
  319. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/patch.py +0 -0
  320. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/plan.py +0 -0
  321. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/replace.py +0 -0
  322. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/search.py +0 -0
  323. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/shell.py +0 -0
  324. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/spawn_agent.py +0 -0
  325. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/user_input.py +0 -0
  326. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/harness/tools/web.py +0 -0
  327. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/llm_runtime.py +0 -0
  328. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/loop/__init__.py +0 -0
  329. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/loop/autodream.py +0 -0
  330. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/__init__.py +0 -0
  331. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/hostnames.py +0 -0
  332. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/network/safe_http.py +0 -0
  333. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/__init__.py +0 -0
  334. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/bus.py +0 -0
  335. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/context.py +0 -0
  336. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/observability/records.py +0 -0
  337. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/__init__.py +0 -0
  338. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/automation_repository.py +0 -0
  339. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/coordination_repository.py +0 -0
  340. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/database.py +0 -0
  341. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/errors.py +0 -0
  342. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/event_repository.py +0 -0
  343. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/execution_repository.py +0 -0
  344. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/legacy_import_repository.py +0 -0
  345. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/migrations.py +0 -0
  346. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/project_repository.py +0 -0
  347. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/serde.py +0 -0
  348. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/thread_repository.py +0 -0
  349. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/persistence/workflow_repository.py +0 -0
  350. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/platform_file_lock.py +0 -0
  351. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/private_storage.py +0 -0
  352. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/__init__.py +0 -0
  353. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/anthropic.py +0 -0
  354. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/base.py +0 -0
  355. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/catalog_service.py +0 -0
  356. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/credentials.py +0 -0
  357. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/__init__.py +0 -0
  358. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/converters.py +0 -0
  359. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/openai_responses/parsing.py +0 -0
  360. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/profiles.py +0 -0
  361. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/providers/timeouts.py +0 -0
  362. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/reasoning.py +0 -0
  363. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/__init__.py +0 -0
  364. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/keepalive.py +0 -0
  365. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/schedule/scheduler.py +0 -0
  366. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/__init__.py +0 -0
  367. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/continuation.py +0 -0
  368. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/deletion.py +0 -0
  369. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/index.py +0 -0
  370. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/legacy_goal_decoder.py +0 -0
  371. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/models.py +0 -0
  372. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/store.py +0 -0
  373. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/sessions/thread_goal_store.py +0 -0
  374. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/team/__init__.py +0 -0
  375. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/team/worktree.py +0 -0
  376. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/core/verification.py +0 -0
  377. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/dependency_links.txt +0 -0
  378. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/entry_points.txt +0 -0
  379. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/deepcode_hku.egg-info/top_level.txt +0 -0
  380. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/__init__.py +0 -0
  381. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/README.md +0 -0
  382. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/__init__.py +0 -0
  383. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/dataset.py +0 -0
  384. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/evaluate.py +0 -0
  385. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/instance.py +0 -0
  386. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/predict.py +0 -0
  387. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/report.py +0 -0
  388. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/eval/swebench/run.py +0 -0
  389. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/prompts/__init__.py +0 -0
  390. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/prompts/code_prompts.py +0 -0
  391. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/schema/mcp-agent.config.schema.json +0 -0
  392. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/setup.cfg +0 -0
  393. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_agent_session.py +0 -0
  394. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_apply_patch.py +0 -0
  395. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_autodream.py +0 -0
  396. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_automation_cli.py +0 -0
  397. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_automation_foreground.py +0 -0
  398. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_catalog.py +0 -0
  399. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_code_mode.py +0 -0
  400. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_collaboration.py +0 -0
  401. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_config_errors.py +0 -0
  402. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_config_layering.py +0 -0
  403. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_diagnostics.py +0 -0
  404. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_document_conversion.py +0 -0
  405. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_exec_cli.py +0 -0
  406. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_fuzzy_replace.py +0 -0
  407. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_goal_runtime.py +0 -0
  408. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_approval.py +0 -0
  409. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_permissions.py +0 -0
  410. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_harness_policy.py +0 -0
  411. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_hooks.py +0 -0
  412. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_init_config.py +0 -0
  413. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_llm_events.py +0 -0
  414. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_llm_runtime_connections.py +0 -0
  415. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_loop_cli.py +0 -0
  416. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_mcp_server.py +0 -0
  417. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_memory.py +0 -0
  418. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_model_compat.py +0 -0
  419. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_parts.py +0 -0
  420. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_pdf_downloader_security.py +0 -0
  421. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_plan_tool.py +0 -0
  422. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_private_storage.py +0 -0
  423. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_provider_cli.py +0 -0
  424. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_provider_timeouts.py +0 -0
  425. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning.py +0 -0
  426. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning_capabilities.py +0 -0
  427. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_reasoning_providers.py +0 -0
  428. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_safe_http.py +0 -0
  429. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_schedule.py +0 -0
  430. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_cli.py +0 -0
  431. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_compaction.py +0 -0
  432. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_index.py +0 -0
  433. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_session_runtime.py +0 -0
  434. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_shell_search_tools.py +0 -0
  435. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_skill_cli.py +0 -0
  436. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_snapshot.py +0 -0
  437. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_spawn_agent.py +0 -0
  438. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_swebench_harness.py +0 -0
  439. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_team_worktree.py +0 -0
  440. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui_domain_events.py +0 -0
  441. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_tui_thread_client.py +0 -0
  442. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_input_mailbox.py +0 -0
  443. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_projection.py +0 -0
  444. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_queue.py +0 -0
  445. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_turn_steering.py +0 -0
  446. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_unified_impl_workflow.py +0 -0
  447. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_user_input_tool.py +0 -0
  448. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_verification.py +0 -0
  449. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_version_metadata.py +0 -0
  450. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_web_tools.py +0 -0
  451. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tests/test_workflow_compatibility.py +0 -0
  452. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/__init__.py +0 -0
  453. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/code_reference_indexer.py +0 -0
  454. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/command_executor.py +0 -0
  455. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/document_conversion.py +0 -0
  456. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/document_segmentation_server.py +0 -0
  457. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/git_command.py +0 -0
  458. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/indexer_config.yaml +0 -0
  459. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_converter.py +0 -0
  460. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_downloader.py +0 -0
  461. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_downloader_server.py +0 -0
  462. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/tools/pdf_utils.py +0 -0
  463. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/__init__.py +0 -0
  464. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/file_processor.py +0 -0
  465. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/llm_utils.py +0 -0
  466. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/utils/loop_detector.py +0 -0
  467. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/__init__.py +0 -0
  468. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agent_orchestration_engine.py +0 -0
  469. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/__init__.py +0 -0
  470. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/code_implementation_agent.py +0 -0
  471. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/document_segmentation_agent.py +0 -0
  472. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/memory_agent_concise.py +0 -0
  473. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/agents/requirement_analysis_agent.py +0 -0
  474. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/code_implementation_workflow.py +0 -0
  475. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/codebase_index_workflow.py +0 -0
  476. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/environment.py +0 -0
  477. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/plan_review_runtime.py +0 -0
  478. {deepcode_hku-2.0.0 → deepcode_hku-2.1.0}/workflows/planning_runtime.py +0 -0
  479. {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.0.0
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.1
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.14.2
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" style="width: 250px; height: 55px;" width="250" height="55"/></a>
81
+ <a href="https://trendshift.io/repositories/14665?utm_source=repository-badge&amp;utm_medium=badge&amp;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&amp;utm_medium=badge&amp;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&center=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. Store Skills with a project or
409
- install them in your user directory, then select them when a task needs them.
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 supports both DeepCode and Claude-style Skill directories. A Skill
412
- can guide how the Agent works, but it cannot bypass project trust, tool
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 Python runtime. It
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
- Project Skills can travel with a repository, while user Skills remain available
660
- across Projects. DeepCode also recognizes Claude-compatible Skill directories.
661
- A Skill can guide the Agent, but it cannot grant permissions or bypass Project
662
- trust, approvals, or tool policy. Import, enable, disable, and catalog commands
663
- live in the [advanced guide](docs/HEADLESS_AND_AUTOMATION.md#skill-management).
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