@qwen-code/qwen-code 0.20.1-jobbench-claude-prompt.0 → 0.20.1
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/docs/configuration/settings.md +1 -1
- package/bundled/qc-helper/docs/features/auto-mode.md +19 -16
- package/bundled/qc-helper/docs/features/commands.md +54 -0
- package/bundled/qc-helper/docs/features/sub-agents.md +16 -7
- package/bundled/qc-helper/docs/integration-github-action.md +10 -10
- package/bundled/qc-helper/docs/qwen-serve.md +2 -1
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +4 -4
- package/chunks/{MaxSizedBox-BGLP6FQT.js → MaxSizedBox-4WZYPSRU.js} +40 -36
- package/chunks/{StandaloneSessionPicker-K6I4ZEHD.js → StandaloneSessionPicker-PE4JAIFA.js} +58 -54
- package/chunks/{acpAgent-PKKBOEP4.js → acpAgent-BVIKGJ2C.js} +1503 -520
- package/chunks/{agent-Y7XOSZY5.js → agent-DHLFAOUV.js} +36 -32
- package/chunks/{agent-headless-NXRPEYGF.js → agent-headless-ZP5WTNXZ.js} +36 -32
- package/chunks/{anthropicContentGenerator-BWBAZGTW.js → anthropicContentGenerator-NMSS7IMV.js} +11 -11
- package/chunks/{artifact-tool-IUJ7QWCX.js → artifact-tool-56T5IMBP.js} +3 -3
- package/chunks/{askUserQuestion-IUMUUTDQ.js → askUserQuestion-E25OBIC2.js} +3 -3
- package/chunks/{bridge-DCMYGFJ2.js → bridge-XAK7JKMD.js} +41 -37
- package/chunks/{build-SSCNEHZZ.js → build-GHIZ4MSZ.js} +1 -1
- package/chunks/{ca-2SL2BXTK.js → ca-N6VVUFVB.js} +611 -201
- package/chunks/{channel-worker-group-53CMOPFT.js → channel-worker-group-LFBT7K64.js} +5 -5
- package/chunks/{channel-worker-manager-UTXILKC2.js → channel-worker-manager-3RUPERG2.js} +5 -5
- package/chunks/{channel-worker-supervisor-ZGO2W2MD.js → channel-worker-supervisor-A3KVATD3.js} +4 -4
- package/chunks/{chunk-C5L66QPF.js → chunk-27CLX4FV.js} +1 -1
- package/chunks/{chunk-2HOVDT7W.js → chunk-2LI23QA6.js} +1 -1
- package/chunks/chunk-2RFKHEXL.js +74 -0
- package/chunks/{chunk-5244PA32.js → chunk-3KQSDUK3.js} +3 -3
- package/chunks/{chunk-MEDHWB34.js → chunk-3LH5Q2AR.js} +8 -8
- package/chunks/{chunk-E6XTP5ZF.js → chunk-3SXF4GMQ.js} +1 -1
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/{chunk-6UTNZOZG.js → chunk-4BRH6FP5.js} +31 -6
- package/chunks/{chunk-NYMHN4ZK.js → chunk-4DSBFQMI.js} +2 -2
- package/chunks/{chunk-JD3MKVKL.js → chunk-4K56OJFJ.js} +1 -1
- package/chunks/{chunk-KTUQMDEP.js → chunk-4K7VDKAD.js} +1 -1
- package/chunks/{chunk-QKYTTBYW.js → chunk-4LVZNIDO.js} +1 -1
- package/chunks/{chunk-EKVLDUP4.js → chunk-52T5UHAZ.js} +2 -2
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/{chunk-SWRMKMVY.js → chunk-5EA5NVXS.js} +1 -1
- package/chunks/chunk-5G2SK2OO.js +20600 -0
- package/chunks/{chunk-6EFTQYW7.js → chunk-5I5BM454.js} +1 -1
- package/chunks/{chunk-GMGDLUC7.js → chunk-6IL7KRLE.js} +1 -1
- package/chunks/{chunk-26LLB6FM.js → chunk-6NHK6HS7.js} +2 -2
- package/chunks/{chunk-6UTRTWUF.js → chunk-6PRNSLMB.js} +11 -6
- package/chunks/chunk-6PVPNMXU.js +29 -0
- package/chunks/{chunk-BDBMYST4.js → chunk-6X4GWOPW.js} +1 -1
- package/chunks/{chunk-4ODB7WIB.js → chunk-6ZBPS62S.js} +1 -1
- package/chunks/{chunk-SMR34EQM.js → chunk-766HLFAG.js} +54 -33
- package/chunks/{chunk-J5CK6QYL.js → chunk-76OFFG6L.js} +137 -5
- package/chunks/{chunk-AU2GX7QQ.js → chunk-7LH6CHKG.js} +1 -1
- package/chunks/{chunk-A2F633L4.js → chunk-7NDXG4MB.js} +60 -35
- package/chunks/{chunk-QCCOKIGW.js → chunk-7SWFAKVH.js} +22 -22
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-CMFMPPKV.js → chunk-AZD6KAV7.js} +3 -3
- package/chunks/{chunk-7YBZGNEC.js → chunk-BKZEHVPV.js} +176 -168
- package/chunks/{chunk-M2DASLLB.js → chunk-BWQRDISK.js} +1 -1
- package/chunks/{chunk-EELSDL62.js → chunk-BZAEENUV.js} +3 -3
- package/chunks/{chunk-DFQGFXMQ.js → chunk-CHXKGIMK.js} +1 -1
- package/chunks/{chunk-W2LKWG6I.js → chunk-D53NR4GO.js} +562 -301
- package/chunks/{chunk-P5OX37TK.js → chunk-D6ZOVZLF.js} +5 -1
- package/chunks/{chunk-NBMIC7DR.js → chunk-D7WXIW7H.js} +4 -4
- package/chunks/{chunk-VT3KBCIU.js → chunk-DPRMI6NU.js} +1 -1
- package/chunks/{chunk-JXWFXSLN.js → chunk-DRIXALGM.js} +2 -2
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-EMMNRTQX.js → chunk-EC2ET5ZZ.js} +1 -1
- package/chunks/{chunk-NNDKJNCC.js → chunk-EFIOE2EH.js} +3 -3
- package/chunks/{chunk-7H2JMOPS.js → chunk-EWXXMRMP.js} +3 -3
- package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
- package/chunks/{chunk-3PG4G7SK.js → chunk-G6LRTI62.js} +4 -4
- package/chunks/{chunk-RTEHQUAD.js → chunk-GEB2CGUV.js} +11024 -7988
- package/chunks/{chunk-OONJNQ42.js → chunk-GPSKDNEE.js} +3 -3
- package/chunks/{chunk-FNGK2Z5B.js → chunk-H4AR2JQF.js} +3 -3
- package/chunks/chunk-HTR4WV6U.js +327 -0
- package/chunks/chunk-IS2SBY6T.js +2256 -0
- package/chunks/{chunk-G45X5TRN.js → chunk-JCW2R7WC.js} +1 -72
- package/chunks/{chunk-4E33SVWA.js → chunk-JHFVJQRO.js} +1 -1
- package/chunks/{chunk-BL7EEZ4Y.js → chunk-JIBBZH37.js} +27 -23
- package/chunks/{chunk-UJEZQ562.js → chunk-JJEFX6U5.js} +3 -3
- package/chunks/{chunk-UTBTCPKF.js → chunk-JKFHJK5U.js} +4 -4
- package/chunks/{chunk-XSSAJZXG.js → chunk-JO7FGOSY.js} +5 -5
- package/chunks/{chunk-CAKC64KX.js → chunk-JTUAAVUT.js} +2 -2
- package/chunks/{chunk-MAQQGNQ5.js → chunk-JYS55H6Z.js} +66 -7
- package/chunks/{chunk-D742634K.js → chunk-KDPIV6WC.js} +29 -2
- package/chunks/{chunk-EIAK6Q2B.js → chunk-KHOVYUHX.js} +2 -2
- package/chunks/{chunk-OLMETXLX.js → chunk-KQQ757OQ.js} +2 -2
- package/chunks/{chunk-7AB5URLY.js → chunk-KSZZBDVD.js} +165 -48
- package/chunks/chunk-KWK7UE6L.js +6194 -0
- package/chunks/{chunk-OOCI5VVU.js → chunk-LIZRAKPB.js} +1 -1
- package/chunks/{chunk-2T2FG7OX.js → chunk-LPMBFOWH.js} +73 -68
- package/chunks/{chunk-UNIQ7KNW.js → chunk-LYEKAAEH.js} +5 -5
- package/chunks/chunk-M7WBGLYP.js +151 -0
- package/chunks/{chunk-LB7ZIQ6C.js → chunk-MTSYH4MB.js} +3 -3
- package/chunks/{chunk-7YK65ZFC.js → chunk-N5ARKAVE.js} +8 -8
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/{chunk-PXVAFBEI.js → chunk-NNFK277W.js} +1 -1
- package/chunks/{chunk-467G3SV5.js → chunk-NPQDJGKU.js} +1 -1
- package/chunks/chunk-OQ5SYCPE.js +10017 -0
- package/chunks/{chunk-C27BYUX6.js → chunk-OQB4EXO4.js} +14 -11
- package/chunks/{chunk-WCPQTUDI.js → chunk-OUDZVU7H.js} +242 -1607
- package/chunks/{chunk-C44MIZ2K.js → chunk-PBED7USE.js} +1 -1
- package/chunks/{chunk-C5Z652G4.js → chunk-PIHKWN7M.js} +1 -1
- package/chunks/{chunk-NL37SKPP.js → chunk-PPIHLGNE.js} +2 -2
- package/chunks/{chunk-ORDXX5SE.js → chunk-PSVSP2OS.js} +6 -6
- package/chunks/{chunk-SKQD5RCT.js → chunk-Q2V2ADXF.js} +7 -7
- package/chunks/{chunk-JDI67JFB.js → chunk-Q2YKNMLS.js} +3 -3
- package/chunks/{chunk-L4PEDXOX.js → chunk-Q3GGJDYN.js} +5 -5
- package/chunks/{chunk-PBATSWUQ.js → chunk-QBUDF33N.js} +1 -1
- package/chunks/{chunk-OMH3276Y.js → chunk-QD6BRERJ.js} +7 -7
- package/chunks/{chunk-Y2ENGUD6.js → chunk-QKTHJXCS.js} +1 -1
- package/chunks/{chunk-BVLROR2T.js → chunk-QLJUC7TG.js} +1 -1
- package/chunks/{chunk-UEY4AYUL.js → chunk-QNLNLENL.js} +2 -2
- package/chunks/{chunk-2F7HITKF.js → chunk-QSJ6JIF5.js} +4 -4
- package/chunks/{chunk-2R7OXGYM.js → chunk-QUHJRRUA.js} +126 -30
- package/chunks/{chunk-WJYCCJ3Q.js → chunk-R3BCL5XW.js} +10 -4
- package/chunks/{chunk-YXBZOR3D.js → chunk-R7MPKABX.js} +307 -86
- package/chunks/{chunk-RFIAR4YL.js → chunk-RV4C2ZFG.js} +1 -1
- package/chunks/{chunk-NIJEXGV6.js → chunk-RVLZCXEE.js} +79 -10
- package/chunks/{chunk-NRPP5TOB.js → chunk-RYSMKY43.js} +4 -4
- package/chunks/{chunk-XBAYQWDL.js → chunk-S3YQCNJE.js} +3 -3
- package/chunks/{chunk-3P4TUBON.js → chunk-SP32MK6J.js} +2 -2
- package/chunks/{chunk-JNWZQ27S.js → chunk-SP5WRGVG.js} +3 -3
- package/chunks/{chunk-FSL5W5TI.js → chunk-T2L47JJK.js} +3 -3
- package/chunks/{chunk-TB6UDU4T.js → chunk-THJNPLI4.js} +16 -16
- package/chunks/{chunk-3XZIXCJY.js → chunk-TPR35HHZ.js} +6 -6
- package/chunks/{chunk-L4BZXQR3.js → chunk-TXRKCFWS.js} +6 -6
- package/chunks/chunk-U7ZFW55U.js +2098 -0
- package/chunks/{chunk-W7H223ZZ.js → chunk-UGYMA4EI.js} +1 -1
- package/chunks/{chunk-X6YQWCIJ.js → chunk-UH3WSE5L.js} +13 -1
- package/chunks/{chunk-R3VWUU2E.js → chunk-VYPFXUCB.js} +1 -1
- package/chunks/{chunk-IMVIN5UC.js → chunk-WCFTQD7H.js} +11 -11
- package/chunks/chunk-WHGVTP7Q.js +1049 -0
- package/chunks/{chunk-PC2QR5QO.js → chunk-WML6JOGQ.js} +31 -19
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/{chunk-YHRBVZ53.js → chunk-X7XWGRDT.js} +4 -4
- package/chunks/chunk-XHATNRQA.js +1500 -0
- package/chunks/{chunk-2RDNKVZ2.js → chunk-Y2DAH52F.js} +7 -6
- package/chunks/{chunk-S35ZDXOS.js → chunk-YM3SZTH4.js} +2 -1
- package/chunks/{chunk-GKY2OJ7R.js → chunk-ZHERRXZJ.js} +1 -1
- package/chunks/{computer-use-KQVQD3IW.js → computer-use-MV4K6WJM.js} +41 -37
- package/chunks/{config-utils-6FXFJUYB.js → config-utils-WYUQ7II4.js} +3 -3
- package/chunks/{contextCommand-IOC5HY6R.js → contextCommand-TQD36VNX.js} +38 -34
- package/chunks/{create-sub-session-X5RVIHCK.js → create-sub-session-AZ77LBL3.js} +3 -3
- package/chunks/{create-sub-session-IOAGEN3O.js → create-sub-session-JOW4BKMC.js} +36 -32
- package/chunks/{cron-create-AC5FFLN7.js → cron-create-KTWJM7QT.js} +5 -5
- package/chunks/{cron-delete-JEB3FAHA.js → cron-delete-2P3I5ULL.js} +5 -5
- package/chunks/{cron-list-NBYPCNIB.js → cron-list-PXDPGEDQ.js} +5 -5
- package/chunks/{daemon-RG2MAI6T.js → daemon-KLPTQIE4.js} +138 -81
- package/chunks/daemon-status-provider-TII4SMCZ.js +81 -0
- package/chunks/{de-I7ZIYXZC.js → de-4IBXM7CN.js} +5 -1
- package/chunks/{dist-2BHAYBKP.js → dist-HMU6CYS4.js} +2 -2
- package/chunks/{dist-AU7NQQRP.js → dist-OAV7LJGJ.js} +1 -1
- package/chunks/{dist-FUTEXY6A.js → dist-OMW6WDEO.js} +1 -1
- package/chunks/{dist-2MIU4UUH.js → dist-PJLG2XYX.js} +1 -1
- package/chunks/{dist-53PZYC5B.js → dist-UIFWIFRO.js} +2 -2
- package/chunks/{dist-WGTQO7F2.js → dist-XRYV6TJP.js} +65 -25
- package/chunks/{earlyInputCapture-7AA4D4RF.js → earlyInputCapture-2V57RG6H.js} +37 -33
- package/chunks/{edit-RQXZUTEU.js → edit-TTUH7PWR.js} +43 -41
- package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
- package/chunks/{enter-worktree-BPYKHGTX.js → enter-worktree-D4IVCXYB.js} +41 -37
- package/chunks/{enterPlanMode-VJ3KR5HM.js → enterPlanMode-WRUJTVYN.js} +47 -38
- package/chunks/{environment-PZYHWWG5.js → environment-SEPKXB2C.js} +38 -34
- package/chunks/{errors-NZ6JOKJB.js → errors-YSVGBLBU.js} +38 -34
- package/chunks/{exit-worktree-TZNABJPX.js → exit-worktree-MZ4JSSP6.js} +41 -37
- package/chunks/{exitPlanMode-RZMERKLI.js → exitPlanMode-HAZLSSOJ.js} +41 -37
- package/chunks/{fast-path-F5UWH7GI.js → fast-path-EVBVIE2U.js} +4 -3
- package/chunks/{fast-path-settings-DAOVFADC.js → fast-path-settings-XB3CPUJT.js} +2 -2
- package/chunks/{fr-X7KDVZIY.js → fr-WVHEBDDB.js} +5 -1
- package/chunks/{gemini-2QJRGIKD.js → gemini-APQ76464.js} +100 -95
- package/chunks/{geminiContentGenerator-Q7IAYVM4.js → geminiContentGenerator-LB4MA2LI.js} +5 -5
- package/chunks/{getMachineId-bsd-EXV7SWPA.js → getMachineId-bsd-QFVLPUPT.js} +1 -1
- package/chunks/{getMachineId-darwin-IUOMFXU3.js → getMachineId-darwin-DGMQQE2E.js} +1 -1
- package/chunks/{getMachineId-linux-K7XJYFHL.js → getMachineId-linux-R4Z6CSWC.js} +1 -1
- package/chunks/{getMachineId-unsupported-EA5FDRJ6.js → getMachineId-unsupported-Z3SBVBUV.js} +1 -1
- package/chunks/{getMachineId-win-KBA6RAI5.js → getMachineId-win-SCK5UFDT.js} +1 -1
- package/chunks/{glob-MP7IPPNS.js → glob-LABYMYKG.js} +43 -39
- package/chunks/{grep-OHN54Z7A.js → grep-HKIKJCAS.js} +43 -39
- package/chunks/{handleAutoUpdate-EGCO46FV.js → handleAutoUpdate-RWAAL2UM.js} +40 -36
- package/chunks/{i18n-4LK42EK5.js → i18n-ZUVDAJIJ.js} +37 -33
- package/chunks/{initializer-DAL5QAZU.js → initializer-7YUHIC36.js} +43 -39
- package/chunks/{installationInfo-HOKGVMMQ.js → installationInfo-DVEOMWDE.js} +39 -33
- package/chunks/{ja-2ICT3KXF.js → ja-KY4ROZTE.js} +5 -1
- package/chunks/{keychain-token-storage-DWRJMNH3.js → keychain-token-storage-6ACJDYIB.js} +3 -3
- package/chunks/list-WHCZSIR2.js +82 -0
- package/chunks/{loadedSettingsAdapter-I42UOUE7.js → loadedSettingsAdapter-YCWN6AK3.js} +42 -38
- package/chunks/{loop-wakeup-HMHCT5GU.js → loop-wakeup-RNMRVA66.js} +6 -6
- package/chunks/{ls-IW5HYDG4.js → ls-J2ZI5XYK.js} +5 -5
- package/chunks/{lsp-4RL52YIZ.js → lsp-UMS3NUB5.js} +3 -3
- package/chunks/managed-npm-update-PG3463CJ.js +333 -0
- package/chunks/{mcp-62XOYOXZ.js → mcp-VLHDCKAN.js} +42 -38
- package/chunks/{monitor-YIHFTVM7.js → monitor-GG4F4YM6.js} +41 -37
- package/chunks/nonInteractiveCli-UYXYV4YX.js +133 -0
- package/chunks/{notebook-edit-XK4J36D3.js → notebook-edit-US4VLN6Q.js} +44 -42
- package/chunks/{openaiContentGenerator-OEIKDARY.js → openaiContentGenerator-CVEDTMDB.js} +20 -18
- package/chunks/{pidfile-2XVZMMKS.js → pidfile-QQ45OIOY.js} +37 -33
- package/chunks/{processUtils-SYFMMDPV.js → processUtils-3WMHLQE5.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-LTTPUWV3.js → qwenContentGenerator-Y2GRNYZQ.js} +42 -38
- package/chunks/{qwenOAuth2-U3X6UBDP.js → qwenOAuth2-J2X6E5VO.js} +18 -16
- package/chunks/{read-file-P6IEAOBS.js → read-file-C7Z266CU.js} +13 -11
- package/chunks/{read-mcp-resource-OIBCNIX7.js → read-mcp-resource-F6HYMDUY.js} +3 -3
- package/chunks/{record-artifact-HDMK4LHG.js → record-artifact-7GCFLDD7.js} +3 -3
- package/chunks/{resumeHistoryUtils-WMJ5TUPF.js → resumeHistoryUtils-KBQWX77U.js} +43 -39
- package/chunks/{ripGrep-US5HKBSM.js → ripGrep-RW26MTQ3.js} +36 -32
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-MIFJODT4.js → run-qwen-serve-MXFMOMEL.js} +104 -82
- package/chunks/{runtime-SK5QH53T.js → runtime-APNO3V6D.js} +48 -42
- package/chunks/{scheduler-4TIUONHH.js → scheduler-L6FYCGVO.js} +36 -32
- package/chunks/sdk-exporters-grpc-ETLH47EP.js +23214 -0
- package/chunks/sdk-exporters-http-IDGLRBGP.js +563 -0
- package/chunks/sdk-impl-5ESZBGJQ.js +9186 -0
- package/chunks/{send-message-WXVVK4DB.js → send-message-PYIJ2PZL.js} +6 -4
- package/chunks/{serve-F6VZULAL.js → serve-6QBXDVWT.js} +42 -38
- package/chunks/{server-UJEZDWGO.js → server-5TJJEMVQ.js} +1006 -305
- package/chunks/{session-PFCYZOZJ.js → session-BWEUHKQB.js} +92 -176
- package/chunks/{settings-7UHALRNO.js → settings-O7IUQNRR.js} +45 -41
- package/chunks/{shell-DY7EASPT.js → shell-R5L4NQYY.js} +36 -32
- package/chunks/{skill-DOZBVXRT.js → skill-ITEOSNW6.js} +24 -20
- package/chunks/{spawnChannel-HT7EQ4SL.js → spawnChannel-E7NTWSGW.js} +38 -34
- package/chunks/{src-VJO75DQQ.js → src-FFXGUTNL.js} +303 -237
- package/chunks/{standalone-update-5ERAJGLE.js → standalone-update-JCJOXW4P.js} +38 -34
- package/chunks/{startInteractiveUI-HYMIOBH7.js → startInteractiveUI-IJSBLZFO.js} +1057 -864
- package/chunks/{syntheticOutput-HCUFXSIA.js → syntheticOutput-H7RTI5KL.js} +4 -4
- package/chunks/{task-create-RIY5JTFC.js → task-create-7474AJJD.js} +10 -8
- package/chunks/{task-list-XBUCV3CO.js → task-list-633HGOIB.js} +6 -6
- package/chunks/{task-stop-QDFCCYR5.js → task-stop-MNUGHPIA.js} +3 -3
- package/chunks/{task-update-7PXKJQOI.js → task-update-66GQB5LI.js} +10 -8
- package/chunks/{team-create-NF3FCZE2.js → team-create-OVSZTJZO.js} +44 -40
- package/chunks/{team-delete-TNSSE2S5.js → team-delete-BB3CG3QF.js} +6 -6
- package/chunks/{team-plan-approval-P5U7U4NW.js → team-plan-approval-SLEVDLT5.js} +41 -37
- package/chunks/{theme-manager-WD73RXOX.js → theme-manager-V6ZQISHM.js} +37 -33
- package/chunks/{todoWrite-OMAIGB6V.js → todoWrite-KRAUN54W.js} +5 -5
- package/chunks/{tool-search-TDMA733L.js → tool-search-KYIF6C6E.js} +21 -17
- package/chunks/{total-session-admission-H3XZPCNC.js → total-session-admission-EU77XTL7.js} +42 -38
- package/chunks/{tree-sitter-VJEPTDMU.js → tree-sitter-4D7QS7F6.js} +1 -1
- package/chunks/{tree-sitter-bash-WFKBO43W.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
- package/chunks/{trustedFolders-NEFWXHU2.js → trustedFolders-DDEF3ADH.js} +37 -33
- package/chunks/{update-relaunch-T2XQQC4W.js → update-relaunch-XEZTDP6K.js} +17 -17
- package/chunks/updateCheck-KZ5LZ545.js +89 -0
- package/chunks/{useAutoAcceptIndicator-5FLFR3BY.js → useAutoAcceptIndicator-47EZERGQ.js} +47 -43
- package/chunks/{validateNonInterActiveAuth-Z23SJ4D4.js → validateNonInterActiveAuth-J2DM4LWZ.js} +79 -75
- package/chunks/{version-PLKW23RX.js → version-PN7WYXHP.js} +1 -1
- package/chunks/{web-fetch-QNI3EEXN.js → web-fetch-WRI5QRFR.js} +100 -42
- package/chunks/{web-search-DLYTQBNN.js → web-search-2HCXNAVX.js} +111 -60
- package/chunks/{workflow-A3WFSQKU.js → workflow-U5XBPGQZ.js} +48 -43
- package/chunks/{workspace-providers-status-6K34OJLQ.js → workspace-providers-status-2T54GIJZ.js} +45 -41
- package/chunks/{workspace-registration-store-6FPLTQG3.js → workspace-registration-store-F3V4KBIW.js} +8 -2
- package/chunks/{workspace-registry-JZRIJXJS.js → workspace-registry-U6QVZ5BU.js} +42 -38
- package/chunks/{workspace-service-PQDLBZV3.js → workspace-service-734D36QD.js} +49 -45
- package/chunks/{workspace-skills-status-RKCPZVT2.js → workspace-skills-status-5ABUKOAQ.js} +43 -39
- package/chunks/write-file-CIH4I4CS.js +66 -0
- package/chunks/{zh-TW-4RR3YHNN.js → zh-TW-BM47YBFH.js} +5 -1
- package/chunks/{zh-6ANG2HTL.js → zh-WY5DWYZD.js} +5 -1
- package/cli-entry.js +164 -12
- package/cli.js +18 -11
- package/locales/ca.js +772 -203
- package/locales/de.js +8 -2
- package/locales/en.js +8 -2
- package/locales/fr.js +8 -2
- package/locales/ja.js +8 -2
- package/locales/pt.js +8 -2
- package/locales/ru.js +8 -2
- package/locales/zh-TW.js +8 -2
- package/locales/zh.js +8 -2
- package/package.json +3 -3
- package/web-shell/assets/{arc-Buk1besA.js → arc-ByltRugA.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-B1aUKYDC.js → architectureDiagram-3BPJPVTR-CCRTto5d.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CRTdg3Zx.js → blockDiagram-GPEHLZMM-Jfy36u1L.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DFdRMp5g.js → c4Diagram-AAUBKEIU-4d5FfEZ0.js} +1 -1
- package/web-shell/assets/channel-4N2UIFcG.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-4rYQdkEI.js → chunk-2J33WTMH-BPwxCEro.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-Coi-pQJy.js → chunk-4BX2VUAB-jY7ZmJWY.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BtBjz02t.js → chunk-55IACEB6-C98HgCsS.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-CGYOWorl.js → chunk-727SXJPM-cDu-ge-q.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CH5AKhqx.js → chunk-AQP2D5EJ-BKdJwxXK.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-Cd50-w85.js → chunk-FMBD7UC4-DnuxqwMu.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-C2wF3KCK.js → chunk-ND2GUHAM-C4fZNPv0.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-pCeRTaWi.js → chunk-QZHKN3VN-Cf4XWOmz.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Q4dYOtsh.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Q4dYOtsh.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-B-_fAB6D.js → cose-bilkent-S5V4N54A-C82mFiqj.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-ChSPNHpL.js → dagre-BM42HDAG-Df8KACER.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BX7cFOF3.js → diagram-2AECGRRQ-EzNs7s_2.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BQUTW92n.js → diagram-5GNKFQAL-BRLNvreg.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-BkYPh3e4.js → diagram-KO2AKTUF-2HLYHRjC.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Cl6jsNyx.js → diagram-LMA3HP47-DeH0NzSp.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DRWoHz8n.js → diagram-OG6HWLK6-k5Gn47-G.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CGvFcZco.js → erDiagram-TEJ5UH35-gPHFo79f.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-vms6oVdv.js → flowDiagram-I6XJVG4X-DYBOiTRW.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-ukT_sfmi.js → ganttDiagram-6RSMTGT7-cxjAuic9.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bn2ZE2Ut.js → gitGraphDiagram-PVQCEYII-3nPqpmCP.js} +1 -1
- package/web-shell/assets/index-B7jzUZ_s.css +5 -0
- package/web-shell/assets/{index-wFXp7W68.js → index-Cl8d-1bK.js} +1 -1
- package/web-shell/assets/index-gE8OWwj_.js +1197 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DHJdSi7x.js → infoDiagram-5YYISTIA-Dph21pR5.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DOvd2Wph.js → ishikawaDiagram-YF4QCWOH-Cjg1hSaG.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CH_urMCT.js → journeyDiagram-JHISSGLW-CR-IzvnU.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-FKiBdgbH.js → kanban-definition-UN3LZRKU-BYmuybuC.js} +1 -1
- package/web-shell/assets/{linear-0ZVQFVKf.js → linear-CngEEoy8.js} +1 -1
- package/web-shell/assets/{mermaid.core-DJ05ZZIK.js → mermaid.core-G6fbZRPf.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BPuUhkUm.js → mindmap-definition-RKZ34NQL-BtnqnUwJ.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-yLFKcXyG.js → pieDiagram-4H26LBE5-XTq6UHIA.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-irWqc1pE.js → quadrantDiagram-W4KKPZXB-D1J5PrsS.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-B_4uMoIV.js → requirementDiagram-4Y6WPE33-CLcBUy3t.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-ciA4GPwk.js → sankeyDiagram-5OEKKPKP-iwKV02_6.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CRdZvy0U.js → sequenceDiagram-3UESZ5HK-7NFYQcEX.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DaYIkCCn.js → stateDiagram-AJRCARHV-Bvm4Wih6.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-xXU_zO2Z.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-oBUKv6iH.js → timeline-definition-PNZ67QCA-B4FZFE9O.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CGW9Sdmb.js → vennDiagram-CIIHVFJN-CvMBpmtL.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CvwKJOCm.js → wardley-L42UT6IY-E3ag2327.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Ipc260sN.js → wardleyDiagram-YWT4CUSO-BEXWlgxC.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-D6-CM7pK.js → xychartDiagram-2RQKCTM6-CICK05gI.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-6YS6TQB3.js +0 -45
- package/chunks/chunk-ETD6K42I.js +0 -358
- package/chunks/chunk-HAL7YT4M.js +0 -74639
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/daemon-status-provider-DYDVT4S5.js +0 -77
- package/chunks/list-M5NNXMQQ.js +0 -78
- package/chunks/nonInteractiveCli-Z73R2B3B.js +0 -129
- package/chunks/updateCheck-G5JYMVJZ.js +0 -73
- package/chunks/write-file-LHZENZ2A.js +0 -599
- package/web-shell/assets/channel-04R0vLbG.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Bw9SOwAV.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Bw9SOwAV.js +0 -1
- package/web-shell/assets/index-DgkKrjw3.js +0 -1187
- package/web-shell/assets/index-Rv6mOAN9.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DWBoO4UY.js +0 -1
- package/chunks/{chunk-PEJWA3QQ.js → chunk-QZJY47IE.js} +5 -5
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-FODK6UMO.js";
|
|
6
6
|
import {
|
|
7
7
|
TextTokenizer
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JYS55H6Z.js";
|
|
9
9
|
import {
|
|
10
10
|
createDebugLogger
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-OQB4EXO4.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-RS7MT2QG.js";
|
|
6
6
|
import {
|
|
7
7
|
formatHistoryGapNotice
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-NNFK277W.js";
|
|
9
9
|
import {
|
|
10
10
|
isGoalStatusKind,
|
|
11
11
|
isTerminalGoalStatusKind
|
|
@@ -23,18 +23,18 @@ import {
|
|
|
23
23
|
setGoalTerminalObserver,
|
|
24
24
|
setLastGoalTerminal,
|
|
25
25
|
unregisterGoalHook
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-GEB2CGUV.js";
|
|
27
27
|
import {
|
|
28
28
|
apiActivityTracker,
|
|
29
29
|
formatVisionBridgeNoticeDisplay,
|
|
30
30
|
isVisionBridgeNoticeDisplay
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-5G2SK2OO.js";
|
|
32
32
|
import {
|
|
33
33
|
ToolNames
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-YM3SZTH4.js";
|
|
35
35
|
import {
|
|
36
36
|
createDebugLogger
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-OQB4EXO4.js";
|
|
38
38
|
import {
|
|
39
39
|
init_esbuild_shims
|
|
40
40
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -918,6 +918,11 @@ var DefaultTranscriptReplayMachine = class {
|
|
|
918
918
|
let ordinal = 0;
|
|
919
919
|
for (const pending of [...this.pendingToolCalls.values()]) {
|
|
920
920
|
this.pendingToolCalls.delete(pending.callId);
|
|
921
|
+
this.report(
|
|
922
|
+
"missing_tool_result",
|
|
923
|
+
"A transcript tool call has no persisted result.",
|
|
924
|
+
pending.sourceRecordId
|
|
925
|
+
);
|
|
921
926
|
yield {
|
|
922
927
|
sourceRecordId: pending.sourceRecordId,
|
|
923
928
|
...pending.sourceTimestamp ? { sourceTimestamp: pending.sourceTimestamp } : {},
|
|
@@ -2493,7 +2498,7 @@ async function extractMetadata(conversation, config) {
|
|
|
2493
2498
|
const gitBranch = firstRecord?.gitBranch;
|
|
2494
2499
|
let gitRepo;
|
|
2495
2500
|
if (cwd) {
|
|
2496
|
-
const { getGitRepoName } = await import("./src-
|
|
2501
|
+
const { getGitRepoName } = await import("./src-FFXGUTNL.js");
|
|
2497
2502
|
gitRepo = getGitRepoName(cwd);
|
|
2498
2503
|
}
|
|
2499
2504
|
let model;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/core/src/utils/env.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
function parsePositiveIntegerEnv(value, fallback) {
|
|
13
|
+
const trimmed = value?.trim();
|
|
14
|
+
if (!trimmed || !/^\d+$/.test(trimmed)) {
|
|
15
|
+
return fallback;
|
|
16
|
+
}
|
|
17
|
+
const parsed = Number(trimmed);
|
|
18
|
+
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : fallback;
|
|
19
|
+
}
|
|
20
|
+
__name(parsePositiveIntegerEnv, "parsePositiveIntegerEnv");
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
parsePositiveIntegerEnv
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @license
|
|
27
|
+
* Copyright 2025 Qwen
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*/
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
getInstallationInfo,
|
|
5
|
-
resolveUpdateCommand
|
|
6
|
-
} from "./chunk-D742634K.js";
|
|
7
3
|
import {
|
|
8
4
|
performStandaloneUpdate
|
|
9
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3KQSDUK3.js";
|
|
10
6
|
import {
|
|
11
7
|
updateEventEmitter
|
|
12
8
|
} from "./chunk-YAF2MQZ6.js";
|
|
13
9
|
import {
|
|
14
10
|
t
|
|
15
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WCFTQD7H.js";
|
|
12
|
+
import {
|
|
13
|
+
getInstallationInfo,
|
|
14
|
+
resolveUpdateCommand
|
|
15
|
+
} from "./chunk-KDPIV6WC.js";
|
|
16
16
|
import {
|
|
17
17
|
createDebugLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-OQB4EXO4.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -34,7 +34,7 @@ var spawnWrapper = spawn;
|
|
|
34
34
|
// packages/cli/src/utils/handleAutoUpdate.ts
|
|
35
35
|
import os from "node:os";
|
|
36
36
|
var debugLogger = createDebugLogger("AUTO_UPDATE");
|
|
37
|
-
var UPDATE_SUCCESS_MESSAGE = "Update successful!
|
|
37
|
+
var UPDATE_SUCCESS_MESSAGE = "Update successful! The new version will be used on your next run.";
|
|
38
38
|
var UPDATE_FAILED_MESSAGE = "Automatic update failed. Please try updating manually.";
|
|
39
39
|
function handleAutoUpdate(info, settings, projectRoot, spawnFn = spawnWrapper) {
|
|
40
40
|
if (!info) {
|
|
@@ -78,37 +78,56 @@ ${installationInfo.updateMessage}`;
|
|
|
78
78
|
installationInfo.updateCommand,
|
|
79
79
|
info.update.latest
|
|
80
80
|
);
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
const
|
|
84
|
-
const
|
|
85
|
-
|
|
81
|
+
const platform = os.platform();
|
|
82
|
+
const isWindows = platform === "win32";
|
|
83
|
+
const isManagedNpmUpdate = installationInfo.packageManager === "npm" /* NPM */;
|
|
84
|
+
const command = isManagedNpmUpdate ? process.execPath : isWindows ? "cmd.exe" : "bash";
|
|
85
|
+
const commandArgs = isManagedNpmUpdate ? [process.argv[1]] : isWindows ? ["/c", updateCommand] : ["-c", updateCommand];
|
|
86
|
+
const updateProcess = spawnFn(command, commandArgs, {
|
|
87
|
+
...isManagedNpmUpdate ? {
|
|
88
|
+
detached: true,
|
|
89
|
+
env: {
|
|
90
|
+
...process.env,
|
|
91
|
+
QWEN_CODE_MANAGED_NPM_UPDATE_VERSION: info.update.latest
|
|
92
|
+
},
|
|
93
|
+
stdio: ["ignore", "ignore", "pipe"],
|
|
94
|
+
windowsHide: true
|
|
95
|
+
} : { stdio: ["pipe", "ignore", "pipe"] }
|
|
86
96
|
});
|
|
87
97
|
let errorOutput = "";
|
|
88
|
-
updateProcess.stderr
|
|
98
|
+
updateProcess.stderr?.on("data", (data) => {
|
|
89
99
|
errorOutput += data.toString();
|
|
90
100
|
});
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
return new Promise((resolve) => {
|
|
102
|
+
let settled = false;
|
|
103
|
+
const finish = /* @__PURE__ */ __name((error) => {
|
|
104
|
+
if (settled) return;
|
|
105
|
+
settled = true;
|
|
106
|
+
try {
|
|
107
|
+
if (error) throw error;
|
|
108
|
+
updateEventEmitter.emit("update-success", {
|
|
109
|
+
message: t(UPDATE_SUCCESS_MESSAGE)
|
|
110
|
+
});
|
|
111
|
+
resolve(true);
|
|
112
|
+
} catch (error2) {
|
|
113
|
+
debugLogger.warn("Automatic update failed:", error2);
|
|
114
|
+
updateEventEmitter.emit("update-failed", {
|
|
115
|
+
message: t(UPDATE_FAILED_MESSAGE)
|
|
116
|
+
});
|
|
117
|
+
resolve(false);
|
|
118
|
+
}
|
|
119
|
+
}, "finish");
|
|
120
|
+
updateProcess.once("close", (code) => {
|
|
121
|
+
finish(
|
|
122
|
+
code === 0 ? void 0 : new Error(
|
|
123
|
+
`Command failed: ${updateCommand}; stderr: ${errorOutput.trim()}`
|
|
124
|
+
)
|
|
99
125
|
);
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
updateProcess.on("error", (err) => {
|
|
106
|
-
debugLogger.warn("Automatic update command failed to start:", err);
|
|
107
|
-
updateEventEmitter.emit("update-failed", {
|
|
108
|
-
message: t(UPDATE_FAILED_MESSAGE)
|
|
126
|
+
});
|
|
127
|
+
updateProcess.once("error", (error) => {
|
|
128
|
+
finish(error);
|
|
109
129
|
});
|
|
110
130
|
});
|
|
111
|
-
return updateProcess;
|
|
112
131
|
}
|
|
113
132
|
__name(handleAutoUpdate, "handleAutoUpdate");
|
|
114
133
|
function setUpdateHandler(addItem, setUpdateInfo, isIdleRef = { current: true }) {
|
|
@@ -137,7 +156,9 @@ function setUpdateHandler(addItem, setUpdateInfo, isIdleRef = { current: true })
|
|
|
137
156
|
const handleUpdateFailed = /* @__PURE__ */ __name((data) => {
|
|
138
157
|
setUpdateInfo(null);
|
|
139
158
|
addItemOrDefer({
|
|
140
|
-
|
|
159
|
+
// Background update-check failures are emitted with severity 'warning'
|
|
160
|
+
// (#7049); actual update installation failures stay errors.
|
|
161
|
+
type: data?.severity === "warning" ? "warning" /* WARNING */ : "error" /* ERROR */,
|
|
141
162
|
text: data?.message ?? t(UPDATE_FAILED_MESSAGE)
|
|
142
163
|
});
|
|
143
164
|
}, "handleUpdateFailed");
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
MAX_WORKSPACE_PATH_LENGTH,
|
|
5
5
|
canonicalizeWorkspace
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2RFKHEXL.js";
|
|
7
7
|
import {
|
|
8
8
|
MAX_DAEMON_WORKSPACES
|
|
9
9
|
} from "./chunk-5HBA2Z7V.js";
|
|
@@ -124,6 +124,7 @@ __name(resolveWorkspaceInputs, "resolveWorkspaceInputs");
|
|
|
124
124
|
var SCHEMA_VERSION = 1;
|
|
125
125
|
var MAX_SECONDARY_WORKSPACES = MAX_REGISTERED_WORKSPACES - 1;
|
|
126
126
|
var MAX_STORE_BYTES = 256 * 1024;
|
|
127
|
+
var MAX_WORKSPACE_DISPLAY_NAME_LENGTH = 256;
|
|
127
128
|
var LOCK_OPTIONS = {
|
|
128
129
|
realpath: false,
|
|
129
130
|
stale: 1e4,
|
|
@@ -136,6 +137,43 @@ var LOCK_OPTIONS = {
|
|
|
136
137
|
randomize: true
|
|
137
138
|
}
|
|
138
139
|
};
|
|
140
|
+
var WorkspaceDisplayNameValidationError = class extends Error {
|
|
141
|
+
static {
|
|
142
|
+
__name(this, "WorkspaceDisplayNameValidationError");
|
|
143
|
+
}
|
|
144
|
+
constructor(message) {
|
|
145
|
+
super(message);
|
|
146
|
+
this.name = "WorkspaceDisplayNameValidationError";
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
function containsDisplayNameControlCharacter(value) {
|
|
150
|
+
for (const character of value) {
|
|
151
|
+
const codePoint = character.codePointAt(0);
|
|
152
|
+
if (codePoint <= 31 || codePoint === 127) return true;
|
|
153
|
+
}
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
__name(containsDisplayNameControlCharacter, "containsDisplayNameControlCharacter");
|
|
157
|
+
function normalizeWorkspaceDisplayName(value) {
|
|
158
|
+
if (typeof value !== "string") {
|
|
159
|
+
throw new WorkspaceDisplayNameValidationError(
|
|
160
|
+
"Workspace display name must be a string"
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
const trimmed = value.trim();
|
|
164
|
+
if (trimmed.length > MAX_WORKSPACE_DISPLAY_NAME_LENGTH) {
|
|
165
|
+
throw new WorkspaceDisplayNameValidationError(
|
|
166
|
+
`Workspace display name exceeds ${MAX_WORKSPACE_DISPLAY_NAME_LENGTH} characters`
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
if (containsDisplayNameControlCharacter(trimmed)) {
|
|
170
|
+
throw new WorkspaceDisplayNameValidationError(
|
|
171
|
+
"Workspace display name contains control characters"
|
|
172
|
+
);
|
|
173
|
+
}
|
|
174
|
+
return trimmed.length === 0 ? void 0 : trimmed;
|
|
175
|
+
}
|
|
176
|
+
__name(normalizeWorkspaceDisplayName, "normalizeWorkspaceDisplayName");
|
|
139
177
|
var WorkspaceRegistrationStoreError = class extends Error {
|
|
140
178
|
static {
|
|
141
179
|
__name(this, "WorkspaceRegistrationStoreError");
|
|
@@ -196,6 +234,38 @@ function validateWorkspacePath(value, label) {
|
|
|
196
234
|
return value;
|
|
197
235
|
}
|
|
198
236
|
__name(validateWorkspacePath, "validateWorkspacePath");
|
|
237
|
+
function validateStoredDisplayName(value, label) {
|
|
238
|
+
let displayName;
|
|
239
|
+
try {
|
|
240
|
+
displayName = normalizeWorkspaceDisplayName(value);
|
|
241
|
+
} catch (err) {
|
|
242
|
+
throw new WorkspaceRegistrationStoreError(
|
|
243
|
+
`${label} is invalid: ${err instanceof Error ? err.message : String(err)}`
|
|
244
|
+
);
|
|
245
|
+
}
|
|
246
|
+
if (displayName === void 0) {
|
|
247
|
+
throw new WorkspaceRegistrationStoreError(`${label} must not be empty`);
|
|
248
|
+
}
|
|
249
|
+
return displayName;
|
|
250
|
+
}
|
|
251
|
+
__name(validateStoredDisplayName, "validateStoredDisplayName");
|
|
252
|
+
function setSnapshotDisplayName(snapshot, registrationId, displayName) {
|
|
253
|
+
if (displayName === void 0) {
|
|
254
|
+
if (!snapshot.displayNames || !Object.hasOwn(snapshot.displayNames, registrationId)) {
|
|
255
|
+
return false;
|
|
256
|
+
}
|
|
257
|
+
delete snapshot.displayNames[registrationId];
|
|
258
|
+
if (Object.keys(snapshot.displayNames).length === 0) {
|
|
259
|
+
delete snapshot.displayNames;
|
|
260
|
+
}
|
|
261
|
+
return true;
|
|
262
|
+
}
|
|
263
|
+
if (snapshot.displayNames?.[registrationId] === displayName) return false;
|
|
264
|
+
snapshot.displayNames ??= {};
|
|
265
|
+
snapshot.displayNames[registrationId] = displayName;
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
__name(setSnapshotDisplayName, "setSnapshotDisplayName");
|
|
199
269
|
function parseSnapshot(raw, primaryWorkspace) {
|
|
200
270
|
let value;
|
|
201
271
|
try {
|
|
@@ -252,7 +322,34 @@ function parseSnapshot(raw, primaryWorkspace) {
|
|
|
252
322
|
seen.add(normalizedWorkspace);
|
|
253
323
|
return workspace;
|
|
254
324
|
});
|
|
255
|
-
|
|
325
|
+
const rawDisplayNames = record["displayNames"];
|
|
326
|
+
let displayNames;
|
|
327
|
+
if (rawDisplayNames !== void 0) {
|
|
328
|
+
if (typeof rawDisplayNames !== "object" || rawDisplayNames === null || Array.isArray(rawDisplayNames)) {
|
|
329
|
+
throw new WorkspaceRegistrationStoreError(
|
|
330
|
+
"Workspace registration store displayNames must be an object"
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
const registrationIds = new Set(workspaces.map(workspaceRegistrationId));
|
|
334
|
+
for (const [registrationId, value2] of Object.entries(rawDisplayNames)) {
|
|
335
|
+
if (!registrationIds.has(registrationId)) {
|
|
336
|
+
throw new WorkspaceRegistrationStoreError(
|
|
337
|
+
`Workspace registration store displayNames contains unknown registration id ${JSON.stringify(registrationId)}`
|
|
338
|
+
);
|
|
339
|
+
}
|
|
340
|
+
displayNames ??= {};
|
|
341
|
+
displayNames[registrationId] = validateStoredDisplayName(
|
|
342
|
+
value2,
|
|
343
|
+
`displayNames[${JSON.stringify(registrationId)}]`
|
|
344
|
+
);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
return {
|
|
348
|
+
schemaVersion: SCHEMA_VERSION,
|
|
349
|
+
primaryWorkspace,
|
|
350
|
+
workspaces,
|
|
351
|
+
...displayNames ? { displayNames } : {}
|
|
352
|
+
};
|
|
256
353
|
}
|
|
257
354
|
__name(parseSnapshot, "parseSnapshot");
|
|
258
355
|
var updateChains = /* @__PURE__ */ new Map();
|
|
@@ -391,8 +488,9 @@ var WorkspaceRegistrationStore = class {
|
|
|
391
488
|
await file.close();
|
|
392
489
|
}
|
|
393
490
|
}
|
|
394
|
-
async add(workspace) {
|
|
491
|
+
async add(workspace, displayName) {
|
|
395
492
|
validateWorkspacePath(workspace, "workspace");
|
|
493
|
+
const normalizedDisplayName = displayName === void 0 ? void 0 : normalizeWorkspaceDisplayName(displayName);
|
|
396
494
|
if (normalizedScopePath(workspace) === normalizedScopePath(this.primaryWorkspace)) {
|
|
397
495
|
throw new WorkspaceRegistrationStoreError(
|
|
398
496
|
"Primary workspace cannot be stored as a secondary registration"
|
|
@@ -411,30 +509,61 @@ var WorkspaceRegistrationStore = class {
|
|
|
411
509
|
);
|
|
412
510
|
}
|
|
413
511
|
snapshot.workspaces.push(workspace);
|
|
512
|
+
if (normalizedDisplayName !== void 0) {
|
|
513
|
+
snapshot.displayNames ??= {};
|
|
514
|
+
snapshot.displayNames[workspaceRegistrationId(workspace)] = normalizedDisplayName;
|
|
515
|
+
}
|
|
414
516
|
return true;
|
|
415
517
|
});
|
|
416
518
|
}
|
|
417
519
|
async removeById(id) {
|
|
418
520
|
return await this.removeByIds([id]) > 0;
|
|
419
521
|
}
|
|
522
|
+
async setDisplayNameByIds(ids, displayName) {
|
|
523
|
+
const normalizedDisplayName = displayName === void 0 ? void 0 : normalizeWorkspaceDisplayName(displayName);
|
|
524
|
+
const requested = new Set(ids);
|
|
525
|
+
if (requested.size === 0) return 0;
|
|
526
|
+
let matched = 0;
|
|
527
|
+
await this.update((snapshot) => {
|
|
528
|
+
let changed = false;
|
|
529
|
+
for (const workspace of snapshot.workspaces) {
|
|
530
|
+
const registrationId = workspaceRegistrationId(workspace);
|
|
531
|
+
if (!requested.has(registrationId)) continue;
|
|
532
|
+
matched++;
|
|
533
|
+
changed = setSnapshotDisplayName(
|
|
534
|
+
snapshot,
|
|
535
|
+
registrationId,
|
|
536
|
+
normalizedDisplayName
|
|
537
|
+
) || changed;
|
|
538
|
+
}
|
|
539
|
+
return changed;
|
|
540
|
+
});
|
|
541
|
+
return matched;
|
|
542
|
+
}
|
|
420
543
|
async removeByIds(ids) {
|
|
421
544
|
const requested = new Set(ids);
|
|
422
545
|
if (requested.size === 0) return 0;
|
|
423
546
|
let removed = 0;
|
|
424
547
|
await this.update((snapshot) => {
|
|
548
|
+
const removedIds = /* @__PURE__ */ new Set();
|
|
425
549
|
const retained = snapshot.workspaces.filter((workspace) => {
|
|
426
|
-
|
|
550
|
+
const registrationId = workspaceRegistrationId(workspace);
|
|
551
|
+
if (!requested.has(registrationId)) return true;
|
|
427
552
|
removed++;
|
|
553
|
+
removedIds.add(registrationId);
|
|
428
554
|
return false;
|
|
429
555
|
});
|
|
430
556
|
if (removed === 0) return false;
|
|
431
557
|
snapshot.workspaces.splice(0, snapshot.workspaces.length, ...retained);
|
|
558
|
+
for (const registrationId of removedIds) {
|
|
559
|
+
setSnapshotDisplayName(snapshot, registrationId, void 0);
|
|
560
|
+
}
|
|
432
561
|
return true;
|
|
433
562
|
});
|
|
434
563
|
return removed;
|
|
435
564
|
}
|
|
436
565
|
async update(mutate) {
|
|
437
|
-
const { atomicWriteFile } = await import("./src-
|
|
566
|
+
const { atomicWriteFile } = await import("./src-FFXGUTNL.js");
|
|
438
567
|
return withInProcessLock(this.filePath, async () => {
|
|
439
568
|
const lock = await acquireFileLock(this.filePath);
|
|
440
569
|
let committed = false;
|
|
@@ -478,6 +607,9 @@ var WorkspaceRegistrationStore = class {
|
|
|
478
607
|
export {
|
|
479
608
|
MAX_REGISTERED_WORKSPACES,
|
|
480
609
|
resolveWorkspaceInputs,
|
|
610
|
+
MAX_WORKSPACE_DISPLAY_NAME_LENGTH,
|
|
611
|
+
WorkspaceDisplayNameValidationError,
|
|
612
|
+
normalizeWorkspaceDisplayName,
|
|
481
613
|
WorkspaceRegistrationStoreError,
|
|
482
614
|
WorkspaceRegistrationStoreLimitError,
|
|
483
615
|
WorkspaceRegistrationStoreCommittedError,
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
buildPermissionSettings
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-5EA5NVXS.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveVoiceStreamConfig,
|
|
8
8
|
resolveVoiceTranscriptionConfig,
|
|
9
9
|
transcribeVoiceAudio
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-EFIOE2EH.js";
|
|
11
11
|
import {
|
|
12
12
|
getVoiceSettingsScope,
|
|
13
13
|
isSelectableVoiceModel,
|
|
@@ -16,7 +16,13 @@ import {
|
|
|
16
16
|
readVoiceMode,
|
|
17
17
|
readVoiceModel,
|
|
18
18
|
resolveVoiceTransport
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-3SXF4GMQ.js";
|
|
20
|
+
import {
|
|
21
|
+
WorkspacePermissionRulesSessionRequiredError,
|
|
22
|
+
WorkspaceSettingsPartialPersistError,
|
|
23
|
+
WorkspaceSkillNotFoundError,
|
|
24
|
+
WorkspaceSkillNotToggleableError
|
|
25
|
+
} from "./chunk-OA4JVLSA.js";
|
|
20
26
|
import {
|
|
21
27
|
MCP_RESTART_SERVER_DEADLINE_MS,
|
|
22
28
|
McpServerNotFoundError,
|
|
@@ -26,7 +32,7 @@ import {
|
|
|
26
32
|
WorkspaceInitPathEscapeError,
|
|
27
33
|
WorkspaceInitRaceError,
|
|
28
34
|
WorkspaceInitSymlinkError
|
|
29
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-UH3WSE5L.js";
|
|
30
36
|
import {
|
|
31
37
|
BridgeChannelClosedError,
|
|
32
38
|
SERVE_CONTROL_EXT_METHODS,
|
|
@@ -40,32 +46,27 @@ import {
|
|
|
40
46
|
createIdleWorkspaceProvidersStatus,
|
|
41
47
|
createIdleWorkspaceSkillsStatus,
|
|
42
48
|
mapDomainErrorToErrorKind
|
|
43
|
-
} from "./chunk-
|
|
44
|
-
import {
|
|
45
|
-
WorkspacePermissionRulesSessionRequiredError,
|
|
46
|
-
WorkspaceSettingsPartialPersistError,
|
|
47
|
-
WorkspaceSkillNotFoundError,
|
|
48
|
-
WorkspaceSkillNotToggleableError
|
|
49
|
-
} from "./chunk-OA4JVLSA.js";
|
|
49
|
+
} from "./chunk-BWQRDISK.js";
|
|
50
50
|
import {
|
|
51
51
|
getPersistScopeForModelSelection,
|
|
52
52
|
loadSettings
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-7SWFAKVH.js";
|
|
54
54
|
import {
|
|
55
55
|
getWorkspaceTrustStatus
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-S3YQCNJE.js";
|
|
57
57
|
import {
|
|
58
|
-
writeStderrLine
|
|
58
|
+
writeStderrLine,
|
|
59
|
+
writeStderrLineSafe
|
|
59
60
|
} from "./chunk-OWAK7LMW.js";
|
|
60
61
|
import {
|
|
61
62
|
ModelsConfig,
|
|
62
63
|
SkillManager,
|
|
63
64
|
require_yauzl
|
|
64
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-GEB2CGUV.js";
|
|
65
66
|
import {
|
|
66
67
|
Storage,
|
|
67
68
|
createDebugLogger
|
|
68
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-OQB4EXO4.js";
|
|
69
70
|
import {
|
|
70
71
|
init_esbuild_shims
|
|
71
72
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1187,11 +1188,11 @@ function createDaemonWorkspaceService(deps) {
|
|
|
1187
1188
|
);
|
|
1188
1189
|
},
|
|
1189
1190
|
async preheatAcpChild(_ctx, opts) {
|
|
1190
|
-
const startedAt =
|
|
1191
|
+
const startedAt = performance.now();
|
|
1191
1192
|
const channelLive = /* @__PURE__ */ __name(() => isChannelLive?.() ?? false, "channelLive");
|
|
1192
1193
|
const finish = /* @__PURE__ */ __name((result) => ({
|
|
1193
1194
|
...result,
|
|
1194
|
-
durationMs:
|
|
1195
|
+
durationMs: Math.max(0, Math.round(performance.now() - startedAt))
|
|
1195
1196
|
}), "finish");
|
|
1196
1197
|
if (channelLive()) {
|
|
1197
1198
|
return finish({ ready: true, channelLive: true });
|
|
@@ -1201,43 +1202,67 @@ function createDaemonWorkspaceService(deps) {
|
|
|
1201
1202
|
ready: false,
|
|
1202
1203
|
channelLive: false,
|
|
1203
1204
|
reason: "error",
|
|
1204
|
-
error: "ACP preheat is
|
|
1205
|
+
error: "ACP preheat is unavailable"
|
|
1205
1206
|
});
|
|
1206
1207
|
}
|
|
1207
1208
|
if (!inFlightAcpPreheat) {
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1209
|
+
const promise = Promise.resolve().then(preheatAcpChildOnBridge);
|
|
1210
|
+
inFlightAcpPreheat = promise;
|
|
1211
|
+
void promise.then(
|
|
1212
|
+
() => {
|
|
1213
|
+
if (inFlightAcpPreheat === promise) {
|
|
1214
|
+
inFlightAcpPreheat = void 0;
|
|
1215
|
+
}
|
|
1216
|
+
},
|
|
1217
|
+
(err) => {
|
|
1218
|
+
try {
|
|
1219
|
+
writeStderrLineSafe(
|
|
1220
|
+
`qwen serve: ACP preheat failed: ${err instanceof Error ? err.message : String(err)}`
|
|
1221
|
+
);
|
|
1222
|
+
} finally {
|
|
1223
|
+
if (inFlightAcpPreheat === promise) {
|
|
1224
|
+
inFlightAcpPreheat = void 0;
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
);
|
|
1216
1229
|
}
|
|
1230
|
+
const sharedPreheat = inFlightAcpPreheat;
|
|
1217
1231
|
try {
|
|
1218
1232
|
await withTimeout(
|
|
1219
|
-
|
|
1233
|
+
sharedPreheat,
|
|
1220
1234
|
opts?.timeoutMs ?? 5e3,
|
|
1221
1235
|
"ACP preheat"
|
|
1222
1236
|
);
|
|
1223
1237
|
} catch (err) {
|
|
1224
1238
|
if (err instanceof TimeoutError) {
|
|
1225
|
-
|
|
1226
|
-
writeStderrLine(
|
|
1239
|
+
writeStderrLineSafe(
|
|
1227
1240
|
`qwen serve: ACP preheat timed out after ${opts?.timeoutMs ?? 5e3}ms`
|
|
1228
1241
|
);
|
|
1229
1242
|
}
|
|
1230
1243
|
const live2 = channelLive();
|
|
1231
|
-
|
|
1244
|
+
if (live2) {
|
|
1245
|
+
return finish({ ready: true, channelLive: true });
|
|
1246
|
+
}
|
|
1232
1247
|
return finish({
|
|
1233
|
-
ready:
|
|
1234
|
-
channelLive:
|
|
1248
|
+
ready: false,
|
|
1249
|
+
channelLive: false,
|
|
1235
1250
|
reason: err instanceof TimeoutError ? "timeout" : "error",
|
|
1236
|
-
error:
|
|
1251
|
+
error: err instanceof TimeoutError ? "ACP preheat did not complete before the timeout" : "ACP preheat failed"
|
|
1237
1252
|
});
|
|
1238
1253
|
}
|
|
1239
1254
|
const live = channelLive();
|
|
1240
|
-
|
|
1255
|
+
if (!live) {
|
|
1256
|
+
writeStderrLineSafe(
|
|
1257
|
+
"qwen serve: ACP preheat resolved without a live channel"
|
|
1258
|
+
);
|
|
1259
|
+
}
|
|
1260
|
+
return live ? finish({ ready: true, channelLive: true }) : finish({
|
|
1261
|
+
ready: false,
|
|
1262
|
+
channelLive: false,
|
|
1263
|
+
reason: "error",
|
|
1264
|
+
error: "ACP preheat did not produce a live channel"
|
|
1265
|
+
});
|
|
1241
1266
|
},
|
|
1242
1267
|
async getWorkspaceAcpStatus(_ctx) {
|
|
1243
1268
|
return { channelLive: isChannelLive?.() ?? false };
|