mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-07-09 17:19:02 +00:00
* feat(acp): support /cd command in ACP sessions Implements the server-side /cd command for ACP multi-session architecture: - Infrastructure: ext-method constant, bridge types, CdWhilePromptActiveError - Core: skipProcessChdir option in Config.relocateWorkingDirectory() - ACP child handler: trust check, fs validation, sandbox guard - Bridge: promptQueue-serialized changeSessionCwd with event publishing - HTTP route: POST /session/:id/cd with error-to-status mapping - directory_not_found → 400 - directory_not_trusted → 403 - restrictive_sandbox → 403 - session_busy (CdWhilePromptActiveError) → 409 SDK client wrappers and capability registration are deferred to a follow-up PR once the server-side implementation is validated end-to-end. Closes #5677 * qwen: address PR review feedback (#5903) - [Critical] Thread skipProcessChdir through prepareSessionArtifactMigration to prevent corrupting shared daemon process.cwd() on rollback in ACP mode - [Suggestion] Raise cd timeout to Math.max(initTimeoutMs, 30_000) for large-project fs ops and memory refresh - [Suggestion] Move errorKind-to-HTTP mapping (restrictive_sandbox, directory_not_found, directory_not_trusted) into sendBridgeErrorImpl; cd route catch block now matches /branch and /fork pattern * fix(acp): address review feedback on /cd implementation (#5903) Critical fixes: - Do not overwrite entry.workspaceCwd — session stays listed under the daemon's bound workspace; logical cwd lives in agent Config only - Queue tail tied to raw extMethod settlement, not timeout — subsequent prompts cannot run against unknown cwd state after caller timeout - Add realpath equality check for skipProcessChdir path to guard against TOCTOU symlink swaps between trust check and state update - Skip artifact migration for ACP /cd (skipArtifactMigration option) — storage stays at bound workspace so branch/load/lifecycle remain consistent Suggestions addressed: - Add response shape validation for extMethod result - Rename CdWhilePromptActiveError HTTP code from 'session_busy' to 'cd_while_prompt_active' (avoids collision with SessionBusyError) - Add null-byte path validation in ACP sessionCd handler - Add operator logging on successful cwd change (warnings included) * chore: revert unrelated cua-driver formatting, add to .prettierignore Reverts 23 cua-driver files that picked up Prettier formatting noise during merge conflict resolution. Adds packages/cua-driver/ to .prettierignore since it's a vendored package whose content should not be auto-formatted by local hooks. --------- Co-authored-by: qwen-code-dev-bot <qwen-code-dev-bot@users.noreply.github.com>
26 lines
466 B
Text
26 lines
466 B
Text
**/bundle
|
|
**/coverage
|
|
**/dist
|
|
**/.git
|
|
**/node_modules
|
|
.docker
|
|
.DS_Store
|
|
.env
|
|
.gemini/
|
|
.idea
|
|
.integration-tests/
|
|
*.iml
|
|
*.tsbuildinfo
|
|
*.vsix
|
|
bower_components
|
|
# Generated by scripts/generate-changelog.js — do not hand-format.
|
|
CHANGELOG.md
|
|
eslint.config.js
|
|
**/generated
|
|
gha-creds-*.json
|
|
junit.xml
|
|
Thumbs.db
|
|
packages/vscode-ide-companion/schemas/settings.schema.json
|
|
packages/cli/src/services/insight/templates/insightTemplate.ts
|
|
packages/cua-driver/
|
|
packages/desktop/
|