@qwen-code/qwen-code 0.23.1-preview.1 → 0.23.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/computer-use/SKILL.md +189 -116
- package/bundled/goal-draft/SKILL.md +23 -13
- package/bundled/qc-helper/docs/_meta.ts +1 -0
- package/bundled/qc-helper/docs/configuration/model-providers.md +47 -1
- package/bundled/qc-helper/docs/configuration/settings.md +57 -7
- package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +26 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
- package/bundled/qc-helper/docs/features/commands.md +71 -6
- package/bundled/qc-helper/docs/features/computer-use.md +9 -7
- package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +15 -3
- package/bundled/qc-helper/docs/features/skills.md +40 -0
- package/bundled/qc-helper/docs/qwen-serve.md +19 -1
- package/chunks/{MaxSizedBox-5ARLO5PR.js → MaxSizedBox-UDO6Y7RB.js} +35 -36
- package/chunks/{StandaloneSessionPicker-T6B322CB.js → StandaloneSessionPicker-D4CUOO4H.js} +55 -56
- package/chunks/{acp-startup-profiler-6ULXXQMS.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
- package/chunks/{acpAgent-WTDEY5KD.js → acpAgent-KWLJFADK.js} +210 -131
- package/chunks/{agent-NXPUXEVZ.js → agent-GSUPGEOL.js} +24 -25
- package/chunks/{agent-headless-QQZTWOKO.js → agent-headless-HNYCQUJB.js} +24 -25
- package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-I7LQZH26.js} +30 -7
- package/chunks/{artifact-tool-DFVVJXL2.js → artifact-tool-P52OKKEF.js} +1 -1
- package/chunks/{askUserQuestion-GF7VQ44M.js → askUserQuestion-I5W5S3D6.js} +2 -2
- package/chunks/{bridge-OHY5OGOZ.js → bridge-B7CV6RVI.js} +40 -41
- package/chunks/{channel-management-service-ZDDG3G5S.js → channel-management-service-TRTLQTSV.js} +4 -4
- package/chunks/{channel-settings-store-7BJAS2SU.js → channel-settings-store-FW45IRUP.js} +46 -47
- package/chunks/{channel-worker-group-2ISMRENV.js → channel-worker-group-PIYPVCTF.js} +6 -6
- package/chunks/{channel-worker-manager-VSRPVPRH.js → channel-worker-manager-FQHEDTD2.js} +6 -6
- package/chunks/{channel-worker-supervisor-SRJBK72Z.js → channel-worker-supervisor-XJPZZ3VK.js} +3 -3
- package/chunks/{chunk-2WGJG2KW.js → chunk-25CBAK3H.js} +4 -4
- package/chunks/{chunk-XUSOYE2I.js → chunk-27LTEY6D.js} +1 -1
- package/chunks/{chunk-WTW36TJ3.js → chunk-2EKVPSIJ.js} +1 -1
- package/chunks/{chunk-NAKALAL4.js → chunk-2TMJRF46.js} +116 -15
- package/chunks/{chunk-E4L5BM2B.js → chunk-2YS3NU4A.js} +4 -4
- package/chunks/chunk-2Z3T52OC.js +82 -0
- package/chunks/{chunk-ER273QE6.js → chunk-2ZFO5JD7.js} +21 -4
- package/chunks/{chunk-WXC6OAWD.js → chunk-3BTHHXXE.js} +1 -1
- package/chunks/{chunk-GXZHYPHZ.js → chunk-3LPJ776W.js} +5 -2
- package/chunks/{chunk-XY3USGFE.js → chunk-3VDLQUR2.js} +1 -1
- package/chunks/{chunk-LK7S2D6V.js → chunk-3VWPPK5Q.js} +58 -4
- package/chunks/{chunk-IKLFS6SC.js → chunk-3YQMUBTS.js} +3 -3
- package/chunks/{chunk-P4RUUG64.js → chunk-45ROPFQY.js} +1 -1
- package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
- package/chunks/{chunk-D6PIMKY3.js → chunk-4VY3ITHR.js} +4 -4
- package/chunks/{chunk-H3UDNQLO.js → chunk-5CVY5Q2P.js} +3 -3
- package/chunks/{chunk-6UIACMGH.js → chunk-5DQ4YTIZ.js} +1 -1
- package/chunks/{chunk-P6LATTDG.js → chunk-5IL2BZHW.js} +3 -3
- package/chunks/{chunk-537SQ2AI.js → chunk-5WC2ECUK.js} +104 -16
- package/chunks/{chunk-HFTB354P.js → chunk-5Z4FCEPY.js} +60 -6
- package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
- package/chunks/{chunk-AQ5NAGWI.js → chunk-66JBCTJF.js} +8 -7
- package/chunks/{chunk-54TF2ZIQ.js → chunk-6JXHO7LG.js} +3 -3
- package/chunks/{chunk-YCDL2SAS.js → chunk-6QILGINT.js} +2 -2
- package/chunks/{chunk-P5LDR7FI.js → chunk-6QV7Z74P.js} +3 -3
- package/chunks/{chunk-4HC4DYKN.js → chunk-6RZX2HIH.js} +1 -1
- package/chunks/{chunk-O45WBTNS.js → chunk-6SADVYQQ.js} +3 -3
- package/chunks/{chunk-KE3Q4JMY.js → chunk-6TPVIESH.js} +5 -7
- package/chunks/{chunk-2LD5U7Q3.js → chunk-6YEOCHSE.js} +29 -1
- package/chunks/{chunk-QWZOOIR3.js → chunk-75LBC7SV.js} +69 -12
- package/chunks/{chunk-7BZS4ZDV.js → chunk-7SL55L5H.js} +25 -18
- package/chunks/{chunk-O2GG7H4C.js → chunk-ARYNBBBM.js} +3 -3
- package/chunks/{chunk-CZACBHAW.js → chunk-B3EL44K3.js} +5 -5
- package/chunks/{chunk-VY6UVU7G.js → chunk-CABDNUJ4.js} +2 -2
- package/chunks/{chunk-RVNS7NWN.js → chunk-CALNF3Z3.js} +1 -1
- package/chunks/{chunk-MWHY26G3.js → chunk-CHVU543W.js} +1 -1
- package/chunks/{chunk-GZWW2QWR.js → chunk-CIKL2DQP.js} +2 -2
- package/chunks/{chunk-R355CUNQ.js → chunk-CLKE4IY3.js} +1 -77
- package/chunks/{chunk-MUZCSTOO.js → chunk-CRZBDVP2.js} +5 -4
- package/chunks/{chunk-SFMCYMVF.js → chunk-D6AQNMUA.js} +4 -4
- package/chunks/{chunk-D4CU6DKR.js → chunk-DO5SMV52.js} +10 -8
- package/chunks/{chunk-ZAZ3NFL6.js → chunk-DXQ6Z7AH.js} +315 -63
- package/chunks/{chunk-IXSGOSEG.js → chunk-DZ6D4B3K.js} +28 -25
- package/chunks/{chunk-GMNLYQOS.js → chunk-E6TI726I.js} +1 -1
- package/chunks/{chunk-JBTZUFR4.js → chunk-E7XSUYCZ.js} +6 -6
- package/chunks/{chunk-AHBLRVD5.js → chunk-EEKU6COG.js} +4 -4
- package/chunks/{chunk-47BZVBTE.js → chunk-EHTKOO6W.js} +4 -4
- package/chunks/{chunk-HJ34U5J4.js → chunk-ENZDGHGJ.js} +4 -4
- package/chunks/{chunk-IFD3BTEA.js → chunk-EOET4H7C.js} +3 -3
- package/chunks/{chunk-ZTAVGFKA.js → chunk-ERXNTINK.js} +1 -1
- package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
- package/chunks/{chunk-KPXRFTT7.js → chunk-FETY36NQ.js} +1 -1
- package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
- package/chunks/{chunk-4F2QRVW6.js → chunk-FW4E4QPG.js} +1 -1
- package/chunks/{chunk-KJJPJYHI.js → chunk-FWRRUITH.js} +8 -8
- package/chunks/{chunk-4VUVBN3Y.js → chunk-G6UUOCUT.js} +87 -0
- package/chunks/{chunk-4JAGXZR3.js → chunk-GM44O6F7.js} +1 -1
- package/chunks/{chunk-4MCY33Y2.js → chunk-GNY7B3CA.js} +1 -1
- package/chunks/{chunk-VEFRT7NX.js → chunk-H3Q3RSKZ.js} +1 -1
- package/chunks/{chunk-43NOB5NM.js → chunk-HIXUUCGY.js} +188 -13
- package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
- package/chunks/{chunk-JOPC3FND.js → chunk-HUX2DOTF.js} +5 -5
- package/chunks/{chunk-GCFZ2LAX.js → chunk-HZ2HUXX7.js} +2 -2
- package/chunks/{chunk-CWNC7M73.js → chunk-IKG2YVRZ.js} +2 -2
- package/chunks/{chunk-L4R7BCVV.js → chunk-J3TJH52D.js} +1 -1
- package/chunks/{chunk-QMFOYPGV.js → chunk-J3VZF2AL.js} +2 -2
- package/chunks/{chunk-ZJ2LM2SI.js → chunk-JGDRB4FP.js} +104 -33
- package/chunks/{chunk-LMJQSPWB.js → chunk-KA5HR3G2.js} +1 -1
- package/chunks/{chunk-G34YLYCS.js → chunk-L7V52QEZ.js} +10 -10
- package/chunks/{chunk-GVVCLL2P.js → chunk-LNCNUMJ5.js} +451 -396
- package/chunks/{chunk-RDKXZ2LS.js → chunk-LYT2OU7D.js} +1 -1
- package/chunks/{chunk-SAZS4IWW.js → chunk-LZGFVUWZ.js} +3 -3
- package/chunks/{chunk-32YDNYXP.js → chunk-M73KHGNR.js} +13 -66
- package/chunks/{chunk-ADJD4LZF.js → chunk-MA5OUNN6.js} +1 -1
- package/chunks/{chunk-2RYWGYB3.js → chunk-MFYH2VXV.js} +3 -3
- package/chunks/{chunk-RPBMP6BN.js → chunk-MWIO7MF6.js} +3 -0
- package/chunks/{chunk-OECNP26L.js → chunk-N6S3NUYJ.js} +1 -1
- package/chunks/{chunk-5MTARK4Y.js → chunk-N7YQEKGX.js} +6 -6
- package/chunks/{chunk-XOVVCGZX.js → chunk-NB3NDQQK.js} +1 -1
- package/chunks/chunk-NOO4QFXM.js +171 -0
- package/chunks/{chunk-NGX4NUNP.js → chunk-O2FEO2CB.js} +131 -6
- package/chunks/{chunk-XHGGYCTA.js → chunk-O2JBJQCF.js} +1 -1
- package/chunks/{chunk-LPBQODMR.js → chunk-OESZTXTG.js} +4 -4
- package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
- package/chunks/{chunk-TDP7UULF.js → chunk-OPMKGOLD.js} +1 -1
- package/chunks/{chunk-LDS57224.js → chunk-OWCFKIFQ.js} +1 -1
- package/chunks/{chunk-I72PHOKL.js → chunk-PDUMGZ2P.js} +1524 -1382
- package/chunks/{chunk-JRYL3T2O.js → chunk-PQSCGZT2.js} +1 -1
- package/chunks/{chunk-WEXA2DNG.js → chunk-PSPAM24S.js} +14 -0
- package/chunks/{chunk-UKKYOIVT.js → chunk-QAZ2MGYT.js} +2 -2
- package/chunks/{chunk-J3O5I5ZD.js → chunk-QK4K76T6.js} +3 -3
- package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
- package/chunks/{chunk-5YY5MZT6.js → chunk-QZOXVQPK.js} +1 -1
- package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
- package/chunks/{chunk-IQN2CCIE.js → chunk-RNYENHN5.js} +398 -55
- package/chunks/{chunk-64MQTIX7.js → chunk-RPFJJ33Z.js} +2 -2
- package/chunks/{chunk-4VZCORNT.js → chunk-RXT4QBDX.js} +1 -1
- package/chunks/{chunk-SN5FV4FY.js → chunk-S6QVI3MV.js} +3 -3
- package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
- package/chunks/{chunk-JLWFGYXU.js → chunk-T2IHCZLS.js} +2 -2
- package/chunks/{chunk-DNPHKA72.js → chunk-TGC4264Q.js} +6 -6
- package/chunks/{chunk-PZV2FASB.js → chunk-TRWQQBVH.js} +1 -1
- package/chunks/{chunk-Y3ZKI4RQ.js → chunk-TWAMIEQ2.js} +85 -22
- package/chunks/{chunk-KK2GZGBK.js → chunk-TWWS7XUW.js} +14 -11
- package/chunks/{chunk-4IQKBLTQ.js → chunk-UHUT4IDM.js} +18 -9
- package/chunks/{chunk-BKNY7PDI.js → chunk-USN6VNTO.js} +1 -1
- package/chunks/{chunk-TMWB67LS.js → chunk-UXDVUFKU.js} +3 -3
- package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
- package/chunks/{chunk-3K456UJF.js → chunk-VF6D6EGV.js} +12 -4
- package/chunks/{chunk-PZUOHCWI.js → chunk-WAASYFPK.js} +2 -2
- package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
- package/chunks/{chunk-JPEAQJNS.js → chunk-WJDXKQIO.js} +1 -1
- package/chunks/{chunk-MNEYUNOE.js → chunk-WNISCNTA.js} +40 -2
- package/chunks/{chunk-Z6WZPXQH.js → chunk-WQMUGQ6G.js} +2 -2
- package/chunks/{chunk-N7VURC4O.js → chunk-WXFCI3O5.js} +2 -2
- package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
- package/chunks/{chunk-N7EYO2E7.js → chunk-XQ4RDO5B.js} +1 -1
- package/chunks/{chunk-VDXYYVCD.js → chunk-XVTCSVBK.js} +579 -57
- package/chunks/{chunk-PTFFWTTO.js → chunk-XZ3Z43XL.js} +3 -3
- package/chunks/{chunk-QSC5YOEC.js → chunk-YAC7H4K3.js} +2 -2
- package/chunks/{chunk-43JNQAHO.js → chunk-YCEKI7QX.js} +51 -10
- package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
- package/chunks/{chunk-VUSSAGKI.js → chunk-YZTGGCEE.js} +10 -2
- package/chunks/{chunk-WR3SH3EY.js → chunk-ZNO5BUAD.js} +149 -66
- package/chunks/{chunk-URSCX7S7.js → chunk-ZPL2TZNA.js} +353 -11
- package/chunks/{chunk-UEZOXZNI.js → chunk-ZU2T5JIS.js} +804 -371
- package/chunks/{config-utils-QXDOTXEQ.js → config-utils-KTDSQ4MU.js} +39 -40
- package/chunks/{contextCommand-RN4KARWC.js → contextCommand-UQ3KRYGK.js} +37 -38
- package/chunks/{core-runtime-NAZCOKHB.js → core-runtime-JR34JAFH.js} +35 -36
- package/chunks/{create-sub-session-BCSM4WKB.js → create-sub-session-RGPJOI4S.js} +45 -40
- package/chunks/{create-sub-session-BQ3SE4TX.js → create-sub-session-TGIX63YU.js} +2 -2
- package/chunks/{cron-create-D6HQ7I7I.js → cron-create-GTPVMJCF.js} +1 -1
- package/chunks/{cron-delete-KK3D2SQV.js → cron-delete-ZBK27Z4K.js} +1 -1
- package/chunks/{cron-list-VBF3IZMF.js → cron-list-KTFKFDKC.js} +1 -1
- package/chunks/{daemon-LCUELM6E.js → daemon-UI6SQSBV.js} +1 -1
- package/chunks/{daemon-git-worktree-guard-3K5CAU36.js → daemon-git-worktree-guard-H3OA26KQ.js} +35 -36
- package/chunks/{daemon-status-provider-4X3ZZQTZ.js → daemon-status-provider-6WZLKSZU.js} +45 -46
- package/chunks/{daemon-trust-policy-R45CFUJA.js → daemon-trust-policy-3EDP2BYD.js} +42 -43
- package/chunks/{daemon-trust-policy-monitor-DSSFCO3K.js → daemon-trust-policy-monitor-CRHZPK52.js} +42 -43
- package/chunks/{deferred-core-runtime-UO2M6WYI.js → deferred-core-runtime-LO5NTQQ4.js} +35 -36
- package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
- package/chunks/{display-image-EVVTBVYE.js → display-image-CTNHJRZC.js} +4 -4
- package/chunks/{dist-SIHF5MU2.js → dist-24TCWK5H.js} +1 -1
- package/chunks/{dist-AFH3BMZZ.js → dist-5I4HLUTO.js} +1 -1
- package/chunks/{dist-3T5MDUHP.js → dist-FDISN4AK.js} +1 -1
- package/chunks/{dist-SB2XRXZA.js → dist-M4CBX53H.js} +1 -1
- package/chunks/{dist-UVHW2U56.js → dist-NQ2636VT.js} +1 -1
- package/chunks/{dist-PH5RSTEA.js → dist-OR2ZQTXZ.js} +1 -1
- package/chunks/{dist-MK5PPBRF.js → dist-STAGIFNB.js} +1099 -67
- package/chunks/{dist-R5Y34V6T.js → dist-WZTUKIDR.js} +2 -2
- package/chunks/{dist-QUU7TVE3.js → dist-XJ25G6OH.js} +1 -1
- package/chunks/{edit-VNBCTRWP.js → edit-LB7Z7XK5.js} +24 -25
- package/chunks/{en-JMR535HP.js → en-YJNRUQG4.js} +1 -1
- package/chunks/{enter-worktree-CEVK7MQ2.js → enter-worktree-YFTKHXHZ.js} +4 -4
- package/chunks/{enterPlanMode-4KMZMUIA.js → enterPlanMode-P6TVUFIY.js} +24 -25
- package/chunks/{environment-S2HYQDON.js → environment-QATJNNKI.js} +38 -39
- package/chunks/{errors-DAAN5TL7.js → errors-3XJ37PS2.js} +37 -38
- package/chunks/{exit-worktree-D3YE6MUN.js → exit-worktree-NF2XEMES.js} +5 -5
- package/chunks/{exitPlanMode-HR36HG3D.js → exitPlanMode-A3OKL5UO.js} +24 -25
- package/chunks/{fast-path-4IWSW3UV.js → fast-path-DBIT5YQQ.js} +3 -3
- package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
- package/chunks/{glob-IZYB2XH2.js → glob-73EDTXUE.js} +24 -25
- package/chunks/{goal-tools-VGUPKQDJ.js → goal-tools-DFI6YMSD.js} +24 -25
- package/chunks/{grep-OUVLNXG7.js → grep-BLHF2S5D.js} +2 -2
- package/chunks/{handleAutoUpdate-D56FMDTW.js → handleAutoUpdate-2FUNJO3B.js} +38 -39
- package/chunks/{i18n-BKE5WO6T.js → i18n-FDIA6KFI.js} +38 -37
- package/chunks/{image-gen-SHVQ3XID.js → image-gen-XP4NNIYG.js} +5 -5
- package/chunks/{initializer-MS4SGEHF.js → initializer-4MJTJOTW.js} +42 -43
- package/chunks/{installationInfo-542MGC4S.js → installationInfo-232RA2OK.js} +35 -36
- package/chunks/{list-H6XTKUWL.js → list-WN6WSGEB.js} +45 -46
- package/chunks/{list-agents-ULYBGJXC.js → list-agents-I5TRH3J7.js} +2 -2
- package/chunks/{llm-3NUC4EJY.js → llm-UDFWQWZA.js} +77 -78
- package/chunks/{llm-content-generator-R4NL3OQN.js → llm-content-generator-VLMZ2A7A.js} +23 -8
- package/chunks/{loadedSettingsAdapter-3XLKYDVT.js → loadedSettingsAdapter-OBQEIXM7.js} +42 -43
- package/chunks/{loggingContentGenerator-ZYSWVNEO.js → loggingContentGenerator-RGVUMUVX.js} +26 -27
- package/chunks/{loop-wakeup-B27BEYRL.js → loop-wakeup-HL6XOWI4.js} +2 -2
- package/chunks/{ls-3IIMMVKF.js → ls-YV7RKLKY.js} +1 -1
- package/chunks/{lsp-VJAT7XKS.js → lsp-NO3AMRZT.js} +1 -1
- package/chunks/{managed-npm-update-L2I53ZAI.js → managed-npm-update-QBAJYCFU.js} +35 -36
- package/chunks/{mcp-4PIXQASW.js → mcp-OTIZZCPY.js} +42 -43
- package/chunks/{monitor-O2YQTOZZ.js → monitor-BV5XF6LL.js} +24 -25
- package/chunks/{nonInteractiveCli-LV7CDBA2.js → nonInteractiveCli-W6MUKDVJ.js} +79 -77
- package/chunks/{notebook-edit-4RE2ALH4.js → notebook-edit-HGBEKGTE.js} +24 -25
- package/chunks/{openaiContentGenerator-7ND7K5CP.js → openaiContentGenerator-NSU3ERBH.js} +15 -15
- package/chunks/{pidfile-UFTLQ7NP.js → pidfile-LE3TU4GE.js} +35 -36
- package/chunks/{processUtils-3XBB4FYV.js → processUtils-YFBGJK67.js} +2 -2
- package/chunks/{prompt-terminal-ledger-2QASOGMM.js → prompt-terminal-ledger-4W4W7DSO.js} +36 -37
- package/chunks/{qwenContentGenerator-AELTUTH6.js → qwenContentGenerator-HTA57WFC.js} +28 -29
- package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
- package/chunks/{read-file-PDWHZPHX.js → read-file-KHPQ2MB6.js} +4 -4
- package/chunks/{read-mcp-resource-YXJZ75UB.js → read-mcp-resource-D3N75DGF.js} +1 -1
- package/chunks/{record-artifact-WJDOV6XU.js → record-artifact-Q5CRGJTP.js} +2 -2
- package/chunks/{report-findings-Q4UACKWR.js → report-findings-TJ34R7QK.js} +3 -3
- package/chunks/{request-shutdown-2YZ3E3GH.js → request-shutdown-LRKMTBAD.js} +6 -6
- package/chunks/{resumeHistoryUtils-QRXZEEBA.js → resumeHistoryUtils-K7RV3QBN.js} +39 -40
- package/chunks/{ripGrep-KSOOLE6H.js → ripGrep-NBBVCMG4.js} +7 -7
- package/chunks/{run-qwen-serve-RTAREPT6.js → run-qwen-serve-A3JBOZCM.js} +58 -60
- package/chunks/{runtime-ESFSCJRZ.js → runtime-7YOU2KJ3.js} +47 -48
- package/chunks/{scheduled-tasks-6ZHRNBH6.js → scheduled-tasks-52LXK7LN.js} +42 -43
- package/chunks/{scheduler-DQI6KV7T.js → scheduler-J44M72VM.js} +37 -38
- package/chunks/{send-message-PQCVSVMN.js → send-message-AWKUDJBH.js} +8 -8
- package/chunks/{serve-FY7ZEW52.js → serve-TRC6XJUB.js} +42 -43
- package/chunks/{server-KNDY6K5F.js → server-YPNTJLX2.js} +1314 -841
- package/chunks/{session-MCEPXAZP.js → session-FMMIBFYX.js} +98 -84
- package/chunks/{session-attachments-root-OLNAE6GF.js → session-attachments-root-LDJMNK7K.js} +35 -36
- package/chunks/{session-pr-refresh-HKJHQQQK.js → session-pr-refresh-NLR4EK2J.js} +41 -42
- package/chunks/{settings-VXO4WBMK.js → settings-A46L577J.js} +41 -42
- package/chunks/{shell-U263OTES.js → shell-Q5LSQPPY.js} +24 -25
- package/chunks/{skill-SDODGBKL.js → skill-75KPJRCM.js} +10 -57
- package/chunks/{skill-settings-YEIA22QJ.js → skill-settings-775YT4YR.js} +41 -42
- package/chunks/{spawnChannel-4WJZVFPP.js → spawnChannel-XY73I5CU.js} +37 -38
- package/chunks/{standalone-update-ZWVQUO64.js → standalone-update-L46XXNQ2.js} +37 -38
- package/chunks/{start-opentui-ui-BFYCJQRZ.js → start-opentui-ui-WLV43247.js} +2007 -1003
- package/chunks/{startInteractiveUI-JYAFCMHL.js → startInteractiveUI-F5DKMLOV.js} +1231 -1528
- package/chunks/{syntheticOutput-AUAJBNXR.js → syntheticOutput-D2P5V6RG.js} +2 -2
- package/chunks/{task-create-LD5ISM3E.js → task-create-PMAFST2T.js} +7 -7
- package/chunks/{task-list-YISJ4RJA.js → task-list-R2HSY2NC.js} +1 -1
- package/chunks/{task-stop-65ZOVATJ.js → task-stop-BFSKRTGV.js} +1 -1
- package/chunks/{task-update-AAN4ZVEY.js → task-update-JYC57USF.js} +7 -7
- package/chunks/{team-create-KU7MABNO.js → team-create-2PATB77U.js} +24 -25
- package/chunks/{team-delete-XFRRTJTT.js → team-delete-CBHVBTPB.js} +1 -1
- package/chunks/{team-plan-approval-DPB377A3.js → team-plan-approval-QTANEWOS.js} +24 -25
- package/chunks/{terminal-image-renderer-WGWRENOF.js → terminal-image-renderer-OGULCFNF.js} +37 -38
- package/chunks/{theme-manager-GBUFULSO.js → theme-manager-CNO3QERP.js} +35 -36
- package/chunks/{todoWrite-G7NT4IFP.js → todoWrite-5ERKFWAK.js} +3 -5
- package/chunks/{tool-search-6YUXHBPT.js → tool-search-VXWEOZE7.js} +9 -9
- package/chunks/{total-session-admission-54R2JQ5L.js → total-session-admission-4KAADZPB.js} +41 -42
- package/chunks/{trustedFolders-KAJIDJTH.js → trustedFolders-PPJSOPOT.js} +36 -37
- package/chunks/{update-relaunch-XM4IWBFD.js → update-relaunch-4PT4MW7B.js} +5 -5
- package/chunks/{updateCheck-W6UZFURI.js → updateCheck-WAVFLWNG.js} +37 -38
- package/chunks/{useAutoAcceptIndicator-LAWYHY3U.js → useAutoAcceptIndicator-XNED4NRB.js} +44 -45
- package/chunks/{validateNonInterActiveAuth-7WCKHRN2.js → validateNonInterActiveAuth-J676DUQ2.js} +74 -74
- package/chunks/{version-3ZU43RJ6.js → version-J6SRRQB2.js} +1 -1
- package/chunks/{web-fetch-QHI2SQL4.js → web-fetch-FMZZYX44.js} +7 -7
- package/chunks/{web-search-3KZZKWNY.js → web-search-3G2KXCX5.js} +19 -8
- package/chunks/{workflow-HRW7Y2X4.js → workflow-PPZZICQ7.js} +26 -27
- package/chunks/{workspace-providers-status-KTGCWCPC.js → workspace-providers-status-IIYTAQST.js} +46 -47
- package/chunks/{workspace-registration-store-LHLPPWNE.js → workspace-registration-store-VHCDXAV7.js} +1 -1
- package/chunks/{workspace-registry-X34MLN52.js → workspace-registry-I7VQIPS2.js} +41 -42
- package/chunks/{workspace-runtime-coordinator-U4PW4P7K.js → workspace-runtime-coordinator-DBGNY32G.js} +41 -42
- package/chunks/{workspace-service-KD7BCGYL.js → workspace-service-QSKB2T54.js} +47 -48
- package/chunks/{workspace-skills-status-YJGO6Y3T.js → workspace-skills-status-T7GPT65J.js} +43 -44
- package/chunks/{workspace-trust-reconciler-EUYHISCH.js → workspace-trust-reconciler-2PKRDAU4.js} +48 -49
- package/chunks/{write-file-EBSB34NJ.js → write-file-L76CGFTQ.js} +26 -27
- package/chunks/{zh-TW-W2GNP2IU.js → zh-TW-N2TBF2F2.js} +1 -1
- package/chunks/{zh-DVFYHRK5.js → zh-VBFCRQBL.js} +1 -1
- package/chunks/{zoom-image-UJ5VKWKP.js → zoom-image-TDJJY2VZ.js} +4 -4
- package/cli.js +13 -13
- package/export-transcript-document.js +126 -122
- package/locales/en.js +2 -2
- package/locales/zh-TW.js +2 -2
- package/locales/zh.js +2 -2
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-Dur--luQ.js → abnfDiagram-VCTEODGH-DHc6plZn.js} +1 -1
- package/web-shell/assets/{arc-tYLobxFi.js → arc-BQ9m8TDV.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-IG6aXD03.js → architectureDiagram-5GKGNRK7-D5ap3oVB.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C6eBSkfA.js → blockDiagram-NRAW4CY4-BIbnyNph.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BrX3HJqB.js → c4Diagram-UCG6FXSJ-BRsdx_iG.js} +1 -1
- package/web-shell/assets/channel-uMMdTrYk.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-B3fcJ8ee.js → chunk-2Q5K7J3B-3lf1fNlx.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-CeC90yKM.js → chunk-5VM5RSS4-DP8VNRc4.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-CW44RVki.js → chunk-F27PBJKO-DrohDmZ6.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-D1PAMukD.js → chunk-G27WJ6UU-UZ2QhSx6.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-Dt3Y2Fvx.js → chunk-JWPE2WC7-BIMHVcZK.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-CZHw2lLI.js → chunk-LCL6LL3I-izRxdSDd.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-ysNAdTGx.js → chunk-POPQ4Y6H-CXADD4PP.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BdNXW6YQ.js → chunk-SVP7TREG-B96d8Y_1.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DgqQ9UA8.js → chunk-XXDRQBXY-CF2sVQpv.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-BILImXzJ.js → cose-bilkent-JH36ORCC-CT6tXVAS.js} +1 -1
- package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
- package/web-shell/assets/{cynefin-OW5HDTMX-DR88Pund.js → cynefin-OW5HDTMX-X1NS4vtV.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BYFbfkA6.js → cynefinDiagram-5FMLGOSQ-DNsKNOT4.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-rfpyc6sX.js → dagre-3AP2YEHR-9-AHKqsb.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-BJxLmEwH.js → diagram-S7CK7UJ4-Bjgms7j6.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-H34xm7k3.js → diagram-UQ7AKVKN-h6bCprbE.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-HYxhwNLx.js → diagram-VSXAHHWV-4SbQXVLt.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BJazso8F.js → diagram-VX7I27RA-B5gPCzzB.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-Clje1aNy.js → diagram-Z3DM3KII-DFJXIA3A.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-M93YBkFh.js → ebnfDiagram-PWID7BFC-FwyaU7VY.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-DY8XzSHU.js → erDiagram-SSCWMZ5O-8vJQh2te.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CE6Aylcq.js → flowDiagram-A5DVABFB-BzA_1gMN.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DI-5LL22.js → ganttDiagram-EL5Y4UJY-Co-ABbVX.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C7BZWElk.js → gitGraphDiagram-WWUBYQGX-DW_FcyrX.js} +1 -1
- package/web-shell/assets/{index-DclFHns9.js → index-BbMXfhNG.js} +1 -1
- package/web-shell/assets/{index-CVyqwW7y.js → index-Bu-rZoJ-.js} +483 -475
- package/web-shell/assets/index-CsPwZ1ut.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-CGUSy4Pc.js → infoDiagram-RXCK75RN-BEgfhUFN.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-B5BVks9q.js → ishikawaDiagram-5VMMS53U-DCsMxQmc.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-CFh6Tf7h.js → journeyDiagram-EYS64GPL-DyIEYoHz.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-B7TlxP7c.js → kanban-definition-3QL26DDD-CkxjqCNr.js} +1 -1
- package/web-shell/assets/{layout-Br_pZq2Q.js → layout-BEWc0Al9.js} +1 -1
- package/web-shell/assets/{linear-BVlP6fte.js → linear-CNuNxirL.js} +1 -1
- package/web-shell/assets/{mermaid.core-TrcYWoiF.js → mermaid.core-DZBre674.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-BJ4LzqjZ.js → mindmap-definition-FBJOCRG2-CpafFz_F.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-1b_MxlOl.js → pegDiagram-XKGWAZYB-DfZqk_dq.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-B8zl0YhY.js → pieDiagram-E7YTZNPT-S0UWXlgC.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CIZO8ukl.js → quadrantDiagram-AXDQQJYC-dd37_Ohj.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CepHSbCj.js → railroadDiagram-O6MQD6OU-CH8NJZ7u.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCgxkcSW.js → requirementDiagram-EFPCY7ZU-CFdqWYih.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CE5CcoMM.js → sankeyDiagram-P5KCCOFB-CsddcEGD.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DvgHi-d5.js → sequenceDiagram-WJ2MYXX4-BZ270mGw.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-T-fAsCPX.js → sizeCapture-X5ZJPWSS-CGaS4DBV.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-DYHaul-5.js → stateDiagram-HBIQ2CUA-COpIzMu6.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-Dbz3Qiej.js → swimlanes-XN3QIQJK-CMF889m3.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-9NVRts3N.js → timeline-definition-24CTP7MA-BelnxYz5.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-C7cb7vnH.js → vennDiagram-4TSXK5OY-CU-NRqIB.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CG-8Ddjm.js → wardleyDiagram-VM6X3IG4-CDNKqWh-.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-iGeYAcP4.js → xychartDiagram-S5SC5T6Z-CLqguL5D.js} +1 -1
- package/web-shell/index.html +6 -3
- package/chunks/chunk-3UMWOKJC.js +0 -78
- package/chunks/chunk-FKJM6JKY.js +0 -98
- package/chunks/chunk-IQAFKVXS.js +0 -22
- package/web-shell/assets/channel-uEkvKckd.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +0 -1
- package/web-shell/assets/index-FO7JXPnH.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +0 -8
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
listCommand
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-D6AQNMUA.js";
|
|
6
6
|
import {
|
|
7
7
|
getErrorMessage as getErrorMessage2
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6JXHO7LG.js";
|
|
9
9
|
import {
|
|
10
10
|
CUSTOM_SANDBOX_IMAGE_ENV_VAR
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RXT4QBDX.js";
|
|
12
12
|
import {
|
|
13
13
|
isOwnInterfaceAddress
|
|
14
14
|
} from "./chunk-24FVUD5P.js";
|
|
15
15
|
import {
|
|
16
16
|
serveCommand
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-3YQMUBTS.js";
|
|
18
18
|
import {
|
|
19
19
|
OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
|
|
20
20
|
ObservedChannelContactStore
|
|
@@ -58,12 +58,12 @@ import {
|
|
|
58
58
|
} from "./chunk-Y53DG2HA.js";
|
|
59
59
|
import {
|
|
60
60
|
CLI_VERSION
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-6QILGINT.js";
|
|
62
62
|
import {
|
|
63
63
|
collectProviderModelsForProtocol,
|
|
64
64
|
getAuthTypeFromEnv,
|
|
65
65
|
resolveCliGenerationConfig
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-ARYNBBBM.js";
|
|
67
67
|
import {
|
|
68
68
|
resolveSkillSettings
|
|
69
69
|
} from "./chunk-HWVUSYSN.js";
|
|
@@ -83,17 +83,17 @@ import {
|
|
|
83
83
|
registerToolCallDispatch,
|
|
84
84
|
selectFirstModel,
|
|
85
85
|
sessionsPath
|
|
86
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-DZ6D4B3K.js";
|
|
87
87
|
import {
|
|
88
88
|
getExtensionManager,
|
|
89
89
|
requestChoicePluginNonInteractive,
|
|
90
90
|
requestConsentNonInteractive,
|
|
91
91
|
requestConsentOrFail,
|
|
92
92
|
resolveExtensionCommandScope
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-EEKU6COG.js";
|
|
94
94
|
import {
|
|
95
95
|
parseChannelConfig
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-UXDVUFKU.js";
|
|
97
97
|
import {
|
|
98
98
|
findCliEntryPath
|
|
99
99
|
} from "./chunk-V6WHFGST.js";
|
|
@@ -103,7 +103,7 @@ import {
|
|
|
103
103
|
clearAccount,
|
|
104
104
|
loadAccount,
|
|
105
105
|
saveAccount
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-45ROPFQY.js";
|
|
107
107
|
import {
|
|
108
108
|
canonicalizeWorkspace
|
|
109
109
|
} from "./chunk-6PLDPT2C.js";
|
|
@@ -121,7 +121,7 @@ import {
|
|
|
121
121
|
import {
|
|
122
122
|
normalizeWorkerDiagnostic,
|
|
123
123
|
sanitizeWorkerDiagnostic
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-GM44O6F7.js";
|
|
125
125
|
import {
|
|
126
126
|
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
127
127
|
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
@@ -155,7 +155,7 @@ import {
|
|
|
155
155
|
isChannelProactiveDeliveryError,
|
|
156
156
|
sanitizeLogText,
|
|
157
157
|
sanitizePromptText
|
|
158
|
-
} from "./chunk-
|
|
158
|
+
} from "./chunk-XVTCSVBK.js";
|
|
159
159
|
import {
|
|
160
160
|
CHANNEL_WORKER_KILL_GRACE_MS,
|
|
161
161
|
CHANNEL_WORKER_STOP_GRACE_MS
|
|
@@ -171,53 +171,60 @@ import {
|
|
|
171
171
|
assembleMcpServers,
|
|
172
172
|
getPendingGatedMcpServers,
|
|
173
173
|
mcpCommand
|
|
174
|
-
} from "./chunk-
|
|
174
|
+
} from "./chunk-TGC4264Q.js";
|
|
175
175
|
import {
|
|
176
176
|
loadSettings
|
|
177
|
-
} from "./chunk-
|
|
177
|
+
} from "./chunk-66JBCTJF.js";
|
|
178
178
|
import {
|
|
179
179
|
detectSystemLanguage,
|
|
180
180
|
getCurrentLanguage,
|
|
181
181
|
initializeI18n,
|
|
182
|
+
resolveLanguage,
|
|
182
183
|
resolveLanguageSetting,
|
|
183
184
|
t
|
|
184
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-CRZBDVP2.js";
|
|
185
186
|
import {
|
|
186
187
|
isFileSourcedEnvKey,
|
|
187
188
|
loadEnvironment
|
|
188
|
-
} from "./chunk-
|
|
189
|
+
} from "./chunk-5CVY5Q2P.js";
|
|
189
190
|
import {
|
|
190
191
|
resolveAcpChannelFallback,
|
|
191
192
|
scrubAndReportInheritedLoaderEnv
|
|
192
|
-
} from "./chunk-
|
|
193
|
+
} from "./chunk-QTNCGZHQ.js";
|
|
193
194
|
import {
|
|
194
195
|
readPackageUpSync
|
|
195
196
|
} from "./chunk-2EAZ43JQ.js";
|
|
196
197
|
import {
|
|
197
198
|
getCliVersion
|
|
198
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-27LTEY6D.js";
|
|
199
200
|
import {
|
|
200
201
|
getPackageJson
|
|
201
202
|
} from "./chunk-W3N5XAZ6.js";
|
|
202
203
|
import {
|
|
203
204
|
isWorkspaceTrusted
|
|
204
|
-
} from "./chunk-
|
|
205
|
+
} from "./chunk-3VDLQUR2.js";
|
|
205
206
|
import {
|
|
206
207
|
require_strip_json_comments
|
|
207
208
|
} from "./chunk-NPQ5ZKRP.js";
|
|
208
209
|
import {
|
|
210
|
+
MAX_CONTROLLER_LABEL_CHARS,
|
|
209
211
|
NativeLspClient,
|
|
210
212
|
NativeLspService,
|
|
213
|
+
PeerControllerError,
|
|
211
214
|
addChannelMemoryEntries,
|
|
215
|
+
addPeerController,
|
|
212
216
|
clearChannelMemory,
|
|
213
217
|
findOutputStyle,
|
|
214
218
|
getChannelMemoryRevision,
|
|
219
|
+
getPeerControllerRegistryPath,
|
|
215
220
|
listChannelMemoryEntries,
|
|
221
|
+
listPeerControllers,
|
|
216
222
|
loadOutputStyleCatalog,
|
|
217
223
|
readChannelMemory,
|
|
218
224
|
removeChannelMemoryEntries,
|
|
225
|
+
removePeerController,
|
|
219
226
|
updateChannelMemoryEntry
|
|
220
|
-
} from "./chunk-
|
|
227
|
+
} from "./chunk-ZU2T5JIS.js";
|
|
221
228
|
import {
|
|
222
229
|
hideBin,
|
|
223
230
|
yargs_default
|
|
@@ -230,12 +237,13 @@ import {
|
|
|
230
237
|
FINDING_SEVERITIES,
|
|
231
238
|
FINDING_SOURCES,
|
|
232
239
|
compressFindingSummary
|
|
233
|
-
} from "./chunk-
|
|
240
|
+
} from "./chunk-J3VZF2AL.js";
|
|
234
241
|
import {
|
|
235
242
|
Config,
|
|
236
243
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
237
244
|
ExtensionManager,
|
|
238
245
|
FileDiscoveryService,
|
|
246
|
+
GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
|
|
239
247
|
GOAL_TOKEN_BUDGET_CAP,
|
|
240
248
|
MAX_SUBAGENT_DEPTH_LIMIT,
|
|
241
249
|
REVIEW_BUILTIN_SUBAGENT_TYPE,
|
|
@@ -257,7 +265,7 @@ import {
|
|
|
257
265
|
sanitizeFilenameComponent,
|
|
258
266
|
unquoteCStylePath,
|
|
259
267
|
updateSetting
|
|
260
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-PDUMGZ2P.js";
|
|
261
269
|
import {
|
|
262
270
|
parsePositiveIntegerEnv
|
|
263
271
|
} from "./chunk-6PVPNMXU.js";
|
|
@@ -267,7 +275,7 @@ import {
|
|
|
267
275
|
} from "./chunk-IRH27ZC2.js";
|
|
268
276
|
import {
|
|
269
277
|
resolveBundleDir
|
|
270
|
-
} from "./chunk-
|
|
278
|
+
} from "./chunk-TRWQQBVH.js";
|
|
271
279
|
import {
|
|
272
280
|
listLiveSessions
|
|
273
281
|
} from "./chunk-B44JBZBB.js";
|
|
@@ -278,16 +286,16 @@ import {
|
|
|
278
286
|
parseBooleanEnvFlag,
|
|
279
287
|
require_dist,
|
|
280
288
|
resolveTelemetrySettings
|
|
281
|
-
} from "./chunk-
|
|
289
|
+
} from "./chunk-CLKE4IY3.js";
|
|
282
290
|
import {
|
|
283
291
|
BUILT_IN_OUTPUT_STYLES
|
|
284
|
-
} from "./chunk-
|
|
292
|
+
} from "./chunk-3LPJ776W.js";
|
|
285
293
|
import {
|
|
286
294
|
addDaemonRequestAttribute
|
|
287
295
|
} from "./chunk-7OCIQNKX.js";
|
|
288
296
|
import {
|
|
289
297
|
parseLineTolerant
|
|
290
|
-
} from "./chunk-
|
|
298
|
+
} from "./chunk-6QV7Z74P.js";
|
|
291
299
|
import {
|
|
292
300
|
getAllMemoryFilenames,
|
|
293
301
|
setMemoryFilename
|
|
@@ -296,7 +304,7 @@ import {
|
|
|
296
304
|
DEFAULT_QWEN_EMBEDDING_MODEL,
|
|
297
305
|
VERTEX_ADC_HINT,
|
|
298
306
|
hasVertexProjectConfigured
|
|
299
|
-
} from "./chunk-
|
|
307
|
+
} from "./chunk-N7YQEKGX.js";
|
|
300
308
|
import {
|
|
301
309
|
atomicWriteFileSync
|
|
302
310
|
} from "./chunk-XFFRI3WM.js";
|
|
@@ -311,7 +319,7 @@ import {
|
|
|
311
319
|
import {
|
|
312
320
|
SchemaValidator,
|
|
313
321
|
ToolNames
|
|
314
|
-
} from "./chunk-
|
|
322
|
+
} from "./chunk-MWIO7MF6.js";
|
|
315
323
|
import {
|
|
316
324
|
FatalConfigError,
|
|
317
325
|
FatalSandboxError,
|
|
@@ -1645,6 +1653,30 @@ function validateGoalTokenBudget(value) {
|
|
|
1645
1653
|
return value;
|
|
1646
1654
|
}
|
|
1647
1655
|
__name(validateGoalTokenBudget, "validateGoalTokenBudget");
|
|
1656
|
+
function validateGoalCheckpointTimeoutSeconds(value) {
|
|
1657
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
1658
|
+
throw new Error(
|
|
1659
|
+
`model.goalCheckpointTimeoutSeconds must be a finite number; got ${String(value)}.`
|
|
1660
|
+
);
|
|
1661
|
+
}
|
|
1662
|
+
if (!Number.isInteger(value)) {
|
|
1663
|
+
throw new Error(
|
|
1664
|
+
`model.goalCheckpointTimeoutSeconds must be an integer number of seconds; got ${value}.`
|
|
1665
|
+
);
|
|
1666
|
+
}
|
|
1667
|
+
if (value < 1) {
|
|
1668
|
+
throw new Error(
|
|
1669
|
+
`model.goalCheckpointTimeoutSeconds must be at least 1; got ${value}. Unset it to use the default.`
|
|
1670
|
+
);
|
|
1671
|
+
}
|
|
1672
|
+
if (value > GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP) {
|
|
1673
|
+
throw new Error(
|
|
1674
|
+
`model.goalCheckpointTimeoutSeconds ${value} exceeds the supported ceiling (${GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP}s, the default stream lifetime cap, past which the stream guard rather than this setting ends the call). This ceiling is fixed; raising QWEN_STREAM_MAX_LIFETIME_MS does not lift it.`
|
|
1675
|
+
);
|
|
1676
|
+
}
|
|
1677
|
+
return value;
|
|
1678
|
+
}
|
|
1679
|
+
__name(validateGoalCheckpointTimeoutSeconds, "validateGoalCheckpointTimeoutSeconds");
|
|
1648
1680
|
var MAX_TOOL_CALLS = 1e6;
|
|
1649
1681
|
function validateMaxToolCalls(value) {
|
|
1650
1682
|
if (value === -1) return -1;
|
|
@@ -3022,6 +3054,9 @@ function createBridgeRecovery(options) {
|
|
|
3022
3054
|
let recoverySourceBridge;
|
|
3023
3055
|
const attachDisconnectHandler = /* @__PURE__ */ __name((failedBridge) => {
|
|
3024
3056
|
failedBridge.on("disconnected", () => {
|
|
3057
|
+
for (const channel of channels.values()) {
|
|
3058
|
+
channel.onBridgeDisconnected();
|
|
3059
|
+
}
|
|
3025
3060
|
if (isShuttingDown() || failedBridge !== getBridge()) return;
|
|
3026
3061
|
if (recoveryTask) {
|
|
3027
3062
|
if (failedBridge !== recoverySourceBridge) recoveryRequested = true;
|
|
@@ -3128,7 +3163,7 @@ function checkDuplicateInstance() {
|
|
|
3128
3163
|
}
|
|
3129
3164
|
}
|
|
3130
3165
|
__name(checkDuplicateInstance, "checkDuplicateInstance");
|
|
3131
|
-
async function startSingle(name, proxy, cronEnabled) {
|
|
3166
|
+
async function startSingle(name, proxy, cronEnabled, displayLanguage) {
|
|
3132
3167
|
checkDuplicateInstance();
|
|
3133
3168
|
const channelsConfig = loadChannelsConfig();
|
|
3134
3169
|
await loadChannelsFromExtensions();
|
|
@@ -3176,6 +3211,7 @@ async function startSingle(name, proxy, cronEnabled) {
|
|
|
3176
3211
|
const channel = await createChannel(name, config2, bridge, {
|
|
3177
3212
|
router,
|
|
3178
3213
|
proxy,
|
|
3214
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
3179
3215
|
...channelMemoryOptions(() => bridge, config2.cwd),
|
|
3180
3216
|
...loopController ? { loopController } : {},
|
|
3181
3217
|
bridgeRecovery: bridgeReadiness.current
|
|
@@ -3263,7 +3299,7 @@ async function startSingle(name, proxy, cronEnabled) {
|
|
|
3263
3299
|
});
|
|
3264
3300
|
}
|
|
3265
3301
|
__name(startSingle, "startSingle");
|
|
3266
|
-
async function startAll(proxy, cronEnabled) {
|
|
3302
|
+
async function startAll(proxy, cronEnabled, displayLanguage) {
|
|
3267
3303
|
checkDuplicateInstance();
|
|
3268
3304
|
const channelsConfig = loadChannelsConfig();
|
|
3269
3305
|
await loadChannelsFromExtensions();
|
|
@@ -3316,6 +3352,7 @@ async function startAll(proxy, cronEnabled) {
|
|
|
3316
3352
|
await createChannel(name, config2, bridge, {
|
|
3317
3353
|
router,
|
|
3318
3354
|
proxy,
|
|
3355
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
3319
3356
|
...channelMemoryOptions(() => bridge, config2.cwd),
|
|
3320
3357
|
...loopController ? { loopController } : {},
|
|
3321
3358
|
bridgeRecovery: bridgeReadiness.current
|
|
@@ -3437,10 +3474,15 @@ var startCommand = {
|
|
|
3437
3474
|
settings.merged.proxy
|
|
3438
3475
|
);
|
|
3439
3476
|
const cronEnabled = isChannelCronEnabled(settings);
|
|
3477
|
+
const displayLanguage = resolveLanguage(
|
|
3478
|
+
resolveLanguageSetting(
|
|
3479
|
+
settings.merged.general?.language
|
|
3480
|
+
)
|
|
3481
|
+
);
|
|
3440
3482
|
if (argv.name) {
|
|
3441
|
-
await startSingle(argv.name, proxy, cronEnabled);
|
|
3483
|
+
await startSingle(argv.name, proxy, cronEnabled, displayLanguage);
|
|
3442
3484
|
} else {
|
|
3443
|
-
await startAll(proxy, cronEnabled);
|
|
3485
|
+
await startAll(proxy, cronEnabled, displayLanguage);
|
|
3444
3486
|
}
|
|
3445
3487
|
}, "handler")
|
|
3446
3488
|
};
|
|
@@ -3461,7 +3503,7 @@ var stopCommand = {
|
|
|
3461
3503
|
if (argv["daemon-url"]) {
|
|
3462
3504
|
const token = argv.token ?? process.env[QWEN_SERVER_TOKEN_ENV] ?? process.env[QWEN_DAEMON_TOKEN_ENV];
|
|
3463
3505
|
try {
|
|
3464
|
-
const sdk = await import("./daemon-
|
|
3506
|
+
const sdk = await import("./daemon-UI6SQSBV.js");
|
|
3465
3507
|
const client = new sdk.DaemonClient({
|
|
3466
3508
|
baseUrl: argv["daemon-url"],
|
|
3467
3509
|
...token ? { token } : {}
|
|
@@ -3647,7 +3689,7 @@ var statusCommand = {
|
|
|
3647
3689
|
if (argv["daemon-url"]) {
|
|
3648
3690
|
const token = argv.token ?? process.env[QWEN_SERVER_TOKEN_ENV] ?? process.env[QWEN_DAEMON_TOKEN_ENV];
|
|
3649
3691
|
try {
|
|
3650
|
-
const sdk = await import("./daemon-
|
|
3692
|
+
const sdk = await import("./daemon-UI6SQSBV.js");
|
|
3651
3693
|
const client = new sdk.DaemonClient({
|
|
3652
3694
|
baseUrl: argv["daemon-url"],
|
|
3653
3695
|
...token ? { token } : {}
|
|
@@ -3758,7 +3800,7 @@ var reloadCommand = {
|
|
|
3758
3800
|
const token = resolveToken(argv.token);
|
|
3759
3801
|
let sdk;
|
|
3760
3802
|
try {
|
|
3761
|
-
sdk = await import("./daemon-
|
|
3803
|
+
sdk = await import("./daemon-UI6SQSBV.js");
|
|
3762
3804
|
} catch (err) {
|
|
3763
3805
|
writeStderrLine(
|
|
3764
3806
|
`[Channel] Failed to load daemon SDK: ${safeChannelCommandErrorMessage(err)}`
|
|
@@ -3838,7 +3880,7 @@ var setCommand2 = {
|
|
|
3838
3880
|
const selection = names[0] === "all" ? { mode: "all" } : { mode: "names", names };
|
|
3839
3881
|
let sdk;
|
|
3840
3882
|
try {
|
|
3841
|
-
sdk = await import("./daemon-
|
|
3883
|
+
sdk = await import("./daemon-UI6SQSBV.js");
|
|
3842
3884
|
} catch (error) {
|
|
3843
3885
|
writeStderrLine(
|
|
3844
3886
|
`[Channel] Failed to load daemon SDK: ${safeChannelCommandErrorMessage(error)}`
|
|
@@ -3892,6 +3934,7 @@ var SESSION_ATTACHMENTS_FEATURE = "session_attachments";
|
|
|
3892
3934
|
var SESSION_BTW_FEATURE = "session_btw";
|
|
3893
3935
|
var SESSION_PERMISSION_VOTE_FEATURE = "session_permission_vote";
|
|
3894
3936
|
var SESSION_WORKTREE_PERSISTENCE_FEATURE = "session_worktree_persistence_v1";
|
|
3937
|
+
var SESSION_WORKTREE_RESET_FEATURE = "session_worktree_reset_v1";
|
|
3895
3938
|
var MAX_ACTIVE_WEBHOOK_TASKS = 16;
|
|
3896
3939
|
var WORKER_CHANNEL_DISCONNECT_DRAIN_MS = CHANNEL_WORKER_STOP_GRACE_MS - CHANNEL_WORKER_KILL_GRACE_MS;
|
|
3897
3940
|
var WORKER_STARTUP_ROLLBACK_DRAIN_MS = 1500;
|
|
@@ -3926,6 +3969,13 @@ function createDaemonSessionFactory({
|
|
|
3926
3969
|
// (dingtalk/feishu) is derivable from the name via the channel config.
|
|
3927
3970
|
...req.sourceId ? { sourceId: req.sourceId } : {}
|
|
3928
3971
|
};
|
|
3972
|
+
if (req.worktreeReset) {
|
|
3973
|
+
return await DaemonSessionClient.resetWorktree(
|
|
3974
|
+
client,
|
|
3975
|
+
req.worktreeReset.sessionId,
|
|
3976
|
+
daemonReq
|
|
3977
|
+
);
|
|
3978
|
+
}
|
|
3929
3979
|
if (req.sessionId) {
|
|
3930
3980
|
return await DaemonSessionClient.resume(
|
|
3931
3981
|
client,
|
|
@@ -3978,6 +4028,9 @@ function createDaemonChannelBridgeFacade(bridge, opts) {
|
|
|
3978
4028
|
if (bridge.listSessions) {
|
|
3979
4029
|
facade.listSessions = bridge.listSessions.bind(bridge);
|
|
3980
4030
|
}
|
|
4031
|
+
if (bridge.resetWorktreeSession) {
|
|
4032
|
+
facade.resetWorktreeSession = bridge.resetWorktreeSession.bind(bridge);
|
|
4033
|
+
}
|
|
3981
4034
|
if (bridge.registerChannelLoopToolHandler) {
|
|
3982
4035
|
facade.registerChannelLoopToolHandler = bridge.registerChannelLoopToolHandler.bind(bridge);
|
|
3983
4036
|
}
|
|
@@ -3985,7 +4038,7 @@ function createDaemonChannelBridgeFacade(bridge, opts) {
|
|
|
3985
4038
|
}
|
|
3986
4039
|
__name(createDaemonChannelBridgeFacade, "createDaemonChannelBridgeFacade");
|
|
3987
4040
|
async function loadDaemonSdk() {
|
|
3988
|
-
return await import("./daemon-
|
|
4041
|
+
return await import("./daemon-UI6SQSBV.js");
|
|
3989
4042
|
}
|
|
3990
4043
|
__name(loadDaemonSdk, "loadDaemonSdk");
|
|
3991
4044
|
function selectedChannelNames(channelsConfig, selection) {
|
|
@@ -4142,6 +4195,11 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4142
4195
|
void 0,
|
|
4143
4196
|
settings.merged.proxy
|
|
4144
4197
|
);
|
|
4198
|
+
const displayLanguage = resolveLanguage(
|
|
4199
|
+
resolveLanguageSetting(
|
|
4200
|
+
settings.merged.general?.language
|
|
4201
|
+
)
|
|
4202
|
+
);
|
|
4145
4203
|
const channelsConfig = loadChannelsConfig(daemonWorkspace, settings);
|
|
4146
4204
|
const names = selectedChannelNames(channelsConfig, opts.selection);
|
|
4147
4205
|
const parsed = await abortableStartup(
|
|
@@ -4191,6 +4249,9 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4191
4249
|
sessionWorktreePersistence: capabilities.features.includes(
|
|
4192
4250
|
SESSION_WORKTREE_PERSISTENCE_FEATURE
|
|
4193
4251
|
),
|
|
4252
|
+
sessionWorktreeReset: capabilities.features.includes(
|
|
4253
|
+
SESSION_WORKTREE_RESET_FEATURE
|
|
4254
|
+
),
|
|
4194
4255
|
...opts.promptAuthorization ? { promptAuthorization: opts.promptAuthorization } : {},
|
|
4195
4256
|
deleteSessionData: /* @__PURE__ */ __name(async (sessionId) => {
|
|
4196
4257
|
const workspaceClient = client.workspaceByCwd?.(daemonWorkspace);
|
|
@@ -4251,6 +4312,7 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4251
4312
|
await abortableStartup(
|
|
4252
4313
|
createChannel(name, config2, bridgeFacade, {
|
|
4253
4314
|
...proxy ? { proxy } : {},
|
|
4315
|
+
...displayLanguage ? { displayLanguage } : {},
|
|
4254
4316
|
router: createdRouter,
|
|
4255
4317
|
stateDir: daemonChannelStateDir(daemonWorkspace, name),
|
|
4256
4318
|
channelMemory: {
|
|
@@ -4304,7 +4366,7 @@ async function runChannelDaemonWorker(opts) {
|
|
|
4304
4366
|
`[Channel] Failed to connect "${safeName}": ${safeMessage}`
|
|
4305
4367
|
);
|
|
4306
4368
|
try {
|
|
4307
|
-
channel.disconnect();
|
|
4369
|
+
await channel.disconnect();
|
|
4308
4370
|
} catch {
|
|
4309
4371
|
}
|
|
4310
4372
|
connectFailureCount += 1;
|
|
@@ -43065,6 +43127,185 @@ var reviewCommand = {
|
|
|
43065
43127
|
// packages/cli/src/commands/sessions.ts
|
|
43066
43128
|
init_esbuild_shims();
|
|
43067
43129
|
|
|
43130
|
+
// packages/cli/src/commands/sessions/controllers.ts
|
|
43131
|
+
init_esbuild_shims();
|
|
43132
|
+
var ID_COL = 12;
|
|
43133
|
+
var LABEL_COL = MAX_CONTROLLER_LABEL_CHARS * 2 + 2;
|
|
43134
|
+
function sanitize(value) {
|
|
43135
|
+
return sanitizeTerminalText(value).replace(/[\t\n]/g, "");
|
|
43136
|
+
}
|
|
43137
|
+
__name(sanitize, "sanitize");
|
|
43138
|
+
function padDisplay(str, width) {
|
|
43139
|
+
const currentWidth = stringWidth(str);
|
|
43140
|
+
if (currentWidth >= width) return str;
|
|
43141
|
+
return str + " ".repeat(width - currentWidth);
|
|
43142
|
+
}
|
|
43143
|
+
__name(padDisplay, "padDisplay");
|
|
43144
|
+
function formatCreated(createdAt) {
|
|
43145
|
+
const date = new Date(createdAt);
|
|
43146
|
+
return Number.isNaN(date.getTime()) ? "unknown" : date.toISOString().replace("T", " ").slice(0, 16);
|
|
43147
|
+
}
|
|
43148
|
+
__name(formatCreated, "formatCreated");
|
|
43149
|
+
function describeError(error) {
|
|
43150
|
+
return error instanceof Error ? error.message : String(error);
|
|
43151
|
+
}
|
|
43152
|
+
__name(describeError, "describeError");
|
|
43153
|
+
async function handleAdd(argv) {
|
|
43154
|
+
let added;
|
|
43155
|
+
try {
|
|
43156
|
+
added = await addPeerController(argv.label ?? "");
|
|
43157
|
+
} catch (error) {
|
|
43158
|
+
writeStderrLine(
|
|
43159
|
+
error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not write ${getPeerControllerRegistryPath()}: ${describeError(error)}`
|
|
43160
|
+
);
|
|
43161
|
+
process.exit(1);
|
|
43162
|
+
return;
|
|
43163
|
+
}
|
|
43164
|
+
const { record, token } = added;
|
|
43165
|
+
if (argv.json) {
|
|
43166
|
+
writeStdoutLine(
|
|
43167
|
+
JSON.stringify({
|
|
43168
|
+
id: record.id,
|
|
43169
|
+
label: record.label,
|
|
43170
|
+
token,
|
|
43171
|
+
createdAt: record.createdAt
|
|
43172
|
+
})
|
|
43173
|
+
);
|
|
43174
|
+
return;
|
|
43175
|
+
}
|
|
43176
|
+
writeStdoutLine(
|
|
43177
|
+
`Controller "${sanitize(record.label)}" added (${record.id}).`
|
|
43178
|
+
);
|
|
43179
|
+
writeStdoutLine("");
|
|
43180
|
+
writeStdoutLine(
|
|
43181
|
+
"Token \u2014 shown once and never stored, so put it in the controller's own configuration now:"
|
|
43182
|
+
);
|
|
43183
|
+
writeStdoutLine(` ${token}`);
|
|
43184
|
+
writeStdoutLine("");
|
|
43185
|
+
writeStdoutLine(
|
|
43186
|
+
"The controller presents it on the first line of every connection to a session inbox:"
|
|
43187
|
+
);
|
|
43188
|
+
writeStdoutLine(` {"msgV":1,"type":"auth","token":"${token}"}`);
|
|
43189
|
+
writeStdoutLine(
|
|
43190
|
+
"The target session must have agents.crossSessionMessaging enabled and be restarted after enabling it."
|
|
43191
|
+
);
|
|
43192
|
+
writeStdoutLine(
|
|
43193
|
+
'Messages it sends are delivered without per-message review, unless agents.crossSessionInbound is "hold" or "refuse".'
|
|
43194
|
+
);
|
|
43195
|
+
}
|
|
43196
|
+
__name(handleAdd, "handleAdd");
|
|
43197
|
+
async function handleControllerList(argv) {
|
|
43198
|
+
let records;
|
|
43199
|
+
try {
|
|
43200
|
+
records = await listPeerControllers();
|
|
43201
|
+
} catch (error) {
|
|
43202
|
+
writeStderrLine(
|
|
43203
|
+
error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not read ${getPeerControllerRegistryPath()}: ${describeError(error)}`
|
|
43204
|
+
);
|
|
43205
|
+
process.exit(1);
|
|
43206
|
+
return;
|
|
43207
|
+
}
|
|
43208
|
+
if (argv.json) {
|
|
43209
|
+
for (const record of records) {
|
|
43210
|
+
writeStdoutLine(
|
|
43211
|
+
JSON.stringify({
|
|
43212
|
+
id: record.id,
|
|
43213
|
+
label: record.label,
|
|
43214
|
+
createdAt: record.createdAt
|
|
43215
|
+
})
|
|
43216
|
+
);
|
|
43217
|
+
}
|
|
43218
|
+
return;
|
|
43219
|
+
}
|
|
43220
|
+
if (records.length === 0) {
|
|
43221
|
+
writeStdoutLine(
|
|
43222
|
+
"No trusted controllers. Add one with: qwen sessions controllers add --label <name>"
|
|
43223
|
+
);
|
|
43224
|
+
return;
|
|
43225
|
+
}
|
|
43226
|
+
writeStdoutLine(
|
|
43227
|
+
padDisplay("ID", ID_COL) + padDisplay("LABEL", LABEL_COL) + "CREATED"
|
|
43228
|
+
);
|
|
43229
|
+
for (const record of records) {
|
|
43230
|
+
writeStdoutLine(
|
|
43231
|
+
padDisplay(record.id, ID_COL) + padDisplay(
|
|
43232
|
+
truncateToWidth(sanitize(record.label), LABEL_COL - 2),
|
|
43233
|
+
LABEL_COL
|
|
43234
|
+
) + formatCreated(record.createdAt)
|
|
43235
|
+
);
|
|
43236
|
+
}
|
|
43237
|
+
}
|
|
43238
|
+
__name(handleControllerList, "handleControllerList");
|
|
43239
|
+
async function handleRemove(argv) {
|
|
43240
|
+
let removed;
|
|
43241
|
+
try {
|
|
43242
|
+
removed = await removePeerController(argv.id ?? "");
|
|
43243
|
+
} catch (error) {
|
|
43244
|
+
writeStderrLine(
|
|
43245
|
+
error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not write ${getPeerControllerRegistryPath()}: ${describeError(error)}`
|
|
43246
|
+
);
|
|
43247
|
+
process.exit(1);
|
|
43248
|
+
return;
|
|
43249
|
+
}
|
|
43250
|
+
if (!removed) {
|
|
43251
|
+
writeStderrLine(
|
|
43252
|
+
`Error: no controller has the id "${sanitize(argv.id ?? "")}". Run "qwen sessions controllers list" to see them.`
|
|
43253
|
+
);
|
|
43254
|
+
process.exit(1);
|
|
43255
|
+
return;
|
|
43256
|
+
}
|
|
43257
|
+
writeStdoutLine(
|
|
43258
|
+
`Removed controller "${sanitize(removed.label)}" (${removed.id}).`
|
|
43259
|
+
);
|
|
43260
|
+
writeStdoutLine(
|
|
43261
|
+
"Running sessions stop accepting its token on the next connection."
|
|
43262
|
+
);
|
|
43263
|
+
}
|
|
43264
|
+
__name(handleRemove, "handleRemove");
|
|
43265
|
+
var controllersCommand = {
|
|
43266
|
+
command: "controllers",
|
|
43267
|
+
describe: "Manage the controller tokens that may drive your sessions",
|
|
43268
|
+
builder: /* @__PURE__ */ __name((yargs) => yargs.command({
|
|
43269
|
+
command: "add",
|
|
43270
|
+
describe: "Mint a controller token and print it once",
|
|
43271
|
+
builder: /* @__PURE__ */ __name((add) => add.option("label", {
|
|
43272
|
+
type: "string",
|
|
43273
|
+
describe: "What to call this controller, for later revocation",
|
|
43274
|
+
demandOption: true
|
|
43275
|
+
}).option("json", {
|
|
43276
|
+
type: "boolean",
|
|
43277
|
+
describe: "Output as a single JSON object",
|
|
43278
|
+
default: false
|
|
43279
|
+
}), "builder"),
|
|
43280
|
+
handler: /* @__PURE__ */ __name(async (argv) => {
|
|
43281
|
+
await handleAdd(argv);
|
|
43282
|
+
}, "handler")
|
|
43283
|
+
}).command({
|
|
43284
|
+
command: "list",
|
|
43285
|
+
describe: "List the controllers this Qwen home trusts",
|
|
43286
|
+
builder: /* @__PURE__ */ __name((list2) => list2.option("json", {
|
|
43287
|
+
type: "boolean",
|
|
43288
|
+
describe: "Output as JSON Lines",
|
|
43289
|
+
default: false
|
|
43290
|
+
}), "builder"),
|
|
43291
|
+
handler: /* @__PURE__ */ __name(async (argv) => {
|
|
43292
|
+
await handleControllerList(argv);
|
|
43293
|
+
}, "handler")
|
|
43294
|
+
}).command({
|
|
43295
|
+
command: "remove <id>",
|
|
43296
|
+
describe: "Revoke a controller by id",
|
|
43297
|
+
builder: /* @__PURE__ */ __name((remove) => remove.positional("id", {
|
|
43298
|
+
type: "string",
|
|
43299
|
+
describe: 'The id shown by "qwen sessions controllers list"'
|
|
43300
|
+
}), "builder"),
|
|
43301
|
+
handler: /* @__PURE__ */ __name(async (argv) => {
|
|
43302
|
+
await handleRemove(argv);
|
|
43303
|
+
}, "handler")
|
|
43304
|
+
}).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
|
|
43305
|
+
handler: /* @__PURE__ */ __name(() => {
|
|
43306
|
+
}, "handler")
|
|
43307
|
+
};
|
|
43308
|
+
|
|
43068
43309
|
// packages/cli/src/commands/sessions/list.ts
|
|
43069
43310
|
init_esbuild_shims();
|
|
43070
43311
|
|
|
@@ -43092,18 +43333,18 @@ function formatTime(iso) {
|
|
|
43092
43333
|
return `${d.getUTCFullYear()}-${pad(d.getUTCMonth() + 1)}-${pad(d.getUTCDate())} ${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}`;
|
|
43093
43334
|
}
|
|
43094
43335
|
__name(formatTime, "formatTime");
|
|
43095
|
-
function
|
|
43336
|
+
function sanitize2(value) {
|
|
43096
43337
|
const stripped = value.replace(/[\r\n\t]/g, "");
|
|
43097
43338
|
const escaped = escapeAnsiCtrlCodes(stripped);
|
|
43098
43339
|
return escaped.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/g, "");
|
|
43099
43340
|
}
|
|
43100
|
-
__name(
|
|
43101
|
-
function
|
|
43341
|
+
__name(sanitize2, "sanitize");
|
|
43342
|
+
function padDisplay2(str, width) {
|
|
43102
43343
|
const currentWidth = stringWidth(str);
|
|
43103
43344
|
if (currentWidth >= width) return str;
|
|
43104
43345
|
return str + " ".repeat(width - currentWidth);
|
|
43105
43346
|
}
|
|
43106
|
-
__name(
|
|
43347
|
+
__name(padDisplay2, "padDisplay");
|
|
43107
43348
|
function truncate(str, maxLen) {
|
|
43108
43349
|
const width = stringWidth(str);
|
|
43109
43350
|
if (width <= maxLen) return str;
|
|
@@ -43129,26 +43370,26 @@ function outputHuman(items) {
|
|
|
43129
43370
|
20,
|
|
43130
43371
|
termWidth - SESSION_COL - TIME_COL - TITLE_COL - BRANCH_COL - 4
|
|
43131
43372
|
);
|
|
43132
|
-
const header =
|
|
43373
|
+
const header = padDisplay2("SESSION ID", SESSION_COL) + " " + padDisplay2("STARTED", TIME_COL) + " " + padDisplay2("TITLE", TITLE_COL) + " " + padDisplay2("BRANCH", BRANCH_COL) + " PROMPT";
|
|
43133
43374
|
writeStdoutLine(header);
|
|
43134
43375
|
for (const item of items) {
|
|
43135
43376
|
const sessionId = truncate(
|
|
43136
|
-
|
|
43377
|
+
sanitize2(String(item.sessionId ?? "")),
|
|
43137
43378
|
SESSION_COL
|
|
43138
43379
|
);
|
|
43139
|
-
const time = truncate(
|
|
43140
|
-
const sanitizedPrompt =
|
|
43380
|
+
const time = truncate(sanitize2(formatTime(item.startTime)), TIME_COL);
|
|
43381
|
+
const sanitizedPrompt = sanitize2(item.prompt ?? "");
|
|
43141
43382
|
const title = truncate(
|
|
43142
|
-
item.customTitle != null ?
|
|
43383
|
+
item.customTitle != null ? sanitize2(item.customTitle) : sanitizedPrompt,
|
|
43143
43384
|
TITLE_COL
|
|
43144
43385
|
);
|
|
43145
43386
|
const branch = truncate(
|
|
43146
|
-
item.gitBranch != null ?
|
|
43387
|
+
item.gitBranch != null ? sanitize2(item.gitBranch) : "-",
|
|
43147
43388
|
BRANCH_COL
|
|
43148
43389
|
);
|
|
43149
43390
|
const prompt = truncate(sanitizedPrompt, PROMPT_COL);
|
|
43150
43391
|
writeStdoutLine(
|
|
43151
|
-
`${
|
|
43392
|
+
`${padDisplay2(sessionId, SESSION_COL)} ${padDisplay2(time, TIME_COL)} ${padDisplay2(title, TITLE_COL)} ${padDisplay2(branch, BRANCH_COL)} ${prompt}`
|
|
43152
43393
|
);
|
|
43153
43394
|
}
|
|
43154
43395
|
}
|
|
@@ -43234,16 +43475,16 @@ init_esbuild_shims();
|
|
|
43234
43475
|
var NAME_COL = 22;
|
|
43235
43476
|
var PID_COL = 9;
|
|
43236
43477
|
var AGE_COL = 10;
|
|
43237
|
-
function
|
|
43478
|
+
function sanitize3(value) {
|
|
43238
43479
|
return sanitizeTerminalText(value).replace(/[\t\n]/g, "");
|
|
43239
43480
|
}
|
|
43240
|
-
__name(
|
|
43241
|
-
function
|
|
43481
|
+
__name(sanitize3, "sanitize");
|
|
43482
|
+
function padDisplay3(str, width) {
|
|
43242
43483
|
const currentWidth = stringWidth(str);
|
|
43243
43484
|
if (currentWidth >= width) return str;
|
|
43244
43485
|
return str + " ".repeat(width - currentWidth);
|
|
43245
43486
|
}
|
|
43246
|
-
__name(
|
|
43487
|
+
__name(padDisplay3, "padDisplay");
|
|
43247
43488
|
function formatAge(ms) {
|
|
43248
43489
|
const seconds = Math.max(0, Math.floor(ms / 1e3));
|
|
43249
43490
|
if (seconds < 60) return `${seconds}s`;
|
|
@@ -43256,14 +43497,14 @@ function formatAge(ms) {
|
|
|
43256
43497
|
__name(formatAge, "formatAge");
|
|
43257
43498
|
function outputHuman2(records, now) {
|
|
43258
43499
|
writeStdoutLine(
|
|
43259
|
-
|
|
43500
|
+
padDisplay3("NAME", NAME_COL) + padDisplay3("PID", PID_COL) + padDisplay3("AGE", AGE_COL) + "DIRECTORY"
|
|
43260
43501
|
);
|
|
43261
43502
|
for (const record of records) {
|
|
43262
43503
|
writeStdoutLine(
|
|
43263
|
-
|
|
43264
|
-
truncateToWidth(
|
|
43504
|
+
padDisplay3(
|
|
43505
|
+
truncateToWidth(sanitize3(record.name), NAME_COL - 2),
|
|
43265
43506
|
NAME_COL
|
|
43266
|
-
) +
|
|
43507
|
+
) + padDisplay3(String(record.pid), PID_COL) + padDisplay3(formatAge(now - record.startedAt), AGE_COL) + sanitize3(record.cwd)
|
|
43267
43508
|
);
|
|
43268
43509
|
}
|
|
43269
43510
|
}
|
|
@@ -43301,7 +43542,7 @@ var psCommand = {
|
|
|
43301
43542
|
var sessionsCommand = {
|
|
43302
43543
|
command: "sessions",
|
|
43303
43544
|
describe: "Manage Qwen Code sessions",
|
|
43304
|
-
builder: /* @__PURE__ */ __name((yargs) => yargs.command(listCommand4).command(psCommand).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
|
|
43545
|
+
builder: /* @__PURE__ */ __name((yargs) => yargs.command(listCommand4).command(psCommand).command(controllersCommand).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
|
|
43305
43546
|
// demandCommand(1) ensures a subcommand is always required;
|
|
43306
43547
|
// yargs automatically shows help when none is provided.
|
|
43307
43548
|
handler: /* @__PURE__ */ __name(() => {
|
|
@@ -43324,10 +43565,10 @@ var updateCommand3 = {
|
|
|
43324
43565
|
stdioHelpers,
|
|
43325
43566
|
{ updateEventEmitter }
|
|
43326
43567
|
] = await Promise.all([
|
|
43327
|
-
import("./settings-
|
|
43328
|
-
import("./updateCheck-
|
|
43329
|
-
import("./installationInfo-
|
|
43330
|
-
import("./standalone-update-
|
|
43568
|
+
import("./settings-A46L577J.js"),
|
|
43569
|
+
import("./updateCheck-WAVFLWNG.js"),
|
|
43570
|
+
import("./installationInfo-232RA2OK.js"),
|
|
43571
|
+
import("./standalone-update-L46XXNQ2.js"),
|
|
43331
43572
|
import("./stdioHelpers-AY6XCDY2.js"),
|
|
43332
43573
|
import("./updateEventEmitter-5MKC7BLQ.js")
|
|
43333
43574
|
]);
|
|
@@ -43874,6 +44115,16 @@ function resolveGoalTokenBudget(settings) {
|
|
|
43874
44115
|
}
|
|
43875
44116
|
}
|
|
43876
44117
|
__name(resolveGoalTokenBudget, "resolveGoalTokenBudget");
|
|
44118
|
+
function resolveGoalCheckpointTimeoutSeconds(settings) {
|
|
44119
|
+
const fromSettings = settings.model?.goalCheckpointTimeoutSeconds;
|
|
44120
|
+
if (fromSettings === void 0) return void 0;
|
|
44121
|
+
try {
|
|
44122
|
+
return validateGoalCheckpointTimeoutSeconds(fromSettings);
|
|
44123
|
+
} catch (err) {
|
|
44124
|
+
throw new Error(`settings.json: ${err.message}`);
|
|
44125
|
+
}
|
|
44126
|
+
}
|
|
44127
|
+
__name(resolveGoalCheckpointTimeoutSeconds, "resolveGoalCheckpointTimeoutSeconds");
|
|
43877
44128
|
function resolveMaxToolCalls(argv, settings) {
|
|
43878
44129
|
if (argv.maxToolCalls !== void 0 && argv.maxToolCalls !== null) {
|
|
43879
44130
|
try {
|
|
@@ -44421,7 +44672,7 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
|
|
|
44421
44672
|
disabledSkillNamesProvider: bareMode || safeMode ? void 0 : disabledSkillNamesProvider,
|
|
44422
44673
|
enabledSkillNamesProvider: bareMode || safeMode ? void 0 : enabledSkillNamesProvider,
|
|
44423
44674
|
terminalImageRenderSupportProvider: interactive ? async () => {
|
|
44424
|
-
const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-
|
|
44675
|
+
const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-OGULCFNF.js");
|
|
44425
44676
|
return getTerminalImageRenderSupport();
|
|
44426
44677
|
} : void 0,
|
|
44427
44678
|
disabledSkillLevels: bareMode || safeMode || !Array.isArray(settings.skills?.disabledLevels) ? void 0 : settings.skills.disabledLevels.filter(isSkillLevel),
|
|
@@ -44488,6 +44739,7 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
|
|
|
44488
44739
|
sessionTokenLimit: settings.model?.sessionTokenLimit ?? -1,
|
|
44489
44740
|
maxSessionTurns: argv.maxSessionTurns ?? settings.model?.maxSessionTurns ?? -1,
|
|
44490
44741
|
goalTokenBudget: resolveGoalTokenBudget(settings),
|
|
44742
|
+
goalCheckpointTimeoutSeconds: resolveGoalCheckpointTimeoutSeconds(settings),
|
|
44491
44743
|
maxWallTimeSeconds: resolveMaxWallTimeSeconds(argv, settings),
|
|
44492
44744
|
maxToolCalls: resolveMaxToolCalls(argv, settings),
|
|
44493
44745
|
// Undefined flows through to Config's default (5) and clamp logic.
|