deepcode-hku 2.2.0__tar.gz → 2.3.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 (647) hide show
  1. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/MANIFEST.in +5 -1
  2. {deepcode_hku-2.2.0/deepcode_hku.egg-info → deepcode_hku-2.3.0}/PKG-INFO +226 -128
  3. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/README.md +224 -127
  4. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/README_ZH.md +180 -111
  5. deepcode_hku-2.3.0/app_server/__init__.py +1 -0
  6. deepcode_hku-2.3.0/app_server/__main__.py +124 -0
  7. deepcode_hku-2.3.0/app_server/blocking_client.py +175 -0
  8. deepcode_hku-2.3.0/app_server/browser_auth.py +72 -0
  9. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/config_watch.py +6 -2
  10. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/connection.py +3 -0
  11. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/dispatcher.py +183 -6
  12. deepcode_hku-2.3.0/app_server/host.py +147 -0
  13. deepcode_hku-2.3.0/app_server/launchd.py +227 -0
  14. deepcode_hku-2.3.0/app_server/managed_entry.py +49 -0
  15. deepcode_hku-2.3.0/app_server/native_client.py +189 -0
  16. deepcode_hku-2.3.0/app_server/peer.py +311 -0
  17. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/protocol/codec.py +2 -1
  18. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/protocol/methods.py +14 -0
  19. deepcode_hku-2.3.0/app_server/protocol/retry.py +61 -0
  20. deepcode_hku-2.3.0/app_server/runtime_install.py +49 -0
  21. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/runtime_probe.py +5 -0
  22. deepcode_hku-2.3.0/app_server/server.py +52 -0
  23. deepcode_hku-2.3.0/app_server/service.py +459 -0
  24. deepcode_hku-2.3.0/app_server/service_client.py +100 -0
  25. deepcode_hku-2.3.0/app_server/service_state.py +205 -0
  26. deepcode_hku-2.3.0/app_server/state_backup.py +446 -0
  27. deepcode_hku-2.3.0/app_server/stdio_relay.py +218 -0
  28. deepcode_hku-2.3.0/app_server/systemd_user.py +280 -0
  29. deepcode_hku-2.3.0/app_server/web_assets/assets/Inspector-DJBT5qR-.js +5 -0
  30. deepcode_hku-2.3.0/app_server/web_assets/assets/Inspector-DypK0oEq.css +1 -0
  31. deepcode_hku-2.3.0/app_server/web_assets/assets/LocalMonacoEditor-DCwkx7R9.js +12 -0
  32. deepcode_hku-2.3.0/app_server/web_assets/assets/ManagementWorkspace-BJC9sMuB.js +4 -0
  33. deepcode_hku-2.3.0/app_server/web_assets/assets/MarkdownContent-BIoldQGd.css +1 -0
  34. deepcode_hku-2.3.0/app_server/web_assets/assets/MarkdownContent-khfmKOQ0.js +33 -0
  35. deepcode_hku-2.3.0/app_server/web_assets/assets/PluginsPage-CMshr5Pz.css +1 -0
  36. deepcode_hku-2.3.0/app_server/web_assets/assets/PluginsPage-DUG3WIqn.js +1 -0
  37. deepcode_hku-2.3.0/app_server/web_assets/assets/SettingsDialog-DCn47fGr.css +1 -0
  38. deepcode_hku-2.3.0/app_server/web_assets/assets/SettingsDialog-vGNFlrd5.js +1 -0
  39. deepcode_hku-2.3.0/app_server/web_assets/assets/ThreadConversation-DMQrKlux.js +1 -0
  40. deepcode_hku-2.3.0/app_server/web_assets/assets/ThreadConversation-DqZ9_3Ex.css +1 -0
  41. deepcode_hku-2.3.0/app_server/web_assets/assets/WorkflowComposer-6EHQGool.js +1 -0
  42. deepcode_hku-2.3.0/app_server/web_assets/assets/WorkflowComposer-DkLp3G33.css +1 -0
  43. deepcode_hku-2.3.0/app_server/web_assets/assets/addon-fit-DIOBYJe3.js +1 -0
  44. deepcode_hku-2.3.0/app_server/web_assets/assets/confirmAction-CndHH5nL.js +1 -0
  45. deepcode_hku-2.3.0/app_server/web_assets/assets/createLucideIcon-BQ7pep_N.js +1 -0
  46. deepcode_hku-2.3.0/app_server/web_assets/assets/css-DIMkf-bt.js +3 -0
  47. deepcode_hku-2.3.0/app_server/web_assets/assets/editor-CJEeZjoM.css +1 -0
  48. deepcode_hku-2.3.0/app_server/web_assets/assets/editor.api-DfsewISI.js +818 -0
  49. deepcode_hku-2.3.0/app_server/web_assets/assets/editor.worker-DSGwkeXF.js +33 -0
  50. deepcode_hku-2.3.0/app_server/web_assets/assets/flask-conical-B5W0AT8b.js +1 -0
  51. deepcode_hku-2.3.0/app_server/web_assets/assets/html-DmJuEt5_.js +1 -0
  52. deepcode_hku-2.3.0/app_server/web_assets/assets/index-5xSnu27j.js +2 -0
  53. deepcode_hku-2.3.0/app_server/web_assets/assets/ini-sBoK_t0W.js +1 -0
  54. deepcode_hku-2.3.0/app_server/web_assets/assets/itemPresentation-CpLiCTmA.js +1 -0
  55. deepcode_hku-2.3.0/app_server/web_assets/assets/javascript-MLwwUW_7.js +1 -0
  56. deepcode_hku-2.3.0/app_server/web_assets/assets/jsx-runtime-CIxEorsV.js +1 -0
  57. deepcode_hku-2.3.0/app_server/web_assets/assets/markdown-Cimd5fb3.js +1 -0
  58. deepcode_hku-2.3.0/app_server/web_assets/assets/python-DJ9JSdOX.js +1 -0
  59. deepcode_hku-2.3.0/app_server/web_assets/assets/reasoningPayload-C9Yeq9Ar.js +1 -0
  60. deepcode_hku-2.3.0/app_server/web_assets/assets/robot-aTY9e0LG.png +0 -0
  61. deepcode_hku-2.3.0/app_server/web_assets/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  62. deepcode_hku-2.3.0/app_server/web_assets/assets/rust-DdL9SqIa.js +1 -0
  63. deepcode_hku-2.3.0/app_server/web_assets/assets/sparkles-DGUrvUnr.js +1 -0
  64. deepcode_hku-2.3.0/app_server/web_assets/assets/trash-2-DgbNN8mD.js +1 -0
  65. deepcode_hku-2.3.0/app_server/web_assets/assets/typescript-CGPudguY.js +1 -0
  66. deepcode_hku-2.3.0/app_server/web_assets/assets/useConnectionCatalog-CMQD5GS5.js +7 -0
  67. deepcode_hku-2.3.0/app_server/web_assets/assets/useSkillCatalog-CFGIrhRX.js +1 -0
  68. deepcode_hku-2.3.0/app_server/web_assets/assets/useSystemDarkMode-COxZJwQa.js +1 -0
  69. deepcode_hku-2.3.0/app_server/web_assets/assets/useTranslation-CYApFZ2x.js +1 -0
  70. deepcode_hku-2.3.0/app_server/web_assets/assets/webMain-BbLSr8jA.js +13 -0
  71. deepcode_hku-2.3.0/app_server/web_assets/assets/webMain-u_hskv3e.css +1 -0
  72. deepcode_hku-2.3.0/app_server/web_assets/assets/x-CrqHGWEM.js +1 -0
  73. deepcode_hku-2.3.0/app_server/web_assets/assets/xterm-BrP-ENHg.css +1 -0
  74. deepcode_hku-2.3.0/app_server/web_assets/assets/xterm-U4TA8lIC.js +35 -0
  75. deepcode_hku-2.3.0/app_server/web_assets/assets/yaml-CZqRoqwh.js +1 -0
  76. deepcode_hku-2.3.0/app_server/web_assets/index.html +13 -0
  77. deepcode_hku-2.3.0/app_server/web_assets/web-build.json +1 -0
  78. deepcode_hku-2.3.0/app_server/web_surface.py +279 -0
  79. deepcode_hku-2.3.0/app_server/websocket.py +329 -0
  80. deepcode_hku-2.3.0/app_server/windows_task.py +391 -0
  81. deepcode_hku-2.3.0/cli/__init__.py +5 -0
  82. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/automation_cli.py +15 -6
  83. deepcode_hku-2.3.0/cli/desktop_cli.py +171 -0
  84. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/exec_cli.py +43 -12
  85. deepcode_hku-2.3.0/cli/goal_runner.py +245 -0
  86. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/headless_turn.py +2 -37
  87. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/loop_cli.py +4 -8
  88. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/mcp_cli.py +73 -2
  89. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/mcp_server.py +45 -46
  90. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/provider_cli.py +74 -2
  91. deepcode_hku-2.3.0/cli/rpc_models.py +47 -0
  92. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/schedule_cli.py +33 -7
  93. deepcode_hku-2.3.0/cli/service_automation.py +120 -0
  94. deepcode_hku-2.3.0/cli/service_catalogs.py +249 -0
  95. deepcode_hku-2.3.0/cli/service_cli.py +465 -0
  96. deepcode_hku-2.3.0/cli/service_events.py +221 -0
  97. deepcode_hku-2.3.0/cli/service_thread_client.py +562 -0
  98. deepcode_hku-2.3.0/cli/service_turn.py +111 -0
  99. deepcode_hku-2.3.0/cli/service_turns.py +131 -0
  100. deepcode_hku-2.3.0/cli/thread_client.py +133 -0
  101. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/app.py +86 -38
  102. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/commands.py +9 -4
  103. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/goal_controller.py +3 -4
  104. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/text.py +4 -1
  105. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/thread_client.py +30 -40
  106. deepcode_hku-2.3.0/cli/web_cli.py +50 -0
  107. deepcode_hku-2.3.0/core/agent_runtime/evidence_ledger.py +102 -0
  108. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/injections.py +13 -5
  109. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/runner.py +47 -7
  110. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/tools/registry.py +7 -1
  111. deepcode_hku-2.3.0/core/agent_runtime/tools/semantic_hint.py +82 -0
  112. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_setup.py +17 -0
  113. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/agent_adapter.py +11 -1
  114. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/application.py +36 -0
  115. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/config_store.py +6 -35
  116. deepcode_hku-2.3.0/core/application/dictation_service.py +238 -0
  117. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/errors.py +55 -0
  118. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/event_service.py +18 -3
  119. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/execution_coordinator.py +24 -1
  120. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/goal_extension.py +16 -0
  121. deepcode_hku-2.3.0/core/application/input_identity.py +51 -0
  122. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/llm_configuration_service.py +181 -55
  123. deepcode_hku-2.3.0/core/application/provider_verification.py +253 -0
  124. deepcode_hku-2.3.0/core/application/service_lifecycle.py +77 -0
  125. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/terminal_service.py +180 -37
  126. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/thread_service.py +35 -3
  127. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/turn_input_service.py +200 -43
  128. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/turn_service.py +68 -4
  129. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/workflow_service.py +23 -20
  130. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/runtime.py +42 -4
  131. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/config.py +280 -6
  132. deepcode_hku-2.3.0/core/dictation/__init__.py +43 -0
  133. deepcode_hku-2.3.0/core/dictation/audio.py +186 -0
  134. deepcode_hku-2.3.0/core/dictation/client.py +148 -0
  135. deepcode_hku-2.3.0/core/dictation/local_runner.py +143 -0
  136. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/execution_profile.py +56 -0
  137. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/message_provenance.py +10 -0
  138. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/events/session.py +6 -0
  139. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/agents/external_backend.py +10 -17
  140. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/code_mode/tool.py +4 -1
  141. deepcode_hku-2.3.0/core/harness/command_guard.py +685 -0
  142. deepcode_hku-2.3.0/core/harness/env_sanitize.py +111 -0
  143. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/hooks/discovery.py +1 -1
  144. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/hooks/execution.py +4 -1
  145. deepcode_hku-2.3.0/core/harness/memory.py +1153 -0
  146. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/policy.py +52 -0
  147. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/shell.py +101 -0
  148. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/loop/autodream.py +10 -1
  149. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/observability/bus.py +216 -12
  150. deepcode_hku-2.3.0/core/observability/llmops.py +236 -0
  151. deepcode_hku-2.3.0/core/observability/records.py +316 -0
  152. deepcode_hku-2.3.0/core/persistence/database.py +315 -0
  153. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/event_repository.py +10 -2
  154. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/execution_repository.py +31 -4
  155. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/private_storage.py +69 -13
  156. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/anthropic.py +71 -22
  157. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/base.py +109 -5
  158. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/catalog.py +49 -0
  159. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/catalog_service.py +38 -19
  160. deepcode_hku-2.3.0/core/providers/credentials.py +237 -0
  161. deepcode_hku-2.3.0/core/providers/egress.py +353 -0
  162. deepcode_hku-2.3.0/core/providers/oauth.py +297 -0
  163. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/openai_compat.py +128 -17
  164. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/openai_responses/parsing.py +5 -1
  165. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/profiles.py +219 -31
  166. deepcode_hku-2.3.0/core/providers/protocol_config.py +127 -0
  167. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/reasoning.py +19 -0
  168. deepcode_hku-2.3.0/core/providers/registry.py +401 -0
  169. deepcode_hku-2.3.0/core/providers/revisions.py +73 -0
  170. deepcode_hku-2.3.0/core/schedule/monitor.py +489 -0
  171. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/store.py +6 -0
  172. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/team/worktree.py +4 -4
  173. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/version.py +1 -1
  174. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode.py +37 -20
  175. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0/deepcode_hku.egg-info}/PKG-INFO +226 -128
  176. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode_hku.egg-info/SOURCES.txt +116 -2
  177. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode_hku.egg-info/requires.txt +2 -0
  178. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/protocol/app-server.schema.json +1590 -231
  179. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/pyproject.toml +10 -0
  180. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/setup.py +2 -0
  181. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_automation_cli.py +2 -2
  182. deepcode_hku-2.3.0/tests/test_bedrock_provider.py +194 -0
  183. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_catalog.py +65 -0
  184. deepcode_hku-2.3.0/tests/test_ci_installation.py +32 -0
  185. deepcode_hku-2.3.0/tests/test_ci_scope.py +188 -0
  186. deepcode_hku-2.3.0/tests/test_command_guard_egress.py +238 -0
  187. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_config_layering.py +60 -0
  188. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_cross_process_run_lease.py +2 -2
  189. deepcode_hku-2.3.0/tests/test_desktop_cli.py +156 -0
  190. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_desktop_release_scripts.py +106 -2
  191. deepcode_hku-2.3.0/tests/test_dictation.py +408 -0
  192. deepcode_hku-2.3.0/tests/test_dictation_local_runner.py +118 -0
  193. deepcode_hku-2.3.0/tests/test_dictation_service.py +444 -0
  194. deepcode_hku-2.3.0/tests/test_env_sanitize.py +112 -0
  195. deepcode_hku-2.3.0/tests/test_evidence_ledger.py +369 -0
  196. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_exec_cli.py +4 -0
  197. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_harness_policy.py +38 -0
  198. deepcode_hku-2.3.0/tests/test_llmops.py +86 -0
  199. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_loop_cli.py +4 -1
  200. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_mcp_cli.py +72 -0
  201. deepcode_hku-2.3.0/tests/test_mcp_server.py +101 -0
  202. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_memory.py +27 -0
  203. deepcode_hku-2.3.0/tests/test_memory_layers.py +391 -0
  204. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_model_visible_is_logged.py +4 -1
  205. deepcode_hku-2.3.0/tests/test_opper_provider.py +78 -0
  206. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_private_storage_acl_once.py +41 -0
  207. deepcode_hku-2.3.0/tests/test_provider_credentials.py +216 -0
  208. deepcode_hku-2.3.0/tests/test_provider_egress.py +404 -0
  209. deepcode_hku-2.3.0/tests/test_provider_lifetime.py +137 -0
  210. deepcode_hku-2.3.0/tests/test_provider_oauth.py +185 -0
  211. deepcode_hku-2.3.0/tests/test_provider_protocols.py +555 -0
  212. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_python_distribution_release.py +63 -1
  213. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_reasoning_providers.py +12 -3
  214. deepcode_hku-2.3.0/tests/test_schedule_monitor.py +176 -0
  215. deepcode_hku-2.3.0/tests/test_semantic_hint.py +72 -0
  216. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_index.py +17 -0
  217. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_shell_search_tools.py +86 -1
  218. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_stdlib_logging_bridge.py +12 -0
  219. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_team_worktree.py +17 -0
  220. deepcode_hku-2.3.0/tests/test_transparency_log.py +469 -0
  221. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tui.py +37 -5
  222. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tui_thread_client.py +2 -0
  223. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_turn_input_mailbox.py +33 -0
  224. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_turn_steering.py +206 -0
  225. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/command_executor.py +19 -0
  226. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/code_implementation_workflow.py +10 -1
  227. deepcode_hku-2.2.0/__init__.py +0 -16
  228. deepcode_hku-2.2.0/app_server/__init__.py +0 -5
  229. deepcode_hku-2.2.0/app_server/__main__.py +0 -80
  230. deepcode_hku-2.2.0/app_server/server.py +0 -345
  231. deepcode_hku-2.2.0/cli/__init__.py +0 -17
  232. deepcode_hku-2.2.0/cli/goal_runner.py +0 -362
  233. deepcode_hku-2.2.0/core/harness/command_guard.py +0 -151
  234. deepcode_hku-2.2.0/core/harness/memory.py +0 -494
  235. deepcode_hku-2.2.0/core/observability/records.py +0 -187
  236. deepcode_hku-2.2.0/core/persistence/database.py +0 -169
  237. deepcode_hku-2.2.0/core/providers/credentials.py +0 -149
  238. deepcode_hku-2.2.0/core/providers/registry.py +0 -229
  239. deepcode_hku-2.2.0/tests/test_desktop_ci_scope.py +0 -42
  240. deepcode_hku-2.2.0/tests/test_mcp_server.py +0 -131
  241. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/LICENSE +0 -0
  242. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/THIRD_PARTY_NOTICES.md +0 -0
  243. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/errors.py +0 -0
  244. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/protocol/__init__.py +0 -0
  245. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/protocol/models.py +0 -0
  246. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/app_server/protocol/notifications.py +0 -0
  247. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/automation_foreground.py +0 -0
  248. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/config_errors.py +0 -0
  249. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/execution_options.py +0 -0
  250. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/init_config.py +0 -0
  251. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/plugin_cli.py +0 -0
  252. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/project_trust.py +0 -0
  253. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/session_cli.py +0 -0
  254. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/skill_cli.py +0 -0
  255. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/transcript.py +0 -0
  256. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/__init__.py +0 -0
  257. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/__main__.py +0 -0
  258. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/animation.py +0 -0
  259. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/domain_events.py +0 -0
  260. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/input.py +0 -0
  261. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/picker.py +0 -0
  262. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/renderer.py +0 -0
  263. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/session_bridge.py +0 -0
  264. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/cli/tui/theme.py +0 -0
  265. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/__init__.py +0 -0
  266. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_presets/__init__.py +0 -0
  267. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_presets/builtin/code-reader.md +0 -0
  268. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_presets/builtin/minimal.md +0 -0
  269. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/__init__.py +0 -0
  270. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/compaction.py +0 -0
  271. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/context.py +0 -0
  272. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/goal_runtime.py +0 -0
  273. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/helpers.py +0 -0
  274. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/hook.py +0 -0
  275. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/processes.py +0 -0
  276. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/pruner.py +0 -0
  277. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/repeat_guard.py +0 -0
  278. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/runtime.py +0 -0
  279. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/token_meter.py +0 -0
  280. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/tools/__init__.py +0 -0
  281. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/tools/alias.py +0 -0
  282. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/tools/base.py +0 -0
  283. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/agent_runtime/tools/mcp.py +0 -0
  284. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/__init__.py +0 -0
  285. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/application_lease.py +0 -0
  286. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/approval_service.py +0 -0
  287. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/automation_permission_policy.py +0 -0
  288. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/automation_schedule_policy.py +0 -0
  289. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/automation_scheduler.py +0 -0
  290. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/automation_service.py +0 -0
  291. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/diagnostics_service.py +0 -0
  292. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/execution_admission.py +0 -0
  293. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/execution_handler_registry.py +0 -0
  294. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/execution_registry.py +0 -0
  295. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/execution_security_policy.py +0 -0
  296. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/extension_service.py +0 -0
  297. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/file_service.py +0 -0
  298. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/git_service.py +0 -0
  299. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/goal_prompts/__init__.py +0 -0
  300. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/goal_prompts/continuation.md +0 -0
  301. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/goal_turn_port.py +0 -0
  302. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/interactive_turn_router.py +0 -0
  303. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/legacy_session_importer.py +0 -0
  304. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/mcp_service.py +0 -0
  305. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/plugin_service.py +0 -0
  306. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/project_service.py +0 -0
  307. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/session_deletion_service.py +0 -0
  308. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/session_runtime.py +0 -0
  309. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/settings_service.py +0 -0
  310. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/skill_service.py +0 -0
  311. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/test_service.py +0 -0
  312. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/turn_projection.py +0 -0
  313. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/turn_usage.py +0 -0
  314. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/views.py +0 -0
  315. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/workflow_adapter.py +0 -0
  316. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/workspace_service.py +0 -0
  317. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/application/worktree_service.py +0 -0
  318. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/__init__.py +0 -0
  319. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/agent.py +0 -0
  320. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/mcp_app.py +0 -0
  321. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/parallel.py +0 -0
  322. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/compat/request_params.py +0 -0
  323. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/__init__.py +0 -0
  324. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/approval.py +0 -0
  325. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/artifact.py +0 -0
  326. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/automation.py +0 -0
  327. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/common.py +0 -0
  328. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/event.py +0 -0
  329. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/execution_permission.py +0 -0
  330. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/execution_security.py +0 -0
  331. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/item.py +0 -0
  332. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/project.py +0 -0
  333. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/runtime_coordination.py +0 -0
  334. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/thread.py +0 -0
  335. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/thread_goal.py +0 -0
  336. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/turn.py +0 -0
  337. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/domain/workflow.py +0 -0
  338. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/events/__init__.py +0 -0
  339. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/events/llm_events.py +0 -0
  340. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/events/parts.py +0 -0
  341. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/events/protocol.py +0 -0
  342. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/file_lock.py +0 -0
  343. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/__init__.py +0 -0
  344. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/agents/__init__.py +0 -0
  345. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/agents/control.py +0 -0
  346. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/agents/structured_result.py +0 -0
  347. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/approval.py +0 -0
  348. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/code_mode/__init__.py +0 -0
  349. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/code_mode/_runner.py +0 -0
  350. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/collaboration.py +0 -0
  351. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/hooks/__init__.py +0 -0
  352. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/hooks/engine.py +0 -0
  353. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/hooks/events.py +0 -0
  354. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/permissions.py +0 -0
  355. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/sandbox.py +0 -0
  356. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/skills.py +0 -0
  357. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/snapshot.py +0 -0
  358. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/__init__.py +0 -0
  359. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/diagnostics.py +0 -0
  360. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/files.py +0 -0
  361. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/goal.py +0 -0
  362. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/patch.py +0 -0
  363. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/plan.py +0 -0
  364. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/replace.py +0 -0
  365. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/search.py +0 -0
  366. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/spawn_agent.py +0 -0
  367. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/user_input.py +0 -0
  368. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/tools/web.py +0 -0
  369. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/harness/windows_sandbox.py +0 -0
  370. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/llm_runtime.py +0 -0
  371. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/loop/__init__.py +0 -0
  372. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/__init__.py +0 -0
  373. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/connection.py +0 -0
  374. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/models.py +0 -0
  375. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/naming.py +0 -0
  376. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/oauth.py +0 -0
  377. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/presets.json +0 -0
  378. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/presets.py +0 -0
  379. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/probe.py +0 -0
  380. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/resolver.py +0 -0
  381. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/runtime.py +0 -0
  382. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/schema.py +0 -0
  383. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/mcp/tools.py +0 -0
  384. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/network/__init__.py +0 -0
  385. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/network/hostnames.py +0 -0
  386. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/network/safe_http.py +0 -0
  387. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/observability/__init__.py +0 -0
  388. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/observability/context.py +0 -0
  389. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/__init__.py +0 -0
  390. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/automation_repository.py +0 -0
  391. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/coordination_repository.py +0 -0
  392. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/errors.py +0 -0
  393. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/legacy_import_repository.py +0 -0
  394. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/migrations.py +0 -0
  395. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/project_repository.py +0 -0
  396. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/serde.py +0 -0
  397. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/thread_repository.py +0 -0
  398. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/persistence/workflow_repository.py +0 -0
  399. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/platform_compat.py +0 -0
  400. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/platform_file_lock.py +0 -0
  401. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/__init__.py +0 -0
  402. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/domain.py +0 -0
  403. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/formats/__init__.py +0 -0
  404. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/formats/agent_plugins_v1.py +0 -0
  405. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/host.py +0 -0
  406. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/mcp.py +0 -0
  407. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/registry.py +0 -0
  408. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/resolver.py +0 -0
  409. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/plugins/skill_provider.py +0 -0
  410. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/__init__.py +0 -0
  411. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/model_compat.py +0 -0
  412. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/openai_responses/__init__.py +0 -0
  413. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/openai_responses/converters.py +0 -0
  414. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/providers/timeouts.py +0 -0
  415. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/reasoning.py +0 -0
  416. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/schedule/__init__.py +0 -0
  417. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/schedule/keepalive.py +0 -0
  418. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/schedule/scheduler.py +0 -0
  419. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/__init__.py +0 -0
  420. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/continuation.py +0 -0
  421. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/deletion.py +0 -0
  422. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/index.py +0 -0
  423. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/legacy_goal_decoder.py +0 -0
  424. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/models.py +0 -0
  425. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/thread_goal_store.py +0 -0
  426. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/sessions/transcript.py +0 -0
  427. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/__init__.py +0 -0
  428. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/aggregation.py +0 -0
  429. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/UPSTREAM_SOURCES.json +0 -0
  430. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/frontend-design/LICENSE.txt +0 -0
  431. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/frontend-design/SKILL.md +0 -0
  432. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/LICENSE.txt +0 -0
  433. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/SKILL.md +0 -0
  434. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/reference/evaluation.md +0 -0
  435. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/reference/mcp_best_practices.md +0 -0
  436. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/reference/node_mcp_server.md +0 -0
  437. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/reference/python_mcp_server.md +0 -0
  438. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/scripts/connections.py +0 -0
  439. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/scripts/evaluation.py +0 -0
  440. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/scripts/example_evaluation.xml +0 -0
  441. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/mcp-builder/scripts/requirements.txt +0 -0
  442. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/review-agent/LICENSE.txt +0 -0
  443. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/review-agent/SKILL.md +0 -0
  444. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/review-agent/agents/openai.yaml +0 -0
  445. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/LICENSE.txt +0 -0
  446. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/SKILL.md +0 -0
  447. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/agents/openai.yaml +0 -0
  448. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/golang-general-backend-security.md +0 -0
  449. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-express-web-server-security.md +0 -0
  450. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-general-web-frontend-security.md +0 -0
  451. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-jquery-web-frontend-security.md +0 -0
  452. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +0 -0
  453. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +0 -0
  454. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +0 -0
  455. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/python-django-web-server-security.md +0 -0
  456. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/python-fastapi-web-server-security.md +0 -0
  457. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-best-practices/references/python-flask-web-server-security.md +0 -0
  458. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/LICENSE.txt +0 -0
  459. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/SKILL.md +0 -0
  460. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/agents/openai.yaml +0 -0
  461. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/references/neo4j-import.md +0 -0
  462. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/scripts/build_ownership_map.py +0 -0
  463. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/scripts/community_maintainers.py +0 -0
  464. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/scripts/query_ownership.py +0 -0
  465. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-ownership-map/scripts/run_ownership_map.py +0 -0
  466. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-threat-model/LICENSE.txt +0 -0
  467. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-threat-model/SKILL.md +0 -0
  468. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-threat-model/agents/openai.yaml +0 -0
  469. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-threat-model/references/prompt-template.md +0 -0
  470. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/security-threat-model/references/security-controls-and-assets.md +0 -0
  471. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/LICENSE.txt +0 -0
  472. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/SKILL.md +0 -0
  473. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/agents/openai.yaml +0 -0
  474. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/references/openai_yaml.md +0 -0
  475. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/scripts/generate_openai_yaml.py +0 -0
  476. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/scripts/init_skill.py +0 -0
  477. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/skill-creator/scripts/quick_validate.py +0 -0
  478. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/LICENSE.txt +0 -0
  479. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/SKILL.md +0 -0
  480. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/examples/console_logging.py +0 -0
  481. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/examples/element_discovery.py +0 -0
  482. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/examples/static_html_automation.py +0 -0
  483. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin/webapp-testing/scripts/with_server.py +0 -0
  484. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/builtin_registry.py +0 -0
  485. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/capabilities.py +0 -0
  486. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/catalog.py +0 -0
  487. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/config.py +0 -0
  488. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/host.py +0 -0
  489. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/management.py +0 -0
  490. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/metadata.py +0 -0
  491. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/models.py +0 -0
  492. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/monitor.py +0 -0
  493. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/prompting.py +0 -0
  494. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/provider.py +0 -0
  495. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/resources.py +0 -0
  496. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/roots.py +0 -0
  497. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/skills/runtime.py +0 -0
  498. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/team/__init__.py +0 -0
  499. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/core/verification.py +0 -0
  500. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode_hku.egg-info/dependency_links.txt +0 -0
  501. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode_hku.egg-info/entry_points.txt +0 -0
  502. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/deepcode_hku.egg-info/top_level.txt +0 -0
  503. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/__init__.py +0 -0
  504. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/README.md +0 -0
  505. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/__init__.py +0 -0
  506. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/dataset.py +0 -0
  507. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/evaluate.py +0 -0
  508. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/instance.py +0 -0
  509. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/predict.py +0 -0
  510. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/report.py +0 -0
  511. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/eval/swebench/run.py +0 -0
  512. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/prompts/__init__.py +0 -0
  513. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/prompts/code_prompts.py +0 -0
  514. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/requirements.txt +0 -0
  515. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/schema/mcp-agent.config.schema.json +0 -0
  516. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/setup.cfg +0 -0
  517. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_agent_presets.py +0 -0
  518. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_agent_runner_kernel.py +0 -0
  519. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_agent_session.py +0 -0
  520. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_apply_patch.py +0 -0
  521. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_autodream.py +0 -0
  522. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_automation_foreground.py +0 -0
  523. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_cli_logging_bootstrap.py +0 -0
  524. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_code_implementation_workspace.py +0 -0
  525. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_code_indexer_concurrent.py +0 -0
  526. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_code_indexer_output.py +0 -0
  527. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_code_mode.py +0 -0
  528. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_collaboration.py +0 -0
  529. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_command_executor_native_fence.py +0 -0
  530. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_command_guard.py +0 -0
  531. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_compaction_memory.py +0 -0
  532. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_compaction_retry_memo.py +0 -0
  533. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_config_errors.py +0 -0
  534. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_config_layers.py +0 -0
  535. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_context_note_sink.py +0 -0
  536. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_context_window_overflow.py +0 -0
  537. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_diagnostics.py +0 -0
  538. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_document_conversion.py +0 -0
  539. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_exec_sandbox_wiring.py +0 -0
  540. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_external_subagent_backend.py +0 -0
  541. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_forge_provider.py +0 -0
  542. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_fuzzy_replace.py +0 -0
  543. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_git_command_url.py +0 -0
  544. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_goal_runtime.py +0 -0
  545. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_harness_approval.py +0 -0
  546. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_harness_permissions.py +0 -0
  547. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_harness_sandbox.py +0 -0
  548. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_hooks.py +0 -0
  549. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_init_config.py +0 -0
  550. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_llm_events.py +0 -0
  551. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_llm_runtime_connections.py +0 -0
  552. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_loop_detector.py +0 -0
  553. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_manual_compact.py +0 -0
  554. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_mcp_oauth.py +0 -0
  555. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_mcp_runtime.py +0 -0
  556. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_mcp_runtime_lazy.py +0 -0
  557. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_model_catalog_service.py +0 -0
  558. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_model_compat.py +0 -0
  559. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_native_file_tools.py +0 -0
  560. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_openspace_recipe.py +0 -0
  561. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_parts.py +0 -0
  562. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_pdf_downloader_security.py +0 -0
  563. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_plan_tool.py +0 -0
  564. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_platform_compat.py +0 -0
  565. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_plugin_cli.py +0 -0
  566. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_plugins.py +0 -0
  567. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_private_storage.py +0 -0
  568. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_private_storage_windows.py +0 -0
  569. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_provider_cli.py +0 -0
  570. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_provider_timeouts.py +0 -0
  571. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_reasoning.py +0 -0
  572. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_reasoning_capabilities.py +0 -0
  573. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_reasoning_catalog_alignment.py +0 -0
  574. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_repeat_call_reminder.py +0 -0
  575. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_requesty_provider.py +0 -0
  576. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_safe_http.py +0 -0
  577. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_schedule.py +0 -0
  578. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_cli.py +0 -0
  579. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_compaction.py +0 -0
  580. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_end_lifecycle.py +0 -0
  581. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_run_lease.py +0 -0
  582. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_runtime.py +0 -0
  583. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_session_transcript.py +0 -0
  584. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skill_capabilities.py +0 -0
  585. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skill_cli.py +0 -0
  586. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skill_host.py +0 -0
  587. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skill_provider.py +0 -0
  588. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skills.py +0 -0
  589. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_skills_product.py +0 -0
  590. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_snapshot.py +0 -0
  591. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_spawn_agent.py +0 -0
  592. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_subagent_composition.py +0 -0
  593. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_subagent_conversation.py +0 -0
  594. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_subagent_late_result.py +0 -0
  595. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_swebench_harness.py +0 -0
  596. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_thinking_requires_capable_model.py +0 -0
  597. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_token_meter.py +0 -0
  598. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_token_meter_wiring.py +0 -0
  599. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tool_call_timeout.py +0 -0
  600. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tool_description_quality.py +0 -0
  601. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tool_result_pruner.py +0 -0
  602. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_tui_domain_events.py +0 -0
  603. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_turn_projection.py +0 -0
  604. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_turn_queue.py +0 -0
  605. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_unified_impl_workflow.py +0 -0
  606. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_user_input_tool.py +0 -0
  607. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_verification.py +0 -0
  608. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_version_metadata.py +0 -0
  609. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_web_tools.py +0 -0
  610. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_workflow_compatibility.py +0 -0
  611. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_workflow_interactions.py +0 -0
  612. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tests/test_zhipu_thinking_wire.py +0 -0
  613. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/__init__.py +0 -0
  614. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/code_implementation_server.py +0 -0
  615. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/code_indexer.py +0 -0
  616. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/code_reference_indexer.py +0 -0
  617. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/document_conversion.py +0 -0
  618. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/document_segmentation_server.py +0 -0
  619. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/git_command.py +0 -0
  620. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/indexer_config.yaml +0 -0
  621. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/pdf_converter.py +0 -0
  622. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/pdf_downloader.py +0 -0
  623. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/pdf_downloader_server.py +0 -0
  624. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/tools/pdf_utils.py +0 -0
  625. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/utils/__init__.py +0 -0
  626. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/utils/file_processor.py +0 -0
  627. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/utils/llm_utils.py +0 -0
  628. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/utils/loop_detector.py +0 -0
  629. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/uv.lock +0 -0
  630. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/__init__.py +0 -0
  631. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agent_orchestration_engine.py +0 -0
  632. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agents/__init__.py +0 -0
  633. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agents/code_implementation_agent.py +0 -0
  634. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agents/document_segmentation_agent.py +0 -0
  635. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agents/memory_agent_concise.py +0 -0
  636. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/agents/requirement_analysis_agent.py +0 -0
  637. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/codebase_index_workflow.py +0 -0
  638. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/environment.py +0 -0
  639. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/USAGE.md +0 -0
  640. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/__init__.py +0 -0
  641. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/base.py +0 -0
  642. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/integration.py +0 -0
  643. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/plan_review.py +0 -0
  644. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/interactions/requirement_analysis.py +0 -0
  645. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/plan_review_runtime.py +0 -0
  646. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/planning_runtime.py +0 -0
  647. {deepcode_hku-2.2.0 → deepcode_hku-2.3.0}/workflows/workflow_context.py +0 -0
@@ -4,7 +4,10 @@ include LICENSE
4
4
  include THIRD_PARTY_NOTICES.md
5
5
  include requirements.txt
6
6
  include uv.lock
7
- include __init__.py
7
+ # NOTE: the repository root is deliberately NOT a package (no `include __init__.py`).
8
+ # A root __init__.py made `import deepcode` bind to the checkout directory instead of
9
+ # deepcode.py on case-insensitive filesystems (pytest puts the package root on
10
+ # sys.path), which broke `deepcode.main()` from a source checkout on Windows.
8
11
  recursive-include prompts *
9
12
  recursive-include schema *
10
13
  recursive-include cli *.py
@@ -12,6 +15,7 @@ recursive-include core *.py
12
15
  recursive-include core/skills/builtin *
13
16
  recursive-include core/application/goal_prompts *.md
14
17
  recursive-include app_server *.py
18
+ recursive-include app_server/web_assets *
15
19
  recursive-include protocol *.json
16
20
  recursive-include utils *.py
17
21
  recursive-include tools *.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepcode-hku
3
- Version: 2.2.0
3
+ Version: 2.3.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
@@ -41,6 +41,7 @@ Requires-Dist: pypdf>=6.16.1
41
41
  Requires-Dist: PyYAML>=6.0
42
42
  Requires-Dist: reportlab>=3.5.0
43
43
  Requires-Dist: rich>=13.0.0
44
+ Provides-Extra: server
44
45
  Provides-Extra: advanced-documents
45
46
  Requires-Dist: docling>=2.113.0; extra == "advanced-documents"
46
47
  Provides-Extra: test
@@ -139,11 +140,10 @@ Dynamic: summary
139
140
  *Work with DeepCode in a visual workspace for Sessions, goals, tool activity, code changes, and verification.*
140
141
  </div>
141
142
 
142
- DeepCode has one Agent runtime and two interfaces: an interactive CLI for
143
- terminal workflows and a Tauri Desktop workbench for visual Sessions, review,
144
- and settings. Both open the same local Projects, Session history, models,
145
- Skills, permissions, Goals, and Automations. See the
146
- [`Desktop source guide`](desktop/README.md) to run the application locally.
143
+ DeepCode provides TUI, Desktop, and Web clients over one shared local service.
144
+ They share Projects, Session history, models, Skills, permissions, Goals, and
145
+ Automations. Use `deepcode`, `deepcode desktop`, or `deepcode web`; see
146
+ [Quick start](#quick-start) for installation and your first task.
147
147
 
148
148
  ---
149
149
 
@@ -194,6 +194,14 @@ Skills, permissions, Goals, and Automations. See the
194
194
  - [Automate repeatable engineering work](#automate-repeatable-engineering-work)
195
195
  - [Paper2Code](#paper2code)
196
196
  - [⚡ Quick start](#quick-start)
197
+ - [Launch commands at a glance](#launch-commands-at-a-glance)
198
+ - [Install the runtime](#install-the-runtime)
199
+ - [Configure a model](#configure-a-model)
200
+ - [Start the TUI](#start-the-tui)
201
+ - [Start Desktop](#start-desktop)
202
+ - [Start Web](#start-web)
203
+ - [Complete your first task](#complete-your-first-task)
204
+ - [Manage the shared background service](#manage-the-shared-background-service)
197
205
  - [🧭 Using DeepCode](#using-deepcode)
198
206
  - [⚙️ Headless and automation](docs/HEADLESS_AND_AUTOMATION.md)
199
207
  - [🔬 Paper2Code](#paper2code-1)
@@ -212,6 +220,52 @@ Skills, permissions, Goals, and Automations. See the
212
220
 
213
221
  ## News
214
222
 
223
+ **2026-09-28 · DeepCode v2.3.0: voice dictation, Opper and Bedrock, Desktop polish, and opt-in hardening**
224
+
225
+ - **Dictate your prompt.** Add a `dictation` block to your config and the
226
+ Desktop and Web composer gains a microphone. See
227
+ [Voice dictation](docs/guide/dictation.md). (#240)
228
+ - **More providers and models.** Opper and Amazon Bedrock join the provider
229
+ templates, and DeepSeek V4 gets its own 1M context window and pricing.
230
+ (#242, #208, #249)
231
+ - **Desktop polish.** Drag the conversation's edge to resize it, import a
232
+ VS Code color theme, and choose from fonts that are actually installed.
233
+ (#238, #207, #239)
234
+ - **Opt-in hardening.** `providers.egress` limits which hosts receive your
235
+ prompts, `DEEPCODE_COMMAND_SCREEN=strict` screens risky commands,
236
+ `DEEPCODE_BASH_SCRUB_ENV=1` keeps provider keys out of shell commands, and
237
+ `DEEPCODE_KEYRING=1` reads keys from the OS keychain. (#229, #230, #232,
238
+ #246)
239
+ - **Leaner memory and clearer signals.** `MEMORY.md` can be a short index of
240
+ topic files, `mcp list` flags servers worth a second look, and the agent is
241
+ reminded when a call keeps returning the same result. (#233, #241, #247)
242
+ - **Steadier everywhere.** The state database keeps its locks when several
243
+ DeepCode processes share it, and a round of Windows fixes landed. (#210,
244
+ #235, #236, #237)
245
+
246
+ **2026-09-09 · TUI, Desktop, and Web share one local background service**
247
+
248
+ - **Choose your interface.** Run `deepcode` for the TUI, `deepcode desktop`
249
+ for the native app, or `deepcode web` to open the workbench in your browser.
250
+ All three connect to the same local service; Web needs no DeepCode account.
251
+ - **Continue the same task across interfaces.** Closing a client leaves running
252
+ work in the background. Reconnect from another interface to follow the same
253
+ conversation, review tool activity, and respond to approvals. The computer
254
+ must remain awake, and pending approvals still need your response.
255
+ - **Configure and verify your models.** Save cloud or local model connections
256
+ for use across all three interfaces. Browse available models, check a model's
257
+ response, and test streaming and tool calls before using a custom server.
258
+ See [Models and providers](docs/guide/models.md).
259
+ - **Manage your background service and prepare for upgrades.** Use
260
+ `deepcode service` commands to check status, read logs, or stop after current
261
+ work finishes. Create a runtime snapshot before upgrading and restore it when
262
+ needed; keep project files in your usual version control or backup.
263
+ See [Upgrading DeepCode](docs/UPGRADE_AND_RESTORE.md).
264
+
265
+ Start with the updated [Quick start](#quick-start) and
266
+ [first coding task tutorial](docs/guide/getting-started.md).
267
+ ([#212](https://github.com/HKUDS/DeepCode/pull/212))
268
+
215
269
  **2026-09-06 · DeepCode v2.2.0: Session context-window caps, compaction that leaves a memory, and a fully localized Desktop**
216
270
 
217
271
  - **Cap a Session's context window.** `/context 64k` in the TUI or the
@@ -227,6 +281,9 @@ Skills, permissions, Goals, and Automations. See the
227
281
  - **Appearance settings speak Simplified Chinese too**, completing the
228
282
  Desktop shell's zh-CN coverage. (#202)
229
283
 
284
+ <details>
285
+ <summary><strong>Earlier updates, August to early September 2026</strong></summary>
286
+
230
287
  **2026-09-03 · Desktop catalog race, an honest command screen, GLM-5.2, and two dependency bumps**
231
288
 
232
289
  - **Switching projects no longer strands the MCP catalog.** A probe or
@@ -391,9 +448,6 @@ Skills, permissions, Goals, and Automations. See the
391
448
  `/rename`, `/delete`, `/retry`, with tab completion for session ids,
392
449
  transcript modes, permission presets, and effort levels.
393
450
 
394
- <details>
395
- <summary><strong>Earlier August 2026 updates</strong></summary>
396
-
397
451
  **2026-08-14 · Subagent runtime, compaction, and one-way persistence**
398
452
 
399
453
  - **Delegate to Codex or Claude Code as a subagent.** `spawn_agent` gains
@@ -665,9 +719,9 @@ you finish real software engineering work more reliably.
665
719
 
666
720
  ## Core capabilities
667
721
 
668
- DeepCode provides a complete local Coding Agent workflow. CLI and Desktop are
669
- two ways to use the same Agent, Sessions, models, Skills, permissions, and task
670
- state.
722
+ DeepCode provides a complete local Coding Agent workflow. TUI, Desktop, and Web
723
+ use the same Agent, Sessions, models, Skills, permissions, and task state through
724
+ the shared local service.
671
725
 
672
726
  <p align="center">
673
727
  <img src="assets/readme/verification-loop.png" alt="DeepCode Agent Harness and verification loop" width="1080" />
@@ -786,7 +840,14 @@ Automation does not launch a separate, reduced Agent. It uses the same
786
840
  Sessions, models, Skills, permissions, approvals, and recovery behavior, and
787
841
  keeps the history of every run.
788
842
 
789
- ### Paper2Code
843
+ ### Shared background service
844
+
845
+ Desktop, Web, TUI, `exec`, `loop`, and MCP task calls use the same local service.
846
+ Starting a client starts the service when needed. Closing a client leaves its
847
+ accepted tasks running; explicitly stop the service to shut down the runtime.
848
+ See [Quick start](#quick-start) for installation and launch commands.
849
+
850
+ ## Paper2Code
790
851
 
791
852
  Paper2Code was DeepCode's original research direction and remains its dedicated
792
853
  workflow for research reproduction.
@@ -800,156 +861,188 @@ run, be inspected, and keep improving.
800
861
 
801
862
  ## Quick start
802
863
 
803
- DeepCode has two interfaces with separate installation paths. Choose one to get
804
- started; both use the same Agent runtime and canonical Session history.
864
+ Use DeepCode to explore a repository, make changes, and run tests. Choose the
865
+ terminal, desktop app, or browser—your projects and conversations are available
866
+ in all three.
805
867
 
806
- > `uv tool install --python 3.12 deepcode-hku` installs the CLI and shared
807
- > Python runtime. It does **not** install the Tauri Desktop application.
868
+ ### Launch commands at a glance
808
869
 
809
- ### Option A — Install the CLI
870
+ After installation, open the interface you prefer:
810
871
 
811
- Install `uv` first if it is not already available. On Windows PowerShell:
872
+ | Interface | Start command |
873
+ |---|---|
874
+ | **TUI** — work in your terminal | `deepcode` |
875
+ | **Desktop** — use a native app | `deepcode desktop` |
876
+ | **Web** — work in your browser | `deepcode web` |
812
877
 
813
- ```powershell
814
- winget install --id astral-sh.uv --exact
815
- ```
878
+ DeepCode starts its local background service automatically. You can close an
879
+ interface and return to your conversation later.
880
+
881
+ ### Install the runtime
816
882
 
817
- Open a new terminal after the first `uv` installation, then run:
883
+ #### Published package
884
+
885
+ With `uv` installed, run:
818
886
 
819
887
  ```console
820
888
  uv tool install --python 3.12 deepcode-hku
821
889
  deepcode init
822
890
  ```
823
891
 
824
- The explicit Python selection is intentional: DeepCode requires Python 3.12+
825
- and must not fall back to an unsupported legacy package on an older interpreter.
826
- If an existing uv tool environment still contains DeepCode 1.x, migrate it with
827
- `uv tool upgrade --python 3.12 deepcode-hku`.
892
+ On Windows, you can install `uv` with `winget install --id astral-sh.uv --exact`,
893
+ then open a new terminal. DeepCode requires Python 3.12 or later.
894
+
895
+ To use the native app, also install DeepCode Desktop from
896
+ [GitHub Releases](https://github.com/HKUDS/DeepCode/releases). To try changes
897
+ that have not been released yet, install from source below.
898
+
899
+ <details>
900
+ <summary>Install from source</summary>
901
+
902
+ #### Current source checkout
903
+
904
+ You will need Git, `uv`, and Node.js 22 or later. Run these commands in your terminal:
905
+
906
+ ```console
907
+ git clone https://github.com/HKUDS/DeepCode.git
908
+ cd DeepCode
909
+ npm --prefix desktop ci
910
+ npm --prefix desktop run build:web
911
+ uv tool install --python 3.12 --force .
912
+ deepcode init
913
+ ```
914
+
915
+ If you already have the repository, start in its root directory and skip cloning.
916
+ You can now run `deepcode` from any directory. For source Desktop, also install
917
+ Rust and the platform dependencies described in the [Desktop guide](desktop/README.md).
918
+
919
+ </details>
920
+
921
+ If your terminal cannot find `deepcode`, run `uv tool update-shell` and open a
922
+ new terminal.
828
923
 
829
- Create a model connection once. `--api-key` opens a non-echoing prompt:
924
+ ### Configure a model
925
+
926
+ Choose either the graphical setup or the terminal commands below.
927
+
928
+ **In Desktop or Web:** open **Settings → AI providers**, select **Add provider**,
929
+ and enter your provider's API key. Click **Save and check** to load its models.
930
+ Under **Agent model**, choose a model and click **Save and verify model** to try
931
+ a short request. Then choose the connection and model in your conversation's
932
+ message box.
933
+
934
+ <div align="center">
935
+ <img src="assets/setting_model.png" alt="Choose a provider and model in DeepCode settings" width="100%" style="border-radius: 10px; box-shadow: 0 8px 20px rgba(45,55,72,0.2); margin: 15px 0;"/>
936
+ </div>
937
+
938
+ **In your terminal:** this example connects to OpenRouter. Enter your API key
939
+ when prompted; it will not be displayed as you type.
830
940
 
831
941
  ```console
832
- deepcode provider set personal-openrouter --template openrouter --label "OpenRouter · Personal" --api-key
833
- deepcode provider models personal-openrouter --refresh
834
- deepcode provider test personal-openrouter --model <model-id>
942
+ deepcode provider set my-openrouter --template openrouter --api-key
943
+ deepcode provider models my-openrouter --refresh
835
944
  ```
836
945
 
837
- Enter the repository you want DeepCode to work in and start the interactive
838
- Agent:
946
+ Choose a model from the list. Replace `MODEL_ID` below with its exact ID and
947
+ send a short test request:
839
948
 
840
949
  ```console
841
- cd <your-project>
842
- deepcode
950
+ deepcode provider test my-openrouter --model MODEL_ID
843
951
  ```
844
952
 
845
- `deepcode init` creates minimal user configuration under `~/.deepcode/`.
846
- Credentials are stored separately in user-private storage and are never written
847
- to Session history. `pipx install deepcode-hku` and `pip install deepcode-hku`
848
- are also supported in an appropriate Python 3.12+ environment.
953
+ You can use the same connection in all three interfaces. For other providers,
954
+ local models, and tool-calling checks, see [Models and providers](docs/guide/models.md).
849
955
 
850
- ### Option B — Install Desktop
956
+ ### Start the TUI
851
957
 
852
- Desktop release bundles are distributed separately from the Python package.
853
- Check [GitHub Releases](https://github.com/HKUDS/DeepCode/releases) for a signed
854
- installer for your platform. If no installer is attached, use the source setup
855
- below.
958
+ Open a terminal in the project you want to work on. On your first visit, use
959
+ `--trust` to allow DeepCode to work in that folder. With the connection configured
960
+ above:
856
961
 
857
- #### macOS and Linux from source
962
+ ```console
963
+ cd /path/to/your-project
964
+ deepcode --trust --connection my-openrouter --model MODEL_ID
965
+ ```
858
966
 
859
- Install the platform dependencies from the
860
- [Tauri 2 prerequisite guide](https://v2.tauri.app/start/prerequisites/), plus
861
- Git, Python 3.12+, `uv`, Node.js 22+, and stable Rust. Then run:
967
+ Replace the path with your project directory; on Windows, for example,
968
+ `C:\projects\my-app`. For later visits, run `deepcode` in that directory and use
969
+ `/model` to choose your connection and model. Use `/help` to see available commands.
862
970
 
863
- ```bash
864
- git clone https://github.com/HKUDS/DeepCode.git
865
- cd DeepCode
866
- uv venv --python 3.12
867
- uv pip install --python .venv/bin/python -e .
868
- .venv/bin/deepcode init
869
- cd desktop
870
- npm ci
871
- npm run setup:sidecar
872
- npm run build:sidecar
873
- cd ..
874
- mkdir -p ~/.local/bin
875
- ln -sf "$(pwd)/scripts/deepcode-desktop" ~/.local/bin/deepcode-desktop
876
- export PATH="$HOME/.local/bin:$PATH"
877
- deepcode-desktop
971
+ ### Start Desktop
972
+
973
+ ```console
974
+ deepcode desktop
878
975
  ```
879
976
 
880
- The final link is a one-time source launcher installation. Afterwards,
881
- `deepcode-desktop` starts this checkout from any directory, provided
882
- `~/.local/bin` is on `PATH`. Add the export to your shell profile if it is not
883
- already configured. The command launches Desktop; add or select the repository
884
- you want to work on from the Project sidebar.
885
-
886
- #### Windows from source
887
-
888
- Windows requires Microsoft Edge WebView2 and the Visual Studio 2022 Build Tools
889
- workload **Desktop development with C++**. Accept the UAC prompt raised by Build
890
- Tools:
891
-
892
- ```powershell
893
- winget install --id Git.Git --exact
894
- winget install --id astral-sh.uv --exact
895
- winget install --id OpenJS.NodeJS.LTS --exact
896
- winget install --id Rustlang.Rustup --exact
897
- winget install --id Microsoft.VisualStudio.2022.BuildTools --exact `
898
- --override "--wait --passive --norestart --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
977
+ Add your project folder, confirm that you trust it, and click **New thread**.
978
+ Choose a model in the message box, then describe what you want to do.
979
+
980
+ If you installed from source, this command opens the development app. Its first
981
+ launch may take longer while dependencies are prepared; keep the terminal open
982
+ while you use it. See the [Desktop guide](desktop/README.md) for platform setup
983
+ and custom installation paths.
984
+
985
+ ### Start Web
986
+
987
+ ```console
988
+ deepcode web
899
989
  ```
900
990
 
901
- Close PowerShell, open a new window, and verify the toolchains:
991
+ DeepCode opens a browser tab. Add your project folder on this computer, confirm
992
+ that you trust it, and create a thread. Select a model and send your first message.
993
+ No DeepCode account is needed.
994
+
995
+ To copy the access link and open it yourself, use `deepcode web --no-open`.
996
+ Open the link within 60 seconds. If it expires or the page asks you to sign in
997
+ again, run `deepcode web` to get a fresh link.
998
+
999
+ ### Complete your first task
902
1000
 
903
- ```powershell
904
- git --version
905
- uv --version
906
- node --version
907
- rustup default stable-msvc
908
- rustc --version
909
- cargo --version
1001
+ Start by asking DeepCode to help you understand your project:
1002
+
1003
+ ```text
1004
+ Explain how this project is organized and how to run its tests.
1005
+ Do not change any files yet.
910
1006
  ```
911
1007
 
912
- Clone, prepare, and start Desktop:
1008
+ Then ask for a small change, describing the behavior you want and how to check it:
913
1009
 
914
- ```powershell
915
- git clone https://github.com/HKUDS/DeepCode.git
916
- Set-Location DeepCode
917
- uv venv --python 3.12
918
- uv pip install --python .venv\Scripts\python.exe -e .
919
- .venv\Scripts\deepcode.exe init
920
- Set-Location desktop
921
- npm ci
922
- $env:DEEPCODE_PYTHON = (Resolve-Path ..\.venv\Scripts\python.exe)
923
- npm run setup:sidecar
924
- npm run build:sidecar
925
- npm run tauri -- dev
1010
+ ```text
1011
+ Add tests for the configuration loader's handling of missing and invalid
1012
+ values. Follow the existing test style, run the relevant tests, and summarize
1013
+ the changes and results.
926
1014
  ```
927
1015
 
928
- Keep that PowerShell window open while Desktop is running. See the
929
- [Desktop source guide](desktop/README.md#windows-powershell) for subsequent
930
- launches and troubleshooting.
1016
+ Adapt the task to your repository. Follow the tool activity as DeepCode works,
1017
+ respond to any approval requests, and review the changed files and test output.
1018
+ You can send a follow-up message to adjust the task, or use the stop button
1019
+ (`/stop` in the TUI) to interrupt it.
931
1020
 
932
- #### Configure the Desktop model
1021
+ Your conversation is saved automatically. In Desktop/Web, select it from the
1022
+ project's thread list. In the TUI, use `/resume` to pick a saved conversation.
1023
+ You can switch interfaces and continue the same task.
933
1024
 
934
- Open **Settings → AI providers** after Desktop starts.
1025
+ For a complete exercise in a new folder, follow
1026
+ [Your first coding task](docs/guide/getting-started.md). It takes you through
1027
+ creating a Python function, testing it, and returning to the conversation later.
935
1028
 
936
- <div align="center">
937
- <img src="assets/setting_model.png" alt="Configure an AI provider and model in DeepCode Desktop" width="100%" style="border-radius: 10px; box-shadow: 0 8px 20px rgba(45,55,72,0.2); margin: 15px 0;"/>
1029
+ ### Manage the shared background service
938
1030
 
939
- <sub>Provider credentials, model discovery, and inference verification stay in one Desktop workflow.</sub>
940
- </div>
1031
+ Closing an interface leaves running tasks in the background. Pending approvals
1032
+ still need your response, and the computer must remain awake for work to continue.
1033
+
1034
+ Most days, you can just launch your preferred interface. When you need to inspect
1035
+ or stop the background service, use the command for that action:
941
1036
 
942
- 1. Select **Add provider**, choose the service, and enter an API key or its
943
- environment-variable name.
944
- 2. Select **Save and check** to verify the credential and load the provider's
945
- model catalog without sending repository content.
946
- 3. Under **Agent model**, choose an exact model ID and select **Save and verify
947
- model**. This final check sends only a minimal inference request.
948
- 4. Add or open a Project, create a Session, choose the model, Thinking effort,
949
- and access level, then describe the task in natural language.
1037
+ | What you want to do | Command |
1038
+ |---|---|
1039
+ | Check whether DeepCode is running | `deepcode service status` |
1040
+ | Read recent logs | `deepcode service logs --lines 100` |
1041
+ | Stop after current work finishes | `deepcode service stop --drain --timeout 60` |
1042
+ | Start automatically after signing into your computer | `deepcode service install --at-login` |
950
1043
 
951
- > The interface changes how the work is presented, not the Agent, policy,
952
- > configuration, or Session history behind it.
1044
+ For updates and backups, follow [Upgrading DeepCode](docs/UPGRADE_AND_RESTORE.md).
1045
+ If something does not work, start with [Troubleshooting](docs/guide/troubleshooting.md).
953
1046
 
954
1047
  ## Using DeepCode
955
1048
 
@@ -961,10 +1054,10 @@ skills and memory, and headless automation — with worked examples.
961
1054
 
962
1055
  Every task lives in a durable Session attached to its original Project. Open a
963
1056
  Project in Desktop or start `deepcode` from its directory, then create a new
964
- Session or resume an existing one. The same history can move between Desktop
965
- and CLI without export or conversion.
1057
+ Session or resume an existing one. The same history is available in TUI,
1058
+ Desktop, and Web without export or conversion.
966
1059
 
967
- | What you want to do | Desktop | Interactive CLI |
1060
+ | What you want to do | Desktop / Web | Interactive CLI |
968
1061
  |---|---|---|
969
1062
  | Start a Session | **New thread** | `/new [title]` |
970
1063
  | Resume local history | Select it under the Project | `/resume` |
@@ -985,9 +1078,11 @@ and CLI without export or conversion.
985
1078
  | Rename or delete a Session | Session context menu | `/rename <title>` · `/delete <id>` |
986
1079
 
987
1080
  Session history, tool activity, approvals, Goal state, and verification evidence
988
- remain together. A Session has one live writer at a time: Desktop and the CLI
989
- may hold it open together, but if one is mid-Turn the other refuses new input
990
- with a message naming the holder instead of corrupting shared history. Archiving hides a Session without deleting its history;
1081
+ remain together. TUI, Desktop, and Web can observe the same Session while the
1082
+ shared service serializes its execution. Normal input during a Turn steers the
1083
+ active work; explicit queueing requests a subsequent Turn. The interface reports
1084
+ how the input was accepted. Closing a client leaves accepted work running.
1085
+ Archiving hides a Session without deleting its history;
991
1086
  permanent deletion removes the Session records but never repository files.
992
1087
 
993
1088
  ### Connections and models
@@ -1308,6 +1403,9 @@ On Windows PowerShell, activate with `.\.venv\Scripts\Activate.ps1`.
1308
1403
 
1309
1404
  ### Verification
1310
1405
 
1406
+ To reproduce CI's Python environment and understand each check, see the
1407
+ [CI guide](docs/CI.md).
1408
+
1311
1409
  ```bash
1312
1410
  uvx pre-commit run --all-files
1313
1411
  python -m compileall -q app_server cli core tools workflows