@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260710.205430235
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.
- package/bundled/qc-helper/SKILL.md +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +40 -55
- package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
- package/bundled/qc-helper/docs/configuration/settings.md +43 -36
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +20 -12
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/bundled/qc-helper/docs/features/code-review.md +2 -1
- package/bundled/qc-helper/docs/features/commands.md +39 -38
- package/bundled/qc-helper/docs/features/computer-use.md +77 -0
- package/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
- package/bundled/qc-helper/docs/qwen-serve.md +22 -12
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/DESIGN.md +14 -13
- package/bundled/review/SKILL.md +38 -61
- package/chunks/{MaxSizedBox-XY5LIO5O.js → MaxSizedBox-LOFYQFYJ.js} +13 -14
- package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-U5OQBGEB.js} +31 -29
- package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-SDIFRIED.js} +637 -131
- package/chunks/{agent-TKIBLLQT.js → agent-JIBBVHNQ.js} +10 -10
- package/chunks/{agent-headless-VLX4C7KX.js → agent-headless-6LGZYJYU.js} +10 -10
- package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-55REPTTF.js} +30 -3
- package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-EIN46DPM.js} +1 -1
- package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-6YX6ZRX7.js} +1 -1
- package/chunks/{bridge-BCU73DZO.js → bridge-HVPFYNM4.js} +17 -16
- package/chunks/{ca-HCMB2I54.js → ca-MULEGDVS.js} +89 -5
- package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-OPXXT4JK.js} +20 -3
- package/chunks/{chunk-DGHJTO2K.js → chunk-2AF26HVM.js} +31 -2
- package/chunks/{chunk-3B26UVCX.js → chunk-2GUVUHJY.js} +6 -4
- package/chunks/{chunk-FV7425LN.js → chunk-2SZOMGOR.js} +4 -1
- package/chunks/{chunk-CNSF3WO5.js → chunk-32KS5XSX.js} +3 -3
- package/chunks/{chunk-4UCTWSTP.js → chunk-34UUM3IN.js} +1 -1
- package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/chunks/{chunk-MIG5SQNL.js → chunk-4CSVIZLT.js} +4 -4
- package/chunks/{chunk-GD236YPV.js → chunk-4ONWIT5C.js} +1 -1
- package/chunks/{chunk-4ZJIPVPB.js → chunk-4XK7TNBP.js} +8 -8
- package/chunks/{chunk-I4A4K72C.js → chunk-5F2H3PXG.js} +446 -232
- package/chunks/chunk-5HOF2K5U.js +19 -0
- package/chunks/{chunk-GMOWQOQQ.js → chunk-5ZVIYNLN.js} +228 -36
- package/chunks/chunk-6O6Z2I5Q.js +292 -0
- package/chunks/{chunk-RYFZCUJO.js → chunk-6QKT5VNZ.js} +14 -6
- package/chunks/{chunk-SD4N3QJ2.js → chunk-6ZPSVWLF.js} +61 -17
- package/chunks/{chunk-X265R5C6.js → chunk-7YGSDQ5J.js} +2 -2
- package/chunks/{chunk-PRDFOIZF.js → chunk-A6KEUFJO.js} +32 -5
- package/chunks/{chunk-OWVIH4HY.js → chunk-B5OAMPJ5.js} +389 -87
- package/chunks/{chunk-ME3YSROJ.js → chunk-CV2AT2WJ.js} +22 -10
- package/chunks/{chunk-U4FRHCLA.js → chunk-DDKUYKHA.js} +1912 -201
- package/chunks/{chunk-YDSYD7UI.js → chunk-E3SA2LY4.js} +2 -2
- package/chunks/{chunk-6IAWPIQ6.js → chunk-EDM5O3SX.js} +2 -2
- package/chunks/{chunk-CISB3IQF.js → chunk-FONJQQWI.js} +65 -6
- package/chunks/{chunk-FRFFNYUY.js → chunk-G3WIMNL4.js} +3 -3
- package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/chunks/chunk-GLE2YUPU.js +34 -0
- package/chunks/{chunk-MJI36HER.js → chunk-GOTMC3BX.js} +1 -1
- package/chunks/{chunk-RFIL6REB.js → chunk-GRB4QSBD.js} +168 -31
- package/chunks/chunk-GVVY7GSP.js +38 -0
- package/chunks/{chunk-7JGISHHZ.js → chunk-HDEUQRAR.js} +14 -156
- package/chunks/{chunk-NZEGNV4V.js → chunk-HPRI22FZ.js} +6 -6
- package/chunks/{chunk-STAZRKOT.js → chunk-I34IHZFJ.js} +117 -459
- package/chunks/{chunk-JF7DFPQ5.js → chunk-I3MBKL6Z.js} +12 -2
- package/chunks/{chunk-DNV4FSN5.js → chunk-I5XN6KDI.js} +21 -4
- package/chunks/{chunk-VZ7HY3YU.js → chunk-IAMRWMFU.js} +1 -1
- package/chunks/{chunk-44NROQYV.js → chunk-JOQMY62N.js} +1 -1
- package/chunks/{chunk-VQWAZSXN.js → chunk-JW4IKIZ2.js} +57 -35
- package/chunks/{chunk-SAIILPQ3.js → chunk-KJMYXFUR.js} +3 -1
- package/chunks/{chunk-AFOLR6YL.js → chunk-KQ6MKCFE.js} +102 -16
- package/chunks/{chunk-X3YGAX7V.js → chunk-KS2FRTYI.js} +2 -0
- package/chunks/{chunk-IUE7YWC3.js → chunk-LE7EF36E.js} +7 -7
- package/chunks/{chunk-B4U2M63D.js → chunk-LRY7HD3Q.js} +2101 -11
- package/chunks/{chunk-PUQLHSQ2.js → chunk-ME7E6WZB.js} +6 -8
- package/chunks/{chunk-LEIJKM7Q.js → chunk-MEK7ZRJ3.js} +1 -1
- package/chunks/{chunk-AJBEAUIS.js → chunk-MG2TNCRX.js} +4 -3
- package/chunks/{chunk-GL5TV7B5.js → chunk-MSMQURDV.js} +21 -5
- package/chunks/{chunk-6BN7NZ5Z.js → chunk-NXDJLKKX.js} +4 -6
- package/chunks/{chunk-FEJ2FZ3U.js → chunk-NY2ZOFMM.js} +1 -1
- package/chunks/{chunk-QZF5U5KA.js → chunk-NY5BE643.js} +8 -8
- package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/chunks/chunk-PCWSPWXZ.js +168 -0
- package/chunks/{chunk-XPJH4PKR.js → chunk-PJ74K3DH.js} +1 -1
- package/chunks/{chunk-FTFXDZYI.js → chunk-PW7VWRLX.js} +45 -29
- package/chunks/chunk-R3SLDK6Y.js +468 -0
- package/chunks/{chunk-4O344UEE.js → chunk-SDJOZOYY.js} +38 -18
- package/chunks/{chunk-ALZ75L2X.js → chunk-SMYIBRAA.js} +412 -376
- package/chunks/{chunk-CCGOFQV3.js → chunk-SS5P6JM6.js} +6 -5
- package/chunks/{chunk-AIY5UTFI.js → chunk-T3XHYGMG.js} +925 -2872
- package/chunks/{chunk-Q6OEPOOC.js → chunk-TB6GWNV4.js} +1 -1
- package/chunks/{chunk-24XYI5EI.js → chunk-TERKDCOZ.js} +3 -3
- package/chunks/chunk-TVO5C767.js +159 -0
- package/chunks/{chunk-TBAZMRW3.js → chunk-TVW53EK7.js} +1 -1
- package/chunks/chunk-TX5QZYK6.js +296 -0
- package/chunks/{chunk-JD33UY7E.js → chunk-TZRVTPJ6.js} +15 -9
- package/chunks/{chunk-65CFHNSE.js → chunk-UAFB2DNB.js} +59 -59
- package/chunks/{chunk-QAKFYMJI.js → chunk-UOXLB2LY.js} +152 -17
- package/chunks/chunk-V35MD7KN.js +13 -0
- package/chunks/{chunk-XSAFNANZ.js → chunk-VWDJHVXM.js} +12 -12
- package/chunks/{chunk-XISQIIT7.js → chunk-W77ZLCSX.js} +1 -1
- package/chunks/{chunk-BWVQN2HV.js → chunk-WTEIUA2V.js} +4 -4
- package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/chunks/{chunk-HJ3GX3Y3.js → chunk-XZVUZSDG.js} +25 -11
- package/chunks/{chunk-ADZG46HR.js → chunk-YHGCTQG3.js} +1 -1
- package/chunks/{chunk-2NPS2UDH.js → chunk-YUNPEB3Q.js} +478 -43
- package/chunks/chunk-Z3I3QJK3.js +47 -0
- package/chunks/{chunk-P7I3D7FM.js → chunk-Z466FBSA.js} +1 -1
- package/chunks/{chunk-YEGT55NW.js → chunk-ZDAZSR2O.js} +3009 -1220
- package/chunks/{chunk-VEB3NYSO.js → chunk-ZJQBTFJ6.js} +6 -1
- package/chunks/chunk-ZL5HN75Q.js +61 -0
- package/chunks/{computer-use-X4KUU3NM.js → computer-use-IW5XBECT.js} +10 -10
- package/chunks/{contextCommand-LAYJZF7H.js → contextCommand-4QPLK2SH.js} +14 -14
- package/chunks/create-sub-session-7JK3EYWA.js +212 -0
- package/chunks/create-sub-session-EVYZYAE3.js +364 -0
- package/chunks/{cron-create-JSXEIPVS.js → cron-create-2CCO2PW6.js} +2 -2
- package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-ETVTP5IV.js} +2 -2
- package/chunks/{cron-list-D4ZX4IOE.js → cron-list-FS3KWOY5.js} +2 -2
- package/chunks/{daemon-F3I2RXP6.js → daemon-NNUYIBWA.js} +461 -0
- package/chunks/{daemon-status-provider-XSAFKVDS.js → daemon-status-provider-3EPG6BXX.js} +21 -19
- package/chunks/{de-PLLFDERI.js → de-QRG6J2CM.js} +89 -5
- package/chunks/{dist-YTRKAVUB.js → dist-3EIIFOJV.js} +1 -1
- package/chunks/{dist-PKFTNUHO.js → dist-7F5GWZDZ.js} +2 -1
- package/chunks/{dist-FQ5WRJPL.js → dist-CBJ7OJ5R.js} +2 -2
- package/chunks/{dist-OT7G2WNM.js → dist-LIFJ2YAI.js} +1 -1
- package/chunks/{dist-573HNSVO.js → dist-OKXOQ63L.js} +2 -1
- package/chunks/{dist-IMFFBMAT.js → dist-SU5LY5R4.js} +3 -1
- package/chunks/{earlyInputCapture-AERYYGXE.js → earlyInputCapture-HP5XAS7A.js} +10 -10
- package/chunks/{edit-WZTZDGCI.js → edit-MDICC6KH.js} +11 -11
- package/chunks/{en-GA2RMXY5.js → en-HF3KFWZG.js} +91 -5
- package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-JWTRNEN4.js} +10 -10
- package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-GMRZMTBQ.js} +10 -10
- package/chunks/environment-2CJAFOFN.js +88 -0
- package/chunks/{errors-GMZL4QV7.js → errors-UZOVFD2U.js} +13 -13
- package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-QQGEG343.js} +10 -10
- package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-YK2JVAAB.js} +10 -10
- package/chunks/{fast-path-W2U6XDNO.js → fast-path-6SD4JNQW.js} +12 -3
- package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-RAQGCIT7.js} +3 -2
- package/chunks/{fr-GWNQG4XH.js → fr-RSCO6HHD.js} +89 -5
- package/chunks/{gemini-T4WX6SRW.js → gemini-TFQXPUZB.js} +436 -140
- package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-LJ2BNXHX.js} +1 -1
- package/chunks/{glob-4KKSHZDF.js → glob-3IJ6JR5W.js} +10 -10
- package/chunks/{grep-GHRYXSLZ.js → grep-UFZ2RFQZ.js} +10 -10
- package/chunks/{handleAutoUpdate-HN7ZOSXY.js → handleAutoUpdate-TEZC5ZIR.js} +17 -13
- package/chunks/i18n-5QEODTJV.js +84 -0
- package/chunks/{initializer-SRN3IM42.js → initializer-222MPCLQ.js} +18 -16
- package/chunks/installationInfo-OZ62OHZ2.js +65 -0
- package/chunks/{ja-2HOTA47X.js → ja-RRFGG2DC.js} +89 -5
- package/chunks/{list-INTVXUPA.js → list-BN5VBIIE.js} +20 -18
- package/chunks/{loadedSettingsAdapter-QVHHQPGM.js → loadedSettingsAdapter-EHTUJRFB.js} +18 -16
- package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-SR2KWT4B.js} +3 -3
- package/chunks/{ls-L654WOAT.js → ls-RUBQK5Q2.js} +2 -2
- package/chunks/{lsp-M35KE54Y.js → lsp-DUTVY2ZA.js} +3 -5
- package/chunks/{mcp-7V4T46RG.js → mcp-OPGHD26Y.js} +18 -16
- package/chunks/{monitor-464OY2UE.js → monitor-WXBDVYYV.js} +10 -10
- package/chunks/{nonInteractiveCli-LJEEODU2.js → nonInteractiveCli-CWIBGJ4U.js} +54 -49
- package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-T7P7M73F.js} +11 -11
- package/chunks/{openaiContentGenerator-PFF6HYB2.js → openaiContentGenerator-OES264C3.js} +7 -7
- package/chunks/{pidfile-LIBUENIV.js → pidfile-LJ3NLS2P.js} +10 -10
- package/chunks/{pt-2THT3YHA.js → pt-D4CG46JM.js} +89 -5
- package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-QJ67LAJ5.js} +12 -12
- package/chunks/{read-file-L7TBQVX7.js → read-file-KZD7TLU7.js} +5 -5
- package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-Q56IMYOH.js} +1 -1
- package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-GZ5D5HZX.js} +4 -4
- package/chunks/{ripGrep-CKKX3GRB.js → ripGrep-KUJLX75U.js} +10 -10
- package/chunks/{ru-Z67YJHBG.js → ru-O2QUEL22.js} +89 -5
- package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-M52KVRGI.js} +664 -153
- package/chunks/{scheduler-ZRW3AIDU.js → scheduler-FFATTAYZ.js} +10 -10
- package/chunks/{send-message-OA6MV4EU.js → send-message-HAGK3VTV.js} +2 -2
- package/chunks/{serve-36WS32W6.js → serve-B5S32524.js} +21 -18
- package/chunks/{server-M372UENX.js → server-6HK5FJMR.js} +3301 -665
- package/chunks/{session-F5KSNP2N.js → session-3WB76VTQ.js} +55 -50
- package/chunks/{settings-WFLNS3WT.js → settings-W3IX7NHK.js} +27 -23
- package/chunks/{shell-DEDSWN56.js → shell-HZIU2ZG7.js} +10 -10
- package/chunks/{skill-A2TL2NPC.js → skill-34OUFB65.js} +5 -5
- package/chunks/{spawnChannel-RQHUWTCL.js → spawnChannel-FTZJ3I5O.js} +12 -12
- package/chunks/{src-XKZMNHXS.js → src-NELBIIGI.js} +48 -10
- package/chunks/standalone-update-LICI2VSK.js +79 -0
- package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-LZEV5YI2.js} +2203 -1764
- package/chunks/stdioHelpers-CA7MG65Z.js +14 -0
- package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-XFFJVCGV.js} +2 -2
- package/chunks/{task-create-RPFZNB4B.js → task-create-VINUSVBF.js} +3 -3
- package/chunks/{task-list-TGGJX7EA.js → task-list-YZ2AWQEG.js} +1 -1
- package/chunks/{task-stop-W7NGTMYQ.js → task-stop-PEXPKUW3.js} +1 -1
- package/chunks/{task-update-5WUG5MVQ.js → task-update-BHIX57YH.js} +3 -3
- package/chunks/{team-create-TBQVWAG7.js → team-create-2JS2OYSF.js} +10 -10
- package/chunks/{team-delete-UHQQ2QQX.js → team-delete-2OHXSBVS.js} +1 -1
- package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-PHLGYUY7.js} +10 -10
- package/chunks/{theme-manager-DQZVNSOC.js → theme-manager-UYXLX37P.js} +10 -10
- package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-7Q4ELT4F.js} +1 -1
- package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2MWA3GWE.js} +6 -6
- package/chunks/total-session-admission-PRZK35X4.js +72 -0
- package/chunks/{trustedFolders-Z475EIHL.js → trustedFolders-IT4JBNPG.js} +12 -12
- package/chunks/{updateCheck-E2ZX7RL7.js → updateCheck-X3ZWDO3Z.js} +17 -13
- package/chunks/updateEventEmitter-NXWTRHXY.js +10 -0
- package/chunks/{validateNonInterActiveAuth-O4ECBHQL.js → validateNonInterActiveAuth-IAOL7CM3.js} +51 -45
- package/chunks/{version-CEDD6ZZR.js → version-25QF6A5H.js} +1 -1
- package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-I7FOWHGA.js} +2 -2
- package/chunks/{workflow-CQQ4J4I6.js → workflow-LZZ5U3IT.js} +11 -11
- package/chunks/{workspace-providers-status-MVYXMYDG.js → workspace-providers-status-7DTOAWEL.js} +21 -18
- package/chunks/workspace-registry-BBIPESIZ.js +76 -0
- package/chunks/{workspace-service-OMBR6ZLG.js → workspace-service-SY3P3FUY.js} +25 -23
- package/chunks/{workspace-skills-status-IMMQ7CAY.js → workspace-skills-status-GTT2A4WN.js} +20 -18
- package/chunks/{write-file-VWGY7AJP.js → write-file-M6IHNW3V.js} +11 -11
- package/chunks/{zh-7XVVRTDH.js → zh-K2EH6BDD.js} +91 -5
- package/chunks/{zh-TW-DPH554OG.js → zh-TW-4GPXJ7ZY.js} +91 -5
- package/cli.js +13 -12
- package/locales/ca.js +115 -7
- package/locales/de.js +114 -7
- package/locales/en.js +118 -7
- package/locales/fr.js +115 -7
- package/locales/ja.js +116 -6
- package/locales/pt.js +114 -7
- package/locales/ru.js +114 -7
- package/locales/zh-TW.js +114 -6
- package/locales/zh.js +114 -6
- package/package.json +3 -6
- package/web-shell/assets/{arc-C7hjaa7g.js → arc-G3HZaqaL.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-DhBrwwch.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-16JbbF0N.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DQ3-pKgc.js} +1 -1
- package/web-shell/assets/channel-CX7ZHuuL.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-ERCn30sp.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-DTysfbFi.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-BFGrbTBi.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DCX4Oar-.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-CgT6sBr3.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-C1Uuk1KV.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-DajgESiu.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DLJSvy9X.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B-oT3UI8.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B-oT3UI8.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CH3w3qs7.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-BloXan9B.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-BbZiGcmK.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-GQlYvLJv.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CtIBvVq3.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-D5TBo9a2.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-N0gQhw6R.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-zab9vDj3.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BnnjtWJa.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-2T0SQU4f.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-DAD6_que.js} +1 -1
- package/web-shell/assets/index-XLkWfLja.css +5 -0
- package/web-shell/assets/index-srlTR1Jg.js +786 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-C-j8d0xO.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-D97bAKoT.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-BJAHfJmm.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-CZgR5aac.js} +1 -1
- package/web-shell/assets/{linear-Bo5bWzvo.js → linear-DOd4kYhA.js} +1 -1
- package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-BBaplnXA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-IhBF_BR5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B4R4sYyH.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DKd1SJ61.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-Cw96V0Xb.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-C6ne_yWi.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-CCyp4PDp.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DHvIqTmx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DvFhmpwA.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-amb3n9zH.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-Abf2qRFJ.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BBlOp1av.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-gE_sZ0Ak.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BwOni53i.js} +1 -1
- package/web-shell/index.html +16 -4
- package/chunks/chunk-6SHO7WFF.js +0 -79
- package/chunks/chunk-IFEWJXFS.js +0 -37
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
- package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
- package/node_modules/@qwen-code/audio-capture/package.json +0 -30
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/web-shell/assets/channel-BNf1dW-j.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
- package/web-shell/assets/index-CnE2ur2L.js +0 -779
- package/web-shell/assets/index-hSKXrlSE.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
- /package/chunks/{chunk-Y6Z2O3WR.js → chunk-JM7BYJO5.js} +0 -0
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
redactLogCredentials
|
|
5
|
+
} from "./chunk-HLKG6CZN.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-A4BMJM77.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/cli/src/serve/workspace-remember-errors.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
var MAX_REMEMBER_ERROR_DETAILS_CHARS = 1e3;
|
|
16
|
+
var MAX_REMEMBER_ERROR_CAUSE_DEPTH = 50;
|
|
17
|
+
var REMEMBER_ERROR_FORMAT_RE = new RegExp("[\\p{Cf}]|\\p{Variation_Selector}", "gu");
|
|
18
|
+
var REMEMBER_ERROR_SPACE_SEPARATOR_RE = /[\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000]/gu;
|
|
19
|
+
var REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE = new RegExp("[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector}", "gu");
|
|
20
|
+
var REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE = new RegExp("\\b(Bearer|QQBot)(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+(?=[A-Za-z0-9._~+/=-])", "giu");
|
|
21
|
+
var REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE = new RegExp("\\b(Bearer|QQBot)(?:\\s|[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+((?:[A-Za-z0-9._~+/=-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9._~+/=-]+)", "giu");
|
|
22
|
+
var REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE = new RegExp("\\b(?:sk-|ghp_|gho_|ghs_|ghu_|github_pat_|glpat-|xox[b]-|xox[p]-)(?:[A-Za-z0-9_-]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Za-z0-9_-]+", "gu");
|
|
23
|
+
var REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE = new RegExp("\\b(?:AKIA|ASIA)(?:[A-Z0-9]+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*[A-Z0-9]+", "gu");
|
|
24
|
+
var REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE = new RegExp("((?:api[_-]?key|token|secret|password|pwd)[_-]?[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)", "giu");
|
|
25
|
+
var REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE = new RegExp("([A-Z][A-Z0-9]{0,50}(?:_[A-Z0-9]{1,50}){0,10}_(?:KEY|TOKEN|SECRET|PASSWORD)\\s*[=:]\\s*)((?:\\S+(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+)*\\S+)", "gu");
|
|
26
|
+
var REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE = new RegExp("(\\b[a-z][a-z0-9+.-]{0,31}:\\/\\/)([^/@\\s]*(?:[\\x00-\\x1f\\x7f-\\x9f\\p{Cf}\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000]|\\p{Variation_Selector})+[^/@\\s]*)@", "giu");
|
|
27
|
+
var REMEMBER_ERROR_CONTROL_RE = /[\x00-\x1f\x7f-\x9f]/g;
|
|
28
|
+
var DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
29
|
+
"managed_memory_unavailable"
|
|
30
|
+
]);
|
|
31
|
+
function createWorkspaceMemoryExtractionErrorLogger(logger) {
|
|
32
|
+
return (target, err) => {
|
|
33
|
+
logger.warn(`Failed to extract workspace memory error ${target}:`, {
|
|
34
|
+
extractionError: err instanceof Error ? err.message : String(err)
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
__name(createWorkspaceMemoryExtractionErrorLogger, "createWorkspaceMemoryExtractionErrorLogger");
|
|
39
|
+
function reportRememberErrorExtractionFailure(onExtractionError, target, err) {
|
|
40
|
+
try {
|
|
41
|
+
onExtractionError?.(target, err);
|
|
42
|
+
} catch {
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
__name(reportRememberErrorExtractionFailure, "reportRememberErrorExtractionFailure");
|
|
46
|
+
function errorCodeFromRecord(record) {
|
|
47
|
+
if (typeof record["code"] === "string") return record["code"];
|
|
48
|
+
const data = record["data"];
|
|
49
|
+
if (data && typeof data === "object") {
|
|
50
|
+
const dataRecord = data;
|
|
51
|
+
if (typeof dataRecord["errorKind"] === "string") {
|
|
52
|
+
return dataRecord["errorKind"];
|
|
53
|
+
}
|
|
54
|
+
if (typeof dataRecord["code"] === "string") return dataRecord["code"];
|
|
55
|
+
}
|
|
56
|
+
return void 0;
|
|
57
|
+
}
|
|
58
|
+
__name(errorCodeFromRecord, "errorCodeFromRecord");
|
|
59
|
+
function rawRememberErrorCode(err, seen, depth) {
|
|
60
|
+
if (depth > MAX_REMEMBER_ERROR_CAUSE_DEPTH) return void 0;
|
|
61
|
+
if (!err || typeof err !== "object") return void 0;
|
|
62
|
+
if (seen.has(err)) return void 0;
|
|
63
|
+
seen.add(err);
|
|
64
|
+
const record = err;
|
|
65
|
+
const direct = errorCodeFromRecord(record);
|
|
66
|
+
if (direct) return direct;
|
|
67
|
+
const cause = record["cause"];
|
|
68
|
+
if (cause != null) {
|
|
69
|
+
return rawRememberErrorCode(cause, seen, depth + 1);
|
|
70
|
+
}
|
|
71
|
+
return void 0;
|
|
72
|
+
}
|
|
73
|
+
__name(rawRememberErrorCode, "rawRememberErrorCode");
|
|
74
|
+
function extractRememberErrorCode(err, fallback = "remember_failed") {
|
|
75
|
+
return rawRememberErrorCode(err, /* @__PURE__ */ new WeakSet(), 0) ?? fallback;
|
|
76
|
+
}
|
|
77
|
+
__name(extractRememberErrorCode, "extractRememberErrorCode");
|
|
78
|
+
function workspaceMemoryFailureCode(err, fallback = "remember_failed", onExtractionError) {
|
|
79
|
+
try {
|
|
80
|
+
return extractRememberErrorCode(err, fallback);
|
|
81
|
+
} catch (extractionErr) {
|
|
82
|
+
reportRememberErrorExtractionFailure(
|
|
83
|
+
onExtractionError,
|
|
84
|
+
"code",
|
|
85
|
+
extractionErr
|
|
86
|
+
);
|
|
87
|
+
return fallback;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
__name(workspaceMemoryFailureCode, "workspaceMemoryFailureCode");
|
|
91
|
+
function detailFromRecord(record, seen, depth) {
|
|
92
|
+
const data = record["data"];
|
|
93
|
+
if (data && typeof data === "object") {
|
|
94
|
+
const dataRecord = data;
|
|
95
|
+
const details = dataRecord["details"];
|
|
96
|
+
if (typeof details === "string" && details.length > 0) return details;
|
|
97
|
+
const message2 = dataRecord["message"];
|
|
98
|
+
if (typeof message2 === "string" && message2.length > 0) return message2;
|
|
99
|
+
}
|
|
100
|
+
const message = record["message"];
|
|
101
|
+
if (typeof message === "string" && message.length > 0) return message;
|
|
102
|
+
if (typeof data === "string" && data.length > 0) return data;
|
|
103
|
+
const cause = record["cause"];
|
|
104
|
+
if (cause != null) {
|
|
105
|
+
return rawRememberErrorDetails(cause, seen, depth + 1);
|
|
106
|
+
}
|
|
107
|
+
return void 0;
|
|
108
|
+
}
|
|
109
|
+
__name(detailFromRecord, "detailFromRecord");
|
|
110
|
+
function rawRememberErrorDetails(err, seen, depth) {
|
|
111
|
+
if (depth > MAX_REMEMBER_ERROR_CAUSE_DEPTH) return void 0;
|
|
112
|
+
if (typeof err === "string" && err.length > 0) return err;
|
|
113
|
+
if (!err || typeof err !== "object") return void 0;
|
|
114
|
+
if (seen.has(err)) return void 0;
|
|
115
|
+
seen.add(err);
|
|
116
|
+
return detailFromRecord(err, seen, depth);
|
|
117
|
+
}
|
|
118
|
+
__name(rawRememberErrorDetails, "rawRememberErrorDetails");
|
|
119
|
+
function replaceControlChars(details) {
|
|
120
|
+
return details.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE, "$1 ").replace(REMEMBER_ERROR_FORMAT_RE, "").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE, " ").replace(REMEMBER_ERROR_CONTROL_RE, " ");
|
|
121
|
+
}
|
|
122
|
+
__name(replaceControlChars, "replaceControlChars");
|
|
123
|
+
function replaceStackControlChars(stack) {
|
|
124
|
+
return stack.replace(REMEMBER_ERROR_AUTH_SCHEME_INVISIBLE_RE, "$1 ").replace(REMEMBER_ERROR_FORMAT_RE, "").replace(REMEMBER_ERROR_SPACE_SEPARATOR_RE, " ").replace(
|
|
125
|
+
REMEMBER_ERROR_CONTROL_RE,
|
|
126
|
+
(char) => char === "\n" || char === "\r" || char === " " ? char : " "
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
__name(replaceStackControlChars, "replaceStackControlChars");
|
|
130
|
+
function collapseCredentialSeparators(text) {
|
|
131
|
+
return text.replace(
|
|
132
|
+
REMEMBER_ERROR_URL_CREDENTIALS_WITH_SEPARATORS_RE,
|
|
133
|
+
(_match, scheme, userinfo) => `${scheme}${userinfo.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")}@`
|
|
134
|
+
).replace(
|
|
135
|
+
REMEMBER_ERROR_AUTH_TOKEN_WITH_SEPARATORS_RE,
|
|
136
|
+
(_match, scheme, token) => `${scheme} ${token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")}`
|
|
137
|
+
).replace(
|
|
138
|
+
REMEMBER_ERROR_BARE_TOKEN_WITH_SEPARATORS_RE,
|
|
139
|
+
(token) => token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")
|
|
140
|
+
).replace(
|
|
141
|
+
REMEMBER_ERROR_AWS_KEY_WITH_SEPARATORS_RE,
|
|
142
|
+
(token) => token.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")
|
|
143
|
+
).replace(
|
|
144
|
+
REMEMBER_ERROR_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,
|
|
145
|
+
(_match, prefix, value) => `${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")}`
|
|
146
|
+
).replace(
|
|
147
|
+
REMEMBER_ERROR_ENV_SECRET_ASSIGNMENT_WITH_SEPARATORS_RE,
|
|
148
|
+
(_match, prefix, value) => `${prefix}${value.replace(REMEMBER_ERROR_CREDENTIAL_SEPARATOR_RE, "")}`
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
__name(collapseCredentialSeparators, "collapseCredentialSeparators");
|
|
152
|
+
function collapseCredentialSeparatorsByStackLine(stack) {
|
|
153
|
+
return stack.split(/(\r\n|\n|\r)/).map(
|
|
154
|
+
(part) => part === "\r\n" || part === "\n" || part === "\r" ? part : collapseCredentialSeparators(part)
|
|
155
|
+
).join("");
|
|
156
|
+
}
|
|
157
|
+
__name(collapseCredentialSeparatorsByStackLine, "collapseCredentialSeparatorsByStackLine");
|
|
158
|
+
function isHighSurrogate(codeUnit) {
|
|
159
|
+
return codeUnit >= 55296 && codeUnit <= 56319;
|
|
160
|
+
}
|
|
161
|
+
__name(isHighSurrogate, "isHighSurrogate");
|
|
162
|
+
function isLowSurrogate(codeUnit) {
|
|
163
|
+
return codeUnit >= 56320 && codeUnit <= 57343;
|
|
164
|
+
}
|
|
165
|
+
__name(isLowSurrogate, "isLowSurrogate");
|
|
166
|
+
function truncateBeforeDanglingSurrogate(details, cutPoint) {
|
|
167
|
+
const beforeCut = details.charCodeAt(cutPoint - 1);
|
|
168
|
+
const atCut = details.charCodeAt(cutPoint);
|
|
169
|
+
if (isHighSurrogate(beforeCut) && isLowSurrogate(atCut)) {
|
|
170
|
+
return cutPoint - 1;
|
|
171
|
+
}
|
|
172
|
+
return cutPoint;
|
|
173
|
+
}
|
|
174
|
+
__name(truncateBeforeDanglingSurrogate, "truncateBeforeDanglingSurrogate");
|
|
175
|
+
function capRememberErrorText(redacted) {
|
|
176
|
+
if (redacted.length <= MAX_REMEMBER_ERROR_DETAILS_CHARS) return redacted;
|
|
177
|
+
const truncationSuffix = "... [truncated]";
|
|
178
|
+
const cutPoint = truncateBeforeDanglingSurrogate(
|
|
179
|
+
redacted,
|
|
180
|
+
MAX_REMEMBER_ERROR_DETAILS_CHARS - truncationSuffix.length
|
|
181
|
+
);
|
|
182
|
+
return `${redacted.slice(0, cutPoint)}${truncationSuffix}`;
|
|
183
|
+
}
|
|
184
|
+
__name(capRememberErrorText, "capRememberErrorText");
|
|
185
|
+
function redactAndCapRememberErrorText(normalized) {
|
|
186
|
+
const redacted = redactLogCredentials(normalized).trim();
|
|
187
|
+
if (!redacted) return void 0;
|
|
188
|
+
return capRememberErrorText(redacted);
|
|
189
|
+
}
|
|
190
|
+
__name(redactAndCapRememberErrorText, "redactAndCapRememberErrorText");
|
|
191
|
+
function sanitizeRememberErrorDetails(details) {
|
|
192
|
+
return redactAndCapRememberErrorText(
|
|
193
|
+
replaceControlChars(collapseCredentialSeparators(details))
|
|
194
|
+
);
|
|
195
|
+
}
|
|
196
|
+
__name(sanitizeRememberErrorDetails, "sanitizeRememberErrorDetails");
|
|
197
|
+
function sanitizeRememberErrorStack(stack) {
|
|
198
|
+
return redactAndCapRememberErrorText(
|
|
199
|
+
replaceStackControlChars(collapseCredentialSeparatorsByStackLine(stack))
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
__name(sanitizeRememberErrorStack, "sanitizeRememberErrorStack");
|
|
203
|
+
function extractRememberErrorDetails(err) {
|
|
204
|
+
const raw = rawRememberErrorDetails(err, /* @__PURE__ */ new WeakSet(), 0);
|
|
205
|
+
if (!raw) return void 0;
|
|
206
|
+
return sanitizeRememberErrorDetails(raw);
|
|
207
|
+
}
|
|
208
|
+
__name(extractRememberErrorDetails, "extractRememberErrorDetails");
|
|
209
|
+
function extractRememberErrorStack(err) {
|
|
210
|
+
if (!(err instanceof Error) || !err.stack) return void 0;
|
|
211
|
+
return sanitizeRememberErrorStack(err.stack);
|
|
212
|
+
}
|
|
213
|
+
__name(extractRememberErrorStack, "extractRememberErrorStack");
|
|
214
|
+
function shouldSuppressRememberErrorDetails(code) {
|
|
215
|
+
return DETAIL_SUPPRESSED_REMEMBER_ERROR_CODES.has(code);
|
|
216
|
+
}
|
|
217
|
+
__name(shouldSuppressRememberErrorDetails, "shouldSuppressRememberErrorDetails");
|
|
218
|
+
function workspaceMemoryFailureDiagnostics(err, onExtractionError) {
|
|
219
|
+
let details;
|
|
220
|
+
let stack;
|
|
221
|
+
try {
|
|
222
|
+
details = extractRememberErrorDetails(err);
|
|
223
|
+
} catch (extractionErr) {
|
|
224
|
+
reportRememberErrorExtractionFailure(
|
|
225
|
+
onExtractionError,
|
|
226
|
+
"details",
|
|
227
|
+
extractionErr
|
|
228
|
+
);
|
|
229
|
+
details = void 0;
|
|
230
|
+
}
|
|
231
|
+
try {
|
|
232
|
+
stack = extractRememberErrorStack(err);
|
|
233
|
+
} catch (extractionErr) {
|
|
234
|
+
reportRememberErrorExtractionFailure(
|
|
235
|
+
onExtractionError,
|
|
236
|
+
"stack",
|
|
237
|
+
extractionErr
|
|
238
|
+
);
|
|
239
|
+
stack = void 0;
|
|
240
|
+
}
|
|
241
|
+
return {
|
|
242
|
+
...details ? { details } : {},
|
|
243
|
+
debugDetails: details ?? "<details unavailable>",
|
|
244
|
+
...stack ? { stack } : {}
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
__name(workspaceMemoryFailureDiagnostics, "workspaceMemoryFailureDiagnostics");
|
|
248
|
+
|
|
249
|
+
// packages/cli/src/serve/workspace-memory-remember-constants.ts
|
|
250
|
+
init_esbuild_shims();
|
|
251
|
+
var MAX_REMEMBER_CONTENT_BYTES = 64 * 1024;
|
|
252
|
+
|
|
253
|
+
// packages/cli/src/serve/workspace-memory-summaries.ts
|
|
254
|
+
init_esbuild_shims();
|
|
255
|
+
function formatWorkspaceMemoryForgetSummary(removedEntryCount) {
|
|
256
|
+
return removedEntryCount > 0 ? `Forgot ${removedEntryCount} memory entr${removedEntryCount === 1 ? "y" : "ies"}.` : "No managed auto-memory entries matched.";
|
|
257
|
+
}
|
|
258
|
+
__name(formatWorkspaceMemoryForgetSummary, "formatWorkspaceMemoryForgetSummary");
|
|
259
|
+
function formatWorkspaceMemoryDreamSummary(touchedTopicCount) {
|
|
260
|
+
return touchedTopicCount > 0 ? "Managed auto-memory dream completed." : "No managed auto-memory topics changed.";
|
|
261
|
+
}
|
|
262
|
+
__name(formatWorkspaceMemoryDreamSummary, "formatWorkspaceMemoryDreamSummary");
|
|
263
|
+
|
|
264
|
+
// packages/cli/src/serve/validate-server-name.ts
|
|
265
|
+
init_esbuild_shims();
|
|
266
|
+
var VALID_SERVER_NAME = /^[A-Za-z0-9_-]+$/;
|
|
267
|
+
var RESERVED_SERVER_NAMES = /* @__PURE__ */ new Set([
|
|
268
|
+
"__proto__",
|
|
269
|
+
"constructor",
|
|
270
|
+
"prototype"
|
|
271
|
+
]);
|
|
272
|
+
function isValidServerName(name) {
|
|
273
|
+
return typeof name === "string" && name.length > 0 && name.length <= 256 && VALID_SERVER_NAME.test(name) && !RESERVED_SERVER_NAMES.has(name);
|
|
274
|
+
}
|
|
275
|
+
__name(isValidServerName, "isValidServerName");
|
|
276
|
+
|
|
277
|
+
export {
|
|
278
|
+
createWorkspaceMemoryExtractionErrorLogger,
|
|
279
|
+
extractRememberErrorCode,
|
|
280
|
+
workspaceMemoryFailureCode,
|
|
281
|
+
shouldSuppressRememberErrorDetails,
|
|
282
|
+
workspaceMemoryFailureDiagnostics,
|
|
283
|
+
MAX_REMEMBER_CONTENT_BYTES,
|
|
284
|
+
formatWorkspaceMemoryForgetSummary,
|
|
285
|
+
formatWorkspaceMemoryDreamSummary,
|
|
286
|
+
isValidServerName
|
|
287
|
+
};
|
|
288
|
+
/**
|
|
289
|
+
* @license
|
|
290
|
+
* Copyright 2026 Qwen Team
|
|
291
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
292
|
+
*/
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
isTranscribableVoiceModel,
|
|
6
6
|
readVoiceLanguage,
|
|
7
7
|
resolveVoiceTransport
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YHGCTQG3.js";
|
|
9
9
|
import {
|
|
10
10
|
resolvePath
|
|
11
11
|
} from "./chunk-E7KNELIZ.js";
|
|
@@ -368,12 +368,12 @@ async function assertVoiceBaseUrlNetworkAllowed(voiceConfig, lookupHost) {
|
|
|
368
368
|
}
|
|
369
369
|
}
|
|
370
370
|
__name(assertVoiceBaseUrlNetworkAllowed, "assertVoiceBaseUrlNetworkAllowed");
|
|
371
|
-
function readApiKey(settings, model, baseUrl) {
|
|
371
|
+
function readApiKey(settings, model, baseUrl, env) {
|
|
372
372
|
if (!model.envKey && !isQwenBaseUrl(baseUrl)) {
|
|
373
373
|
return void 0;
|
|
374
374
|
}
|
|
375
375
|
const envKey = model.envKey ?? DEFAULT_OPENAI_API_KEY;
|
|
376
|
-
const envValue = process.env[envKey];
|
|
376
|
+
const envValue = (env ?? process.env)[envKey];
|
|
377
377
|
if (envValue && envValue.trim().length > 0) {
|
|
378
378
|
return envValue.trim();
|
|
379
379
|
}
|
|
@@ -391,7 +391,8 @@ __name(readApiKey, "readApiKey");
|
|
|
391
391
|
function resolveVoiceTranscriptionConfig({
|
|
392
392
|
config,
|
|
393
393
|
settings,
|
|
394
|
-
voiceModel
|
|
394
|
+
voiceModel,
|
|
395
|
+
env
|
|
395
396
|
}) {
|
|
396
397
|
const matches = config.getAllConfiguredModels().filter((model2) => model2.id === voiceModel);
|
|
397
398
|
if (matches.length === 0) {
|
|
@@ -423,7 +424,7 @@ function resolveVoiceTranscriptionConfig({
|
|
|
423
424
|
`Voice model '${voiceModel}' must not use a private-network baseUrl.`
|
|
424
425
|
);
|
|
425
426
|
}
|
|
426
|
-
const apiKey = readApiKey(settings, model, normalizedBaseUrl);
|
|
427
|
+
const apiKey = readApiKey(settings, model, normalizedBaseUrl, env);
|
|
427
428
|
if (model.envKey && !apiKey) {
|
|
428
429
|
throw new Error(`Voice model '${voiceModel}' requires ${model.envKey}.`);
|
|
429
430
|
}
|
|
@@ -588,6 +589,7 @@ async function transcribeViaQwenAsr(audio, voiceConfig, options, fetchFn) {
|
|
|
588
589
|
}
|
|
589
590
|
let response;
|
|
590
591
|
try {
|
|
592
|
+
options.onEgress?.();
|
|
591
593
|
response = await fetchFn(
|
|
592
594
|
`${trimTrailingSlashes(voiceConfig.baseUrl)}/chat/completions`,
|
|
593
595
|
{
|
|
@@ -657,7 +659,12 @@ async function transcribeVoiceAudio(audio, args) {
|
|
|
657
659
|
return transcribeViaQwenAsr(
|
|
658
660
|
audio,
|
|
659
661
|
voiceConfig,
|
|
660
|
-
{
|
|
662
|
+
{
|
|
663
|
+
language,
|
|
664
|
+
keytermsContext,
|
|
665
|
+
abortSignal: args.abortSignal,
|
|
666
|
+
...args.onEgress ? { onEgress: args.onEgress } : {}
|
|
667
|
+
},
|
|
661
668
|
fetchFn
|
|
662
669
|
);
|
|
663
670
|
case "qwen-asr-realtime":
|
|
@@ -680,6 +687,7 @@ export {
|
|
|
680
687
|
isStreamingVoiceModel,
|
|
681
688
|
resolveVoiceStreamConfig,
|
|
682
689
|
isKeytermEcho,
|
|
690
|
+
MAX_AUDIO_BYTES,
|
|
683
691
|
sanitizeVoiceErrorMessage,
|
|
684
692
|
transcribeVoiceAudio
|
|
685
693
|
};
|
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-5F2H3PXG.js";
|
|
6
6
|
import {
|
|
7
7
|
require_undici
|
|
8
8
|
} from "./chunk-54YZOP7P.js";
|
|
9
9
|
import {
|
|
10
|
+
IdeClient,
|
|
10
11
|
getAllProviderBaseUrls
|
|
11
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZDAZSR2O.js";
|
|
12
13
|
import {
|
|
13
14
|
initializeTelemetry
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5ZVIYNLN.js";
|
|
15
16
|
import {
|
|
16
17
|
detectRuntime,
|
|
17
18
|
getOrCreateSharedDispatcher,
|
|
@@ -144,24 +145,38 @@ __name(preconnectApi, "preconnectApi");
|
|
|
144
145
|
|
|
145
146
|
// packages/cli/src/startup/startup-prefetch.ts
|
|
146
147
|
var debugLogger2 = createDebugLogger("STARTUP_PREFETCH");
|
|
147
|
-
var DEFERRED_IDE_CONNECT_TIMEOUT_MS =
|
|
148
|
+
var DEFERRED_IDE_CONNECT_TIMEOUT_MS = 15e3;
|
|
148
149
|
var earlyStarted = /* @__PURE__ */ new WeakSet();
|
|
149
150
|
var postRenderStarted = /* @__PURE__ */ new WeakSet();
|
|
150
|
-
function withTimeout(promise, name, timeoutMs) {
|
|
151
|
+
function withTimeout(promise, name, timeoutMs, onTimeout = () => {
|
|
152
|
+
}) {
|
|
151
153
|
let timeoutId;
|
|
152
154
|
let timedOut = false;
|
|
155
|
+
const runTimeoutCleanup = /* @__PURE__ */ __name(() => {
|
|
156
|
+
void Promise.resolve().then(onTimeout).catch((err) => {
|
|
157
|
+
debugLogger2.debug(`${name} timeout cleanup failed:`, err);
|
|
158
|
+
});
|
|
159
|
+
}, "runTimeoutCleanup");
|
|
153
160
|
const timeout = new Promise((_, reject) => {
|
|
154
161
|
timeoutId = setTimeout(() => {
|
|
155
162
|
timedOut = true;
|
|
163
|
+
runTimeoutCleanup();
|
|
156
164
|
reject(new Error(`${name} timed out after ${timeoutMs}ms`));
|
|
157
165
|
}, timeoutMs);
|
|
158
166
|
timeoutId.unref?.();
|
|
159
167
|
});
|
|
160
|
-
promise.
|
|
161
|
-
|
|
162
|
-
|
|
168
|
+
void promise.then(
|
|
169
|
+
() => {
|
|
170
|
+
if (timedOut) {
|
|
171
|
+
runTimeoutCleanup();
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
(err) => {
|
|
175
|
+
if (timedOut) {
|
|
176
|
+
debugLogger2.debug(`${name} underlying error after timeout:`, err);
|
|
177
|
+
}
|
|
163
178
|
}
|
|
164
|
-
|
|
179
|
+
);
|
|
165
180
|
return Promise.race([promise, timeout]).finally(() => {
|
|
166
181
|
if (timeoutId) {
|
|
167
182
|
clearTimeout(timeoutId);
|
|
@@ -179,6 +194,11 @@ function runDeferredTask(name, task) {
|
|
|
179
194
|
});
|
|
180
195
|
}
|
|
181
196
|
__name(runDeferredTask, "runDeferredTask");
|
|
197
|
+
async function disconnectIdeAfterDeferredTimeout() {
|
|
198
|
+
const ideClient = await IdeClient.getInstance();
|
|
199
|
+
await ideClient.disconnect();
|
|
200
|
+
}
|
|
201
|
+
__name(disconnectIdeAfterDeferredTimeout, "disconnectIdeAfterDeferredTimeout");
|
|
182
202
|
function startEarlyStartupPrefetches(config) {
|
|
183
203
|
if (earlyStarted.has(config)) return;
|
|
184
204
|
earlyStarted.add(config);
|
|
@@ -200,12 +220,35 @@ function startPostRenderPrefetches(config, settings, options = {}) {
|
|
|
200
220
|
postRenderStarted.add(config);
|
|
201
221
|
if (settings.merged.general?.enableAutoUpdate !== false) {
|
|
202
222
|
runDeferredTask("update_check", async () => {
|
|
203
|
-
const [
|
|
204
|
-
|
|
205
|
-
|
|
223
|
+
const [
|
|
224
|
+
{ checkForUpdatesDetailed },
|
|
225
|
+
{ handleAutoUpdate },
|
|
226
|
+
{ updateEventEmitter },
|
|
227
|
+
{ t }
|
|
228
|
+
] = await Promise.all([
|
|
229
|
+
import("./updateCheck-X3ZWDO3Z.js"),
|
|
230
|
+
import("./handleAutoUpdate-TEZC5ZIR.js"),
|
|
231
|
+
import("./updateEventEmitter-NXWTRHXY.js"),
|
|
232
|
+
import("./i18n-5QEODTJV.js")
|
|
206
233
|
]);
|
|
207
|
-
const
|
|
208
|
-
|
|
234
|
+
const updateFailedMessage = t(
|
|
235
|
+
"Failed to check for updates. Please check your network or registry configuration."
|
|
236
|
+
);
|
|
237
|
+
try {
|
|
238
|
+
const result = await checkForUpdatesDetailed();
|
|
239
|
+
if (result.status === "update") {
|
|
240
|
+
handleAutoUpdate(result.info, settings, config.getProjectRoot());
|
|
241
|
+
} else if (result.status === "error") {
|
|
242
|
+
updateEventEmitter.emit("update-failed", {
|
|
243
|
+
message: updateFailedMessage
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
} catch (error) {
|
|
247
|
+
updateEventEmitter.emit("update-failed", {
|
|
248
|
+
message: updateFailedMessage
|
|
249
|
+
});
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
209
252
|
});
|
|
210
253
|
}
|
|
211
254
|
if (options.connectIde && config.getIdeMode()) {
|
|
@@ -214,11 +257,12 @@ function startPostRenderPrefetches(config, settings, options = {}) {
|
|
|
214
257
|
state: "connecting"
|
|
215
258
|
});
|
|
216
259
|
try {
|
|
217
|
-
const { connectIdeForStartup } = await import("./initializer-
|
|
260
|
+
const { connectIdeForStartup } = await import("./initializer-222MPCLQ.js");
|
|
218
261
|
await withTimeout(
|
|
219
262
|
connectIdeForStartup(config),
|
|
220
263
|
"ide_connect",
|
|
221
|
-
DEFERRED_IDE_CONNECT_TIMEOUT_MS
|
|
264
|
+
DEFERRED_IDE_CONNECT_TIMEOUT_MS,
|
|
265
|
+
disconnectIdeAfterDeferredTimeout
|
|
222
266
|
);
|
|
223
267
|
appEvents.emit("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, {
|
|
224
268
|
state: "connected"
|
|
@@ -239,7 +283,7 @@ function startPostRenderPrefetches(config, settings, options = {}) {
|
|
|
239
283
|
}
|
|
240
284
|
if (config.isInteractive()) {
|
|
241
285
|
runDeferredTask("background_housekeeping", async () => {
|
|
242
|
-
const { startBackgroundHousekeeping } = await import("./scheduler-
|
|
286
|
+
const { startBackgroundHousekeeping } = await import("./scheduler-FFATTAYZ.js");
|
|
243
287
|
startBackgroundHousekeeping(config, settings);
|
|
244
288
|
});
|
|
245
289
|
}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import {
|
|
7
7
|
getPlanRequiredTeammatePreApprovalMessage,
|
|
8
8
|
isPlanRequiredTeammateAwaitingApproval
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-ZJQBTFJ6.js";
|
|
10
10
|
import {
|
|
11
11
|
resolveActiveTeamName
|
|
12
12
|
} from "./chunk-GO6LNQXT.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
BaseToolInvocation,
|
|
16
16
|
ToolDisplayNames,
|
|
17
17
|
ToolNames
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KS2FRTYI.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
formatHistoryGapNotice,
|
|
5
|
+
indexGapsByChild
|
|
6
|
+
} from "./chunk-GVVY7GSP.js";
|
|
3
7
|
import {
|
|
4
8
|
require_undici
|
|
5
9
|
} from "./chunk-54YZOP7P.js";
|
|
6
10
|
import {
|
|
7
11
|
writeStderrLine
|
|
8
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-JM7BYJO5.js";
|
|
9
13
|
import {
|
|
10
14
|
getActiveGoal
|
|
11
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-ZDAZSR2O.js";
|
|
12
16
|
import {
|
|
13
17
|
ToolNames
|
|
14
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-KS2FRTYI.js";
|
|
15
19
|
import {
|
|
16
20
|
createDebugLogger
|
|
17
21
|
} from "./chunk-22MNNNXE.js";
|
|
@@ -690,13 +694,21 @@ var HistoryReplayer = class {
|
|
|
690
694
|
* Replays all chat records from a loaded session.
|
|
691
695
|
*
|
|
692
696
|
* @param records - Array of chat records to replay
|
|
697
|
+
* @param gaps - Optional detected history gaps; a visible notice is emitted
|
|
698
|
+
* immediately before each gap's child record so the user sees that an
|
|
699
|
+
* earlier segment was lost rather than assuming the halves are contiguous.
|
|
693
700
|
*/
|
|
694
|
-
async replay(records) {
|
|
701
|
+
async replay(records, gaps) {
|
|
695
702
|
this.pendingReplayToolCalls.clear();
|
|
703
|
+
const gapByChildUuid = indexGapsByChild(gaps);
|
|
696
704
|
try {
|
|
697
705
|
let replayError;
|
|
698
706
|
try {
|
|
699
707
|
for (const record of records) {
|
|
708
|
+
const gap = gapByChildUuid.get(record.uuid);
|
|
709
|
+
if (gap) {
|
|
710
|
+
await this.emitHistoryGapNotice(gap, record.timestamp);
|
|
711
|
+
}
|
|
700
712
|
await this.replayRecord(record);
|
|
701
713
|
}
|
|
702
714
|
} catch (error) {
|
|
@@ -798,6 +810,20 @@ var HistoryReplayer = class {
|
|
|
798
810
|
this.setActiveRecordId(null);
|
|
799
811
|
}
|
|
800
812
|
}
|
|
813
|
+
/**
|
|
814
|
+
* Emits a visible notice marking a break in the persisted history chain: an
|
|
815
|
+
* earlier segment was physically lost (storage interruption) and could not be
|
|
816
|
+
* recovered, so the surviving turns below must not be read as contiguous with
|
|
817
|
+
* whatever came before the gap. Uses the agent message channel — the same one
|
|
818
|
+
* used for other system notices (see MessageEmitter.emitStopHookLoop) — so no
|
|
819
|
+
* new session-update kind is needed.
|
|
820
|
+
*/
|
|
821
|
+
async emitHistoryGapNotice(gap, timestamp) {
|
|
822
|
+
await this.messageEmitter.emitAgentMessage(
|
|
823
|
+
formatHistoryGapNotice(gap),
|
|
824
|
+
timestamp
|
|
825
|
+
);
|
|
826
|
+
}
|
|
801
827
|
/**
|
|
802
828
|
* Replays content from a message (user or assistant).
|
|
803
829
|
* Handles text parts, thought parts, and function calls.
|
|
@@ -863,6 +889,7 @@ var HistoryReplayer = class {
|
|
|
863
889
|
success: !result?.error,
|
|
864
890
|
message: record.message.parts,
|
|
865
891
|
resultDisplay: result?.resultDisplay,
|
|
892
|
+
artifacts: result?.artifacts,
|
|
866
893
|
// For TodoWriteTool fallback, try to extract args from the record
|
|
867
894
|
// Note: args aren't stored in tool_result records by default
|
|
868
895
|
args: void 0,
|
|
@@ -1603,7 +1630,7 @@ async function extractMetadata(conversation, config) {
|
|
|
1603
1630
|
const gitBranch = firstRecord?.gitBranch;
|
|
1604
1631
|
let gitRepo;
|
|
1605
1632
|
if (cwd) {
|
|
1606
|
-
const { getGitRepoName } = await import("./src-
|
|
1633
|
+
const { getGitRepoName } = await import("./src-NELBIIGI.js");
|
|
1607
1634
|
gitRepo = getGitRepoName(cwd);
|
|
1608
1635
|
}
|
|
1609
1636
|
let model;
|