qwen-code/.prettierignore
jinye fa8b2ad87a
feat(acp): support /cd command in ACP sessions (#5903)
* 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>
2026-06-27 14:47:40 +00:00

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/