Commit graph

3801 commits

Author SHA1 Message Date
mingholy.lmh
ccecc472dc feat(export): refactor HTML export components and improve metadata
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:39 +08:00
mingholy.lmh
d59e668729 feat(export): add metadata and statistics to export data
- Add ExportMetadata type with session info, token stats, file operation stats
- Track response_id from LLM API for telemetry correlation
- Collect usageMetadata from assistant messages
- Calculate file stats (files read/written, lines added/removed)
- Calculate token stats (total tokens, context usage percentage)
- Add metadata sidebar to HTML export template
- Support metadata in JSONL and Markdown formatters
- Update chatRecordingService to record response_id

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-19 14:10:38 +08:00
DennisYu07
b5186d3c8a improve to change extension path instead of tmp path and fix shell multiple input 2026-03-19 12:02:54 +08:00
沐目
a6e8aec7f4 fix: destroy both stdin and stdout on shutdown, guard against duplicate signals
- Close stdout in addition to stdin to prevent hanging writes during shutdown
- Add shuttingDown guard to ensure cleanup runs only once

Made-with: Cursor
2026-03-19 11:53:13 +08:00
LaZzyMan
598c438dde Merge branch 'main' into feat/support-permission 2026-03-19 11:52:24 +08:00
LaZzyMan
98d8364b7e fix merge problem 2026-03-19 11:50:37 +08:00
zach
e975e4f416 Preserve modalities in OpenAI logging request conversion 2026-03-19 11:50:06 +08:00
沐目
2e6ab6562b fix: handle SIGTERM/SIGINT in ACP mode for graceful shutdown (#1884)
The ACP process was ignoring SIGTERM because signal handlers registered
elsewhere in the CLI startup path (e.g., stdin raw mode restoration)
override Node.js's default exit behavior. This caused the process to
remain alive after the IDE sends SIGTERM, leading to zombie connections
and exit code 143 errors in JetBrains IntelliJ IDEA.

Add explicit SIGTERM/SIGINT handlers in runAcpAgent() that destroy
stdin, which closes the ndjson stream and resolves connection.closed,
allowing the process to exit gracefully.

Made-with: Cursor
2026-03-19 11:46:57 +08:00
LaZzyMan
f9d9a985ce Merge branch 'main' into feat/support-permission 2026-03-19 11:24:30 +08:00
沐目
692e063cd7 fix: address PR review feedback
- Add exitCode fallback in startup failure message to handle edge case
  where exit event hasn't fired yet
- Add guard check in exit handler to avoid redundant cleanup if
  disconnect() already ran
- Add JSDoc for onDisconnected callback
- Add comment explaining exit code 143 (SIGTERM) in test

Made-with: Cursor
2026-03-19 11:07:29 +08:00
LaZzyMan
4b67e60e63 fix lint 2026-03-19 10:47:30 +08:00
LaZzyMan
ee5e3026c3 Merge branch 'main' into feat/claw-skill 2026-03-19 10:42:48 +08:00
沐目
f231830b9f fix: improve ACP exit diagnostics and add onDisconnected callback
- Record lastExitCode/lastExitSignal for better error messages on startup failure
- Reset exit info on reconnect to avoid stale data
- Add onDisconnected callback so upper layers can react to process exit
- Add clarifying comment on ensureConnection defense-in-depth checks
- Expand tests: onDisconnected contract, disconnect kill verification, exit info init

Made-with: Cursor
2026-03-19 10:41:35 +08:00
沐目
75b94b63eb fix: clean up ACP connection state when child process exits (#1780)
When the ACP child process exits unexpectedly (e.g., user cancels execution),
the connection state (sdkConnection, sessionId, child) was not being cleaned up.
This caused subsequent message sends to fail with cryptic errors instead of
a clear "Not connected" message.

Changes:
- Clear sdkConnection/sessionId/child in the exit handler
- Check child.exitCode in isConnected to detect spontaneous exits
- Add isConnected check to ensureConnection as defense-in-depth
- Add unit tests for isConnected, ensureConnection, and disconnect cleanup

Made-with: Cursor
2026-03-19 10:37:52 +08:00
顾盼
fda4e85503
Merge pull request #2202 from QwenLM/feature/support-agents-directory-skills
feat: support skills in .agents directory and other provider directories
2026-03-19 10:36:43 +08:00
qqqys
200a29832e fix(test): fix loadingindicator test case 2026-03-19 10:09:16 +08:00
pomelo
06bee05cc4
Merge pull request #1835 from QwenLM/feat/context-usage
Some checks failed
Qwen Code CI / Lint (push) Failing after 6s
Qwen Code CI / Test (push) Has been skipped
Qwen Code CI / Test-8 (push) Has been skipped
Qwen Code CI / CodeQL (push) Failing after 3s
Qwen Code CI / Test-1 (push) Has been skipped
Qwen Code CI / Test-2 (push) Has been skipped
Qwen Code CI / Test-3 (push) Has been skipped
Qwen Code CI / Test-4 (push) Has been skipped
Qwen Code CI / Test-5 (push) Has been skipped
Qwen Code CI / Test-6 (push) Has been skipped
Qwen Code CI / Test-7 (push) Has been skipped
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Failing after 3s
E2E Tests / E2E Test (Linux) - sandbox:none (push) Failing after 3s
Qwen Code CI / Post Coverage Comment (push) Has been skipped
E2E Tests / E2E Test - macOS (push) Has been cancelled
feat: add /context command to display context window token usage breakdown
2026-03-18 21:58:15 +08:00
qqqys
de0f09c459
Merge pull request #2457 from qqqys/fix/vscode_file_path
fix(vscode-ide-companion): update URI handling for Windows paths
2026-03-18 21:45:41 +08:00
易良
ef640ba698
feat(vscode-ide-companion): add Tab key fill-only behavior for completions (#2431)
* feat(vscode-ide-companion): add Tab key fill-only behavior for completions

- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands

* feat(vscode-ide-companion): add Tab key fill-only behavior for completions

- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands

Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>

* feat: add command selection behavior logic and tests

Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>

* feat(vscode-ide-companion): add Tab key completion fill behavior with tests

- Add onCompletionFill prop to InputForm for Tab key handling
- Distinguish Tab (fill) and Enter (select) completion behaviors
- Add keyboard handling tests for completion items
- Remove 'skills' command from non-interactive CLI allowed list

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

* refactor: add itemId variable for command handling in App component

Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>

* refactor: remove unused command selection behavior utils and tests

---------

Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 21:45:11 +08:00
qqqys
28148d36c3
Merge pull request #2445 from qqqys/feat/token_display
feat(ui): Display token usage in the loading/progress indicator
2026-03-18 21:44:20 +08:00
qqqys
27f4a3ee3d
Merge pull request #2437 from qqqys/feat/vsocde_file_search
refactor: Refactors the VS Code file completion system to use fuzzy search
2026-03-18 21:43:21 +08:00
qqqys
b66b390d55
Merge branch 'main' into feat/token_display 2026-03-18 21:40:16 +08:00
pomelo-nwu
bb99755b21 fix: resolve TypeScript errors in geminiChat and HistoryItemDisplay
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 21:34:51 +08:00
pomelo-nwu
8a03c0261b fix(i18n): add missing translation keys for /context command
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 21:26:29 +08:00
pomelo
254748e69c
Merge branch 'main' into feat/context-usage 2026-03-18 21:10:48 +08:00
LaZzyMan
0d8f352aec fix ci test 2026-03-18 20:10:31 +08:00
LaZzyMan
919265d7e8 Merge branch 'main' into feature/support-agents-directory-skills 2026-03-18 20:01:12 +08:00
LaZzyMan
620807b1ee fix: code-plan to coding-plan 2026-03-18 19:57:11 +08:00
LaZzyMan
770b2ade92 fix ci test 2026-03-18 19:40:13 +08:00
tanzhenxin
fe304a0c32 Merge branch 'main' into feature/arena-agent-collaboration 2026-03-18 19:20:22 +08:00
tanzhenxin
3f6cd4ef7a
Merge pull request #2458 from QwenLM/refactor/error-handling-quota-detection
refactor(core): improve error handling and quota detection
2026-03-18 19:15:53 +08:00
LaZzyMan
6f362a89ae Merge branch 'main' into feature/support-agents-directory-skills 2026-03-18 19:12:00 +08:00
tanzhenxin
63da2bb926
Merge pull request #2434 from QwenLM/feat/concurrent-task-execution
feat(core): execute task tools concurrently for improved performance
2026-03-18 19:08:53 +08:00
tanzhenxin
ebed4ddd36
Merge pull request #2446 from QwenLM/refactor/centralize-tool-output-truncation
fix(core): add truncation support for MCP tool output
2026-03-18 19:05:44 +08:00
tanzhenxin
ddee359003 fix(core): correct error property in test from code to status
This aligns the test with the updated error handling that uses `status` instead of `code` for HTTP status codes.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 19:00:44 +08:00
mingholy.lmh
79083ffd50 Fix SDK message event pairing and improve content block handling
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 18:10:23 +08:00
mingholy.lmh
eea92fc8db fix: ensure message_start and message_stop are always paired in SDK stream events
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 18:10:23 +08:00
LaZzyMan
4e08c2009d fix remove other dirs 2026-03-18 18:01:40 +08:00
pomelo-nwu
3bfe34a1dc telemetry: track cached content tokens for accurate context calculation
- Add cachedContentTokenCount tracking in uiTelemetry service
- Collect cached_content_token_count from streaming usage metadata
- Use cached tokens instead of estimated overhead when available
- Fix messages token calculation to avoid 'messages = 0' issue

This improves context window display accuracy when using providers
that support prefix caching (e.g., DashScope).

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 17:51:50 +08:00
qqqys
40485c59ac feat(ui): implement per-task token tracking in LoadingIndicator 2026-03-18 17:35:37 +08:00
DennisYu07
4c0e4a9611
Merge pull request #2352 from QwenLM/feat/hooks-plugin
feat(hooks): implement hooks extension mechanism
2026-03-18 17:29:10 +08:00
qqqys
8f5ecbc46c refactor(completion): improve trigger detection logic for completion suggestions by prioritizing '@' over '/' and refining context checks 2026-03-18 17:12:46 +08:00
qqqys
2bd3c293ff refactor(completion): enhance trigger detection logic for completion suggestions 2026-03-18 17:06:25 +08:00
pomelo
d4379d6ee6
Merge branch 'main' into feat/context-usage 2026-03-18 16:45:12 +08:00
DennisYu07
257934f1e9 resolve comment 2026-03-18 01:25:11 -07:00
tanzhenxin
d0923ef972 refactor(core): improve error handling and quota detection
- Move getErrorStatus from retry.ts to errors.ts for better organization
- Add getErrorType utility to extract error class/category names
- Enhance getErrorMessage to include cause chain for better debugging
- Refactor ApiErrorEvent to use options object pattern (more readable)
- Rename 'error' to 'error_message' in ApiErrorEvent for clarity
- Make isQwenQuotaExceededError more precise: requires status=429,
  code='insufficient_quota', and 'free allocated quota exceeded' message
- Update all tests to match new error detection behavior

This improves error telemetry and makes quota detection more reliable.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-18 16:07:35 +08:00
DennisYu07
9a05f96929 remove deplicate function and add test 2026-03-18 01:00:12 -07:00
qqqys
848f7dbd4c fix(vscode-ide-companion): update URI handling for Windows paths 2026-03-18 15:28:22 +08:00
DennisYu07
99a65aebc0 resolve lint for posttooluse and test 2026-03-17 23:01:33 -07:00
tanzhenxin
d1b761adf2
Merge pull request #2425 from kkhomej33-netizen/fix/ctrl-r-command-search-order
Some checks failed
Qwen Code CI / Test-3 (push) Has been skipped
Qwen Code CI / Test-4 (push) Has been skipped
Qwen Code CI / Lint (push) Failing after 24s
Qwen Code CI / CodeQL (push) Failing after 24s
Qwen Code CI / Test (push) Has been skipped
Qwen Code CI / Test-1 (push) Has been skipped
Qwen Code CI / Test-2 (push) Has been skipped
Qwen Code CI / Test-5 (push) Has been skipped
Qwen Code CI / Test-6 (push) Has been skipped
Qwen Code CI / Test-7 (push) Has been skipped
Qwen Code CI / Test-8 (push) Has been skipped
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Failing after 5s
E2E Tests / E2E Test (Linux) - sandbox:none (push) Failing after 6s
Qwen Code CI / Post Coverage Comment (push) Has been skipped
E2E Tests / E2E Test - macOS (push) Has been cancelled
fix(cli): show newest-first history for Ctrl+R command search
2026-03-18 13:51:28 +08:00