@qwen-code/qwen-code 0.20.1-preview.7215 → 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-EH6G5AEH.js → MaxSizedBox-4WZYPSRU.js} +40 -36
- package/chunks/{StandaloneSessionPicker-264A3TEA.js → StandaloneSessionPicker-PE4JAIFA.js} +58 -54
- package/chunks/{acpAgent-6RBIJFDI.js → acpAgent-BVIKGJ2C.js} +1503 -520
- package/chunks/{agent-QURXGAA3.js → agent-DHLFAOUV.js} +36 -32
- package/chunks/{agent-headless-CRGX4ICQ.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-MNFVKPMI.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-IUSNI6IX.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-LZYWWWCZ.js → chunk-3KQSDUK3.js} +3 -3
- package/chunks/{chunk-NOWTNYC7.js → chunk-3LH5Q2AR.js} +8 -8
- package/chunks/{chunk-IB35C3IL.js → chunk-3SXF4GMQ.js} +1 -1
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/{chunk-KXEGCGUG.js → chunk-4BRH6FP5.js} +31 -6
- package/chunks/{chunk-TTSKHF43.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-OF2BBLYQ.js → chunk-52T5UHAZ.js} +2 -2
- package/chunks/{chunk-ZEOZL37W.js → chunk-57FIIFJN.js} +1 -1
- package/chunks/{chunk-WAX3ITOA.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-FVS747N7.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-E5GIFWE3.js → chunk-766HLFAG.js} +54 -33
- package/chunks/{chunk-SDXIH6OA.js → chunk-76OFFG6L.js} +137 -5
- package/chunks/{chunk-ANHT55MR.js → chunk-7LH6CHKG.js} +1 -1
- package/chunks/{chunk-Y4CRUWFZ.js → chunk-7NDXG4MB.js} +60 -35
- package/chunks/{chunk-KPZNOZPC.js → chunk-7SWFAKVH.js} +22 -22
- package/chunks/{chunk-AYCDXHZB.js → chunk-7Z6JQEL6.js} +1 -1
- package/chunks/{chunk-5NWV4NFB.js → chunk-AZD6KAV7.js} +3 -3
- package/chunks/{chunk-7YBZGNEC.js → chunk-BKZEHVPV.js} +176 -168
- package/chunks/{chunk-WXAXH7IJ.js → chunk-BWQRDISK.js} +1 -1
- package/chunks/{chunk-X4CGDBKA.js → chunk-BZAEENUV.js} +3 -3
- package/chunks/{chunk-BF32GYSY.js → chunk-CHXKGIMK.js} +1 -1
- package/chunks/{chunk-4SLLEAQP.js → chunk-D53NR4GO.js} +562 -301
- package/chunks/{chunk-FLTN6NRU.js → chunk-D6ZOVZLF.js} +5 -1
- package/chunks/{chunk-NBMIC7DR.js → chunk-D7WXIW7H.js} +4 -4
- package/chunks/{chunk-MKLKHZAK.js → chunk-DPRMI6NU.js} +1 -1
- package/chunks/{chunk-AR27OPIU.js → chunk-DRIXALGM.js} +2 -2
- package/chunks/{chunk-5SCI6E3E.js → chunk-E4IMU4Y5.js} +1 -1
- package/chunks/{chunk-Z5Q65RVH.js → chunk-EC2ET5ZZ.js} +1 -1
- package/chunks/{chunk-B453NMZJ.js → chunk-EFIOE2EH.js} +3 -3
- package/chunks/{chunk-OKWRU4NO.js → chunk-EWXXMRMP.js} +3 -3
- package/chunks/{chunk-NEEB7UEN.js → chunk-FFFM6NJV.js} +1 -2
- package/chunks/{chunk-JVTCARQ6.js → chunk-G6LRTI62.js} +4 -4
- package/chunks/{chunk-6OH6A5EX.js → chunk-GEB2CGUV.js} +20262 -17752
- 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-6GUTHAN7.js → chunk-JHFVJQRO.js} +1 -1
- package/chunks/{chunk-IE4JSQ5L.js → chunk-JIBBZH37.js} +27 -23
- package/chunks/{chunk-UJEZQ562.js → chunk-JJEFX6U5.js} +3 -3
- package/chunks/{chunk-QOK6RMIP.js → chunk-JKFHJK5U.js} +4 -4
- package/chunks/{chunk-GA7VRJVN.js → chunk-JO7FGOSY.js} +5 -5
- package/chunks/{chunk-WOT64EP2.js → chunk-JTUAAVUT.js} +2 -2
- package/chunks/{chunk-MAQQGNQ5.js → chunk-JYS55H6Z.js} +66 -7
- package/chunks/{chunk-DA7OOKVN.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-Z6UEAQTP.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-VFAE4AGH.js → chunk-LPMBFOWH.js} +73 -68
- package/chunks/{chunk-IKP5DXZY.js → chunk-LYEKAAEH.js} +5 -5
- package/chunks/chunk-M7WBGLYP.js +151 -0
- package/chunks/{chunk-P2YAOGJD.js → chunk-MTSYH4MB.js} +3 -3
- package/chunks/{chunk-WKRXIHD6.js → chunk-N5ARKAVE.js} +8 -8
- package/chunks/chunk-NABLFI57.js +82 -0
- package/chunks/{chunk-CVDW42JT.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-RELYEO3R.js → chunk-OUDZVU7H.js} +242 -1607
- package/chunks/{chunk-3EUZWNWA.js → chunk-PBED7USE.js} +1 -1
- package/chunks/{chunk-WBTZGWQ6.js → chunk-PIHKWN7M.js} +1 -1
- package/chunks/{chunk-XNP57UDV.js → chunk-PPIHLGNE.js} +2 -2
- package/chunks/{chunk-Q4RBU7WX.js → chunk-PSVSP2OS.js} +6 -6
- package/chunks/{chunk-BRXIO5WY.js → chunk-Q2V2ADXF.js} +7 -7
- package/chunks/{chunk-JDI67JFB.js → chunk-Q2YKNMLS.js} +3 -3
- package/chunks/{chunk-BAIEQKR5.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-7KDI2IB2.js → chunk-QSJ6JIF5.js} +4 -4
- package/chunks/{chunk-Q3ZBFXK4.js → chunk-QUHJRRUA.js} +126 -30
- package/chunks/{chunk-N6YTEVLV.js → chunk-R3BCL5XW.js} +10 -4
- package/chunks/{chunk-EVSTCA7S.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-T7DDD7CZ.js → chunk-RYSMKY43.js} +4 -4
- package/chunks/{chunk-MC2DOZS7.js → chunk-S3YQCNJE.js} +3 -3
- package/chunks/{chunk-4WUAQ2DO.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-TCKTNY66.js → chunk-TPR35HHZ.js} +6 -6
- package/chunks/{chunk-UQES76OO.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-2DXOIVUI.js → chunk-WCFTQD7H.js} +11 -11
- package/chunks/chunk-WHGVTP7Q.js +1049 -0
- package/chunks/{chunk-PWVTCGBP.js → chunk-WML6JOGQ.js} +31 -19
- package/chunks/{chunk-D2VIDMVM.js → chunk-X6N25LXS.js} +2 -2
- package/chunks/{chunk-Z5R4JMOL.js → chunk-X7XWGRDT.js} +4 -4
- package/chunks/chunk-XHATNRQA.js +1500 -0
- package/chunks/{chunk-V25Z5UUB.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-R7KA6UJ6.js → computer-use-MV4K6WJM.js} +41 -37
- package/chunks/{config-utils-6FXFJUYB.js → config-utils-WYUQ7II4.js} +3 -3
- package/chunks/{contextCommand-KAQQPHZ4.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-TDPDBU4K.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-WC7RI5HV.js → earlyInputCapture-2V57RG6H.js} +37 -33
- package/chunks/{edit-6MHKCJCM.js → edit-TTUH7PWR.js} +43 -41
- package/chunks/{en-XE34GKAA.js → en-USMCCJAJ.js} +5 -1
- package/chunks/{enter-worktree-O7VJ2E7A.js → enter-worktree-D4IVCXYB.js} +41 -37
- package/chunks/{enterPlanMode-5XYAALIO.js → enterPlanMode-WRUJTVYN.js} +47 -38
- package/chunks/{environment-LSKFNLBU.js → environment-SEPKXB2C.js} +38 -34
- package/chunks/{errors-ZFVCY6HG.js → errors-YSVGBLBU.js} +38 -34
- package/chunks/{exit-worktree-MYIK66T7.js → exit-worktree-MZ4JSSP6.js} +41 -37
- package/chunks/{exitPlanMode-7MBNU76O.js → exitPlanMode-HAZLSSOJ.js} +41 -37
- package/chunks/{fast-path-RNLIB64C.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-WK5ISEAQ.js → gemini-APQ76464.js} +100 -95
- package/chunks/{geminiContentGenerator-NUJQBZBW.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-7P6RYY4L.js → glob-LABYMYKG.js} +43 -39
- package/chunks/{grep-V3QHNP2J.js → grep-HKIKJCAS.js} +43 -39
- package/chunks/{handleAutoUpdate-AAQ6PL3E.js → handleAutoUpdate-RWAAL2UM.js} +40 -36
- package/chunks/{i18n-B7IO7WQT.js → i18n-ZUVDAJIJ.js} +37 -33
- package/chunks/{initializer-E5TIC3CW.js → initializer-7YUHIC36.js} +43 -39
- package/chunks/{installationInfo-XLPNAISK.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-X5BSC6CE.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-4C4HWXAR.js → mcp-VLHDCKAN.js} +42 -38
- package/chunks/{monitor-3CJDNZB2.js → monitor-GG4F4YM6.js} +41 -37
- package/chunks/nonInteractiveCli-UYXYV4YX.js +133 -0
- package/chunks/{notebook-edit-MX366HCT.js → notebook-edit-US4VLN6Q.js} +44 -42
- package/chunks/{openaiContentGenerator-KRPNNJGZ.js → openaiContentGenerator-CVEDTMDB.js} +20 -18
- package/chunks/{pidfile-K7T2JLUJ.js → pidfile-QQ45OIOY.js} +37 -33
- package/chunks/{processUtils-YXL3VIBR.js → processUtils-3WMHLQE5.js} +2 -2
- package/chunks/{pt-JJ4XPIBP.js → pt-OK455PLH.js} +5 -1
- package/chunks/{qwenContentGenerator-GJVXFZ3U.js → qwenContentGenerator-Y2GRNYZQ.js} +42 -38
- package/chunks/{qwenOAuth2-UZTIBQLY.js → qwenOAuth2-J2X6E5VO.js} +18 -16
- package/chunks/{read-file-S5XQSYOW.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-IKR6XD2S.js → resumeHistoryUtils-KBQWX77U.js} +43 -39
- package/chunks/{ripGrep-H65GRSQX.js → ripGrep-RW26MTQ3.js} +36 -32
- package/chunks/{ru-STR4KTW7.js → ru-7SPDGMGD.js} +5 -1
- package/chunks/{run-qwen-serve-7SKAQOAA.js → run-qwen-serve-MXFMOMEL.js} +104 -82
- package/chunks/{runtime-I2STBGPR.js → runtime-APNO3V6D.js} +48 -42
- package/chunks/{scheduler-6F7HETNO.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-4ATEWSEA.js → serve-6QBXDVWT.js} +42 -38
- package/chunks/{server-YPUPFV2O.js → server-5TJJEMVQ.js} +1006 -305
- package/chunks/{session-AZFIERIY.js → session-BWEUHKQB.js} +92 -176
- package/chunks/{settings-EFQHLTM3.js → settings-O7IUQNRR.js} +45 -41
- package/chunks/{shell-FWXWBJ4Q.js → shell-R5L4NQYY.js} +36 -32
- package/chunks/{skill-A634MNCD.js → skill-ITEOSNW6.js} +24 -20
- package/chunks/{spawnChannel-KKBGGR47.js → spawnChannel-E7NTWSGW.js} +38 -34
- package/chunks/{src-BVROLD6N.js → src-FFXGUTNL.js} +303 -237
- package/chunks/{standalone-update-ERLA3BDC.js → standalone-update-JCJOXW4P.js} +38 -34
- package/chunks/{startInteractiveUI-3VZ23WAY.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-ZZO7QFQ7.js → team-create-OVSZTJZO.js} +44 -40
- package/chunks/{team-delete-TNSSE2S5.js → team-delete-BB3CG3QF.js} +6 -6
- package/chunks/{team-plan-approval-3BZBJ46K.js → team-plan-approval-SLEVDLT5.js} +41 -37
- package/chunks/{theme-manager-FSFWNXFJ.js → theme-manager-V6ZQISHM.js} +37 -33
- package/chunks/{todoWrite-OMAIGB6V.js → todoWrite-KRAUN54W.js} +5 -5
- package/chunks/{tool-search-VYXAAIDW.js → tool-search-KYIF6C6E.js} +21 -17
- package/chunks/{total-session-admission-PSMLQICS.js → total-session-admission-EU77XTL7.js} +42 -38
- package/chunks/{trustedFolders-QA3RK2NV.js → trustedFolders-DDEF3ADH.js} +37 -33
- package/chunks/{update-relaunch-LNLZFX3J.js → update-relaunch-XEZTDP6K.js} +17 -17
- package/chunks/updateCheck-KZ5LZ545.js +89 -0
- package/chunks/{useAutoAcceptIndicator-DIWN27LT.js → useAutoAcceptIndicator-47EZERGQ.js} +47 -43
- package/chunks/{validateNonInterActiveAuth-LOEOFCAF.js → validateNonInterActiveAuth-J2DM4LWZ.js} +79 -75
- package/chunks/{version-HBF2VBLE.js → version-PN7WYXHP.js} +1 -1
- package/chunks/{web-fetch-BWGSD2BD.js → web-fetch-WRI5QRFR.js} +100 -42
- package/chunks/{web-search-OOHTCVR3.js → web-search-2HCXNAVX.js} +111 -60
- package/chunks/{workflow-LJAJBOR4.js → workflow-U5XBPGQZ.js} +48 -43
- package/chunks/workspace-providers-status-2T54GIJZ.js +79 -0
- package/chunks/{workspace-registration-store-4EHGQW4Y.js → workspace-registration-store-F3V4KBIW.js} +8 -2
- package/chunks/{workspace-registry-BKD7VC4Y.js → workspace-registry-U6QVZ5BU.js} +42 -38
- package/chunks/{workspace-service-75RHX6KR.js → workspace-service-734D36QD.js} +49 -45
- package/chunks/{workspace-skills-status-WBZBZI6A.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-ETD6K42I.js +0 -358
- package/chunks/chunk-I5NLVPZJ.js +0 -45
- package/chunks/chunk-ONWW74X6.js +0 -74639
- package/chunks/chunk-W7FJ3N32.js +0 -49
- package/chunks/daemon-status-provider-LVTVJGAD.js +0 -77
- package/chunks/list-3CZR5I42.js +0 -78
- package/chunks/nonInteractiveCli-QTEHDDFH.js +0 -129
- package/chunks/updateCheck-JJEUQ54U.js +0 -73
- package/chunks/workspace-providers-status-FYV7TTHA.js +0 -75
- package/chunks/write-file-M2DTFILF.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
|
@@ -339,6 +339,7 @@ var RestSseTransport = class {
|
|
|
339
339
|
baseUrl;
|
|
340
340
|
token;
|
|
341
341
|
_fetch;
|
|
342
|
+
activeSseRequests = /* @__PURE__ */ new Set();
|
|
342
343
|
_disposed = false;
|
|
343
344
|
type = "rest";
|
|
344
345
|
supportsReplay = true;
|
|
@@ -371,75 +372,86 @@ var RestSseTransport = class {
|
|
|
371
372
|
if (this._disposed) {
|
|
372
373
|
throw new DaemonTransportClosedError();
|
|
373
374
|
}
|
|
374
|
-
const
|
|
375
|
-
|
|
376
|
-
headers["Authorization"] = `Bearer ${this.token}`;
|
|
377
|
-
}
|
|
378
|
-
if (opts.lastEventId !== void 0) {
|
|
379
|
-
headers["Last-Event-ID"] = String(opts.lastEventId);
|
|
380
|
-
}
|
|
381
|
-
const connectCtrl = new AbortController();
|
|
382
|
-
let connectTimer;
|
|
383
|
-
const connectTimeoutMs = opts.connectTimeoutMs;
|
|
384
|
-
if (connectTimeoutMs && Number.isFinite(connectTimeoutMs)) {
|
|
385
|
-
connectTimer = setTimeout(
|
|
386
|
-
() => connectCtrl.abort(
|
|
387
|
-
new DOMException("Initial connect timed out", "TimeoutError")
|
|
388
|
-
),
|
|
389
|
-
connectTimeoutMs
|
|
390
|
-
);
|
|
391
|
-
if (typeof connectTimer === "object" && connectTimer && "unref" in connectTimer) {
|
|
392
|
-
connectTimer.unref();
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
const fetchSignal = opts.signal ? composeAbortSignals([opts.signal, connectCtrl.signal]) : connectCtrl.signal;
|
|
396
|
-
let url = `${this.baseUrl}/session/${encodeURIComponent(sessionId)}/events`;
|
|
397
|
-
if (opts.maxQueued !== void 0) {
|
|
398
|
-
url += `?maxQueued=${encodeURIComponent(String(opts.maxQueued))}`;
|
|
399
|
-
}
|
|
400
|
-
let res;
|
|
375
|
+
const requestCtrl = new AbortController();
|
|
376
|
+
this.activeSseRequests.add(requestCtrl);
|
|
401
377
|
try {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
378
|
+
const headers = { Accept: "text/event-stream" };
|
|
379
|
+
if (this.token) {
|
|
380
|
+
headers["Authorization"] = `Bearer ${this.token}`;
|
|
381
|
+
}
|
|
382
|
+
if (opts.lastEventId !== void 0) {
|
|
383
|
+
headers["Last-Event-ID"] = String(opts.lastEventId);
|
|
384
|
+
}
|
|
385
|
+
const fetchSignal = opts.signal ? composeAbortSignals([opts.signal, requestCtrl.signal]) : requestCtrl.signal;
|
|
386
|
+
let url = `${this.baseUrl}/session/${encodeURIComponent(sessionId)}/events`;
|
|
387
|
+
if (opts.maxQueued !== void 0) {
|
|
388
|
+
url += `?maxQueued=${encodeURIComponent(String(opts.maxQueued))}`;
|
|
389
|
+
}
|
|
390
|
+
let connectTimer;
|
|
391
|
+
const connectTimeoutMs = opts.connectTimeoutMs;
|
|
392
|
+
if (connectTimeoutMs && Number.isFinite(connectTimeoutMs)) {
|
|
393
|
+
connectTimer = setTimeout(
|
|
394
|
+
() => requestCtrl.abort(
|
|
395
|
+
new DOMException("Initial connect timed out", "TimeoutError")
|
|
396
|
+
),
|
|
397
|
+
connectTimeoutMs
|
|
398
|
+
);
|
|
399
|
+
if (typeof connectTimer === "object" && connectTimer && "unref" in connectTimer) {
|
|
400
|
+
connectTimer.unref();
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
let res;
|
|
408
404
|
try {
|
|
409
|
-
|
|
405
|
+
res = await this._fetch(url, { headers, signal: fetchSignal });
|
|
406
|
+
} finally {
|
|
407
|
+
if (connectTimer !== void 0) clearTimeout(connectTimer);
|
|
408
|
+
}
|
|
409
|
+
if (!res.ok) {
|
|
410
|
+
let body;
|
|
410
411
|
try {
|
|
411
|
-
|
|
412
|
+
const text = await res.text();
|
|
413
|
+
try {
|
|
414
|
+
body = JSON.parse(text);
|
|
415
|
+
} catch {
|
|
416
|
+
body = text;
|
|
417
|
+
}
|
|
412
418
|
} catch {
|
|
413
|
-
body = text;
|
|
414
419
|
}
|
|
415
|
-
|
|
420
|
+
const detail = body && typeof body === "object" && "error" in body ? String(body.error) : `HTTP ${res.status}`;
|
|
421
|
+
throw new DaemonHttpError(
|
|
422
|
+
res.status,
|
|
423
|
+
body,
|
|
424
|
+
`GET /session/:id/events: ${detail}`
|
|
425
|
+
);
|
|
416
426
|
}
|
|
417
|
-
const
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
} catch {
|
|
427
|
+
const ct = res.headers.get("content-type") ?? "";
|
|
428
|
+
if (!ct.toLowerCase().includes("text/event-stream")) {
|
|
429
|
+
try {
|
|
430
|
+
await res.body?.cancel();
|
|
431
|
+
} catch {
|
|
432
|
+
}
|
|
433
|
+
throw new DaemonHttpError(
|
|
434
|
+
res.status,
|
|
435
|
+
ct,
|
|
436
|
+
`GET /session/:id/events: expected content-type text/event-stream, got "${ct}"`
|
|
437
|
+
);
|
|
429
438
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
throw new Error("No SSE body");
|
|
439
|
+
if (!res.body) {
|
|
440
|
+
throw new Error("No SSE body");
|
|
441
|
+
}
|
|
442
|
+
yield* parseSseStream(res.body, fetchSignal);
|
|
443
|
+
} finally {
|
|
444
|
+
requestCtrl.abort();
|
|
445
|
+
this.activeSseRequests.delete(requestCtrl);
|
|
438
446
|
}
|
|
439
|
-
yield* parseSseStream(res.body, opts.signal);
|
|
440
447
|
}
|
|
441
448
|
dispose() {
|
|
449
|
+
if (this._disposed) return;
|
|
442
450
|
this._disposed = true;
|
|
451
|
+
for (const requestCtrl of this.activeSseRequests) {
|
|
452
|
+
requestCtrl.abort();
|
|
453
|
+
}
|
|
454
|
+
this.activeSseRequests.clear();
|
|
443
455
|
}
|
|
444
456
|
};
|
|
445
457
|
function composeAbortSignals(signals) {
|
|
@@ -994,6 +1006,24 @@ var DaemonClient = class {
|
|
|
994
1006
|
{ mode: "rest" }
|
|
995
1007
|
);
|
|
996
1008
|
}
|
|
1009
|
+
async workspaceGitLog(limit, skip) {
|
|
1010
|
+
const params = new URLSearchParams();
|
|
1011
|
+
if (limit != null) params.set("limit", String(limit));
|
|
1012
|
+
if (skip != null) params.set("skip", String(skip));
|
|
1013
|
+
const qs = params.toString();
|
|
1014
|
+
return await this.jsonRequest(
|
|
1015
|
+
`/workspace/git/log${qs ? `?${qs}` : ""}`,
|
|
1016
|
+
"GET /workspace/git/log",
|
|
1017
|
+
{ mode: "rest" }
|
|
1018
|
+
);
|
|
1019
|
+
}
|
|
1020
|
+
async workspaceGitCommitDetail(sha) {
|
|
1021
|
+
return await this.jsonRequest(
|
|
1022
|
+
`/workspace/git/log/commit?sha=${urlEncode(sha)}`,
|
|
1023
|
+
"GET /workspace/git/log/commit",
|
|
1024
|
+
{ mode: "rest" }
|
|
1025
|
+
);
|
|
1026
|
+
}
|
|
997
1027
|
async workspaceMcpTools(serverName) {
|
|
998
1028
|
return await this.fetchWithTimeout(
|
|
999
1029
|
`${this.baseUrl}/workspace/mcp/${urlEncode(serverName)}/tools`,
|
|
@@ -1036,28 +1066,21 @@ var DaemonClient = class {
|
|
|
1036
1066
|
async workspaceAcpPreheat(timeoutMs) {
|
|
1037
1067
|
const serverBudgetMs = timeoutMs ?? 5e3;
|
|
1038
1068
|
const suffix = timeoutMs !== void 0 ? `?timeoutMs=${encodeURIComponent(timeoutMs)}` : "";
|
|
1039
|
-
return await this.
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
},
|
|
1048
|
-
serverBudgetMs + 2e3
|
|
1069
|
+
return await this.jsonRequest(
|
|
1070
|
+
`/workspace/acp/preheat${suffix}`,
|
|
1071
|
+
"POST /workspace/acp/preheat",
|
|
1072
|
+
{
|
|
1073
|
+
method: "POST",
|
|
1074
|
+
timeoutMs: serverBudgetMs + 2e3,
|
|
1075
|
+
mode: "rest"
|
|
1076
|
+
}
|
|
1049
1077
|
);
|
|
1050
1078
|
}
|
|
1051
1079
|
async workspaceAcpStatus() {
|
|
1052
|
-
return await this.
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
if (!res.ok) {
|
|
1057
|
-
throw await this.failOnError(res, "GET /workspace/acp/status");
|
|
1058
|
-
}
|
|
1059
|
-
return await res.json();
|
|
1060
|
-
}
|
|
1080
|
+
return await this.jsonRequest(
|
|
1081
|
+
"/workspace/acp/status",
|
|
1082
|
+
"GET /workspace/acp/status",
|
|
1083
|
+
{ mode: "rest" }
|
|
1061
1084
|
);
|
|
1062
1085
|
}
|
|
1063
1086
|
async workspaceProviders() {
|
|
@@ -1742,7 +1765,8 @@ var DaemonClient = class {
|
|
|
1742
1765
|
...req.sessionScope !== void 0 ? { sessionScope: req.sessionScope } : {},
|
|
1743
1766
|
...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
|
|
1744
1767
|
...req.sourceType !== void 0 ? { sourceType: req.sourceType } : {},
|
|
1745
|
-
...req.sourceId !== void 0 ? { sourceId: req.sourceId } : {}
|
|
1768
|
+
...req.sourceId !== void 0 ? { sourceId: req.sourceId } : {},
|
|
1769
|
+
...req.worktree !== void 0 ? { worktree: req.worktree } : {}
|
|
1746
1770
|
})
|
|
1747
1771
|
},
|
|
1748
1772
|
async (res) => {
|
|
@@ -3336,7 +3360,8 @@ var DaemonClient = class {
|
|
|
3336
3360
|
headers: this.headers({ "Content-Type": "application/json" }),
|
|
3337
3361
|
body: JSON.stringify({
|
|
3338
3362
|
cwd,
|
|
3339
|
-
...options.persist ? { persist: true } : {}
|
|
3363
|
+
...options.persist ? { persist: true } : {},
|
|
3364
|
+
...options.displayName !== void 0 ? { displayName: options.displayName } : {}
|
|
3340
3365
|
})
|
|
3341
3366
|
},
|
|
3342
3367
|
async (res) => {
|
|
@@ -3347,6 +3372,14 @@ var DaemonClient = class {
|
|
|
3347
3372
|
}
|
|
3348
3373
|
);
|
|
3349
3374
|
}
|
|
3375
|
+
async updateWorkspace(workspaceSelector, update) {
|
|
3376
|
+
return await this.workspaceJsonRequest(
|
|
3377
|
+
urlEncode(workspaceSelector),
|
|
3378
|
+
"",
|
|
3379
|
+
"PATCH /workspaces/:workspace",
|
|
3380
|
+
{ method: "PATCH", body: update, mode: "rest" }
|
|
3381
|
+
);
|
|
3382
|
+
}
|
|
3350
3383
|
// -- Lifecycle / disposal ------------------------------------------------
|
|
3351
3384
|
/**
|
|
3352
3385
|
* Release transport resources (WS close, etc.). Idempotent.
|
|
@@ -3456,10 +3489,11 @@ var WorkspaceDaemonClient = class {
|
|
|
3456
3489
|
opts
|
|
3457
3490
|
);
|
|
3458
3491
|
}
|
|
3459
|
-
workspaceGit() {
|
|
3492
|
+
workspaceGit(cwd) {
|
|
3493
|
+
const suffix = cwd ? `/git?cwd=${encodeURIComponent(cwd)}` : "/git";
|
|
3460
3494
|
return this.client.workspaceJsonRequest(
|
|
3461
3495
|
this.workspaceSelector,
|
|
3462
|
-
|
|
3496
|
+
suffix,
|
|
3463
3497
|
"GET /workspaces/:workspace/git",
|
|
3464
3498
|
{ mode: "rest" }
|
|
3465
3499
|
);
|
|
@@ -3481,6 +3515,26 @@ var WorkspaceDaemonClient = class {
|
|
|
3481
3515
|
{ mode: "rest" }
|
|
3482
3516
|
);
|
|
3483
3517
|
}
|
|
3518
|
+
workspaceGitLog(limit, skip) {
|
|
3519
|
+
const params = new URLSearchParams();
|
|
3520
|
+
if (limit != null) params.set("limit", String(limit));
|
|
3521
|
+
if (skip != null) params.set("skip", String(skip));
|
|
3522
|
+
const qs = params.toString();
|
|
3523
|
+
return this.client.workspaceJsonRequest(
|
|
3524
|
+
this.workspaceSelector,
|
|
3525
|
+
`/git/log${qs ? `?${qs}` : ""}`,
|
|
3526
|
+
"GET /workspaces/:workspace/git/log",
|
|
3527
|
+
{ mode: "rest" }
|
|
3528
|
+
);
|
|
3529
|
+
}
|
|
3530
|
+
workspaceGitCommitDetail(sha) {
|
|
3531
|
+
return this.client.workspaceJsonRequest(
|
|
3532
|
+
this.workspaceSelector,
|
|
3533
|
+
`/git/log/commit?sha=${urlEncode(sha)}`,
|
|
3534
|
+
"GET /workspaces/:workspace/git/log/commit",
|
|
3535
|
+
{ mode: "rest" }
|
|
3536
|
+
);
|
|
3537
|
+
}
|
|
3484
3538
|
workspaceSkills() {
|
|
3485
3539
|
return this.get("/skills", "GET /workspaces/:workspace/skills");
|
|
3486
3540
|
}
|
|
@@ -4071,6 +4125,9 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
4071
4125
|
get clientId() {
|
|
4072
4126
|
return this.session.clientId;
|
|
4073
4127
|
}
|
|
4128
|
+
get worktree() {
|
|
4129
|
+
return this.session.worktree;
|
|
4130
|
+
}
|
|
4074
4131
|
get lastEventId() {
|
|
4075
4132
|
return this.lastSeenEventId;
|
|
4076
4133
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
createDaemonStatusProvider
|
|
5
|
+
} from "./chunk-RYSMKY43.js";
|
|
6
|
+
import "./chunk-LXXMOYPL.js";
|
|
7
|
+
import "./chunk-QSJ6JIF5.js";
|
|
8
|
+
import "./chunk-E5Z2AVNV.js";
|
|
9
|
+
import "./chunk-DRIXALGM.js";
|
|
10
|
+
import "./chunk-R7MPKABX.js";
|
|
11
|
+
import "./chunk-6RLROE6G.js";
|
|
12
|
+
import "./chunk-COH43MRJ.js";
|
|
13
|
+
import "./chunk-QR6U5QPP.js";
|
|
14
|
+
import "./chunk-UH3WSE5L.js";
|
|
15
|
+
import "./chunk-JHFVJQRO.js";
|
|
16
|
+
import "./chunk-BWQRDISK.js";
|
|
17
|
+
import "./chunk-M5GB774H.js";
|
|
18
|
+
import "./chunk-UDXSXLER.js";
|
|
19
|
+
import "./chunk-2RFKHEXL.js";
|
|
20
|
+
import "./chunk-27CLX4FV.js";
|
|
21
|
+
import "./chunk-VJNBRRZG.js";
|
|
22
|
+
import "./chunk-GEB2CGUV.js";
|
|
23
|
+
import "./chunk-T4TZQJ7W.js";
|
|
24
|
+
import "./chunk-H6XPXXMH.js";
|
|
25
|
+
import "./chunk-5M6IDOMF.js";
|
|
26
|
+
import "./chunk-T2L47JJK.js";
|
|
27
|
+
import "./chunk-GPSKDNEE.js";
|
|
28
|
+
import "./chunk-X6N25LXS.js";
|
|
29
|
+
import "./chunk-E2UVIFI2.js";
|
|
30
|
+
import "./chunk-Q2YKNMLS.js";
|
|
31
|
+
import "./chunk-XU457J4V.js";
|
|
32
|
+
import "./chunk-VDDGDZMA.js";
|
|
33
|
+
import "./chunk-KHOVYUHX.js";
|
|
34
|
+
import "./chunk-SZRN75WQ.js";
|
|
35
|
+
import "./chunk-6PVPNMXU.js";
|
|
36
|
+
import "./chunk-PIHKWN7M.js";
|
|
37
|
+
import "./chunk-CPBF7KYF.js";
|
|
38
|
+
import "./chunk-NABLFI57.js";
|
|
39
|
+
import "./chunk-QBUDF33N.js";
|
|
40
|
+
import "./chunk-LIZRAKPB.js";
|
|
41
|
+
import "./chunk-WHGVTP7Q.js";
|
|
42
|
+
import "./chunk-6AM5D4ME.js";
|
|
43
|
+
import "./chunk-JCW2R7WC.js";
|
|
44
|
+
import "./chunk-57FIIFJN.js";
|
|
45
|
+
import "./chunk-HTO4JFDZ.js";
|
|
46
|
+
import "./chunk-XVNQMZ2I.js";
|
|
47
|
+
import "./chunk-FODK6UMO.js";
|
|
48
|
+
import "./chunk-GLNBDYUX.js";
|
|
49
|
+
import "./chunk-TXRKCFWS.js";
|
|
50
|
+
import "./chunk-JESCGQM3.js";
|
|
51
|
+
import "./chunk-EWXXMRMP.js";
|
|
52
|
+
import "./chunk-PPIHLGNE.js";
|
|
53
|
+
import "./chunk-DJ2GSRLV.js";
|
|
54
|
+
import "./chunk-5I5BM454.js";
|
|
55
|
+
import "./chunk-5G2SK2OO.js";
|
|
56
|
+
import "./chunk-VGC4I5JJ.js";
|
|
57
|
+
import "./chunk-4K56OJFJ.js";
|
|
58
|
+
import "./chunk-JYS55H6Z.js";
|
|
59
|
+
import "./chunk-A4UCTEB5.js";
|
|
60
|
+
import "./chunk-XWRJCPHC.js";
|
|
61
|
+
import "./chunk-QNLNLENL.js";
|
|
62
|
+
import "./chunk-6X4GWOPW.js";
|
|
63
|
+
import "./chunk-TYQMGACW.js";
|
|
64
|
+
import "./chunk-TYAMGABM.js";
|
|
65
|
+
import "./chunk-FCMNKVXT.js";
|
|
66
|
+
import "./chunk-IS2SBY6T.js";
|
|
67
|
+
import "./chunk-HTR4WV6U.js";
|
|
68
|
+
import "./chunk-M7WBGLYP.js";
|
|
69
|
+
import "./chunk-U7ZFW55U.js";
|
|
70
|
+
import "./chunk-NPQDJGKU.js";
|
|
71
|
+
import "./chunk-YM3SZTH4.js";
|
|
72
|
+
import "./chunk-OQB4EXO4.js";
|
|
73
|
+
import "./chunk-75DOP5OR.js";
|
|
74
|
+
import "./chunk-DMTGGOSA.js";
|
|
75
|
+
import "./chunk-YQ3U5MUC.js";
|
|
76
|
+
import "./chunk-THJNPLI4.js";
|
|
77
|
+
import "./chunk-5O2XNYP6.js";
|
|
78
|
+
import "./chunk-J2S4EL5Y.js";
|
|
79
|
+
export {
|
|
80
|
+
createDaemonStatusProvider
|
|
81
|
+
};
|
|
@@ -1597,7 +1597,11 @@ var de_default = {
|
|
|
1597
1597
|
"Qwen Code update available! {{current}} \u2192 {{latest}}": "Qwen Code-Update verf\xFCgbar! {{current}} \u2192 {{latest}}",
|
|
1598
1598
|
"A new version of Qwen Code is available! {{current}} \u2192 {{latest}}": "Eine neue Version von Qwen Code ist verf\xFCgbar! {{current}} \u2192 {{latest}}",
|
|
1599
1599
|
"Qwen Code {{version}} is up to date!": "Qwen Code {{version}} ist aktuell!",
|
|
1600
|
-
"Failed to check for updates. Please check your network or registry configuration.": "Suche nach Updates fehlgeschlagen. Bitte Netzwerk- oder Registry-Konfiguration pr\xFCfen.",
|
|
1600
|
+
"Failed to check for updates ({{reason}}). Please check your network or registry configuration.": "Suche nach Updates fehlgeschlagen ({{reason}}). Bitte Netzwerk- oder Registry-Konfiguration pr\xFCfen.",
|
|
1601
|
+
"Update check skipped ({{reason}}) \u2014 run /update to retry.": "Update-Pr\xFCfung \xFCbersprungen ({{reason}}) \u2014 mit /update erneut versuchen.",
|
|
1602
|
+
"registry did not respond within {{seconds}}s": "Registry hat nicht innerhalb von {{seconds}}s geantwortet",
|
|
1603
|
+
"registry unreachable": "Registry nicht erreichbar",
|
|
1604
|
+
"registry error": "Registry-Fehler",
|
|
1601
1605
|
"Unable to check for updates: {{reason}}": "Updates k\xF6nnen nicht gepr\xFCft werden: {{reason}}",
|
|
1602
1606
|
"Update successful! The new version will be used on your next run.": "Update erfolgreich! Die neue Version wird beim n\xE4chsten Start verwendet.",
|
|
1603
1607
|
"Update downloaded. It will be applied after you exit this session.": "Update heruntergeladen. Es wird nach dem Beenden dieser Sitzung angewendet.",
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
import {
|
|
4
4
|
ChannelBase,
|
|
5
5
|
isTerminalTaskLifecycleType
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RVLZCXEE.js";
|
|
7
7
|
import "./chunk-UDXSXLER.js";
|
|
8
|
-
import "./chunk-H6XPXXMH.js";
|
|
9
8
|
import {
|
|
10
9
|
require_abort_controller,
|
|
11
10
|
require_lib
|
|
12
11
|
} from "./chunk-BPZALHVR.js";
|
|
12
|
+
import "./chunk-H6XPXXMH.js";
|
|
13
13
|
import "./chunk-A4UCTEB5.js";
|
|
14
14
|
import "./chunk-XWRJCPHC.js";
|
|
15
15
|
import {
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
sendMessage,
|
|
12
12
|
sendTyping,
|
|
13
13
|
uploadToCdn
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-2LI23QA6.js";
|
|
15
15
|
import {
|
|
16
16
|
ChannelBase,
|
|
17
17
|
isTerminalTaskLifecycleType
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-RVLZCXEE.js";
|
|
19
19
|
import "./chunk-UDXSXLER.js";
|
|
20
20
|
import "./chunk-H6XPXXMH.js";
|
|
21
21
|
import {
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
isTerminalTaskLifecycleType,
|
|
12
12
|
sanitizeLogText,
|
|
13
13
|
sanitizeSenderName
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-RVLZCXEE.js";
|
|
15
15
|
import "./chunk-UDXSXLER.js";
|
|
16
16
|
import "./chunk-H6XPXXMH.js";
|
|
17
17
|
import "./chunk-CR3C7WXL.js";
|
|
@@ -4414,14 +4414,43 @@ async function downloadMedia(downloadCode, robotCode, accessToken) {
|
|
|
4414
4414
|
`);
|
|
4415
4415
|
return null;
|
|
4416
4416
|
}
|
|
4417
|
-
const fileResp = await fetch(downloadUrl
|
|
4417
|
+
const fileResp = await fetch(downloadUrl, {
|
|
4418
|
+
signal: AbortSignal.timeout(3e4)
|
|
4419
|
+
});
|
|
4418
4420
|
if (!fileResp.ok) {
|
|
4419
4421
|
process.stderr.write(`[DingTalk] downloadMedia file fetch failed: HTTP ${fileResp.status}
|
|
4422
|
+
`);
|
|
4423
|
+
return null;
|
|
4424
|
+
}
|
|
4425
|
+
const MAX_DOWNLOAD_BYTES = 50 * 1024 * 1024;
|
|
4426
|
+
const contentLength = fileResp.headers.get("content-length");
|
|
4427
|
+
if (contentLength && parseInt(contentLength, 10) > MAX_DOWNLOAD_BYTES) {
|
|
4428
|
+
await fileResp.body?.cancel();
|
|
4429
|
+
process.stderr.write(`[DingTalk] downloadMedia rejected: size ${contentLength} exceeds ${MAX_DOWNLOAD_BYTES} byte limit
|
|
4420
4430
|
`);
|
|
4421
4431
|
return null;
|
|
4422
4432
|
}
|
|
4423
4433
|
const mimeType = fileResp.headers.get("content-type") || "application/octet-stream";
|
|
4424
|
-
const
|
|
4434
|
+
const reader = fileResp.body?.getReader();
|
|
4435
|
+
if (!reader) {
|
|
4436
|
+
return null;
|
|
4437
|
+
}
|
|
4438
|
+
const chunks = [];
|
|
4439
|
+
let totalSize = 0;
|
|
4440
|
+
while (true) {
|
|
4441
|
+
const { done, value } = await reader.read();
|
|
4442
|
+
if (done)
|
|
4443
|
+
break;
|
|
4444
|
+
totalSize += value.byteLength;
|
|
4445
|
+
if (totalSize > MAX_DOWNLOAD_BYTES) {
|
|
4446
|
+
await reader.cancel();
|
|
4447
|
+
process.stderr.write(`[DingTalk] downloadMedia rejected: actual size exceeds ${MAX_DOWNLOAD_BYTES} byte limit
|
|
4448
|
+
`);
|
|
4449
|
+
return null;
|
|
4450
|
+
}
|
|
4451
|
+
chunks.push(Buffer.from(value));
|
|
4452
|
+
}
|
|
4453
|
+
const buffer = Buffer.concat(chunks);
|
|
4425
4454
|
return { buffer, mimeType };
|
|
4426
4455
|
} catch (err) {
|
|
4427
4456
|
process.stderr.write(`[DingTalk] downloadMedia error: ${err instanceof Error ? err.message : err}
|
|
@@ -4742,6 +4771,8 @@ var ACK_REACTION_NAME = "\u{1F440}";
|
|
|
4742
4771
|
var ACK_EMOTION_ID = "2659900";
|
|
4743
4772
|
var ACK_EMOTION_BG_ID = "im_bg_1";
|
|
4744
4773
|
var EMOTION_API = "https://api.dingtalk.com/v1.0/robot/emotion";
|
|
4774
|
+
var EMOTION_MAX_ATTEMPTS = 3;
|
|
4775
|
+
var EMOTION_RETRY_BASE_DELAY_MS = 250;
|
|
4745
4776
|
var GROUP_MSG_API = "https://api.dingtalk.com/v1.0/robot/groupMessages/send";
|
|
4746
4777
|
var DIRECT_MSG_API = "https://api.dingtalk.com/v1.0/robot/oToMessages/batchSend";
|
|
4747
4778
|
var PROACTIVE_MSG_KEY = "sampleMarkdown";
|
|
@@ -5144,30 +5175,39 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
5144
5175
|
const token = this.config.clientSecret ? await this.getProactiveToken() : this.getAccessToken();
|
|
5145
5176
|
if (!token)
|
|
5146
5177
|
return;
|
|
5147
|
-
|
|
5148
|
-
|
|
5149
|
-
|
|
5150
|
-
|
|
5151
|
-
|
|
5152
|
-
|
|
5153
|
-
|
|
5154
|
-
|
|
5155
|
-
|
|
5156
|
-
|
|
5157
|
-
|
|
5158
|
-
|
|
5159
|
-
textEmotion: {
|
|
5160
|
-
emotionId: ACK_EMOTION_ID,
|
|
5178
|
+
for (let attempt = 0; attempt < EMOTION_MAX_ATTEMPTS; attempt++) {
|
|
5179
|
+
const resp = await fetch(`${EMOTION_API}/${endpoint}`, {
|
|
5180
|
+
method: "POST",
|
|
5181
|
+
headers: {
|
|
5182
|
+
"x-acs-dingtalk-access-token": token,
|
|
5183
|
+
"Content-Type": "application/json"
|
|
5184
|
+
},
|
|
5185
|
+
body: JSON.stringify({
|
|
5186
|
+
robotCode,
|
|
5187
|
+
openMsgId: msgId,
|
|
5188
|
+
openConversationId: conversationId,
|
|
5189
|
+
emotionType: 2,
|
|
5161
5190
|
emotionName: ACK_REACTION_NAME,
|
|
5162
|
-
|
|
5163
|
-
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
|
|
5167
|
-
|
|
5191
|
+
textEmotion: {
|
|
5192
|
+
emotionId: ACK_EMOTION_ID,
|
|
5193
|
+
emotionName: ACK_REACTION_NAME,
|
|
5194
|
+
text: ACK_REACTION_NAME,
|
|
5195
|
+
backgroundId: ACK_EMOTION_BG_ID
|
|
5196
|
+
}
|
|
5197
|
+
})
|
|
5198
|
+
});
|
|
5199
|
+
if (resp.ok)
|
|
5200
|
+
return;
|
|
5201
|
+
const isTransient = resp.status === 429 || resp.status >= 500;
|
|
5202
|
+
if (isTransient && attempt < EMOTION_MAX_ATTEMPTS - 1) {
|
|
5203
|
+
await resp.body?.cancel();
|
|
5204
|
+
await new Promise((resolve) => setTimeout(resolve, EMOTION_RETRY_BASE_DELAY_MS * 2 ** attempt));
|
|
5205
|
+
continue;
|
|
5206
|
+
}
|
|
5168
5207
|
const detail = sanitizeLogText(await resp.text().catch(() => ""), 500);
|
|
5169
|
-
process.stderr.write(`[DingTalk:${this.name}] emotion/${endpoint} failed: ${resp.status} ${detail}
|
|
5208
|
+
process.stderr.write(`[DingTalk:${this.name}] emotion/${endpoint} failed after ${attempt + 1}/${EMOTION_MAX_ATTEMPTS} attempts: ${resp.status} ${detail}
|
|
5170
5209
|
`);
|
|
5210
|
+
return;
|
|
5171
5211
|
}
|
|
5172
5212
|
} catch {
|
|
5173
5213
|
}
|
|
@@ -5592,7 +5632,7 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
5592
5632
|
const content = this.extractContent(data);
|
|
5593
5633
|
let cleanText = content.text;
|
|
5594
5634
|
if (isMentioned) {
|
|
5595
|
-
cleanText = cleanText.replace(
|
|
5635
|
+
cleanText = cleanText.replace(/^\s*@[^\s\p{Cf}]+/u, "").trim();
|
|
5596
5636
|
}
|
|
5597
5637
|
const quoted = this.extractQuotedContext(data);
|
|
5598
5638
|
const chatId = conversationId || sessionWebhook;
|