* feat(vscode-companion): support /export session command
* fix(vscode-ide-companion/webview): prefer ACP session id for export
* feat(vscode-ide-companion): support /export slash command
Add nested /export completion and ACP command availability for the VS Code companion.
Reuse the shared export flow, write to the default path, and show clickable export results in chat.
* fix(export): align slash command messaging
Restore the CLI export description to the existing wording.
Keep the VS Code companion error message consistent with the required /export subcommands.
* fix(webui): support explicit markdown file links
Handle local markdown file links in assistant messages even when automatic file-link detection is disabled.
Normalize encoded paths and line fragments so exported files can be opened from the VS Code webview.
* test(vscode-ide-companion): make export path assertion cross-platform
* fix(vscode-ide-companion): use public session export entrypoint
* fix(cli): replay standalone ESC after early capture
* fix(vscode-ide-companion): resolve rebase artifacts and vitest export alias
Remove duplicate AvailableCommand import caused by merge, and add
vitest resolve alias for @qwen-code/qwen-code/export so the session
export service tests can resolve the CLI export module from source.
* fix(cli): fix getAvailableCommands test mock to use getCommandsForMode
The test mock was only setting up getCommands but getAvailableCommands
calls getCommandsForMode. Add getCommandsForMode to the mock and set up
test data on it instead.
* fix(vscode-ide-companion): fix export file link click and add save dialog
- Fix file:/// URI handling in MarkdownRenderer: normalizeExplicitFileLink
now strips the file:// scheme before checking isAbsolutePath, so exported
file links are properly recognized and clickable
- Replace direct cwd file write with vscode.window.showSaveDialog() so
users can choose the export destination and filename
- Handle cancelled save dialog gracefully (return null, skip success message)
* fix(webui): scope file link handler to file:// URIs only, fix # in filenames
- normalizeExplicitFileLink now returns early for file:// URIs without
splitting on #, since vscode.Uri.file() encodes # as %23 in the path.
This prevents filenames containing # from being truncated after decode.
- Explicit-link click handler now only fires for file:// URI hrefs,
not arbitrary relative paths. This prevents model-generated markdown
links from bypassing enableFileLinks=false and opening arbitrary files.
- Remove unused KNOWN_FILE_EXTENSIONS constant.
* fix(vscode-ide-companion): update export tests for save dialog, fix stale JSDoc
- Add showSaveDialog mock to sessionExportService.test.ts
- Update existing test to verify save dialog is called with correct args
- Add test for cancelled save dialog returning null
- Fix JSDoc that incorrectly claimed fallback-to-cwd behavior
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Upgrade all package versions from 0.14.5 to 0.15.0 across the monorepo, including package-lock.json and sandbox image references.
* refactor: merge test-utils package into core
Consolidate the standalone @qwen-code/qwen-code-test-utils package
into packages/core/src/test-utils/, eliminating the need for a
separate package that only provided createTmpDir, cleanupTmpDir,
and FileSystemStructure type.
Changes:
- Move file-system-test-helpers.ts into core/src/test-utils/
- Re-export from core's test-utils index
- Update 3 core test files to use relative imports
- Update cli useAtCompletion test to import from @qwen-code/qwen-code-core
- Remove test-utils devDependency from core and cli package.json
- Delete packages/test-utils/ directory
All affected tests pass (fileSearch, crawler, ignore, useAtCompletion).
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* fix: remove deleted test-utils from build order
The test-utils package was merged into core but the build script still
tried to build it separately, causing CI failures.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
---------
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The previous version bump commit (bb4376c) only updated the root
package.json but did not run `npm run release:version` to propagate
the version and sandboxImageUri to all workspace packages.
This caused Docker sandbox integration tests to fail in CI with
"manifest unknown" because build_sandbox.js built image 0.14.1
(from packages/cli/package.json) while sandboxConfig.ts expected
image 0.14.2 (from root package.json).
Fixes: https://github.com/QwenLM/qwen-code/actions/runs/24135197272/job/70424966323
- Update all packages from 0.13.x to 0.14.0
- Update sandbox image URI to 0.14.0
This prepares the 0.14.0 release with updated version numbers
across all workspace packages.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add @qwen-code/channel-dingtalk package with stream-based bot integration
- Support clientId/clientSecret authentication for DingTalk
- Add message deduplication and group chat mention handling
- Update ChannelConfig type to include dingtalk channel type
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Implements the channels infrastructure for connecting external messaging
platforms to Qwen Code via ACP. Phase 1 supports plain text round-trip:
Telegram user sends message -> AcpBridge -> qwen-code --acp -> response
back to Telegram.
New packages:
- @qwen-code/channel-base: AcpBridge, SessionRouter, SenderGate, ChannelBase
- @qwen-code/channel-telegram: TelegramAdapter using telegraf
CLI: `qwen channel start <name>` reads from settings.json channels config,
spawns ACP agent, connects to Telegram via polling.
- Remove acp.ts and schema.ts in favor of SDK types
- Refactor acpAgent.ts to leverage SDK client
- Update session management types and implementations
- Adjust all test cases for new SDK-based architecture
- Update integration tests and export utilities
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Moves export-html and insight templates from cli/assets to a new
dedicated web-templates package. Updates Dockerfile and build scripts
to use consolidated bundle/prepare:package/pack workflow.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>