mirror of
https://github.com/yigitkonur/cli-continues.git
synced 2026-04-26 00:36:02 +03:00
[PR #31] [MERGED] fix(qwen-code): correct storage path, tool classification, and gemini feature parity #31
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/cli-continues#31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/yigitkonur/cli-continues/pull/31
Author: @yigitkonur
Created: 3/2/2026
Status: ✅ Merged
Merged: 3/2/2026
Merged by: @yigitkonur
Base:
main← Head:fix/qwen-code-audit-fixes📝 Commits (3)
cf2315efix: invalidate session index cache when env vars change (#18)56e2946fix: address pr review — simplify readStoredFingerprint, rewrite tests4ea76c6fix(qwen-code): correct storage path, tool names, and feature parity with gemini parser📊 Changes
7 files changed (+436 additions, -63 deletions)
View changed files
➕
src/__tests__/env-cache-invalidation.test.ts(+136 -0)📝
src/__tests__/fixtures/index.ts(+27 -5)📝
src/__tests__/unit-conversions.test.ts(+1 -1)📝
src/parsers/qwen-code.ts(+161 -35)📝
src/parsers/registry.ts(+17 -14)📝
src/types/tool-names.ts(+45 -4)📝
src/utils/index.ts(+49 -4)📄 Description
fixes critical bugs found during source code audit against QwenLM/qwen-code:
critical fixes:
~/.qwen/tmp/<sha256>→~/.qwen/projects/<sanitized-cwd>) — parser would never find real sessionsnativeResumeArgsnow uses--resume <sessionId>for specific session resume (not just--continue)toolCallResult.resultDisplayfield names corrected (fileNamenotfilePath, union type discrimination)feature parity with gemini parser:
thought: trueparts from output text)isErrortracking fromtoolCallResult.statusandfunctionResponsediffStatfallback: count +/- lines fromfileDiffwhendiffStatabsentextractRepoFromCwdfor repo field (was hardcoded to'')resultStrextraction for shell/fetch/mcp categoriesagentTypeextraction for task categorytool name classification:
run_shell_command,grep_search,edit,Shell,ListFilestodo_write,exit_plan_mode,save_memory,skill,lspsearch_file_content,replace,SearchFiles,FindFiles,ReadFolderfixture:
tool_resultrecord withtoolCallResultmetadatathoughtsTokenCountall 694 tests pass ✅
ref #12 cc @karatechopping
Review all of them with eye of John Carmack-like simplicity with elegeance approach and apply the one only if required
Greptile Summary
Fixes critical bugs in qwen-code parser: corrected storage path from
~/.qwen/tmp/<sha256>to~/.qwen/projects/<sanitized-cwd>, fixednativeResumeArgsto use--resume <sessionId>, and correctedtoolCallResult.resultDisplayfield names (fileNamenotfilePath). Achieves full feature parity with gemini parser by adding thought/reasoning extraction, pending task detection,isErrortracking,diffStatfallback counting,extractRepoFromCwd,resultStrextraction, andagentTypeextraction. Tool name classification correctly expanded with all qwen-code tool names and legacy migrations.ToolAdapterfields, usesmapGeminiFlagsfor consistencytoolCallResultmetadataQWEN_HOMEchangesMinor style deviations from stated rules (consistent with existing JSONL parsers): raw JSON casts instead of Zod validation, direct slice instead of
trimMessages()helper, naive diff line counting. None introduce bugs.Confidence Score: 4/5
Important Files Changed
Last reviewed commit:
4ea76c6🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.