@mmmbuto/qwen-code-termux 0.16.1-termux → 0.18.0-termux

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 (185) hide show
  1. package/README.md +79 -109
  2. package/bundled/new-app/SKILL.md +22 -0
  3. package/bundled/qc-helper/SKILL.md +29 -24
  4. package/bundled/qc-helper/docs/_meta.ts +1 -0
  5. package/bundled/qc-helper/docs/configuration/_meta.ts +0 -3
  6. package/bundled/qc-helper/docs/configuration/settings.md +37 -31
  7. package/bundled/qc-helper/docs/configuration/themes.md +39 -0
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -3
  9. package/bundled/qc-helper/docs/features/approval-mode.md +35 -35
  10. package/bundled/qc-helper/docs/features/auto-mode.md +54 -9
  11. package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  12. package/bundled/qc-helper/docs/features/channels/feishu.md +170 -0
  13. package/bundled/qc-helper/docs/features/commands.md +115 -35
  14. package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
  15. package/bundled/qc-helper/docs/features/headless.md +32 -0
  16. package/bundled/qc-helper/docs/features/markdown-rendering.md +21 -1
  17. package/bundled/qc-helper/docs/features/memory.md +22 -5
  18. package/bundled/qc-helper/docs/features/scheduled-tasks.md +1 -1
  19. package/bundled/qc-helper/docs/features/status-line.md +168 -32
  20. package/bundled/qc-helper/docs/features/sub-agents.md +60 -0
  21. package/bundled/qc-helper/docs/features/worktree.md +345 -0
  22. package/bundled/qc-helper/docs/overview.md +4 -4
  23. package/bundled/qc-helper/docs/quickstart.md +4 -4
  24. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +221 -0
  25. package/bundled/qc-helper/docs/qwen-serve.md +234 -24
  26. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +16 -0
  27. package/bundled/qc-helper/docs/support/Uninstall.md +19 -1
  28. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
  29. package/bundled/simplify/SKILL.md +123 -0
  30. package/chunks/agent-IDS4HMOX.js +56 -0
  31. package/chunks/agent-headless-5Q2EUSPS.js +50 -0
  32. package/chunks/{anthropicContentGenerator-SSGKR6DO.js → anthropicContentGenerator-2HBRNQ3B.js} +52 -9
  33. package/chunks/{askUserQuestion-PJWUUXKN.js → askUserQuestion-75TDJVK2.js} +45 -3
  34. package/chunks/{ca-UZ7BANMN.js → ca-BARBRL6N.js} +89 -5
  35. package/chunks/{chunk-GGNTZ2NH.js → chunk-2Y5SYSD3.js} +368 -597
  36. package/chunks/{chunk-2LA2TREA.js → chunk-3AA2DK35.js} +1448 -207
  37. package/chunks/{chunk-I2V5WXHJ.js → chunk-3AUHFMSK.js} +80 -38
  38. package/chunks/chunk-3DHXZ6EV.js +241 -0
  39. package/chunks/{chunk-PR4T27R7.js → chunk-3HTIVKZE.js} +42 -8
  40. package/chunks/chunk-3HX5LZ6R.js +1798 -0
  41. package/chunks/chunk-3PJXIDKI.js +2517 -0
  42. package/chunks/{chunk-MYAKAFEC.js → chunk-55ZMG67I.js} +7451 -3517
  43. package/chunks/{chunk-66CXYE4B.js → chunk-5IFG2VC4.js} +293 -242
  44. package/chunks/chunk-64WXLC72.js +98 -0
  45. package/chunks/{chunk-C6WMLUNB.js → chunk-72LDN5PP.js} +1 -1
  46. package/chunks/{chunk-F23NCRJ2.js → chunk-A7B4ISQP.js} +1 -1
  47. package/chunks/chunk-B7HXHOHU.js +393 -0
  48. package/chunks/{chunk-XEGHDASV.js → chunk-D3RHSPAS.js} +435 -540
  49. package/chunks/{chunk-XKS5KBFJ.js → chunk-EYENRK4D.js} +694 -384
  50. package/chunks/chunk-H6BD2ELD.js +36 -0
  51. package/chunks/{chunk-XP27SJMH.js → chunk-HR7SV7AY.js} +79 -48
  52. package/chunks/{chunk-D5NTAHYL.js → chunk-IDX6COTE.js} +7 -2
  53. package/chunks/{chunk-SHT4VJWU.js → chunk-IWKSG2AR.js} +2 -2
  54. package/chunks/chunk-J37FGIOA.js +1623 -0
  55. package/chunks/chunk-J5MDQKJL.js +2230 -0
  56. package/chunks/{chunk-USE2VQ5P.js → chunk-JTQAQBTV.js} +21 -0
  57. package/chunks/{chunk-NCTLV2NB.js → chunk-KQJMQJPI.js} +1 -1
  58. package/chunks/{chunk-5FBA5XC2.js → chunk-KRIHGKNA.js} +1 -1
  59. package/chunks/chunk-LD2XBG6Z.js +102 -0
  60. package/chunks/{chunk-MAY32HXD.js → chunk-M6VTDSVR.js} +3 -1
  61. package/chunks/chunk-MRO43B25.js +30 -0
  62. package/chunks/{chunk-N4WOREMD.js → chunk-NVFMZBX2.js} +43 -3
  63. package/chunks/chunk-OHEGWO4L.js +264 -0
  64. package/chunks/{chunk-K6O2NBMF.js → chunk-OQ7NJIY7.js} +4604 -6397
  65. package/chunks/chunk-QQDPRDVW.js +25 -0
  66. package/chunks/{chunk-KXZ4TJB4.js → chunk-SEGYWKIH.js} +1 -1
  67. package/chunks/chunk-SKBPNJEW.js +45 -0
  68. package/chunks/{chunk-4AOCVI6J.js → chunk-SNGELLWX.js} +52 -6
  69. package/chunks/{chunk-3OCRHZA3.js → chunk-TD4OPI4T.js} +56742 -44104
  70. package/chunks/{chunk-DQ4QTG7E.js → chunk-VV4F63BD.js} +11 -11
  71. package/chunks/chunk-XBY7E2FX.js +605 -0
  72. package/chunks/{chunk-JKMBWLFB.js → chunk-YILFYI5W.js} +48 -26
  73. package/chunks/chunk-YOGAOMYB.js +159 -0
  74. package/chunks/{chunk-QWSRH265.js → chunk-Z2Z3GUXZ.js} +777 -776
  75. package/chunks/{chunk-SDHRQFOS.js → chunk-ZTZ4DDQE.js} +2 -2
  76. package/chunks/computer-use-W2TYQNEE.js +825 -0
  77. package/chunks/contextCommand-6FGX3A7J.js +52 -0
  78. package/chunks/{cron-create-3ZBBN7WB.js → cron-create-APL5LU6I.js} +3 -3
  79. package/chunks/{cron-delete-NAGKKIIG.js → cron-delete-4SBJSCN4.js} +3 -3
  80. package/chunks/{cron-list-PAGRXNAI.js → cron-list-2AMGOMVO.js} +3 -3
  81. package/chunks/{de-V4IE2OOZ.js → de-YGKK2BC4.js} +89 -5
  82. package/chunks/{devtools-TWVXEJQB.js → devtools-FM6GJPYG.js} +2 -1
  83. package/chunks/{dist-4L54HRX2.js → dist-4LXD6L6X.js} +24 -5
  84. package/chunks/dist-H6ONXVLG.js +94146 -0
  85. package/chunks/{dist-XKWIWPWQ.js → dist-KAZ3SEBX.js} +1083 -3856
  86. package/chunks/{dist-BXDUQ2QY.js → dist-PK7DFCAW.js} +1 -1
  87. package/chunks/{edit-NVO3FOAK.js → edit-ZCEZC264.js} +30 -22
  88. package/chunks/{en-HGJ2SPLM.js → en-DHGYHIHX.js} +127 -6
  89. package/chunks/{enter-worktree-UEBG4WFC.js → enter-worktree-BBHCFCHG.js} +30 -20
  90. package/chunks/enterPlanMode-3M6KTD3B.js +158 -0
  91. package/chunks/{exit-worktree-UZ3MAQZN.js → exit-worktree-73YPIEQO.js} +27 -19
  92. package/chunks/exitPlanMode-TYZM6BAE.js +703 -0
  93. package/chunks/{fr-CJULI7ZX.js → fr-JXBKPJKQ.js} +89 -5
  94. package/chunks/{geminiContentGenerator-3UZFXGNT.js → geminiContentGenerator-7N2V3VW2.js} +8 -6
  95. package/chunks/{getMachineId-bsd-JXOSIJV2.js → getMachineId-bsd-4CASPIU4.js} +4 -4
  96. package/chunks/{getMachineId-darwin-TE4QRR42.js → getMachineId-darwin-HPQPEMZR.js} +4 -4
  97. package/chunks/{getMachineId-linux-S3OL52XK.js → getMachineId-linux-AUARKYHL.js} +3 -3
  98. package/chunks/{getMachineId-unsupported-DWUSBAPX.js → getMachineId-unsupported-S32ZDA2T.js} +3 -3
  99. package/chunks/{getMachineId-win-AAC5P3AP.js → getMachineId-win-4EFLHYIJ.js} +4 -4
  100. package/chunks/{glob-KNHSFFFG.js → glob-5XBCPQ2A.js} +27 -19
  101. package/chunks/{grep-LACWDZW4.js → grep-VIUU3A7X.js} +30 -19
  102. package/chunks/{ja-L7CHRQEW.js → ja-TGPZSP2B.js} +89 -5
  103. package/chunks/{keychain-token-storage-335UOLJ6.js → keychain-token-storage-6IU6ORQN.js} +3 -3
  104. package/chunks/{ls-AGXQOKSG.js → ls-JRGYIGLY.js} +4 -4
  105. package/chunks/{lsp-UDMUHNPA.js → lsp-SHMKFOAC.js} +3 -3
  106. package/chunks/{monitor-ETKWPJEH.js → monitor-6R4LIJL5.js} +40 -25
  107. package/chunks/{multipart-parser-3QWGTLK3.js → multipart-parser-AJ4WASWR.js} +2 -2
  108. package/chunks/{notebook-edit-QJJLPNYT.js → notebook-edit-5E7ULDVQ.js} +28 -20
  109. package/chunks/{openaiContentGenerator-CNNN424U.js → openaiContentGenerator-ZVHFKM3O.js} +17 -14
  110. package/chunks/{pt-M6JULLEQ.js → pt-TIBG6BIO.js} +89 -5
  111. package/chunks/{qwenContentGenerator-BOLCGK3R.js → qwenContentGenerator-B2VTVSPJ.js} +31 -23
  112. package/chunks/{qwenOAuth2-EEJGROP7.js → qwenOAuth2-2KCKWDCF.js} +6 -4
  113. package/chunks/read-file-GIT7BCDR.js +27 -0
  114. package/chunks/ripGrep-MWKFVYMS.js +48 -0
  115. package/chunks/{ru-QILM4HBC.js → ru-JBCHCK4L.js} +89 -5
  116. package/chunks/scheduler-5VOOYGBH.js +308 -0
  117. package/chunks/send-message-4QNWQJF4.js +244 -0
  118. package/chunks/{serve-OLSI7WSR.js → serve-MN6HZBWN.js} +14262 -7414
  119. package/chunks/shell-NQZQGFM2.js +56 -0
  120. package/chunks/{skill-D6YRHTTI.js → skill-WCFW4644.js} +145 -119
  121. package/chunks/{src-TMOD5X6F.js → src-7XL4G4DC.js} +88 -46
  122. package/chunks/{src-4QH4FZ6I.js → src-IHA6DTUV.js} +452 -62
  123. package/chunks/{syntheticOutput-5PVFDDJ4.js → syntheticOutput-YTYS2ZMQ.js} +4 -4
  124. package/chunks/task-create-MPORPYN6.js +19 -0
  125. package/chunks/task-list-R2YDYPZT.js +151 -0
  126. package/chunks/{task-stop-AJKPSR6R.js → task-stop-SYWJYBCM.js} +3 -3
  127. package/chunks/task-update-E4NSLKMQ.js +408 -0
  128. package/chunks/team-create-7R7KA5IP.js +314 -0
  129. package/chunks/team-delete-25OIWUPN.js +116 -0
  130. package/chunks/{todoWrite-VLAUG4CA.js → todoWrite-4YHMIF4X.js} +16 -5
  131. package/chunks/{tool-search-MZGHUUKD.js → tool-search-YBRVZCLI.js} +29 -11
  132. package/chunks/{tts-notification-K3X7X7MN.js → tts-notification-7SOEMQK4.js} +5 -4
  133. package/chunks/{web-fetch-OILB464A.js → web-fetch-MFIRHIHI.js} +5 -5
  134. package/chunks/workflow-5RIKVCIE.js +960 -0
  135. package/chunks/{write-file-BIQAA57V.js → write-file-DMQTJZOM.js} +32 -24
  136. package/chunks/{zh-PWL2NKY3.js → zh-7H5OQC4I.js} +135 -11
  137. package/chunks/{zh-TW-S3YGWICZ.js → zh-TW-P4IDHD3M.js} +128 -11
  138. package/cli.js +45402 -20570
  139. package/examples/agent/agents/diary.md +86 -0
  140. package/examples/agent/qwen-extension.json +5 -0
  141. package/examples/commands/commands/fs/grep-code.md +3 -0
  142. package/examples/commands/qwen-extension.json +5 -0
  143. package/examples/context/QWEN.md +8 -0
  144. package/examples/context/qwen-extension.json +5 -0
  145. package/examples/mcp-server/example.ts +60 -0
  146. package/examples/mcp-server/package.json +18 -0
  147. package/examples/mcp-server/qwen-extension.json +12 -0
  148. package/examples/mcp-server/tsconfig.json +13 -0
  149. package/examples/skills/qwen-extension.json +5 -0
  150. package/examples/skills/skills/synonyms/SKILL.md +48 -0
  151. package/examples/starter/QWEN.md +30 -0
  152. package/examples/starter/README.md +59 -0
  153. package/examples/starter/agents/diary.md +86 -0
  154. package/examples/starter/commands/writing/polish.md +13 -0
  155. package/examples/starter/example.ts +64 -0
  156. package/examples/starter/package.json +18 -0
  157. package/examples/starter/qwen-extension.json +12 -0
  158. package/examples/starter/skills/synonyms/SKILL.md +48 -0
  159. package/examples/starter/tsconfig.json +13 -0
  160. package/fzfWorker.js +1083 -0
  161. package/locales/ca.js +118 -5
  162. package/locales/de.js +117 -5
  163. package/locales/en.js +169 -7
  164. package/locales/fr.js +119 -5
  165. package/locales/ja.js +114 -5
  166. package/locales/pt.js +117 -5
  167. package/locales/ru.js +116 -5
  168. package/locales/zh-TW.js +161 -12
  169. package/locales/zh.js +169 -12
  170. package/package.json +4 -2
  171. package/scripts/postinstall.cjs +2 -1
  172. package/bundled/qc-helper/docs/features/checkpointing.md +0 -77
  173. package/chunks/agent-7ZN3CRHR.js +0 -48
  174. package/chunks/chunk-6PCB2DEF.js +0 -434
  175. package/chunks/chunk-EM6ETG2K.js +0 -60
  176. package/chunks/chunk-G7YTSRES.js +0 -150
  177. package/chunks/contextCommand-7IBASARL.js +0 -44
  178. package/chunks/exitPlanMode-PZAMWIRW.js +0 -227
  179. package/chunks/multipart-parser-IXGBIOIN.js +0 -384
  180. package/chunks/read-file-CCUEUFG2.js +0 -24
  181. package/chunks/ripGrep-TADOH2HK.js +0 -40
  182. package/chunks/send-message-YL44UZFC.js +0 -151
  183. package/chunks/shell-7KKKC5G7.js +0 -48
  184. package/chunks/src-IPWIHNMI.js +0 -1406
  185. package/chunks/undici-F6ZOXSS5.js +0 -8
@@ -0,0 +1,52 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ collectContextData,
5
+ contextCommand,
6
+ formatContextUsageText
7
+ } from "./chunk-YILFYI5W.js";
8
+ import "./chunk-VV4F63BD.js";
9
+ import "./chunk-TD4OPI4T.js";
10
+ import "./chunk-K5PGHDBN.js";
11
+ import "./chunk-XBY7E2FX.js";
12
+ import "./chunk-SKBPNJEW.js";
13
+ import "./chunk-NVFMZBX2.js";
14
+ import "./chunk-O4PICXES.js";
15
+ import "./chunk-TW522KN6.js";
16
+ import "./chunk-3DHXZ6EV.js";
17
+ import "./chunk-J5MDQKJL.js";
18
+ import "./chunk-MLZQVCF3.js";
19
+ import "./chunk-LD2XBG6Z.js";
20
+ import "./chunk-OHEGWO4L.js";
21
+ import "./chunk-SNGELLWX.js";
22
+ import "./chunk-77WXWU44.js";
23
+ import "./chunk-A7B4ISQP.js";
24
+ import "./chunk-OQ7NJIY7.js";
25
+ import "./chunk-3PJXIDKI.js";
26
+ import "./chunk-UWCTAVOD.js";
27
+ import "./chunk-OFEVLU4C.js";
28
+ import "./chunk-3HTIVKZE.js";
29
+ import "./chunk-IDX6COTE.js";
30
+ import "./chunk-KQJMQJPI.js";
31
+ import "./chunk-D3RHSPAS.js";
32
+ import "./chunk-2Y5SYSD3.js";
33
+ import "./chunk-SEGYWKIH.js";
34
+ import "./chunk-64WXLC72.js";
35
+ import "./chunk-B7HXHOHU.js";
36
+ import "./chunk-EYENRK4D.js";
37
+ import "./chunk-M6VTDSVR.js";
38
+ import "./chunk-55ZMG67I.js";
39
+ import "./chunk-H6BD2ELD.js";
40
+ import "./chunk-5IFG2VC4.js";
41
+ import "./chunk-HR7SV7AY.js";
42
+ import "./chunk-ZERZSAZL.js";
43
+ import "./chunk-QN5NZ3UQ.js";
44
+ import "./chunk-BR4QREVK.js";
45
+ import "./chunk-Z2Z3GUXZ.js";
46
+ import "./chunk-A4BMJM77.js";
47
+ import "./chunk-J2S4EL5Y.js";
48
+ export {
49
+ collectContextData,
50
+ contextCommand,
51
+ formatContextUsageText
52
+ };
@@ -11,9 +11,9 @@ import {
11
11
  BaseToolInvocation,
12
12
  ToolDisplayNames,
13
13
  ToolNames
14
- } from "./chunk-XEGHDASV.js";
15
- import "./chunk-XP27SJMH.js";
16
- import "./chunk-QWSRH265.js";
14
+ } from "./chunk-D3RHSPAS.js";
15
+ import "./chunk-HR7SV7AY.js";
16
+ import "./chunk-Z2Z3GUXZ.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-A4BMJM77.js";
@@ -5,9 +5,9 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-XEGHDASV.js";
9
- import "./chunk-XP27SJMH.js";
10
- import "./chunk-QWSRH265.js";
8
+ } from "./chunk-D3RHSPAS.js";
9
+ import "./chunk-HR7SV7AY.js";
10
+ import "./chunk-Z2Z3GUXZ.js";
11
11
  import {
12
12
  init_esbuild_shims
13
13
  } from "./chunk-A4BMJM77.js";
@@ -8,9 +8,9 @@ import {
8
8
  BaseToolInvocation,
9
9
  ToolDisplayNames,
10
10
  ToolNames
11
- } from "./chunk-XEGHDASV.js";
12
- import "./chunk-XP27SJMH.js";
13
- import "./chunk-QWSRH265.js";
11
+ } from "./chunk-D3RHSPAS.js";
12
+ import "./chunk-HR7SV7AY.js";
13
+ import "./chunk-Z2Z3GUXZ.js";
14
14
  import {
15
15
  init_esbuild_shims
16
16
  } from "./chunk-A4BMJM77.js";
@@ -22,6 +22,7 @@ var de_default = {
22
22
  "@src/myFile.ts": "@src/myFile.ts",
23
23
  "Shell mode": "Shell-Modus",
24
24
  "YOLO mode": "YOLO-Modus",
25
+ "Auto mode": "Auto-Modus",
25
26
  "plan mode": "Planungsmodus",
26
27
  "auto-accept edits": "\xC4nderungen automatisch akzeptieren",
27
28
  "Accepting edits": "\xC4nderungen werden akzeptiert",
@@ -75,7 +76,30 @@ var de_default = {
75
76
  // ============================================================================
76
77
  "Analyzes the project and creates a tailored QWEN.md file.": "Analysiert das Projekt und erstellt eine ma\xDFgeschneiderte QWEN.md-Datei.",
77
78
  "List available Qwen Code tools. Usage: /tools [desc]": "Verf\xFCgbare Qwen Code Werkzeuge auflisten. Verwendung: /tools [desc]",
78
- "List available skills.": "Verf\xFCgbare Skills auflisten.",
79
+ "Open the skills panel (browse, search, toggle, pick).": "Skills-Panel \xF6ffnen (durchsuchen, suchen, ein/aus, ausw\xE4hlen).",
80
+ "Manage Skills": "Skills verwalten",
81
+ "Skills configuration saved.": "Skills-Konfiguration gespeichert.",
82
+ "Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.": "Skills-Konfiguration gespeichert, aber Aktualisierung fehlgeschlagen: {{error}}. Bitte neu starten, um den neuen Zustand zu \xFCbernehmen.",
83
+ "Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.qwen/settings.json directly to manage skills at user scope.": "Arbeitsbereich ist nicht vertrauensw\xFCrdig; Arbeitsbereichseinstellungen werden in der zusammengef\xFChrten Konfiguration ignoriert. F\xFChre zuerst /trust aus oder bearbeite ~/.qwen/settings.json direkt, um Skills auf Benutzerebene zu verwalten.",
84
+ "SkillManager not available.": "SkillManager nicht verf\xFCgbar.",
85
+ "Loading skills\u2026": "Skills werden geladen\u2026",
86
+ "Failed to load skills: {{error}}": "Skills konnten nicht geladen werden: {{error}}",
87
+ "Failed to save skills configuration: {{error}}": "Speichern der Skill-Konfiguration fehlgeschlagen: {{error}}",
88
+ "All available skills are disabled. Edit ~/.qwen/settings.json or .qwen/settings.json (skills.disabled) to re-enable.": "Alle verf\xFCgbaren Skills sind deaktiviert. Bearbeite ~/.qwen/settings.json oder .qwen/settings.json (skills.disabled), um sie wieder zu aktivieren.",
89
+ "Press esc to close.": "Esc dr\xFCcken, um zu schlie\xDFen.",
90
+ "{{count}} skills \xB7 ": "{{count}} Skills \xB7 ",
91
+ "{{matched}} / {{total}} skills \xB7 ": "{{matched}} / {{total}} Skills \xB7 ",
92
+ "Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope": "Leertaste umschalten \xB7 Enter ausw\xE4hlen (in Eingabe) \xB7 Esc speichern & beenden \xB7 Arbeitsbereich",
93
+ "Search:": "Suche:",
94
+ "type to filter\u2026": "Tippen zum Filtern\u2026",
95
+ "No skills are currently available.": "Derzeit sind keine Skills verf\xFCgbar.",
96
+ "All available skills are locked at a higher scope (see below).": "Alle verf\xFCgbaren Skills sind in einer h\xF6heren Ebene gesperrt (siehe unten).",
97
+ "No skills match the search.": "Keine Skills passen zur Suche.",
98
+ "Locked by higher-scope settings (cannot toggle here):": "Gesperrt durch Einstellungen einer h\xF6heren Ebene (kann hier nicht umgeschaltet werden):",
99
+ "higher scope": "h\xF6here Ebene",
100
+ " {{name}} {{description}} [locked: {{scope}}]": " {{name}} {{description}} [gesperrt: {{scope}}]",
101
+ "\u2191/\u2193 navigate \xB7 backspace edits search": "\u2191/\u2193 navigieren \xB7 R\xFCcktaste bearbeitet Suche",
102
+ Bundled: "Mitgeliefert",
79
103
  "Available Qwen Code CLI tools:": "Verf\xFCgbare Qwen Code CLI-Werkzeuge:",
80
104
  "No tools available": "Keine Werkzeuge verf\xFCgbar",
81
105
  "View or change the approval mode for tool usage": "Genehmigungsmodus f\xFCr Werkzeugnutzung anzeigen oder \xE4ndern",
@@ -126,7 +150,7 @@ var de_default = {
126
150
  "open full Qwen Code documentation in your browser": "Vollst\xE4ndige Qwen Code Dokumentation im Browser \xF6ffnen",
127
151
  "Configuration not available.": "Konfiguration nicht verf\xFCgbar.",
128
152
  "Connect an LLM provider": "LLM-Anbieter verbinden",
129
- "Copy the last result or code snippet to clipboard": "Letztes Ergebnis oder Codeausschnitt in die Zwischenablage kopieren",
153
+ "Copy the last AI response to clipboard (/copy N for Nth-latest)": "Letzte KI-Antwort in die Zwischenablage kopieren (/copy N f\xFCr die N-letzte)",
130
154
  // ============================================================================
131
155
  // Commands - Agents
132
156
  // ============================================================================
@@ -297,7 +321,7 @@ var de_default = {
297
321
  Text: "Text",
298
322
  JSON: "JSON",
299
323
  Plan: "Plan",
300
- Default: "Standard",
324
+ "Ask permissions": "Berechtigung anfragen",
301
325
  "Auto Edit": "Automatisch bearbeiten",
302
326
  YOLO: "YOLO",
303
327
  "toggle vim mode on/off": "Vim-Modus ein-/ausschalten",
@@ -487,6 +511,7 @@ var de_default = {
487
511
  "After tool execution fails": "Wenn die Tool-Ausf\xFChrung fehlschl\xE4gt",
488
512
  "When notifications are sent": "Wenn Benachrichtigungen gesendet werden",
489
513
  "When the user submits a prompt": "Wenn der Benutzer einen Prompt absendet",
514
+ "When a slash command expands into a prompt": "Wenn ein Slash-Befehl zu einem Prompt erweitert wird",
490
515
  "When a new session is started": "Wenn eine neue Sitzung gestartet wird",
491
516
  "Right before Qwen Code concludes its response": "Direkt bevor Qwen Code seine Antwort abschlie\xDFt",
492
517
  "When a subagent (Agent tool call) is started": "Wenn ein Subagent (Agent-Tool-Aufruf) gestartet wird",
@@ -502,6 +527,7 @@ var de_default = {
502
527
  "Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.": "Die Eingabe an den Befehl ist JSON mit tool_name, tool_input, tool_use_id, error, error_type, is_interrupt und is_timeout.",
503
528
  "Input to command is JSON with notification message and type.": "Die Eingabe an den Befehl ist JSON mit Benachrichtigungsnachricht und -typ.",
504
529
  "Input to command is JSON with original user prompt text.": "Die Eingabe an den Befehl ist JSON mit dem urspr\xFCnglichen Benutzer-Prompt-Text.",
530
+ "Input to command is JSON with command_name, command_args, and expanded prompt text.": "Die Eingabe an den Befehl ist JSON mit command_name, command_args und erweitertem Prompt-Text.",
505
531
  "Input to command is JSON with session start source.": "Die Eingabe an den Befehl ist JSON mit der Sitzungsstart-Quelle.",
506
532
  "Input to command is JSON with session end reason.": "Die Eingabe an den Befehl ist JSON mit dem Sitzungsende-Grund.",
507
533
  "Input to command is JSON with agent_id and agent_type.": "Die Eingabe an den Befehl ist JSON mit agent_id und agent_type.",
@@ -518,6 +544,7 @@ var de_default = {
518
544
  "show stderr to model immediately": "stderr sofort dem Modell anzeigen",
519
545
  "show stderr to user only but continue with tool call": "stderr nur dem Benutzer anzeigen, aber mit Tool-Aufruf fortfahren",
520
546
  "block processing, erase original prompt, and show stderr to user only": "Verarbeitung blockieren, urspr\xFCnglichen Prompt l\xF6schen und stderr nur dem Benutzer anzeigen",
547
+ "block expanded prompt submission and show stderr to user only": "Einreichen des erweiterten Prompts blockieren und stderr nur dem Benutzer anzeigen",
521
548
  "stdout shown to Qwen": "stdout dem Qwen anzeigen",
522
549
  "show stderr to user only (blocking errors ignored)": "stderr nur dem Benutzer anzeigen (Blockierungsfehler ignoriert)",
523
550
  "command completes successfully": "Befehl erfolgreich abgeschlossen",
@@ -551,6 +578,15 @@ var de_default = {
551
578
  // ============================================================================
552
579
  "Resume a previous session": "Eine vorherige Sitzung fortsetzen",
553
580
  "Fork the current conversation into a new session": "Die aktuelle Unterhaltung in eine neue Sitzung verzweigen",
581
+ "Spawn a background agent that inherits the full conversation": "Einen Hintergrund-Agenten starten, der die gesamte Unterhaltung \xFCbernimmt",
582
+ "Please provide a directive. Usage: /fork <directive>": "Bitte geben Sie eine Anweisung an. Verwendung: /fork <Anweisung>",
583
+ "Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.": "W\xE4hrend eine Antwort oder ein Tool-Aufruf l\xE4uft, kann kein Hintergrund-Fork erstellt werden. Warten Sie, bis der Vorgang abgeschlossen ist, oder bearbeiten Sie den ausstehenden Tool-Aufruf.",
584
+ "Cannot fork before the first conversation turn.": "Vor der ersten Gespr\xE4chsrunde kann kein Fork erstellt werden.",
585
+ "The /fork command requires the fork feature gate. Set QWEN_CODE_ENABLE_FORK_SUBAGENT=1 to enable it.": "Der Befehl /fork erfordert das Fork-Feature-Gate. Setzen Sie QWEN_CODE_ENABLE_FORK_SUBAGENT=1, um es zu aktivieren.",
586
+ "The agent tool is unavailable; cannot fork.": "Das Agent-Tool ist nicht verf\xFCgbar; Fork kann nicht gestartet werden.",
587
+ "Failed to launch fork: {{error}}": "Fork konnte nicht gestartet werden: {{error}}",
588
+ "User launched a background fork via /fork: {{directive}}": "Benutzer hat \xFCber /fork einen Hintergrund-Fork gestartet: {{directive}}",
589
+ "Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.": "In einen Hintergrund-Agenten verzweigt. Er \xFCbernimmt diese Unterhaltung und l\xE4uft ohne zu blockieren \u2014 verfolgen Sie ihn im Hintergrundaufgaben-Panel; er meldet sich nach Abschluss zur\xFCck.",
554
590
  "Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.": "W\xE4hrend eine Antwort oder ein Tool-Aufruf l\xE4uft, kann keine Verzweigung erstellt werden. Warten Sie, bis der Vorgang abgeschlossen ist, oder bearbeiten Sie den ausstehenden Tool-Aufruf.",
555
591
  "No conversation to branch.": "Keine Unterhaltung zum Verzweigen vorhanden.",
556
592
  "Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested": "Einen Tool-Aufruf wiederherstellen. Dadurch werden Konversations- und Dateiverlauf auf den Zustand zur\xFCckgesetzt, in dem der Tool-Aufruf vorgeschlagen wurde",
@@ -583,10 +619,10 @@ var de_default = {
583
619
  // Commands - Approval Mode
584
620
  // ============================================================================
585
621
  "Tool Approval Mode": "Werkzeug-Genehmigungsmodus",
586
- "{{mode}} mode": "{{mode}}-Modus",
587
622
  "Analyze only, do not modify files or execute commands": "Nur analysieren, keine Dateien \xE4ndern oder Befehle ausf\xFChren",
588
623
  "Require approval for file edits or shell commands": "Genehmigung f\xFCr Dateibearbeitungen oder Shell-Befehle erforderlich",
589
624
  "Automatically approve file edits": "Dateibearbeitungen automatisch genehmigen",
625
+ "Use classifier to automatically approve safe tool calls": "Klassifikator verwenden, um sichere Werkzeugaufrufe automatisch zu genehmigen",
590
626
  "Automatically approve all tools": "Alle Werkzeuge automatisch genehmigen",
591
627
  "Workspace approval mode exists and takes priority. User-level change will have no effect.": "Arbeitsbereich-Genehmigungsmodus existiert und hat Vorrang. Benutzerebene-\xC4nderung hat keine Wirkung.",
592
628
  "Apply To": "Anwenden auf",
@@ -594,6 +630,7 @@ var de_default = {
594
630
  "Open auto-memory folder": "Auto-Speicher-Ordner \xF6ffnen",
595
631
  "Auto-memory: {{status}}": "Auto-Speicher: {{status}}",
596
632
  "Auto-dream: {{status}} \xB7 {{lastDream}} \xB7 /dream to run": "Auto-Konsolidierung: {{status}} \xB7 {{lastDream}} \xB7 /dream zum Ausf\xFChren",
633
+ "Auto-skill: {{status}}": "Auto-Skill: {{status}}",
597
634
  never: "nie",
598
635
  on: "ein",
599
636
  off: "aus",
@@ -989,6 +1026,21 @@ var de_default = {
989
1026
  " Overall Agreement Rate:": " Gesamtzustimmungsrate:",
990
1027
  "No tool calls have been made in this session.": "In dieser Sitzung wurden keine Werkzeugaufrufe gemacht.",
991
1028
  "Session start time is unavailable, cannot calculate stats.": "Sitzungsstartzeit nicht verf\xFCgbar, Statistiken k\xF6nnen nicht berechnet werden.",
1029
+ Activity: "Aktivit\xE4t",
1030
+ Efficiency: "Effizienz",
1031
+ Today: "Heute",
1032
+ "Token Trend": "Token-Trend",
1033
+ "Cache Hit Rate": "Cache-Trefferquote",
1034
+ "Tool Success": "Tool-Erfolgsrate",
1035
+ "Tool Leaderboard": "Tool-Rangliste",
1036
+ Time: "Zeit",
1037
+ Success: "Erfolg",
1038
+ Cache: "Cache",
1039
+ Latency: "Latenz",
1040
+ "Code Impact": "Code-\xC4nderungen",
1041
+ net: "netto",
1042
+ streak: "Serie",
1043
+ best: "Rekord",
992
1044
  // ============================================================================
993
1045
  // Command Format Migration
994
1046
  // ============================================================================
@@ -1412,7 +1464,39 @@ var de_default = {
1412
1464
  "Skills:": "F\xE4higkeiten:",
1413
1465
  remote: "entfernt",
1414
1466
  "\u4E2D\u56FD (China)": "China",
1415
- "\u4E2D\u56FD (China) - \u963F\u91CC\u4E91\u767E\u70BC": "China - \u963F\u91CC\u4E91\u767E\u70BC"
1467
+ "\u4E2D\u56FD (China) - \u963F\u91CC\u4E91\u767E\u70BC": "China - \u963F\u91CC\u4E91\u767E\u70BC",
1468
+ // Stats Dashboard — Category 2
1469
+ "Activity Heatmap": "Aktivit\xE4ts-Heatmap",
1470
+ Less: "Weniger",
1471
+ More: "Mehr",
1472
+ Sessions: "Sitzungen",
1473
+ Duration: "Dauer",
1474
+ Projects: "Projekte",
1475
+ "Loading stats...": "Statistiken werden geladen...",
1476
+ "(no data)": "(keine Daten)",
1477
+ d: "d",
1478
+ h: "h",
1479
+ m: "m",
1480
+ Input: "Eingabe",
1481
+ Models: "Modelle",
1482
+ "All time": "Gesamtzeitraum",
1483
+ "Last 7 days": "Letzte 7 Tage",
1484
+ "Last 30 days": "Letzte 30 Tage",
1485
+ "Show usage statistics dashboard.": "Nutzungsstatistik-Dashboard anzeigen.",
1486
+ // Stats Dashboard — keyboard hints (not translated)
1487
+ "tab \xB7 esc": "tab \xB7 esc",
1488
+ "tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc": "tab \xB7 r dates \xB7 \u2190\u2192 month \xB7 esc",
1489
+ "tab \xB7 r dates \xB7 esc": "tab \xB7 r dates \xB7 esc",
1490
+ // Stats Dashboard — missing labels
1491
+ "API Requests": "API-Anfragen",
1492
+ "Tool Calls": "Tool-Aufrufe",
1493
+ "Success rate": "Erfolgsrate",
1494
+ "Code Changes": "Code-\xC4nderungen",
1495
+ Tool: "Tool",
1496
+ reqs: "Anfr.",
1497
+ in: "ein",
1498
+ out: "aus",
1499
+ "In/Out": "Ein/Aus"
1416
1500
  };
1417
1501
  export {
1418
1502
  de_default as default
@@ -2,7 +2,8 @@
2
2
  "use strict";
3
3
  import {
4
4
  wrapper_default
5
- } from "./chunk-66CXYE4B.js";
5
+ } from "./chunk-H6BD2ELD.js";
6
+ import "./chunk-5IFG2VC4.js";
6
7
  import {
7
8
  init_esbuild_shims
8
9
  } from "./chunk-A4BMJM77.js";
@@ -11,10 +11,10 @@ import {
11
11
  sendMessage,
12
12
  sendTyping,
13
13
  uploadToCdn
14
- } from "./chunk-C6WMLUNB.js";
14
+ } from "./chunk-72LDN5PP.js";
15
15
  import {
16
16
  ChannelBase
17
- } from "./chunk-USE2VQ5P.js";
17
+ } from "./chunk-JTQAQBTV.js";
18
18
  import "./chunk-UFC57OYT.js";
19
19
  import "./chunk-K5PGHDBN.js";
20
20
  import {
@@ -197,7 +197,7 @@ init_esbuild_shims();
197
197
  import { randomBytes, randomUUID } from "node:crypto";
198
198
  import { readFileSync as readFileSync2, statSync, realpathSync, openSync, readSync, closeSync } from "node:fs";
199
199
  import { tmpdir } from "node:os";
200
- import { resolve, extname } from "node:path";
200
+ import { resolve, extname, win32, posix } from "node:path";
201
201
 
202
202
  // packages/channels/weixin/dist/media.js
203
203
  init_esbuild_shims();
@@ -257,6 +257,23 @@ function markdownToPlainText(text) {
257
257
  __name(markdownToPlainText, "markdownToPlainText");
258
258
  var ALLOWED_EXTS = /* @__PURE__ */ new Set([".png", ".jpg", ".jpeg", ".gif", ".webp"]);
259
259
  var MAX_IMAGE_SIZE = 20 * 1024 * 1024;
260
+ function looksLikeWindowsPath(pathValue) {
261
+ return /^[a-zA-Z]:[\\/]/.test(pathValue) || pathValue.startsWith("\\\\");
262
+ }
263
+ __name(looksLikeWindowsPath, "looksLikeWindowsPath");
264
+ function normalizeWindowsPath(pathValue) {
265
+ return pathValue.replace(/\//g, "\\");
266
+ }
267
+ __name(normalizeWindowsPath, "normalizeWindowsPath");
268
+ function isInsideAllowedDir(realPath, allowedDir) {
269
+ const windowsStyle = looksLikeWindowsPath(realPath) || looksLikeWindowsPath(allowedDir);
270
+ const pathImpl = windowsStyle ? win32 : posix;
271
+ const from = windowsStyle ? normalizeWindowsPath(allowedDir) : allowedDir;
272
+ const to = windowsStyle ? normalizeWindowsPath(realPath) : realPath;
273
+ const relative = pathImpl.relative(from, to);
274
+ return relative === "" || !relative.startsWith("..") && !pathImpl.isAbsolute(relative);
275
+ }
276
+ __name(isInsideAllowedDir, "isInsideAllowedDir");
260
277
  function detectImageMime(data) {
261
278
  if (data[0] === 137 && data[1] === 80 && data[2] === 78 && data[3] === 71) {
262
279
  return "image/png";
@@ -300,7 +317,7 @@ function validateImagePath(imagePath, workspaceDirs = []) {
300
317
  realpathSync(tmpdir()) + "/",
301
318
  ...workspaceDirs.map((d) => realpathSync(resolve(d)) + "/")
302
319
  ];
303
- if (!ALLOWED_DIRS.some((dir) => real.startsWith(dir))) {
320
+ if (!ALLOWED_DIRS.some((dir) => isInsideAllowedDir(real, dir))) {
304
321
  throw new Error(`Image path outside allowed directories: ${real}`);
305
322
  }
306
323
  let fd;
@@ -354,7 +371,7 @@ async function sendImage(params) {
354
371
  const uploadParam = await getUploadUrl(baseUrl, token, to, filekey, rawsize, rawfilemd5, encryptedSize, aesKeyHex);
355
372
  const encrypted = encryptAesEcb(fileBuffer, aesKeyBytes);
356
373
  const cdnEncryptParam = await uploadToCdn(uploadParam, filekey, encrypted);
357
- const aesKeyBase64 = aesKeyBytes.toString("base64");
374
+ const aesKeyBase64 = Buffer.from(aesKeyHex, "ascii").toString("base64");
358
375
  await sendMessage(baseUrl, token, {
359
376
  to_user_id: to,
360
377
  from_user_id: "",
@@ -366,6 +383,8 @@ async function sendImage(params) {
366
383
  {
367
384
  type: MessageItemType.IMAGE,
368
385
  image_item: {
386
+ aeskey: aesKeyHex,
387
+ mid_size: encryptedSize,
369
388
  media: {
370
389
  encrypt_query_param: cdnEncryptParam,
371
390
  aes_key: aesKeyBase64,