deepcode-hku 2.2.0__tar.gz → 2.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/MANIFEST.in +5 -1
- {deepcode_hku-2.2.0/deepcode_hku.egg-info → deepcode_hku-2.3.1}/PKG-INFO +273 -129
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/README.md +269 -127
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/README_ZH.md +213 -111
- deepcode_hku-2.3.1/app_server/__init__.py +1 -0
- deepcode_hku-2.3.1/app_server/__main__.py +124 -0
- deepcode_hku-2.3.1/app_server/blocking_client.py +185 -0
- deepcode_hku-2.3.1/app_server/browser_auth.py +72 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/config_watch.py +6 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/connection.py +3 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/dispatcher.py +180 -6
- deepcode_hku-2.3.1/app_server/host.py +147 -0
- deepcode_hku-2.3.1/app_server/launchd.py +227 -0
- deepcode_hku-2.3.1/app_server/managed_entry.py +49 -0
- deepcode_hku-2.3.1/app_server/native_client.py +223 -0
- deepcode_hku-2.3.1/app_server/peer.py +311 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/protocol/codec.py +2 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/protocol/methods.py +14 -0
- deepcode_hku-2.3.1/app_server/protocol/retry.py +61 -0
- deepcode_hku-2.3.1/app_server/runtime_install.py +49 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/runtime_probe.py +5 -0
- deepcode_hku-2.3.1/app_server/server.py +52 -0
- deepcode_hku-2.3.1/app_server/service.py +464 -0
- deepcode_hku-2.3.1/app_server/service_client.py +100 -0
- deepcode_hku-2.3.1/app_server/service_state.py +216 -0
- deepcode_hku-2.3.1/app_server/state_backup.py +446 -0
- deepcode_hku-2.3.1/app_server/stdio_relay.py +218 -0
- deepcode_hku-2.3.1/app_server/systemd_user.py +280 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/Inspector-8Es-_51F.js +5 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/Inspector-DypK0oEq.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/LocalMonacoEditor-DCuhGEPh.js +12 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/ManagementWorkspace-BJC9sMuB.js +4 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/MarkdownContent-BIoldQGd.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/MarkdownContent-khfmKOQ0.js +33 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/PluginsPage-CMshr5Pz.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/PluginsPage-DUG3WIqn.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/SettingsDialog-DCn47fGr.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/SettingsDialog-vGNFlrd5.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/ThreadConversation-DMQrKlux.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/ThreadConversation-DqZ9_3Ex.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/WorkflowComposer-6EHQGool.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/WorkflowComposer-DkLp3G33.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/addon-fit-DIOBYJe3.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/confirmAction-CndHH5nL.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/createLucideIcon-BQ7pep_N.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/css-DIMkf-bt.js +3 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/editor-CJEeZjoM.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/editor.api-DfsewISI.js +818 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/editor.worker-DSGwkeXF.js +33 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/flask-conical-B5W0AT8b.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/html-DmJuEt5_.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/index-B4STS7MU.js +2 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/ini-sBoK_t0W.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/itemPresentation-CpLiCTmA.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/javascript-MLwwUW_7.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/jsx-runtime-CIxEorsV.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/markdown-Cimd5fb3.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/python-DJ9JSdOX.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/reasoningPayload-C9Yeq9Ar.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/robot-aTY9e0LG.png +0 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/rust-DdL9SqIa.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/sparkles-DGUrvUnr.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/trash-2-DgbNN8mD.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/typescript-CGPudguY.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/useConnectionCatalog-CMQD5GS5.js +7 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/useSkillCatalog-CFGIrhRX.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/useSystemDarkMode-COxZJwQa.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/useTranslation-CYApFZ2x.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/webMain-DHoYpK8Q.js +13 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/webMain-u_hskv3e.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/x-CrqHGWEM.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/xterm-BrP-ENHg.css +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/xterm-U4TA8lIC.js +35 -0
- deepcode_hku-2.3.1/app_server/web_assets/assets/yaml-CZqRoqwh.js +1 -0
- deepcode_hku-2.3.1/app_server/web_assets/index.html +13 -0
- deepcode_hku-2.3.1/app_server/web_assets/web-build.json +1 -0
- deepcode_hku-2.3.1/app_server/web_surface.py +279 -0
- deepcode_hku-2.3.1/app_server/websocket.py +332 -0
- deepcode_hku-2.3.1/app_server/windows_task.py +391 -0
- deepcode_hku-2.3.1/cli/__init__.py +5 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/automation_cli.py +15 -6
- deepcode_hku-2.3.1/cli/desktop_cli.py +171 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/exec_cli.py +43 -12
- deepcode_hku-2.3.1/cli/goal_runner.py +245 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/headless_turn.py +2 -37
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/loop_cli.py +4 -8
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/mcp_cli.py +73 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/mcp_server.py +45 -46
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/provider_cli.py +74 -2
- deepcode_hku-2.3.1/cli/rpc_models.py +47 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/schedule_cli.py +33 -7
- deepcode_hku-2.3.1/cli/service_automation.py +120 -0
- deepcode_hku-2.3.1/cli/service_catalogs.py +249 -0
- deepcode_hku-2.3.1/cli/service_cli.py +469 -0
- deepcode_hku-2.3.1/cli/service_events.py +256 -0
- deepcode_hku-2.3.1/cli/service_thread_client.py +613 -0
- deepcode_hku-2.3.1/cli/service_turn.py +111 -0
- deepcode_hku-2.3.1/cli/service_turns.py +131 -0
- deepcode_hku-2.3.1/cli/thread_client.py +133 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/app.py +362 -90
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/commands.py +63 -9
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/goal_controller.py +36 -33
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/input.py +49 -4
- deepcode_hku-2.3.1/cli/tui/markdown_stream.py +184 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/renderer.py +171 -30
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/text.py +4 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/theme.py +4 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/thread_client.py +30 -40
- deepcode_hku-2.3.1/cli/web_cli.py +50 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/compaction.py +9 -4
- deepcode_hku-2.3.1/core/agent_runtime/evidence_ledger.py +102 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/injections.py +13 -5
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/runner.py +55 -9
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/runtime.py +20 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/tools/registry.py +7 -1
- deepcode_hku-2.3.1/core/agent_runtime/tools/semantic_hint.py +82 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_setup.py +17 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/agent_adapter.py +11 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/application.py +36 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/config_store.py +6 -35
- deepcode_hku-2.3.1/core/application/dictation_service.py +238 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/errors.py +55 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/event_service.py +18 -3
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/execution_coordinator.py +24 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/execution_registry.py +24 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/git_service.py +7 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/goal_extension.py +16 -0
- deepcode_hku-2.3.1/core/application/input_identity.py +51 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/llm_configuration_service.py +181 -55
- deepcode_hku-2.3.1/core/application/provider_verification.py +253 -0
- deepcode_hku-2.3.1/core/application/service_lifecycle.py +77 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/session_runtime.py +50 -10
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/terminal_service.py +180 -37
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/thread_service.py +35 -3
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/turn_input_service.py +200 -43
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/turn_projection.py +75 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/turn_service.py +88 -5
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/workflow_service.py +23 -20
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/runtime.py +42 -4
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/config.py +280 -6
- deepcode_hku-2.3.1/core/dictation/__init__.py +43 -0
- deepcode_hku-2.3.1/core/dictation/audio.py +186 -0
- deepcode_hku-2.3.1/core/dictation/client.py +148 -0
- deepcode_hku-2.3.1/core/dictation/local_runner.py +143 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/execution_profile.py +56 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/message_provenance.py +10 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/events/protocol.py +12 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/events/session.py +9 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/agents/external_backend.py +10 -17
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/code_mode/tool.py +4 -1
- deepcode_hku-2.3.1/core/harness/command_guard.py +685 -0
- deepcode_hku-2.3.1/core/harness/env_sanitize.py +111 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/hooks/discovery.py +1 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/hooks/execution.py +4 -1
- deepcode_hku-2.3.1/core/harness/memory.py +1153 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/policy.py +52 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/search.py +5 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/shell.py +101 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/loop/autodream.py +10 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/network/safe_http.py +18 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/observability/bus.py +216 -12
- deepcode_hku-2.3.1/core/observability/llmops.py +236 -0
- deepcode_hku-2.3.1/core/observability/records.py +316 -0
- deepcode_hku-2.3.1/core/persistence/database.py +315 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/event_repository.py +10 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/execution_repository.py +31 -4
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/private_storage.py +69 -13
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/anthropic.py +71 -22
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/base.py +109 -5
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/catalog.py +49 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/catalog_service.py +38 -19
- deepcode_hku-2.3.1/core/providers/credentials.py +237 -0
- deepcode_hku-2.3.1/core/providers/egress.py +353 -0
- deepcode_hku-2.3.1/core/providers/oauth.py +297 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/openai_compat.py +128 -17
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/openai_responses/parsing.py +5 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/profiles.py +219 -31
- deepcode_hku-2.3.1/core/providers/protocol_config.py +127 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/reasoning.py +19 -0
- deepcode_hku-2.3.1/core/providers/registry.py +401 -0
- deepcode_hku-2.3.1/core/providers/revisions.py +73 -0
- deepcode_hku-2.3.1/core/schedule/monitor.py +489 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/store.py +6 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/team/worktree.py +4 -4
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/version.py +1 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode.py +37 -20
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1/deepcode_hku.egg-info}/PKG-INFO +273 -129
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode_hku.egg-info/SOURCES.txt +124 -2
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode_hku.egg-info/requires.txt +4 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/protocol/app-server.schema.json +1590 -231
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/pyproject.toml +10 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/requirements.txt +1 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/setup.py +5 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_automation_cli.py +2 -2
- deepcode_hku-2.3.1/tests/test_bedrock_provider.py +194 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_catalog.py +65 -0
- deepcode_hku-2.3.1/tests/test_ci_installation.py +32 -0
- deepcode_hku-2.3.1/tests/test_ci_scope.py +188 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_command_guard.py +47 -0
- deepcode_hku-2.3.1/tests/test_command_guard_egress.py +238 -0
- deepcode_hku-2.3.1/tests/test_compaction_tool_call_budget.py +55 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_config_layering.py +60 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_cross_process_run_lease.py +2 -2
- deepcode_hku-2.3.1/tests/test_desktop_cli.py +156 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_desktop_release_scripts.py +106 -2
- deepcode_hku-2.3.1/tests/test_dictation.py +408 -0
- deepcode_hku-2.3.1/tests/test_dictation_local_runner.py +118 -0
- deepcode_hku-2.3.1/tests/test_dictation_service.py +444 -0
- deepcode_hku-2.3.1/tests/test_env_sanitize.py +112 -0
- deepcode_hku-2.3.1/tests/test_evidence_ledger.py +369 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_exec_cli.py +4 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_harness_policy.py +38 -0
- deepcode_hku-2.3.1/tests/test_llmops.py +86 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_loop_cli.py +4 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_manual_compact.py +50 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_mcp_cli.py +72 -0
- deepcode_hku-2.3.1/tests/test_mcp_server.py +101 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_memory.py +27 -0
- deepcode_hku-2.3.1/tests/test_memory_layers.py +391 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_model_visible_is_logged.py +4 -1
- deepcode_hku-2.3.1/tests/test_opper_provider.py +78 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_private_storage_acl_once.py +41 -0
- deepcode_hku-2.3.1/tests/test_provider_credentials.py +216 -0
- deepcode_hku-2.3.1/tests/test_provider_egress.py +404 -0
- deepcode_hku-2.3.1/tests/test_provider_lifetime.py +137 -0
- deepcode_hku-2.3.1/tests/test_provider_oauth.py +185 -0
- deepcode_hku-2.3.1/tests/test_provider_protocols.py +555 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_python_distribution_release.py +63 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_reasoning_providers.py +12 -3
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_safe_http.py +32 -0
- deepcode_hku-2.3.1/tests/test_schedule_monitor.py +176 -0
- deepcode_hku-2.3.1/tests/test_semantic_hint.py +72 -0
- deepcode_hku-2.3.1/tests/test_service_events.py +191 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_index.py +17 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_runtime.py +112 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_shell_search_tools.py +112 -1
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_stdlib_logging_bridge.py +12 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_team_worktree.py +17 -0
- deepcode_hku-2.3.1/tests/test_transparency_log.py +469 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tui.py +42 -5
- deepcode_hku-2.3.1/tests/test_tui_input_safety.py +261 -0
- deepcode_hku-2.3.1/tests/test_tui_markdown_stream.py +243 -0
- deepcode_hku-2.3.1/tests/test_tui_resilience.py +366 -0
- deepcode_hku-2.3.1/tests/test_tui_responsiveness.py +146 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tui_thread_client.py +2 -0
- deepcode_hku-2.3.1/tests/test_tui_transcript_order.py +189 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_turn_input_mailbox.py +33 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_turn_steering.py +206 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/command_executor.py +19 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/code_implementation_workflow.py +10 -1
- deepcode_hku-2.2.0/__init__.py +0 -16
- deepcode_hku-2.2.0/app_server/__init__.py +0 -5
- deepcode_hku-2.2.0/app_server/__main__.py +0 -80
- deepcode_hku-2.2.0/app_server/server.py +0 -345
- deepcode_hku-2.2.0/cli/__init__.py +0 -17
- deepcode_hku-2.2.0/cli/goal_runner.py +0 -362
- deepcode_hku-2.2.0/core/harness/command_guard.py +0 -151
- deepcode_hku-2.2.0/core/harness/memory.py +0 -494
- deepcode_hku-2.2.0/core/observability/records.py +0 -187
- deepcode_hku-2.2.0/core/persistence/database.py +0 -169
- deepcode_hku-2.2.0/core/providers/credentials.py +0 -149
- deepcode_hku-2.2.0/core/providers/registry.py +0 -229
- deepcode_hku-2.2.0/tests/test_desktop_ci_scope.py +0 -42
- deepcode_hku-2.2.0/tests/test_mcp_server.py +0 -131
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/LICENSE +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/THIRD_PARTY_NOTICES.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/errors.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/protocol/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/protocol/models.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/app_server/protocol/notifications.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/automation_foreground.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/config_errors.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/execution_options.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/init_config.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/plugin_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/project_trust.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/session_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/skill_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/transcript.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/__main__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/animation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/domain_events.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/picker.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/cli/tui/session_bridge.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_presets/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_presets/builtin/code-reader.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_presets/builtin/minimal.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/context.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/goal_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/helpers.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/hook.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/processes.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/pruner.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/repeat_guard.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/token_meter.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/tools/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/tools/alias.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/tools/base.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/agent_runtime/tools/mcp.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/application_lease.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/approval_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/automation_permission_policy.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/automation_schedule_policy.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/automation_scheduler.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/automation_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/diagnostics_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/execution_admission.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/execution_handler_registry.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/execution_security_policy.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/extension_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/file_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/goal_prompts/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/goal_prompts/continuation.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/goal_turn_port.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/interactive_turn_router.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/legacy_session_importer.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/mcp_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/plugin_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/project_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/session_deletion_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/settings_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/skill_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/test_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/turn_usage.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/views.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/workflow_adapter.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/workspace_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/application/worktree_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/mcp_app.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/parallel.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/compat/request_params.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/approval.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/artifact.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/automation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/common.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/event.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/execution_permission.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/execution_security.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/item.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/project.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/runtime_coordination.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/thread.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/thread_goal.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/turn.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/domain/workflow.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/events/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/events/llm_events.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/events/parts.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/file_lock.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/agents/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/agents/control.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/agents/structured_result.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/approval.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/code_mode/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/code_mode/_runner.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/collaboration.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/hooks/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/hooks/engine.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/hooks/events.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/permissions.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/sandbox.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/skills.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/snapshot.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/diagnostics.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/files.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/goal.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/patch.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/plan.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/replace.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/spawn_agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/user_input.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/tools/web.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/harness/windows_sandbox.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/llm_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/loop/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/connection.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/models.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/naming.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/oauth.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/presets.json +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/presets.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/probe.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/resolver.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/schema.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/mcp/tools.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/network/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/network/hostnames.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/observability/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/observability/context.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/automation_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/coordination_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/errors.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/legacy_import_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/migrations.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/project_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/serde.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/thread_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/persistence/workflow_repository.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/platform_compat.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/platform_file_lock.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/domain.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/formats/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/formats/agent_plugins_v1.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/host.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/mcp.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/registry.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/resolver.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/plugins/skill_provider.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/model_compat.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/openai_responses/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/openai_responses/converters.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/providers/timeouts.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/reasoning.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/schedule/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/schedule/keepalive.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/schedule/scheduler.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/continuation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/deletion.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/index.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/legacy_goal_decoder.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/models.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/thread_goal_store.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/sessions/transcript.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/aggregation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/UPSTREAM_SOURCES.json +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/frontend-design/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/frontend-design/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/reference/evaluation.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/reference/mcp_best_practices.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/reference/node_mcp_server.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/reference/python_mcp_server.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/scripts/connections.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/scripts/evaluation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/scripts/example_evaluation.xml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/mcp-builder/scripts/requirements.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/review-agent/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/review-agent/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/review-agent/agents/openai.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/agents/openai.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/golang-general-backend-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-express-web-server-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-general-web-frontend-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-jquery-web-frontend-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-typescript-nextjs-web-server-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-typescript-react-web-frontend-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/javascript-typescript-vue-web-frontend-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/python-django-web-server-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/python-fastapi-web-server-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-best-practices/references/python-flask-web-server-security.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/agents/openai.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/references/neo4j-import.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/scripts/build_ownership_map.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/scripts/community_maintainers.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/scripts/query_ownership.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-ownership-map/scripts/run_ownership_map.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-threat-model/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-threat-model/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-threat-model/agents/openai.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-threat-model/references/prompt-template.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/security-threat-model/references/security-controls-and-assets.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/agents/openai.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/references/openai_yaml.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/scripts/generate_openai_yaml.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/scripts/init_skill.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/skill-creator/scripts/quick_validate.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/LICENSE.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/SKILL.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/examples/console_logging.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/examples/element_discovery.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/examples/static_html_automation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin/webapp-testing/scripts/with_server.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/builtin_registry.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/capabilities.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/catalog.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/config.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/host.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/management.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/metadata.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/models.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/monitor.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/prompting.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/provider.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/resources.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/roots.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/skills/runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/team/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/core/verification.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode_hku.egg-info/dependency_links.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode_hku.egg-info/entry_points.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/deepcode_hku.egg-info/top_level.txt +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/README.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/dataset.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/evaluate.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/instance.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/predict.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/report.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/eval/swebench/run.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/prompts/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/prompts/code_prompts.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/schema/mcp-agent.config.schema.json +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/setup.cfg +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_agent_presets.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_agent_runner_kernel.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_agent_session.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_apply_patch.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_autodream.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_automation_foreground.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_cli_logging_bootstrap.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_code_implementation_workspace.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_code_indexer_concurrent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_code_indexer_output.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_code_mode.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_collaboration.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_command_executor_native_fence.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_compaction_memory.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_compaction_retry_memo.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_config_errors.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_config_layers.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_context_note_sink.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_context_window_overflow.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_diagnostics.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_document_conversion.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_exec_sandbox_wiring.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_external_subagent_backend.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_forge_provider.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_fuzzy_replace.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_git_command_url.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_goal_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_harness_approval.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_harness_permissions.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_harness_sandbox.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_hooks.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_init_config.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_llm_events.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_llm_runtime_connections.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_loop_detector.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_mcp_oauth.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_mcp_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_mcp_runtime_lazy.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_model_catalog_service.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_model_compat.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_native_file_tools.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_openspace_recipe.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_parts.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_pdf_downloader_security.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_plan_tool.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_platform_compat.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_plugin_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_plugins.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_private_storage.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_private_storage_windows.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_provider_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_provider_timeouts.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_reasoning.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_reasoning_capabilities.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_reasoning_catalog_alignment.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_repeat_call_reminder.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_requesty_provider.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_schedule.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_compaction.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_end_lifecycle.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_run_lease.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_session_transcript.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skill_capabilities.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skill_cli.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skill_host.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skill_provider.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skills.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_skills_product.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_snapshot.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_spawn_agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_subagent_composition.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_subagent_conversation.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_subagent_late_result.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_swebench_harness.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_thinking_requires_capable_model.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_token_meter.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_token_meter_wiring.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tool_call_timeout.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tool_description_quality.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tool_result_pruner.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_tui_domain_events.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_turn_projection.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_turn_queue.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_unified_impl_workflow.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_user_input_tool.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_verification.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_version_metadata.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_web_tools.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_workflow_compatibility.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_workflow_interactions.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tests/test_zhipu_thinking_wire.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/code_implementation_server.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/code_indexer.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/code_reference_indexer.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/document_conversion.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/document_segmentation_server.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/git_command.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/indexer_config.yaml +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/pdf_converter.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/pdf_downloader.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/pdf_downloader_server.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/tools/pdf_utils.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/utils/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/utils/file_processor.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/utils/llm_utils.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/utils/loop_detector.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/uv.lock +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agent_orchestration_engine.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agents/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agents/code_implementation_agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agents/document_segmentation_agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agents/memory_agent_concise.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/agents/requirement_analysis_agent.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/codebase_index_workflow.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/environment.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/USAGE.md +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/__init__.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/base.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/integration.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/plan_review.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/interactions/requirement_analysis.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/plan_review_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/workflows/planning_runtime.py +0 -0
- {deepcode_hku-2.2.0 → deepcode_hku-2.3.1}/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.
|
|
3
|
+
Version: 2.3.1
|
|
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
|
|
@@ -37,15 +37,17 @@ Requires-Dist: openapi
|
|
|
37
37
|
Requires-Dist: pathlib2
|
|
38
38
|
Requires-Dist: prompt_toolkit>=3.0.0
|
|
39
39
|
Requires-Dist: pydantic-settings>=2.14.2
|
|
40
|
-
Requires-Dist: pypdf>=6.
|
|
40
|
+
Requires-Dist: pypdf>=6.19.0
|
|
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
|
|
47
48
|
Requires-Dist: pytest<10,>=8; extra == "test"
|
|
48
49
|
Requires-Dist: pytest-asyncio<2,>=1; extra == "test"
|
|
50
|
+
Requires-Dist: pyte<0.9,>=0.8.2; extra == "test"
|
|
49
51
|
Dynamic: author
|
|
50
52
|
Dynamic: classifier
|
|
51
53
|
Dynamic: description
|
|
@@ -139,11 +141,10 @@ Dynamic: summary
|
|
|
139
141
|
*Work with DeepCode in a visual workspace for Sessions, goals, tool activity, code changes, and verification.*
|
|
140
142
|
</div>
|
|
141
143
|
|
|
142
|
-
DeepCode
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
[`Desktop source guide`](desktop/README.md) to run the application locally.
|
|
144
|
+
DeepCode provides TUI, Desktop, and Web clients over one shared local service.
|
|
145
|
+
They share Projects, Session history, models, Skills, permissions, Goals, and
|
|
146
|
+
Automations. Use `deepcode`, `deepcode desktop`, or `deepcode web`; see
|
|
147
|
+
[Quick start](#quick-start) for installation and your first task.
|
|
147
148
|
|
|
148
149
|
---
|
|
149
150
|
|
|
@@ -194,6 +195,14 @@ Skills, permissions, Goals, and Automations. See the
|
|
|
194
195
|
- [Automate repeatable engineering work](#automate-repeatable-engineering-work)
|
|
195
196
|
- [Paper2Code](#paper2code)
|
|
196
197
|
- [⚡ Quick start](#quick-start)
|
|
198
|
+
- [Launch commands at a glance](#launch-commands-at-a-glance)
|
|
199
|
+
- [Install the runtime](#install-the-runtime)
|
|
200
|
+
- [Configure a model](#configure-a-model)
|
|
201
|
+
- [Start the TUI](#start-the-tui)
|
|
202
|
+
- [Start Desktop](#start-desktop)
|
|
203
|
+
- [Start Web](#start-web)
|
|
204
|
+
- [Complete your first task](#complete-your-first-task)
|
|
205
|
+
- [Manage the shared background service](#manage-the-shared-background-service)
|
|
197
206
|
- [🧭 Using DeepCode](#using-deepcode)
|
|
198
207
|
- [⚙️ Headless and automation](docs/HEADLESS_AND_AUTOMATION.md)
|
|
199
208
|
- [🔬 Paper2Code](#paper2code-1)
|
|
@@ -212,6 +221,100 @@ Skills, permissions, Goals, and Automations. See the
|
|
|
212
221
|
|
|
213
222
|
## News
|
|
214
223
|
|
|
224
|
+
**2026-10-12 · DeepCode v2.3.1: Markdown answers in the TUI, a Windows service that stays up, `/compact` for coding sessions, and community fixes**
|
|
225
|
+
|
|
226
|
+
- **Answers render as Markdown while they stream.** Headings, lists, bold
|
|
227
|
+
text and tables are formatted as each line completes; code blocks are not
|
|
228
|
+
indented or wrapped by DeepCode, links show their address, and the line
|
|
229
|
+
still being written is previewed above the status line. `/raw` prints
|
|
230
|
+
answers exactly as written, for copying. The reasoning card now comes
|
|
231
|
+
before the answer, and `Ctrl+O` mid-answer no longer repeats or drops
|
|
232
|
+
lines. See [The terminal UI](docs/guide/the-tui.md).
|
|
233
|
+
- **The Windows service stays up.** On a Windows install in a virtual
|
|
234
|
+
environment, the background service no longer stops right after it starts,
|
|
235
|
+
whether the TUI, `deepcode service start`, or `deepcode web` launched it.
|
|
236
|
+
- **`/compact` handles coding sessions.** Tool-call arguments, such as the file
|
|
237
|
+
a `write_file` call carries, now count when compaction picks what to keep and
|
|
238
|
+
checks that the summary is smaller. Sessions that wrote large files compact
|
|
239
|
+
instead of being refused, and the report shows the characters actually
|
|
240
|
+
replaced. (#258)
|
|
241
|
+
- **Community fixes.** Diff lines that contain a Unicode line separator or a
|
|
242
|
+
form feed stay whole (#253); web fetch refuses private addresses tunnelled
|
|
243
|
+
through NAT64 or IPv4-compatible IPv6 (#254); the destructive-command screen
|
|
244
|
+
also catches absolute paths such as `/bin/rm -rf /` (#255); and `glob` finds
|
|
245
|
+
files when the project sits under a directory named `build` or `venv` (#256).
|
|
246
|
+
- **Security updates.** pypdf, PyJWT, urllib3, and multidict move to patched
|
|
247
|
+
releases.
|
|
248
|
+
|
|
249
|
+
**2026-10-10 · A steadier terminal UI: answers shown once, keys that keep your draft, and an orderly `/compact`**
|
|
250
|
+
|
|
251
|
+
- **Answers appear once.** The TUI no longer prints an answer a second time
|
|
252
|
+
when it finishes, and a stopped answer keeps the text already shown, in every
|
|
253
|
+
client.
|
|
254
|
+
- **Keys that keep your draft.** `Esc` interrupts only from an empty prompt and
|
|
255
|
+
otherwise closes a completion menu; `Ctrl+C` first clears what you are
|
|
256
|
+
typing. Stopping a command no longer closes the TUI. See
|
|
257
|
+
[The terminal UI](docs/guide/the-tui.md).
|
|
258
|
+
- **Calm when the service is slow.** Typing, completion, and `Ctrl+C` stay
|
|
259
|
+
responsive while the background service is busy; a slow answer is reported
|
|
260
|
+
instead of retried three times, and `/reconnect` brings your conversation
|
|
261
|
+
back after a restart.
|
|
262
|
+
- **`/compact` waits its turn.** A message sent during compaction waits for the
|
|
263
|
+
summary, the next reply no longer starts with a failed request, and a refusal
|
|
264
|
+
says why instead of "internal error". See [Sessions](docs/guide/sessions.md).
|
|
265
|
+
- **Current settings, safer Goals.** Default model and access changes show up
|
|
266
|
+
in the TUI, `/new` follows your defaults, and `/goal clear out …` sets a new
|
|
267
|
+
objective instead of clearing the Goal.
|
|
268
|
+
|
|
269
|
+
**2026-09-28 · DeepCode v2.3.0: voice dictation, Opper and Bedrock, Desktop polish, and opt-in hardening**
|
|
270
|
+
|
|
271
|
+
- **Dictate your prompt.** Add a `dictation` block to your config and the
|
|
272
|
+
Desktop and Web composer gains a microphone. See
|
|
273
|
+
[Voice dictation](docs/guide/dictation.md). (#240)
|
|
274
|
+
- **More providers and models.** Opper and Amazon Bedrock join the provider
|
|
275
|
+
templates, and DeepSeek V4 gets its own 1M context window and pricing.
|
|
276
|
+
(#242, #208, #249)
|
|
277
|
+
- **Desktop polish.** Drag the conversation's edge to resize it, import a
|
|
278
|
+
VS Code color theme, and choose from fonts that are actually installed.
|
|
279
|
+
(#238, #207, #239)
|
|
280
|
+
- **Opt-in hardening.** `providers.egress` limits which hosts receive your
|
|
281
|
+
prompts, `DEEPCODE_COMMAND_SCREEN=strict` screens risky commands,
|
|
282
|
+
`DEEPCODE_BASH_SCRUB_ENV=1` keeps provider keys out of shell commands, and
|
|
283
|
+
`DEEPCODE_KEYRING=1` reads keys from the OS keychain. (#229, #230, #232,
|
|
284
|
+
#246)
|
|
285
|
+
- **Leaner memory and clearer signals.** `MEMORY.md` can be a short index of
|
|
286
|
+
topic files, `mcp list` flags servers worth a second look, and the agent is
|
|
287
|
+
reminded when a call keeps returning the same result. (#233, #241, #247)
|
|
288
|
+
- **Steadier everywhere.** The state database keeps its locks when several
|
|
289
|
+
DeepCode processes share it, and a round of Windows fixes landed. (#210,
|
|
290
|
+
#235, #236, #237)
|
|
291
|
+
|
|
292
|
+
<details>
|
|
293
|
+
<summary><strong>Earlier updates, August to early September 2026</strong></summary>
|
|
294
|
+
|
|
295
|
+
**2026-09-09 · TUI, Desktop, and Web share one local background service**
|
|
296
|
+
|
|
297
|
+
- **Choose your interface.** Run `deepcode` for the TUI, `deepcode desktop`
|
|
298
|
+
for the native app, or `deepcode web` to open the workbench in your browser.
|
|
299
|
+
All three connect to the same local service; Web needs no DeepCode account.
|
|
300
|
+
- **Continue the same task across interfaces.** Closing a client leaves running
|
|
301
|
+
work in the background. Reconnect from another interface to follow the same
|
|
302
|
+
conversation, review tool activity, and respond to approvals. The computer
|
|
303
|
+
must remain awake, and pending approvals still need your response.
|
|
304
|
+
- **Configure and verify your models.** Save cloud or local model connections
|
|
305
|
+
for use across all three interfaces. Browse available models, check a model's
|
|
306
|
+
response, and test streaming and tool calls before using a custom server.
|
|
307
|
+
See [Models and providers](docs/guide/models.md).
|
|
308
|
+
- **Manage your background service and prepare for upgrades.** Use
|
|
309
|
+
`deepcode service` commands to check status, read logs, or stop after current
|
|
310
|
+
work finishes. Create a runtime snapshot before upgrading and restore it when
|
|
311
|
+
needed; keep project files in your usual version control or backup.
|
|
312
|
+
See [Upgrading DeepCode](docs/UPGRADE_AND_RESTORE.md).
|
|
313
|
+
|
|
314
|
+
Start with the updated [Quick start](#quick-start) and
|
|
315
|
+
[first coding task tutorial](docs/guide/getting-started.md).
|
|
316
|
+
([#212](https://github.com/HKUDS/DeepCode/pull/212))
|
|
317
|
+
|
|
215
318
|
**2026-09-06 · DeepCode v2.2.0: Session context-window caps, compaction that leaves a memory, and a fully localized Desktop**
|
|
216
319
|
|
|
217
320
|
- **Cap a Session's context window.** `/context 64k` in the TUI or the
|
|
@@ -391,9 +494,6 @@ Skills, permissions, Goals, and Automations. See the
|
|
|
391
494
|
`/rename`, `/delete`, `/retry`, with tab completion for session ids,
|
|
392
495
|
transcript modes, permission presets, and effort levels.
|
|
393
496
|
|
|
394
|
-
<details>
|
|
395
|
-
<summary><strong>Earlier August 2026 updates</strong></summary>
|
|
396
|
-
|
|
397
497
|
**2026-08-14 · Subagent runtime, compaction, and one-way persistence**
|
|
398
498
|
|
|
399
499
|
- **Delegate to Codex or Claude Code as a subagent.** `spawn_agent` gains
|
|
@@ -665,9 +765,9 @@ you finish real software engineering work more reliably.
|
|
|
665
765
|
|
|
666
766
|
## Core capabilities
|
|
667
767
|
|
|
668
|
-
DeepCode provides a complete local Coding Agent workflow.
|
|
669
|
-
|
|
670
|
-
|
|
768
|
+
DeepCode provides a complete local Coding Agent workflow. TUI, Desktop, and Web
|
|
769
|
+
use the same Agent, Sessions, models, Skills, permissions, and task state through
|
|
770
|
+
the shared local service.
|
|
671
771
|
|
|
672
772
|
<p align="center">
|
|
673
773
|
<img src="assets/readme/verification-loop.png" alt="DeepCode Agent Harness and verification loop" width="1080" />
|
|
@@ -786,7 +886,14 @@ Automation does not launch a separate, reduced Agent. It uses the same
|
|
|
786
886
|
Sessions, models, Skills, permissions, approvals, and recovery behavior, and
|
|
787
887
|
keeps the history of every run.
|
|
788
888
|
|
|
789
|
-
###
|
|
889
|
+
### Shared background service
|
|
890
|
+
|
|
891
|
+
Desktop, Web, TUI, `exec`, `loop`, and MCP task calls use the same local service.
|
|
892
|
+
Starting a client starts the service when needed. Closing a client leaves its
|
|
893
|
+
accepted tasks running; explicitly stop the service to shut down the runtime.
|
|
894
|
+
See [Quick start](#quick-start) for installation and launch commands.
|
|
895
|
+
|
|
896
|
+
## Paper2Code
|
|
790
897
|
|
|
791
898
|
Paper2Code was DeepCode's original research direction and remains its dedicated
|
|
792
899
|
workflow for research reproduction.
|
|
@@ -800,156 +907,188 @@ run, be inspected, and keep improving.
|
|
|
800
907
|
|
|
801
908
|
## Quick start
|
|
802
909
|
|
|
803
|
-
DeepCode
|
|
804
|
-
|
|
910
|
+
Use DeepCode to explore a repository, make changes, and run tests. Choose the
|
|
911
|
+
terminal, desktop app, or browser—your projects and conversations are available
|
|
912
|
+
in all three.
|
|
805
913
|
|
|
806
|
-
|
|
807
|
-
> Python runtime. It does **not** install the Tauri Desktop application.
|
|
914
|
+
### Launch commands at a glance
|
|
808
915
|
|
|
809
|
-
|
|
916
|
+
After installation, open the interface you prefer:
|
|
810
917
|
|
|
811
|
-
|
|
918
|
+
| Interface | Start command |
|
|
919
|
+
|---|---|
|
|
920
|
+
| **TUI** — work in your terminal | `deepcode` |
|
|
921
|
+
| **Desktop** — use a native app | `deepcode desktop` |
|
|
922
|
+
| **Web** — work in your browser | `deepcode web` |
|
|
812
923
|
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
924
|
+
DeepCode starts its local background service automatically. You can close an
|
|
925
|
+
interface and return to your conversation later.
|
|
926
|
+
|
|
927
|
+
### Install the runtime
|
|
816
928
|
|
|
817
|
-
|
|
929
|
+
#### Published package
|
|
930
|
+
|
|
931
|
+
With `uv` installed, run:
|
|
818
932
|
|
|
819
933
|
```console
|
|
820
934
|
uv tool install --python 3.12 deepcode-hku
|
|
821
935
|
deepcode init
|
|
822
936
|
```
|
|
823
937
|
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
938
|
+
On Windows, you can install `uv` with `winget install --id astral-sh.uv --exact`,
|
|
939
|
+
then open a new terminal. DeepCode requires Python 3.12 or later.
|
|
940
|
+
|
|
941
|
+
To use the native app, also install DeepCode Desktop from
|
|
942
|
+
[GitHub Releases](https://github.com/HKUDS/DeepCode/releases). To try changes
|
|
943
|
+
that have not been released yet, install from source below.
|
|
944
|
+
|
|
945
|
+
<details>
|
|
946
|
+
<summary>Install from source</summary>
|
|
947
|
+
|
|
948
|
+
#### Current source checkout
|
|
949
|
+
|
|
950
|
+
You will need Git, `uv`, and Node.js 22 or later. Run these commands in your terminal:
|
|
951
|
+
|
|
952
|
+
```console
|
|
953
|
+
git clone https://github.com/HKUDS/DeepCode.git
|
|
954
|
+
cd DeepCode
|
|
955
|
+
npm --prefix desktop ci
|
|
956
|
+
npm --prefix desktop run build:web
|
|
957
|
+
uv tool install --python 3.12 --force .
|
|
958
|
+
deepcode init
|
|
959
|
+
```
|
|
960
|
+
|
|
961
|
+
If you already have the repository, start in its root directory and skip cloning.
|
|
962
|
+
You can now run `deepcode` from any directory. For source Desktop, also install
|
|
963
|
+
Rust and the platform dependencies described in the [Desktop guide](desktop/README.md).
|
|
964
|
+
|
|
965
|
+
</details>
|
|
966
|
+
|
|
967
|
+
If your terminal cannot find `deepcode`, run `uv tool update-shell` and open a
|
|
968
|
+
new terminal.
|
|
828
969
|
|
|
829
|
-
|
|
970
|
+
### Configure a model
|
|
971
|
+
|
|
972
|
+
Choose either the graphical setup or the terminal commands below.
|
|
973
|
+
|
|
974
|
+
**In Desktop or Web:** open **Settings → AI providers**, select **Add provider**,
|
|
975
|
+
and enter your provider's API key. Click **Save and check** to load its models.
|
|
976
|
+
Under **Agent model**, choose a model and click **Save and verify model** to try
|
|
977
|
+
a short request. Then choose the connection and model in your conversation's
|
|
978
|
+
message box.
|
|
979
|
+
|
|
980
|
+
<div align="center">
|
|
981
|
+
<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;"/>
|
|
982
|
+
</div>
|
|
983
|
+
|
|
984
|
+
**In your terminal:** this example connects to OpenRouter. Enter your API key
|
|
985
|
+
when prompted; it will not be displayed as you type.
|
|
830
986
|
|
|
831
987
|
```console
|
|
832
|
-
deepcode provider set
|
|
833
|
-
deepcode provider models
|
|
834
|
-
deepcode provider test personal-openrouter --model <model-id>
|
|
988
|
+
deepcode provider set my-openrouter --template openrouter --api-key
|
|
989
|
+
deepcode provider models my-openrouter --refresh
|
|
835
990
|
```
|
|
836
991
|
|
|
837
|
-
|
|
838
|
-
|
|
992
|
+
Choose a model from the list. Replace `MODEL_ID` below with its exact ID and
|
|
993
|
+
send a short test request:
|
|
839
994
|
|
|
840
995
|
```console
|
|
841
|
-
|
|
842
|
-
deepcode
|
|
996
|
+
deepcode provider test my-openrouter --model MODEL_ID
|
|
843
997
|
```
|
|
844
998
|
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
to Session history. `pipx install deepcode-hku` and `pip install deepcode-hku`
|
|
848
|
-
are also supported in an appropriate Python 3.12+ environment.
|
|
999
|
+
You can use the same connection in all three interfaces. For other providers,
|
|
1000
|
+
local models, and tool-calling checks, see [Models and providers](docs/guide/models.md).
|
|
849
1001
|
|
|
850
|
-
###
|
|
1002
|
+
### Start the TUI
|
|
851
1003
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
below.
|
|
1004
|
+
Open a terminal in the project you want to work on. On your first visit, use
|
|
1005
|
+
`--trust` to allow DeepCode to work in that folder. With the connection configured
|
|
1006
|
+
above:
|
|
856
1007
|
|
|
857
|
-
|
|
1008
|
+
```console
|
|
1009
|
+
cd /path/to/your-project
|
|
1010
|
+
deepcode --trust --connection my-openrouter --model MODEL_ID
|
|
1011
|
+
```
|
|
858
1012
|
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
1013
|
+
Replace the path with your project directory; on Windows, for example,
|
|
1014
|
+
`C:\projects\my-app`. For later visits, run `deepcode` in that directory and use
|
|
1015
|
+
`/model` to choose your connection and model. Use `/help` to see available commands.
|
|
862
1016
|
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
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
|
|
1017
|
+
### Start Desktop
|
|
1018
|
+
|
|
1019
|
+
```console
|
|
1020
|
+
deepcode desktop
|
|
878
1021
|
```
|
|
879
1022
|
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
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"
|
|
1023
|
+
Add your project folder, confirm that you trust it, and click **New thread**.
|
|
1024
|
+
Choose a model in the message box, then describe what you want to do.
|
|
1025
|
+
|
|
1026
|
+
If you installed from source, this command opens the development app. Its first
|
|
1027
|
+
launch may take longer while dependencies are prepared; keep the terminal open
|
|
1028
|
+
while you use it. See the [Desktop guide](desktop/README.md) for platform setup
|
|
1029
|
+
and custom installation paths.
|
|
1030
|
+
|
|
1031
|
+
### Start Web
|
|
1032
|
+
|
|
1033
|
+
```console
|
|
1034
|
+
deepcode web
|
|
899
1035
|
```
|
|
900
1036
|
|
|
901
|
-
|
|
1037
|
+
DeepCode opens a browser tab. Add your project folder on this computer, confirm
|
|
1038
|
+
that you trust it, and create a thread. Select a model and send your first message.
|
|
1039
|
+
No DeepCode account is needed.
|
|
1040
|
+
|
|
1041
|
+
To copy the access link and open it yourself, use `deepcode web --no-open`.
|
|
1042
|
+
Open the link within 60 seconds. If it expires or the page asks you to sign in
|
|
1043
|
+
again, run `deepcode web` to get a fresh link.
|
|
1044
|
+
|
|
1045
|
+
### Complete your first task
|
|
902
1046
|
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
rustc --version
|
|
909
|
-
cargo --version
|
|
1047
|
+
Start by asking DeepCode to help you understand your project:
|
|
1048
|
+
|
|
1049
|
+
```text
|
|
1050
|
+
Explain how this project is organized and how to run its tests.
|
|
1051
|
+
Do not change any files yet.
|
|
910
1052
|
```
|
|
911
1053
|
|
|
912
|
-
|
|
1054
|
+
Then ask for a small change, describing the behavior you want and how to check it:
|
|
913
1055
|
|
|
914
|
-
```
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
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
|
|
1056
|
+
```text
|
|
1057
|
+
Add tests for the configuration loader's handling of missing and invalid
|
|
1058
|
+
values. Follow the existing test style, run the relevant tests, and summarize
|
|
1059
|
+
the changes and results.
|
|
926
1060
|
```
|
|
927
1061
|
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
1062
|
+
Adapt the task to your repository. Follow the tool activity as DeepCode works,
|
|
1063
|
+
respond to any approval requests, and review the changed files and test output.
|
|
1064
|
+
You can send a follow-up message to adjust the task, or use the stop button
|
|
1065
|
+
(`/stop` in the TUI) to interrupt it.
|
|
931
1066
|
|
|
932
|
-
|
|
1067
|
+
Your conversation is saved automatically. In Desktop/Web, select it from the
|
|
1068
|
+
project's thread list. In the TUI, use `/resume` to pick a saved conversation.
|
|
1069
|
+
You can switch interfaces and continue the same task.
|
|
933
1070
|
|
|
934
|
-
|
|
1071
|
+
For a complete exercise in a new folder, follow
|
|
1072
|
+
[Your first coding task](docs/guide/getting-started.md). It takes you through
|
|
1073
|
+
creating a Python function, testing it, and returning to the conversation later.
|
|
935
1074
|
|
|
936
|
-
|
|
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;"/>
|
|
1075
|
+
### Manage the shared background service
|
|
938
1076
|
|
|
939
|
-
|
|
940
|
-
|
|
1077
|
+
Closing an interface leaves running tasks in the background. Pending approvals
|
|
1078
|
+
still need your response, and the computer must remain awake for work to continue.
|
|
1079
|
+
|
|
1080
|
+
Most days, you can just launch your preferred interface. When you need to inspect
|
|
1081
|
+
or stop the background service, use the command for that action:
|
|
941
1082
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
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.
|
|
1083
|
+
| What you want to do | Command |
|
|
1084
|
+
|---|---|
|
|
1085
|
+
| Check whether DeepCode is running | `deepcode service status` |
|
|
1086
|
+
| Read recent logs | `deepcode service logs --lines 100` |
|
|
1087
|
+
| Stop after current work finishes | `deepcode service stop --drain --timeout 60` |
|
|
1088
|
+
| Start automatically after signing into your computer | `deepcode service install --at-login` |
|
|
950
1089
|
|
|
951
|
-
|
|
952
|
-
|
|
1090
|
+
For updates and backups, follow [Upgrading DeepCode](docs/UPGRADE_AND_RESTORE.md).
|
|
1091
|
+
If something does not work, start with [Troubleshooting](docs/guide/troubleshooting.md).
|
|
953
1092
|
|
|
954
1093
|
## Using DeepCode
|
|
955
1094
|
|
|
@@ -961,10 +1100,10 @@ skills and memory, and headless automation — with worked examples.
|
|
|
961
1100
|
|
|
962
1101
|
Every task lives in a durable Session attached to its original Project. Open a
|
|
963
1102
|
Project in Desktop or start `deepcode` from its directory, then create a new
|
|
964
|
-
Session or resume an existing one. The same history
|
|
965
|
-
and
|
|
1103
|
+
Session or resume an existing one. The same history is available in TUI,
|
|
1104
|
+
Desktop, and Web without export or conversion.
|
|
966
1105
|
|
|
967
|
-
| What you want to do | Desktop | Interactive CLI |
|
|
1106
|
+
| What you want to do | Desktop / Web | Interactive CLI |
|
|
968
1107
|
|---|---|---|
|
|
969
1108
|
| Start a Session | **New thread** | `/new [title]` |
|
|
970
1109
|
| Resume local history | Select it under the Project | `/resume` |
|
|
@@ -985,9 +1124,11 @@ and CLI without export or conversion.
|
|
|
985
1124
|
| Rename or delete a Session | Session context menu | `/rename <title>` · `/delete <id>` |
|
|
986
1125
|
|
|
987
1126
|
Session history, tool activity, approvals, Goal state, and verification evidence
|
|
988
|
-
remain together.
|
|
989
|
-
|
|
990
|
-
|
|
1127
|
+
remain together. TUI, Desktop, and Web can observe the same Session while the
|
|
1128
|
+
shared service serializes its execution. Normal input during a Turn steers the
|
|
1129
|
+
active work; explicit queueing requests a subsequent Turn. The interface reports
|
|
1130
|
+
how the input was accepted. Closing a client leaves accepted work running.
|
|
1131
|
+
Archiving hides a Session without deleting its history;
|
|
991
1132
|
permanent deletion removes the Session records but never repository files.
|
|
992
1133
|
|
|
993
1134
|
### Connections and models
|
|
@@ -1308,6 +1449,9 @@ On Windows PowerShell, activate with `.\.venv\Scripts\Activate.ps1`.
|
|
|
1308
1449
|
|
|
1309
1450
|
### Verification
|
|
1310
1451
|
|
|
1452
|
+
To reproduce CI's Python environment and understand each check, see the
|
|
1453
|
+
[CI guide](docs/CI.md).
|
|
1454
|
+
|
|
1311
1455
|
```bash
|
|
1312
1456
|
uvx pre-commit run --all-files
|
|
1313
1457
|
python -m compileall -q app_server cli core tools workflows
|