@qwen-code/qwen-code 0.18.0-preview.0 → 0.18.0-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/bundled/qc-helper/SKILL.md +1 -2
  2. package/bundled/qc-helper/docs/configuration/settings.md +17 -19
  3. package/bundled/qc-helper/docs/features/_meta.ts +0 -3
  4. package/bundled/qc-helper/docs/features/commands.md +14 -12
  5. package/bundled/qc-helper/docs/features/scheduled-tasks.md +1 -1
  6. package/bundled/qc-helper/docs/features/sub-agents.md +39 -0
  7. package/chunks/{agent-6J2FFD7S.js → agent-QB7TZ4HW.js} +22 -16
  8. package/chunks/agent-headless-APVHH7QM.js +50 -0
  9. package/chunks/{anthropicContentGenerator-4QBVSFSJ.js → anthropicContentGenerator-M45EVVRM.js} +4 -4
  10. package/chunks/{askUserQuestion-NOOLRWCJ.js → askUserQuestion-WM2KHM3K.js} +2 -2
  11. package/chunks/{ca-WRHFBIDH.js → ca-BARBRL6N.js} +48 -1
  12. package/chunks/{chunk-G763GDO6.js → chunk-2ZTWI7KH.js} +15 -3
  13. package/chunks/chunk-64WXLC72.js +98 -0
  14. package/chunks/{chunk-UQZQP5PA.js → chunk-7YKXFA3D.js} +11 -11
  15. package/chunks/chunk-AJIR24J2.js +59 -0
  16. package/chunks/{chunk-UXBKX55L.js → chunk-AVW55ZCO.js} +61 -23
  17. package/chunks/{chunk-SHUT5MQY.js → chunk-CNHFPN7T.js} +1 -1
  18. package/chunks/{chunk-5RNZ2QKF.js → chunk-CNSMKPK6.js} +1 -1
  19. package/chunks/{chunk-BBTV54KB.js → chunk-CWV3SJZS.js} +2 -2
  20. package/chunks/{chunk-GBEPNWYB.js → chunk-GX7VH5JQ.js} +1 -1
  21. package/chunks/chunk-HGJPQK33.js +2231 -0
  22. package/chunks/chunk-HV3ZZ7G4.js +159 -0
  23. package/chunks/{chunk-BPZQVC2P.js → chunk-HXJE7VOG.js} +25 -32
  24. package/chunks/{chunk-PLYZAP4W.js → chunk-ICOI4E4S.js} +1 -1
  25. package/chunks/{chunk-6VFG3EUJ.js → chunk-JUGRPQAB.js} +1 -1
  26. package/chunks/{chunk-AVLOK27J.js → chunk-JVQOQ3OU.js} +1 -1
  27. package/chunks/{chunk-R5PDRHEF.js → chunk-JXAZUMDW.js} +67 -45
  28. package/chunks/{chunk-UABFCMPA.js → chunk-KC6ZMJ5X.js} +3 -1
  29. package/chunks/chunk-LD2XBG6Z.js +102 -0
  30. package/chunks/{chunk-MVX64PNU.js → chunk-LR62TEET.js} +1 -1
  31. package/chunks/{chunk-JMLIPZUU.js → chunk-MVIVIPCU.js} +3 -3
  32. package/chunks/{chunk-IKOMHTCC.js → chunk-NW5QBUYO.js} +6 -6
  33. package/chunks/{chunk-JSYEZAYV.js → chunk-P4J26VDS.js} +2 -2
  34. package/chunks/{chunk-SCHRFI7O.js → chunk-PAEBHDIO.js} +1 -1
  35. package/chunks/{chunk-BUOJN3MM.js → chunk-QCG6KPNM.js} +3685 -1897
  36. package/chunks/chunk-SKBPNJEW.js +45 -0
  37. package/chunks/{chunk-F5ORN4YO.js → chunk-UAMOBVVW.js} +1 -1
  38. package/chunks/chunk-XBFVXFB2.js +216 -0
  39. package/chunks/{chunk-D46KOV3C.js → chunk-Y7R6H6FT.js} +1 -1
  40. package/chunks/{chunk-3H7ENG2Q.js → chunk-ZK4AMNIU.js} +113 -41
  41. package/chunks/{computer-use-6LZXL3UW.js → computer-use-B7VIUI7F.js} +22 -16
  42. package/chunks/contextCommand-63RZ3O5R.js +52 -0
  43. package/chunks/{cron-create-PIPMXQN4.js → cron-create-FI5LJVUS.js} +2 -2
  44. package/chunks/{cron-delete-6Y5XIDMS.js → cron-delete-ZGUXWBTG.js} +2 -2
  45. package/chunks/{cron-list-A4WNRUWZ.js → cron-list-QNNZGMN3.js} +2 -2
  46. package/chunks/{de-M5RPB2NB.js → de-YGKK2BC4.js} +48 -1
  47. package/chunks/{edit-J7D6VMPQ.js → edit-6UBTS2J5.js} +23 -17
  48. package/chunks/{en-UMYKQAZE.js → en-HSQQNQUB.js} +73 -2
  49. package/chunks/{enter-worktree-NDJTVGYJ.js → enter-worktree-NN7LIXCM.js} +22 -16
  50. package/chunks/{exit-worktree-UB6XYYAX.js → exit-worktree-GGSS5KIE.js} +22 -16
  51. package/chunks/{exitPlanMode-V6X2KL4X.js → exitPlanMode-H323NHB2.js} +22 -16
  52. package/chunks/{fr-MPYXXXPW.js → fr-JXBKPJKQ.js} +48 -1
  53. package/chunks/{geminiContentGenerator-3AKHMB3P.js → geminiContentGenerator-I4H2NLJG.js} +4 -4
  54. package/chunks/{glob-PBG5DRG4.js → glob-OLCX57MD.js} +22 -16
  55. package/chunks/{grep-VQ56EWQ7.js → grep-7HXIMDOW.js} +22 -16
  56. package/chunks/{ja-NFZ32AB3.js → ja-TGPZSP2B.js} +48 -1
  57. package/chunks/{keychain-token-storage-UHGOCDD6.js → keychain-token-storage-LB46DAEK.js} +2 -2
  58. package/chunks/{ls-34DLNYCD.js → ls-6PEZUK6O.js} +3 -3
  59. package/chunks/{lsp-NCDEHH3V.js → lsp-JZSJOVT7.js} +2 -2
  60. package/chunks/{monitor-J3YCSOEH.js → monitor-SQO7MVAV.js} +22 -16
  61. package/chunks/{notebook-edit-AL3CBYJ6.js → notebook-edit-72L3EBAL.js} +23 -17
  62. package/chunks/{openaiContentGenerator-3U6UARHS.js → openaiContentGenerator-FTR7CDWF.js} +12 -11
  63. package/chunks/{pt-BR43FRBA.js → pt-TIBG6BIO.js} +48 -1
  64. package/chunks/{qwenContentGenerator-JRFHJRH6.js → qwenContentGenerator-U5UFQ566.js} +24 -18
  65. package/chunks/{qwenOAuth2-KRJT35QH.js → qwenOAuth2-EFSECGHF.js} +4 -4
  66. package/chunks/{read-file-ZF6EIVE3.js → read-file-UA64EEQC.js} +8 -8
  67. package/chunks/{ripGrep-N2ZT7M6Z.js → ripGrep-WSYCWZVK.js} +22 -16
  68. package/chunks/{ru-DQCW2KHD.js → ru-JBCHCK4L.js} +48 -1
  69. package/chunks/{scheduler-OS37FUFT.js → scheduler-VBASHOCA.js} +22 -16
  70. package/chunks/send-message-OYJZ5TPG.js +244 -0
  71. package/chunks/{serve-ABOLLDNN.js → serve-A7E2OJDR.js} +45 -36
  72. package/chunks/{shell-XGN7IDUS.js → shell-3NFOT6F5.js} +22 -16
  73. package/chunks/{skill-YQQ6CR4U.js → skill-RA5YUREY.js} +10 -10
  74. package/chunks/{src-LORPPHWB.js → src-NFCMARMT.js} +186 -23
  75. package/chunks/{syntheticOutput-T5SWX3YF.js → syntheticOutput-DETQ2YM6.js} +3 -3
  76. package/chunks/task-create-Y3ZKTJIG.js +19 -0
  77. package/chunks/task-list-ONXJ3I3A.js +151 -0
  78. package/chunks/{task-stop-3VHAQMYM.js → task-stop-UHDC4N5B.js} +2 -2
  79. package/chunks/task-update-TCNOU3P5.js +397 -0
  80. package/chunks/team-create-6SR4OVRG.js +313 -0
  81. package/chunks/team-delete-EJ4U4DDP.js +114 -0
  82. package/chunks/{todoWrite-EAGJGKO5.js → todoWrite-TEYDRS5L.js} +4 -4
  83. package/chunks/{tool-search-PDOJPXJJ.js → tool-search-OD435A3X.js} +8 -8
  84. package/chunks/{web-fetch-SS6IKK6N.js → web-fetch-6W67H5PO.js} +4 -4
  85. package/chunks/workflow-62DHH4EO.js +708 -0
  86. package/chunks/{write-file-VWWCN7LI.js → write-file-475L5OPP.js} +23 -17
  87. package/chunks/{zh-TW-IQZ4AD5M.js → zh-TW-G3HFHVVT.js} +74 -6
  88. package/chunks/{zh-6VFXOAR5.js → zh-VCLWO26Y.js} +77 -6
  89. package/cli.js +6429 -3123
  90. package/examples/agent/qwen-extension.json +1 -0
  91. package/examples/commands/qwen-extension.json +1 -0
  92. package/examples/context/qwen-extension.json +1 -0
  93. package/examples/mcp-server/qwen-extension.json +1 -0
  94. package/examples/skills/qwen-extension.json +1 -0
  95. package/locales/ca.js +51 -0
  96. package/locales/de.js +51 -0
  97. package/locales/en.js +83 -2
  98. package/locales/fr.js +53 -2
  99. package/locales/ja.js +52 -2
  100. package/locales/pt.js +52 -2
  101. package/locales/ru.js +53 -2
  102. package/locales/zh-TW.js +85 -11
  103. package/locales/zh.js +89 -11
  104. package/package.json +2 -2
  105. package/bundled/qc-helper/docs/features/checkpointing.md +0 -77
  106. package/chunks/contextCommand-ZV5QQ2LA.js +0 -46
  107. package/chunks/send-message-YYF56TS7.js +0 -151
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "agent-example",
3
+ "description": "Example extension that provides a custom subagent",
3
4
  "version": "1.0.0"
4
5
  }
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "commands-example",
3
+ "description": "Example extension that provides custom slash commands",
3
4
  "version": "1.0.0"
4
5
  }
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "context-example",
3
+ "description": "Example extension that provides additional context via QWEN.md",
3
4
  "version": "1.0.0"
4
5
  }
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "name": "mcp-server-example",
3
+ "description": "Example extension that provides an MCP server",
3
4
  "version": "1.0.0",
4
5
  "mcpServers": {
5
6
  "nodeServer": {
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "name": "skills-example",
3
+ "description": "Example extension that provides custom skills",
3
4
  "version": "1.0.0"
4
5
  }
package/locales/ca.js CHANGED
@@ -1471,6 +1471,21 @@ export default {
1471
1471
  "No s'ha realitzat cap crida a eines en aquesta sessió.",
1472
1472
  'Session start time is unavailable, cannot calculate stats.':
1473
1473
  "L'hora d'inici de la sessió no està disponible, no es poden calcular les estadístiques.",
1474
+ Activity: 'Activitat',
1475
+ Efficiency: 'Eficiència',
1476
+ Today: 'Avui',
1477
+ 'Token Trend': 'Tendència de Tokens',
1478
+ 'Cache Hit Rate': "Taxa d'encert de cache",
1479
+ 'Tool Success': "Èxit d'eines",
1480
+ 'Tool Leaderboard': "Classificació d'eines",
1481
+ Time: 'Temps',
1482
+ Success: 'Èxit',
1483
+ Cache: 'Cache',
1484
+ Latency: 'Latència',
1485
+ 'Code Impact': 'Impacte al codi',
1486
+ net: 'net',
1487
+ streak: 'ratxa',
1488
+ best: 'rècord',
1474
1489
 
1475
1490
  // ============================================================================
1476
1491
  // Migració del format d'ordres
@@ -1921,4 +1936,40 @@ export default {
1921
1936
  'Ref:': 'Referència:',
1922
1937
  '中国 (China)': 'Xina',
1923
1938
  '中国 (China) - 阿里云百炼': 'Xina - 阿里云百炼',
1939
+
1940
+ // Stats Dashboard — Category 2
1941
+ 'Activity Heatmap': "Mapa d'activitat",
1942
+ Less: 'Menys',
1943
+ More: 'Més',
1944
+ Sessions: 'Sessions',
1945
+ Duration: 'Durada',
1946
+ Projects: 'Projectes',
1947
+ 'Loading stats...': 'Carregant estadístiques...',
1948
+ '(no data)': '(sense dades)',
1949
+ d: 'd',
1950
+ h: 'h',
1951
+ m: 'm',
1952
+ Input: 'Entrada',
1953
+ Models: 'Models',
1954
+ 'All time': 'Tot el temps',
1955
+ 'Last 7 days': 'Últims 7 dies',
1956
+ 'Last 30 days': 'Últims 30 dies',
1957
+ 'Show usage statistics dashboard.': "Mostra el tauler d'estadístiques d'ús.",
1958
+
1959
+ // Stats Dashboard — keyboard hints (not translated)
1960
+ 'tab \xB7 esc': 'tab \xB7 esc',
1961
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
1962
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
1963
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
1964
+
1965
+ // Stats Dashboard — missing labels
1966
+ 'API Requests': "Sol·licituds d'API",
1967
+ 'Tool Calls': "Crides d'eines",
1968
+ 'Success rate': "Taxa d'èxit",
1969
+ 'Code Changes': 'Canvis de codi',
1970
+ Tool: 'Eina',
1971
+ reqs: 'sol.',
1972
+ in: 'ent.',
1973
+ out: 'sort.',
1974
+ 'In/Out': 'Ent/Sort',
1924
1975
  };
package/locales/de.js CHANGED
@@ -1405,6 +1405,21 @@ export default {
1405
1405
  'In dieser Sitzung wurden keine Werkzeugaufrufe gemacht.',
1406
1406
  'Session start time is unavailable, cannot calculate stats.':
1407
1407
  'Sitzungsstartzeit nicht verfügbar, Statistiken können nicht berechnet werden.',
1408
+ Activity: 'Aktivität',
1409
+ Efficiency: 'Effizienz',
1410
+ Today: 'Heute',
1411
+ 'Token Trend': 'Token-Trend',
1412
+ 'Cache Hit Rate': 'Cache-Trefferquote',
1413
+ 'Tool Success': 'Tool-Erfolgsrate',
1414
+ 'Tool Leaderboard': 'Tool-Rangliste',
1415
+ Time: 'Zeit',
1416
+ Success: 'Erfolg',
1417
+ Cache: 'Cache',
1418
+ Latency: 'Latenz',
1419
+ 'Code Impact': 'Code-Änderungen',
1420
+ net: 'netto',
1421
+ streak: 'Serie',
1422
+ best: 'Rekord',
1408
1423
 
1409
1424
  // ============================================================================
1410
1425
  // Command Format Migration
@@ -1964,4 +1979,40 @@ export default {
1964
1979
  remote: 'entfernt',
1965
1980
  '中国 (China)': 'China',
1966
1981
  '中国 (China) - 阿里云百炼': 'China - 阿里云百炼',
1982
+
1983
+ // Stats Dashboard — Category 2
1984
+ 'Activity Heatmap': 'Aktivitäts-Heatmap',
1985
+ Less: 'Weniger',
1986
+ More: 'Mehr',
1987
+ Sessions: 'Sitzungen',
1988
+ Duration: 'Dauer',
1989
+ Projects: 'Projekte',
1990
+ 'Loading stats...': 'Statistiken werden geladen...',
1991
+ '(no data)': '(keine Daten)',
1992
+ d: 'd',
1993
+ h: 'h',
1994
+ m: 'm',
1995
+ Input: 'Eingabe',
1996
+ Models: 'Modelle',
1997
+ 'All time': 'Gesamtzeitraum',
1998
+ 'Last 7 days': 'Letzte 7 Tage',
1999
+ 'Last 30 days': 'Letzte 30 Tage',
2000
+ 'Show usage statistics dashboard.': 'Nutzungsstatistik-Dashboard anzeigen.',
2001
+
2002
+ // Stats Dashboard — keyboard hints (not translated)
2003
+ 'tab \xB7 esc': 'tab \xB7 esc',
2004
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
2005
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
2006
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
2007
+
2008
+ // Stats Dashboard — missing labels
2009
+ 'API Requests': 'API-Anfragen',
2010
+ 'Tool Calls': 'Tool-Aufrufe',
2011
+ 'Success rate': 'Erfolgsrate',
2012
+ 'Code Changes': 'Code-Änderungen',
2013
+ Tool: 'Tool',
2014
+ reqs: 'Anfr.',
2015
+ in: 'ein',
2016
+ out: 'aus',
2017
+ 'In/Out': 'Ein/Aus',
1967
2018
  };
package/locales/en.js CHANGED
@@ -512,8 +512,7 @@ export default {
512
512
  'Auto Edit': 'Auto Edit',
513
513
  YOLO: 'YOLO',
514
514
  'toggle vim mode on/off': 'toggle vim mode on/off',
515
- 'check session stats. Usage: /stats [model|tools]':
516
- 'check session stats. Usage: /stats [model|tools]',
515
+ 'Show usage statistics dashboard.': 'Show usage statistics dashboard.',
517
516
  'Show model-specific usage statistics.':
518
517
  'Show model-specific usage statistics.',
519
518
  'Show tool-specific usage statistics.':
@@ -2026,4 +2025,86 @@ export default {
2026
2025
  'Loading suggestions...': 'Loading suggestions...',
2027
2026
  'Show per-item context usage breakdown.':
2028
2027
  'Show per-item context usage breakdown.',
2028
+
2029
+ // ============================================================================
2030
+ // Stats
2031
+ // ============================================================================
2032
+
2033
+ // statsCommand non-interactive output
2034
+ 'Session duration: {{duration}}': 'Session duration: {{duration}}',
2035
+ 'Prompts: {{count}}': 'Prompts: {{count}}',
2036
+ 'API requests: {{count}}': 'API requests: {{count}}',
2037
+ 'Tokens — prompt: {{prompt}}, output: {{output}}':
2038
+ 'Tokens — prompt: {{prompt}}, output: {{output}}',
2039
+ 'Tool calls: {{total}} ({{success}} ok, {{fail}} fail)':
2040
+ 'Tool calls: {{total}} ({{success}} ok, {{fail}} fail)',
2041
+ 'Files: +{{added}} / -{{removed}} lines':
2042
+ 'Files: +{{added}} / -{{removed}} lines',
2043
+ prompt: 'prompt',
2044
+ output: 'output',
2045
+ cached: 'cached',
2046
+ 'Estimated cost: ${{cost}}': 'Estimated cost: ${{cost}}',
2047
+ 'No model usage data yet.': 'No model usage data yet.',
2048
+ 'No tool usage data yet.': 'No tool usage data yet.',
2049
+
2050
+ // StatsDialog
2051
+ Models: 'Models',
2052
+ 'All time': 'All time',
2053
+ 'Last 7 days': 'Last 7 days',
2054
+ 'Last 30 days': 'Last 30 days',
2055
+ 'N/A': 'N/A',
2056
+ Sessions: 'Sessions',
2057
+ days: 'days',
2058
+ Input: 'Input',
2059
+ 'Tool calls': 'Tool calls',
2060
+ 'Code changes': 'Code changes',
2061
+ Projects: 'Projects',
2062
+ Name: 'Name',
2063
+ Duration: 'Duration',
2064
+ 'Activity Heatmap': 'Activity Heatmap',
2065
+ 'Loading stats...': 'Loading stats...',
2066
+ '\u2191 tabs \u00b7 r to cycle dates \u00b7 esc to close':
2067
+ '\u2191 tabs \u00b7 r to cycle dates \u00b7 esc to close',
2068
+ Cost: 'Cost',
2069
+ Less: 'Less',
2070
+ More: 'More',
2071
+ '(no data)': '(no data)',
2072
+ d: 'd',
2073
+ h: 'h',
2074
+ m: 'm',
2075
+
2076
+ // Stats Dashboard — keyboard hints (not translated)
2077
+ 'tab \xB7 esc': 'tab \xB7 esc',
2078
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
2079
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
2080
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
2081
+
2082
+ // Stats Dashboard — labels
2083
+ Session: 'Session',
2084
+ Activity: 'Activity',
2085
+ Efficiency: 'Efficiency',
2086
+ Success: 'Success',
2087
+ Today: 'Today',
2088
+ 'Cache Hit Rate': 'Cache Hit Rate',
2089
+ 'Tool Success': 'Tool Success',
2090
+ 'Tool Leaderboard': 'Tool Leaderboard',
2091
+ Time: 'Time',
2092
+ Cache: 'Cache',
2093
+ Latency: 'Latency',
2094
+ 'Code Impact': 'Code Impact',
2095
+ 'Failed to load stats. Press r to retry.':
2096
+ 'Failed to load stats. Press r to retry.',
2097
+ net: 'net',
2098
+ streak: 'streak',
2099
+ best: 'best',
2100
+ 'Token Trend': 'Token Trend',
2101
+ 'In/Out': 'In/Out',
2102
+ 'API Requests': 'API Requests',
2103
+ 'Tool Calls': 'Tool Calls',
2104
+ 'Success rate': 'Success rate',
2105
+ 'Code Changes': 'Code Changes',
2106
+ Tool: 'Tool',
2107
+ reqs: 'reqs',
2108
+ in: 'in',
2109
+ out: 'out',
2029
2110
  };
package/locales/fr.js CHANGED
@@ -872,8 +872,7 @@ export default {
872
872
  'La commande /fork nécessite le feature gate fork. Définissez QWEN_CODE_ENABLE_FORK_SUBAGENT=1 pour l’activer.',
873
873
  'The agent tool is unavailable; cannot fork.':
874
874
  "L'outil agent est indisponible ; impossible de créer un fork.",
875
- 'Failed to launch fork: {{error}}':
876
- 'Échec du lancement du fork : {{error}}',
875
+ 'Failed to launch fork: {{error}}': 'Échec du lancement du fork : {{error}}',
877
876
  'User launched a background fork via /fork: {{directive}}':
878
877
  "L'utilisateur a lancé un fork en arrière-plan via /fork : {{directive}}",
879
878
  'Forked into a background agent. It inherits this conversation and runs without blocking — track it in the background tasks panel; it reports back when done.':
@@ -1467,6 +1466,21 @@ export default {
1467
1466
  "Aucun appel d'outil n'a été effectué dans cette session.",
1468
1467
  'Session start time is unavailable, cannot calculate stats.':
1469
1468
  "L'heure de début de session est indisponible, impossible de calculer les stats.",
1469
+ Activity: 'Activité',
1470
+ Efficiency: 'Efficacité',
1471
+ Today: "Aujourd'hui",
1472
+ 'Token Trend': 'Tendance Tokens',
1473
+ 'Cache Hit Rate': 'Taux de cache',
1474
+ 'Tool Success': 'Succès outils',
1475
+ 'Tool Leaderboard': 'Classement outils',
1476
+ Time: 'Temps',
1477
+ Success: 'Succès',
1478
+ Cache: 'Cache',
1479
+ Latency: 'Latence',
1480
+ 'Code Impact': 'Impact code',
1481
+ net: 'net',
1482
+ streak: 'série',
1483
+ best: 'record',
1470
1484
 
1471
1485
  // ============================================================================
1472
1486
  // Migration de format de commande
@@ -1959,4 +1973,41 @@ export default {
1959
1973
  Tokens: 'Jetons',
1960
1974
  tokens: 'jetons',
1961
1975
  '中国 (China)': 'Chine',
1976
+
1977
+ // Stats Dashboard — Category 2
1978
+ 'Activity Heatmap': "Carte d'activité",
1979
+ Less: 'Moins',
1980
+ More: 'Plus',
1981
+ Sessions: 'Sessions',
1982
+ Duration: 'Durée',
1983
+ Projects: 'Projets',
1984
+ 'Loading stats...': 'Chargement des stats...',
1985
+ '(no data)': '(aucune donnée)',
1986
+ d: 'j',
1987
+ h: 'h',
1988
+ m: 'm',
1989
+ Input: 'Entrée',
1990
+ Models: 'Modèles',
1991
+ 'All time': 'Tout le temps',
1992
+ 'Last 7 days': '7 derniers jours',
1993
+ 'Last 30 days': '30 derniers jours',
1994
+ 'Show usage statistics dashboard.':
1995
+ "Afficher le tableau de bord des statistiques d'utilisation.",
1996
+
1997
+ // Stats Dashboard — keyboard hints (not translated)
1998
+ 'tab \xB7 esc': 'tab \xB7 esc',
1999
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
2000
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
2001
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
2002
+
2003
+ // Stats Dashboard — missing labels
2004
+ 'API Requests': 'Requêtes API',
2005
+ 'Tool Calls': "Appels d'outils",
2006
+ 'Success rate': 'Taux de réussite',
2007
+ 'Code Changes': 'Modifications du code',
2008
+ Tool: 'Outil',
2009
+ reqs: 'req.',
2010
+ in: 'ent.',
2011
+ out: 'sort.',
2012
+ 'In/Out': 'Ent/Sort',
1962
2013
  };
package/locales/ja.js CHANGED
@@ -595,8 +595,7 @@ export default {
595
595
  '/fork コマンドには fork フィーチャーゲートが必要です。有効にするには QWEN_CODE_ENABLE_FORK_SUBAGENT=1 を設定してください。',
596
596
  'The agent tool is unavailable; cannot fork.':
597
597
  'エージェントツールを利用できないため、フォークできません。',
598
- 'Failed to launch fork: {{error}}':
599
- 'フォークの起動に失敗しました: {{error}}',
598
+ 'Failed to launch fork: {{error}}': 'フォークの起動に失敗しました: {{error}}',
600
599
  'User launched a background fork via /fork: {{directive}}':
601
600
  'ユーザーが /fork でバックグラウンドフォークを起動しました: {{directive}}',
602
601
  'Forked into a background agent. It inherits this conversation and runs without blocking — track it in the background tasks panel; it reports back when done.':
@@ -1142,6 +1141,21 @@ export default {
1142
1141
  'このセッションではツール呼び出しが行われていません',
1143
1142
  'Session start time is unavailable, cannot calculate stats.':
1144
1143
  'セッション開始時刻が利用できないため、統計を計算できません',
1144
+ Activity: 'アクティビティ',
1145
+ Efficiency: '効率',
1146
+ Today: '今日',
1147
+ 'Token Trend': 'Token トレンド',
1148
+ 'Cache Hit Rate': 'キャッシュヒット率',
1149
+ 'Tool Success': 'ツール成功率',
1150
+ 'Tool Leaderboard': 'ツールランキング',
1151
+ Time: '時間',
1152
+ Success: '成功率',
1153
+ Cache: 'キャッシュ',
1154
+ Latency: 'レイテンシ',
1155
+ 'Code Impact': 'コード変更',
1156
+ net: '純増',
1157
+ streak: '連続',
1158
+ best: '最長',
1145
1159
  // Loading
1146
1160
  'Waiting for user confirmation...': 'ユーザーの確認を待っています...',
1147
1161
  // Witty Loading Phrases
@@ -1727,4 +1741,40 @@ export default {
1727
1741
  'Attribution: commit': 'コミットの帰属表示',
1728
1742
  '中国 (China)': '中国',
1729
1743
  '中国 (China) - 阿里云百炼': '中国 - 阿里云百炼',
1744
+
1745
+ // Stats Dashboard — Category 2 (missing from ja)
1746
+ 'Activity Heatmap': 'アクティビティヒートマップ',
1747
+ Less: '少',
1748
+ More: '多',
1749
+ Sessions: 'セッション数',
1750
+ Duration: '所要時間',
1751
+ Projects: 'プロジェクト',
1752
+ 'Loading stats...': '統計を読み込み中...',
1753
+ '(no data)': '(データなし)',
1754
+ d: '日',
1755
+ h: '時',
1756
+ m: '分',
1757
+ Input: '入力',
1758
+ Models: 'モデル',
1759
+ 'All time': '全期間',
1760
+ 'Last 7 days': '過去 7 日間',
1761
+ 'Last 30 days': '過去 30 日間',
1762
+ 'Show usage statistics dashboard.': '使用統計ダッシュボードを表示する。',
1763
+
1764
+ // Stats Dashboard — keyboard hints (not translated)
1765
+ 'tab \xB7 esc': 'tab \xB7 esc',
1766
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
1767
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
1768
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
1769
+
1770
+ // Stats Dashboard — missing labels
1771
+ 'API Requests': 'APIリクエスト',
1772
+ 'Tool Calls': 'ツール呼び出し',
1773
+ 'Success rate': '成功率',
1774
+ 'Code Changes': 'コード変更',
1775
+ Tool: 'ツール',
1776
+ reqs: 'リクエスト',
1777
+ in: '入力',
1778
+ out: '出力',
1779
+ 'In/Out': '入力/出力',
1730
1780
  };
package/locales/pt.js CHANGED
@@ -813,8 +813,7 @@ export default {
813
813
  'O comando /fork requer o feature gate de fork. Defina QWEN_CODE_ENABLE_FORK_SUBAGENT=1 para ativá-lo.',
814
814
  'The agent tool is unavailable; cannot fork.':
815
815
  'A ferramenta de agente está indisponível; não é possível criar um fork.',
816
- 'Failed to launch fork: {{error}}':
817
- 'Falha ao iniciar o fork: {{error}}',
816
+ 'Failed to launch fork: {{error}}': 'Falha ao iniciar o fork: {{error}}',
818
817
  'User launched a background fork via /fork: {{directive}}':
819
818
  'O usuário iniciou um fork em segundo plano via /fork: {{directive}}',
820
819
  'Forked into a background agent. It inherits this conversation and runs without blocking — track it in the background tasks panel; it reports back when done.':
@@ -1438,6 +1437,21 @@ export default {
1438
1437
  'Nenhuma chamada de ferramenta foi feita nesta sessão.',
1439
1438
  'Session start time is unavailable, cannot calculate stats.':
1440
1439
  'Hora de início da sessão indisponível, não é possível calcular estatísticas.',
1440
+ Activity: 'Atividade',
1441
+ Efficiency: 'Eficiência',
1442
+ Today: 'Hoje',
1443
+ 'Token Trend': 'Tendência de Tokens',
1444
+ 'Cache Hit Rate': 'Taxa de cache',
1445
+ 'Tool Success': 'Sucesso de ferramentas',
1446
+ 'Tool Leaderboard': 'Ranking de ferramentas',
1447
+ Time: 'Tempo',
1448
+ Success: 'Sucesso',
1449
+ Cache: 'Cache',
1450
+ Latency: 'Latência',
1451
+ 'Code Impact': 'Impacto no código',
1452
+ net: 'líquido',
1453
+ streak: 'sequência',
1454
+ best: 'recorde',
1441
1455
 
1442
1456
  // ============================================================================
1443
1457
  // Command Format Migration
@@ -1952,4 +1966,40 @@ export default {
1952
1966
  Use: 'Uso',
1953
1967
  '中国 (China)': 'China',
1954
1968
  '中国 (China) - 阿里云百炼': 'China - 阿里云百炼',
1969
+
1970
+ // Stats Dashboard — Category 2
1971
+ 'Activity Heatmap': 'Mapa de Atividade',
1972
+ Less: 'Menos',
1973
+ More: 'Mais',
1974
+ Sessions: 'Sessões',
1975
+ Duration: 'Duração',
1976
+ Projects: 'Projetos',
1977
+ 'Loading stats...': 'Carregando estatísticas...',
1978
+ '(no data)': '(sem dados)',
1979
+ d: 'd',
1980
+ h: 'h',
1981
+ m: 'm',
1982
+ Input: 'Entrada',
1983
+ Models: 'Modelos',
1984
+ 'All time': 'Todo o período',
1985
+ 'Last 7 days': 'Últimos 7 dias',
1986
+ 'Last 30 days': 'Últimos 30 dias',
1987
+ 'Show usage statistics dashboard.': 'Exibir painel de estatísticas de uso.',
1988
+
1989
+ // Stats Dashboard — keyboard hints (not translated)
1990
+ 'tab \xB7 esc': 'tab \xB7 esc',
1991
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
1992
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
1993
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
1994
+
1995
+ // Stats Dashboard — missing labels
1996
+ 'API Requests': 'Requisições API',
1997
+ 'Tool Calls': 'Chamadas de Ferramenta',
1998
+ 'Success rate': 'Taxa de sucesso',
1999
+ 'Code Changes': 'Alterações de Código',
2000
+ Tool: 'Ferramenta',
2001
+ reqs: 'reqs',
2002
+ in: 'ent.',
2003
+ out: 'saída',
2004
+ 'In/Out': 'Ent/Saída',
1955
2005
  };
package/locales/ru.js CHANGED
@@ -820,8 +820,7 @@ export default {
820
820
  'Команде /fork требуется feature gate fork. Установите QWEN_CODE_ENABLE_FORK_SUBAGENT=1, чтобы включить его.',
821
821
  'The agent tool is unavailable; cannot fork.':
822
822
  'Инструмент агента недоступен; fork создать нельзя.',
823
- 'Failed to launch fork: {{error}}':
824
- 'Не удалось запустить fork: {{error}}',
823
+ 'Failed to launch fork: {{error}}': 'Не удалось запустить fork: {{error}}',
825
824
  'User launched a background fork via /fork: {{directive}}':
826
825
  'Пользователь запустил фоновый fork через /fork: {{directive}}',
827
826
  'Forked into a background agent. It inherits this conversation and runs without blocking — track it in the background tasks panel; it reports back when done.':
@@ -1353,6 +1352,21 @@ export default {
1353
1352
  'В этой сессии не было вызовов инструментов.',
1354
1353
  'Session start time is unavailable, cannot calculate stats.':
1355
1354
  'Время начала сессии недоступно, невозможно рассчитать статистику.',
1355
+ Activity: 'Активность',
1356
+ Efficiency: 'Эффективность',
1357
+ Today: 'Сегодня',
1358
+ 'Token Trend': 'Тренд токенов',
1359
+ 'Cache Hit Rate': 'Попадание в кэш',
1360
+ 'Tool Success': 'Успех инструментов',
1361
+ 'Tool Leaderboard': 'Рейтинг инструментов',
1362
+ Time: 'Время',
1363
+ Success: 'Успех',
1364
+ Cache: 'Кэш',
1365
+ Latency: 'Задержка',
1366
+ 'Code Impact': 'Изменения кода',
1367
+ net: 'нетто',
1368
+ streak: 'серия',
1369
+ best: 'рекорд',
1356
1370
 
1357
1371
  // ============================================================================
1358
1372
  // Command Format Migration
@@ -1939,4 +1953,41 @@ export default {
1939
1953
  'start server': 'запустить сервер',
1940
1954
  '中国 (China)': 'Китай',
1941
1955
  '中国 (China) - 阿里云百炼': 'Китай - 阿里云百炼',
1956
+
1957
+ // Stats Dashboard — Category 2
1958
+ 'Activity Heatmap': 'Карта активности',
1959
+ Less: 'Меньше',
1960
+ More: 'Больше',
1961
+ Sessions: 'Сессии',
1962
+ Duration: 'Длительность',
1963
+ Projects: 'Проекты',
1964
+ 'Loading stats...': 'Загрузка статистики...',
1965
+ '(no data)': '(нет данных)',
1966
+ d: 'д',
1967
+ h: 'ч',
1968
+ m: 'м',
1969
+ Input: 'Ввод',
1970
+ Models: 'Модели',
1971
+ 'All time': 'За всё время',
1972
+ 'Last 7 days': 'Последние 7 дней',
1973
+ 'Last 30 days': 'Последние 30 дней',
1974
+ 'Show usage statistics dashboard.':
1975
+ 'Показать панель статистики использования.',
1976
+
1977
+ // Stats Dashboard — keyboard hints (not translated)
1978
+ 'tab \xB7 esc': 'tab \xB7 esc',
1979
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc':
1980
+ 'tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc',
1981
+ 'tab \xB7 r dates \xB7 esc': 'tab \xB7 r dates \xB7 esc',
1982
+
1983
+ // Stats Dashboard — missing labels
1984
+ 'API Requests': 'API-запросы',
1985
+ 'Tool Calls': 'Вызовы инструментов',
1986
+ 'Success rate': 'Успешность',
1987
+ 'Code Changes': 'Изменения кода',
1988
+ Tool: 'Инструмент',
1989
+ reqs: 'запр.',
1990
+ in: 'вх.',
1991
+ out: 'вых.',
1992
+ 'In/Out': 'Вх/Вых',
1942
1993
  };