@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,15 +2,15 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
multiSessionCompatibilityError
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UXDVUFKU.js";
|
|
6
6
|
import {
|
|
7
7
|
UNSAFE_OBJECT_KEYS,
|
|
8
8
|
getPlugin
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UHUT4IDM.js";
|
|
10
10
|
import {
|
|
11
11
|
loadSettings,
|
|
12
12
|
saveSettings
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-66JBCTJF.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esbuild_shims
|
|
16
16
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -16,9 +16,12 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
isInternalWorkspaceRuntime
|
|
18
18
|
} from "./chunk-NYWWQ437.js";
|
|
19
|
+
import {
|
|
20
|
+
conversationRuntimeUnavailableError
|
|
21
|
+
} from "./chunk-2Z3T52OC.js";
|
|
19
22
|
import {
|
|
20
23
|
CLIENT_MCP_OVER_WS_CONFIG_FLAG
|
|
21
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-PSPAM24S.js";
|
|
22
25
|
import {
|
|
23
26
|
parseToolWriteOriginMeta
|
|
24
27
|
} from "./chunk-GELRJXE2.js";
|
|
@@ -1783,6 +1786,10 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
1783
1786
|
workspace_skill_settings_toggle: { since: "v1" },
|
|
1784
1787
|
workspace_skill_settings_batch_toggle: { since: "v1" },
|
|
1785
1788
|
extension_batch_activation_v2: { since: "v1" },
|
|
1789
|
+
// Extension activation commits do not refresh active sessions. Clients that
|
|
1790
|
+
// need immediate runtime application must submit the independent refresh
|
|
1791
|
+
// operation after the activation operation commits.
|
|
1792
|
+
extension_activation_explicit_refresh: { since: "v1" },
|
|
1786
1793
|
workspace_skill_manage: { since: "v1" },
|
|
1787
1794
|
workspace_settings: { since: "v1" },
|
|
1788
1795
|
// `GET /workspace/permissions` is always available when this tag is
|
|
@@ -2024,6 +2031,11 @@ var SERVE_CAPABILITY_REGISTRY = {
|
|
|
2024
2031
|
// Worktree-backed session create/load responses are durably persisted and
|
|
2025
2032
|
// carry per-response `persisted-v1` attestation.
|
|
2026
2033
|
session_worktree_persistence_v1: { since: "v1" },
|
|
2034
|
+
// Worktree ownership transfer: `POST /session/:id/worktree-reset` moves a
|
|
2035
|
+
// session's checkout ownership to a fresh replacement session, and the
|
|
2036
|
+
// restore surface reports the superseded / interrupted / missing-marker
|
|
2037
|
+
// classifications as typed 409s.
|
|
2038
|
+
session_worktree_reset_v1: { since: "v1" },
|
|
2027
2039
|
// Workspace-qualified ACP transport (issue #6378 Phase 4):
|
|
2028
2040
|
// `/workspaces/:workspace/acp` mounts a per-runtime ACP dispatcher (HTTP +
|
|
2029
2041
|
// WebSocket) for each registered workspace, with per-runtime device-flow and
|
|
@@ -2702,58 +2714,6 @@ async function createManagedScratchDirectory(root) {
|
|
|
2702
2714
|
}
|
|
2703
2715
|
__name(createManagedScratchDirectory, "createManagedScratchDirectory");
|
|
2704
2716
|
|
|
2705
|
-
// packages/cli/src/serve/conversations/conversation-runtime-errors.ts
|
|
2706
|
-
init_esbuild_shims();
|
|
2707
|
-
var DEFAULT_MESSAGES = {
|
|
2708
|
-
conversation_runtime_in_use: "The Conversations runtime is owned by another daemon.",
|
|
2709
|
-
conversation_runtime_unavailable: "The Conversations runtime is temporarily unavailable.",
|
|
2710
|
-
conversation_root_compromised: "The Conversations root could not be verified.",
|
|
2711
|
-
conversation_runtime_ownership_compromised: "The Conversations runtime ownership state could not be verified."
|
|
2712
|
-
};
|
|
2713
|
-
var ConversationRuntimeOwnershipError = class extends Error {
|
|
2714
|
-
constructor(code, retryable, options) {
|
|
2715
|
-
super(DEFAULT_MESSAGES[code], options);
|
|
2716
|
-
this.code = code;
|
|
2717
|
-
this.retryable = retryable;
|
|
2718
|
-
this.name = "ConversationRuntimeOwnershipError";
|
|
2719
|
-
}
|
|
2720
|
-
static {
|
|
2721
|
-
__name(this, "ConversationRuntimeOwnershipError");
|
|
2722
|
-
}
|
|
2723
|
-
status = 503;
|
|
2724
|
-
};
|
|
2725
|
-
function conversationRuntimeInUseError() {
|
|
2726
|
-
return new ConversationRuntimeOwnershipError(
|
|
2727
|
-
"conversation_runtime_in_use",
|
|
2728
|
-
true
|
|
2729
|
-
);
|
|
2730
|
-
}
|
|
2731
|
-
__name(conversationRuntimeInUseError, "conversationRuntimeInUseError");
|
|
2732
|
-
function conversationRuntimeUnavailableError(cause) {
|
|
2733
|
-
return new ConversationRuntimeOwnershipError(
|
|
2734
|
-
"conversation_runtime_unavailable",
|
|
2735
|
-
true,
|
|
2736
|
-
{ cause }
|
|
2737
|
-
);
|
|
2738
|
-
}
|
|
2739
|
-
__name(conversationRuntimeUnavailableError, "conversationRuntimeUnavailableError");
|
|
2740
|
-
function conversationRuntimeOwnershipCompromisedError(cause) {
|
|
2741
|
-
return new ConversationRuntimeOwnershipError(
|
|
2742
|
-
"conversation_runtime_ownership_compromised",
|
|
2743
|
-
false,
|
|
2744
|
-
{ cause }
|
|
2745
|
-
);
|
|
2746
|
-
}
|
|
2747
|
-
__name(conversationRuntimeOwnershipCompromisedError, "conversationRuntimeOwnershipCompromisedError");
|
|
2748
|
-
function conversationRootCompromisedError(cause) {
|
|
2749
|
-
return new ConversationRuntimeOwnershipError(
|
|
2750
|
-
"conversation_root_compromised",
|
|
2751
|
-
false,
|
|
2752
|
-
{ cause }
|
|
2753
|
-
);
|
|
2754
|
-
}
|
|
2755
|
-
__name(conversationRootCompromisedError, "conversationRootCompromisedError");
|
|
2756
|
-
|
|
2757
2717
|
// packages/cli/src/serve/serve-app-lifecycle.ts
|
|
2758
2718
|
init_esbuild_shims();
|
|
2759
2719
|
var SERVE_APP_LIFECYCLE = Symbol("qwen.serveAppLifecycle");
|
|
@@ -2781,7 +2741,6 @@ var ServeAppLifecycleController = class {
|
|
|
2781
2741
|
listenerClosed = false;
|
|
2782
2742
|
sealed = false;
|
|
2783
2743
|
closePending;
|
|
2784
|
-
ownership;
|
|
2785
2744
|
appDrain;
|
|
2786
2745
|
hostDrain;
|
|
2787
2746
|
bootStarter;
|
|
@@ -2837,12 +2796,6 @@ var ServeAppLifecycleController = class {
|
|
|
2837
2796
|
});
|
|
2838
2797
|
return pending;
|
|
2839
2798
|
}
|
|
2840
|
-
setOwnership(ownership) {
|
|
2841
|
-
if (this.ownership) {
|
|
2842
|
-
throw new Error("Serve app lifecycle ownership is already configured.");
|
|
2843
|
-
}
|
|
2844
|
-
this.ownership = ownership;
|
|
2845
|
-
}
|
|
2846
2799
|
setAppDrain(drain) {
|
|
2847
2800
|
this.appDrain = drain;
|
|
2848
2801
|
}
|
|
@@ -2926,7 +2879,6 @@ var ServeAppLifecycleController = class {
|
|
|
2926
2879
|
if (errors.length > 1) {
|
|
2927
2880
|
throw new AggregateError(errors, "Serve app shutdown is incomplete.");
|
|
2928
2881
|
}
|
|
2929
|
-
await this.ownership?.release();
|
|
2930
2882
|
}
|
|
2931
2883
|
startDrain(drain) {
|
|
2932
2884
|
if (!drain) return void 0;
|
|
@@ -4564,11 +4516,6 @@ export {
|
|
|
4564
4516
|
isScratchRootCompatible,
|
|
4565
4517
|
prepareManagedScratchRoot,
|
|
4566
4518
|
createManagedScratchDirectory,
|
|
4567
|
-
ConversationRuntimeOwnershipError,
|
|
4568
|
-
conversationRuntimeInUseError,
|
|
4569
|
-
conversationRuntimeUnavailableError,
|
|
4570
|
-
conversationRuntimeOwnershipCompromisedError,
|
|
4571
|
-
conversationRootCompromisedError,
|
|
4572
4519
|
ServeAppLifecycleController,
|
|
4573
4520
|
installServeAppLifecycle,
|
|
4574
4521
|
createRateLimiter,
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
} from "./chunk-47ECGEJC.js";
|
|
6
6
|
import {
|
|
7
7
|
t
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-CRZBDVP2.js";
|
|
9
9
|
import {
|
|
10
10
|
findProviderByCredentials,
|
|
11
11
|
resolveMetadataKey
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ZU2T5JIS.js";
|
|
13
13
|
import {
|
|
14
14
|
fetchGitDiff,
|
|
15
15
|
isCompressionFailureStatus
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-PDUMGZ2P.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -15644,6 +15644,9 @@ var BaseToolInvocation = class {
|
|
|
15644
15644
|
requiresUserInteraction() {
|
|
15645
15645
|
return false;
|
|
15646
15646
|
}
|
|
15647
|
+
canAutoApproveOnAllow() {
|
|
15648
|
+
return true;
|
|
15649
|
+
}
|
|
15647
15650
|
/**
|
|
15648
15651
|
* Default fallback: returns a generic 'info' confirmation dialog using the
|
|
15649
15652
|
* tool's getDescription(). This ensures that even tools whose
|
|
@@ -411,18 +411,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
411
411
|
try {
|
|
412
412
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
413
413
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
414
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
414
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-NSU3ERBH.js");
|
|
415
415
|
return createOpenAIContentGenerator(generatorConfig, config);
|
|
416
416
|
}, "loadBaseGenerator");
|
|
417
417
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
418
|
-
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-
|
|
418
|
+
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-KX6LVYQ3.js");
|
|
419
419
|
try {
|
|
420
420
|
const qwenClient = await getQwenOauthClient(
|
|
421
421
|
config,
|
|
422
422
|
isInitialAuth ? { requireCachedCredentials: true } : void 0
|
|
423
423
|
);
|
|
424
424
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
425
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
425
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-HTA57WFC.js");
|
|
426
426
|
return new QwenContentGenerator(qwenClient, generatorConfig, config);
|
|
427
427
|
}, "loadBaseGenerator");
|
|
428
428
|
} catch (error) {
|
|
@@ -433,12 +433,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
433
433
|
}
|
|
434
434
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
435
435
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
436
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
436
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-I7LQZH26.js");
|
|
437
437
|
return createAnthropicContentGenerator(generatorConfig, config);
|
|
438
438
|
}, "loadBaseGenerator");
|
|
439
439
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
440
440
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
441
|
-
const { createLlmContentGenerator } = await import("./llm-content-generator-
|
|
441
|
+
const { createLlmContentGenerator } = await import("./llm-content-generator-VLMZ2A7A.js");
|
|
442
442
|
return createLlmContentGenerator(generatorConfig, config);
|
|
443
443
|
}, "loadBaseGenerator");
|
|
444
444
|
} else {
|
|
@@ -453,7 +453,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
453
453
|
try {
|
|
454
454
|
const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
|
|
455
455
|
loadBaseGenerator(),
|
|
456
|
-
import("./loggingContentGenerator-
|
|
456
|
+
import("./loggingContentGenerator-RGVUMUVX.js")
|
|
457
457
|
]);
|
|
458
458
|
return new LoggingContentGenerator(
|
|
459
459
|
baseGenerator,
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
createDebugLogger
|
|
5
|
+
} from "./chunk-ZAFYHRVY.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-5O2XNYP6.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/core/src/core/outbound-session-id.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
|
|
16
|
+
// packages/core/src/core/outbound-dynamic-headers.ts
|
|
17
|
+
init_esbuild_shims();
|
|
18
|
+
var debugLogger = createDebugLogger("OUTBOUND_CORRELATION");
|
|
19
|
+
var PLACEHOLDERS = [{ token: "${session_id}", resolve: /* @__PURE__ */ __name((config) => config.getSessionId(), "resolve") }];
|
|
20
|
+
var SESSION_ID_PLACEHOLDER_PATTERN = /\$(?:session_id|QWEN_CODE_SESSION_ID)(?!\w)|\$\{(?:session_id|QWEN_CODE_SESSION_ID)\}/gi;
|
|
21
|
+
var warnedGateOff = /* @__PURE__ */ new Set();
|
|
22
|
+
function warnIfDynamicHeadersDisabled(customHeaders, config) {
|
|
23
|
+
try {
|
|
24
|
+
const names = Object.entries(customHeaders ?? {}).filter(
|
|
25
|
+
([, value]) => typeof value === "string" && hasDynamicPlaceholder(value)
|
|
26
|
+
).map(([name]) => name);
|
|
27
|
+
if (names.length === 0) return;
|
|
28
|
+
if (config.getOutboundAllowDynamicHeaderValues()) return;
|
|
29
|
+
const key = names.slice().sort().join(",");
|
|
30
|
+
if (warnedGateOff.has(key)) return;
|
|
31
|
+
warnedGateOff.add(key);
|
|
32
|
+
console.warn(
|
|
33
|
+
`customHeaders ${names.join(", ")} contain a runtime placeholder, but outboundCorrelation.allowDynamicHeaderValues is not enabled \u2014 the header(s) will not be sent. Set it to true in settings.json to allow the value to be filled in per request.`
|
|
34
|
+
);
|
|
35
|
+
} catch {
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
__name(warnIfDynamicHeadersDisabled, "warnIfDynamicHeadersDisabled");
|
|
39
|
+
function hasDynamicPlaceholder(value) {
|
|
40
|
+
return value.search(SESSION_ID_PLACEHOLDER_PATTERN) !== -1;
|
|
41
|
+
}
|
|
42
|
+
__name(hasDynamicPlaceholder, "hasDynamicPlaceholder");
|
|
43
|
+
function resolveDynamicHeaderValue(value, config) {
|
|
44
|
+
if (typeof value !== "string") return void 0;
|
|
45
|
+
if (!hasDynamicPlaceholder(value)) return value;
|
|
46
|
+
try {
|
|
47
|
+
if (!config.getOutboundAllowDynamicHeaderValues()) {
|
|
48
|
+
debugLogger.warn(
|
|
49
|
+
`Dropping a customHeaders value containing a runtime placeholder: outboundCorrelation.allowDynamicHeaderValues is not enabled.`
|
|
50
|
+
);
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
let expanded = value.replace(
|
|
54
|
+
SESSION_ID_PLACEHOLDER_PATTERN,
|
|
55
|
+
"${session_id}"
|
|
56
|
+
);
|
|
57
|
+
for (const { token, resolve } of PLACEHOLDERS) {
|
|
58
|
+
if (!expanded.includes(token)) continue;
|
|
59
|
+
const resolved = resolve(config);
|
|
60
|
+
if (!resolved) return void 0;
|
|
61
|
+
expanded = expanded.split(token).join(resolved);
|
|
62
|
+
}
|
|
63
|
+
return expanded;
|
|
64
|
+
} catch (error) {
|
|
65
|
+
debugLogger.warn(
|
|
66
|
+
`Unable to expand a customHeaders placeholder: ${error instanceof Error ? error.message : String(error)}`
|
|
67
|
+
);
|
|
68
|
+
return void 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
__name(resolveDynamicHeaderValue, "resolveDynamicHeaderValue");
|
|
72
|
+
function applyDynamicHeaderValues(headers, config) {
|
|
73
|
+
const pending = [];
|
|
74
|
+
headers.forEach((value, key) => {
|
|
75
|
+
if (hasDynamicPlaceholder(value)) pending.push([key, value]);
|
|
76
|
+
});
|
|
77
|
+
for (const [key, value] of pending) {
|
|
78
|
+
const resolved = resolveDynamicHeaderValue(value, config);
|
|
79
|
+
if (resolved === void 0) {
|
|
80
|
+
headers.delete(key);
|
|
81
|
+
} else {
|
|
82
|
+
headers.set(key, resolved);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
__name(applyDynamicHeaderValues, "applyDynamicHeaderValues");
|
|
87
|
+
function expandDynamicHeaders(customHeaders, config) {
|
|
88
|
+
if (!customHeaders) return {};
|
|
89
|
+
const expanded = {};
|
|
90
|
+
for (const [key, value] of Object.entries(customHeaders)) {
|
|
91
|
+
if (typeof value !== "string" || !hasDynamicPlaceholder(value)) continue;
|
|
92
|
+
const resolved = resolveDynamicHeaderValue(value, config);
|
|
93
|
+
if (resolved !== void 0) expanded[key] = resolved;
|
|
94
|
+
}
|
|
95
|
+
return expanded;
|
|
96
|
+
}
|
|
97
|
+
__name(expandDynamicHeaders, "expandDynamicHeaders");
|
|
98
|
+
|
|
99
|
+
// packages/core/src/core/outbound-session-id.ts
|
|
100
|
+
var debugLogger2 = createDebugLogger("OUTBOUND_CORRELATION");
|
|
101
|
+
var SESSION_ID_HEADER = "session_id";
|
|
102
|
+
var SESSION_ID_HEADER_HOSTS = [
|
|
103
|
+
"routify.alibaba-inc.com",
|
|
104
|
+
"routify-online.alibaba-inc.com",
|
|
105
|
+
"routify-pub.alibaba-inc.com"
|
|
106
|
+
];
|
|
107
|
+
function requestUrl(input) {
|
|
108
|
+
try {
|
|
109
|
+
if (typeof input === "string") return new URL(input);
|
|
110
|
+
if (input instanceof URL) return input;
|
|
111
|
+
return new URL(input.url);
|
|
112
|
+
} catch {
|
|
113
|
+
return void 0;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
__name(requestUrl, "requestUrl");
|
|
117
|
+
function buildSessionIdHeaders(config, destination) {
|
|
118
|
+
try {
|
|
119
|
+
const url = requestUrl(destination);
|
|
120
|
+
if (url?.protocol !== "https:" || !SESSION_ID_HEADER_HOSTS.includes(url.hostname.toLowerCase())) {
|
|
121
|
+
return {};
|
|
122
|
+
}
|
|
123
|
+
const sessionId = config.getSessionId();
|
|
124
|
+
return sessionId ? { [SESSION_ID_HEADER]: sessionId } : {};
|
|
125
|
+
} catch (error) {
|
|
126
|
+
debugLogger2.warn(
|
|
127
|
+
`Unable to add ${SESSION_ID_HEADER} to outbound request: ${error instanceof Error ? error.message : String(error)}`
|
|
128
|
+
);
|
|
129
|
+
return {};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
__name(buildSessionIdHeaders, "buildSessionIdHeaders");
|
|
133
|
+
function wrapFetchWithSessionId(baseFetch, config, customHeaders) {
|
|
134
|
+
const fetchLike = baseFetch;
|
|
135
|
+
const expandsHeaders = Object.values(customHeaders ?? {}).some(
|
|
136
|
+
(value) => typeof value === "string" && hasDynamicPlaceholder(value)
|
|
137
|
+
);
|
|
138
|
+
if (expandsHeaders) warnIfDynamicHeadersDisabled(customHeaders, config);
|
|
139
|
+
const wrapped = /* @__PURE__ */ __name(async (input, init) => {
|
|
140
|
+
const sessionHeaders = buildSessionIdHeaders(config, input);
|
|
141
|
+
const sessionId = sessionHeaders[SESSION_ID_HEADER];
|
|
142
|
+
if (!sessionId && !expandsHeaders) return fetchLike(input, init);
|
|
143
|
+
const headers = new Headers(
|
|
144
|
+
input instanceof Request ? input.headers : void 0
|
|
145
|
+
);
|
|
146
|
+
new Headers(init?.headers).forEach((value, key) => headers.set(key, value));
|
|
147
|
+
if (expandsHeaders) applyDynamicHeaderValues(headers, config);
|
|
148
|
+
if (sessionId) headers.set(SESSION_ID_HEADER, sessionId);
|
|
149
|
+
return fetchLike(input, { ...init, headers });
|
|
150
|
+
}, "wrapped");
|
|
151
|
+
return wrapped;
|
|
152
|
+
}
|
|
153
|
+
__name(wrapFetchWithSessionId, "wrapFetchWithSessionId");
|
|
154
|
+
function buildSessionAwareFetch(runtimeFetch, config, customHeaders) {
|
|
155
|
+
const baseFetch = runtimeFetch ?? globalThis.fetch;
|
|
156
|
+
return wrapFetchWithSessionId(baseFetch, config, customHeaders);
|
|
157
|
+
}
|
|
158
|
+
__name(buildSessionAwareFetch, "buildSessionAwareFetch");
|
|
159
|
+
|
|
160
|
+
export {
|
|
161
|
+
warnIfDynamicHeadersDisabled,
|
|
162
|
+
hasDynamicPlaceholder,
|
|
163
|
+
expandDynamicHeaders,
|
|
164
|
+
buildSessionIdHeaders,
|
|
165
|
+
buildSessionAwareFetch
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* @license
|
|
169
|
+
* Copyright 2025 Qwen
|
|
170
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
171
|
+
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
escapeXml
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-G6UUOCUT.js";
|
|
6
6
|
import {
|
|
7
7
|
ToolNames
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MWIO7MF6.js";
|
|
9
9
|
import {
|
|
10
10
|
createDebugLogger
|
|
11
11
|
} from "./chunk-ZAFYHRVY.js";
|
|
@@ -18,7 +18,84 @@ import {
|
|
|
18
18
|
|
|
19
19
|
// packages/core/src/tools/skill-utils.ts
|
|
20
20
|
init_esbuild_shims();
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
// packages/core/src/hooks/registerSkillHooks.ts
|
|
23
|
+
init_esbuild_shims();
|
|
24
|
+
var debugLogger = createDebugLogger("SKILL_HOOKS");
|
|
25
|
+
function registerSkillHooks(sessionHooksManager, sessionId, skill) {
|
|
26
|
+
if (!skill.hooks) {
|
|
27
|
+
debugLogger.debug(`Skill '${skill.name}' has no hooks to register`);
|
|
28
|
+
return 0;
|
|
29
|
+
}
|
|
30
|
+
const hooksSettings = skill.hooks;
|
|
31
|
+
let registeredCount = 0;
|
|
32
|
+
for (const eventName of Object.keys(hooksSettings)) {
|
|
33
|
+
const matchers = hooksSettings[eventName];
|
|
34
|
+
if (!matchers) continue;
|
|
35
|
+
for (const matcher of matchers) {
|
|
36
|
+
const matcherPattern = matcher.matcher || "";
|
|
37
|
+
for (const hook of matcher.hooks) {
|
|
38
|
+
if (hook.type === "function" /* Function */) {
|
|
39
|
+
debugLogger.debug(
|
|
40
|
+
"Skipping function hook from skill (not supported in frontmatter)"
|
|
41
|
+
);
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const hookConfig = prepareHookConfig(
|
|
45
|
+
hook,
|
|
46
|
+
skill.skillRoot
|
|
47
|
+
);
|
|
48
|
+
const alreadyRegistered = sessionHooksManager.getHooksForEvent(sessionId, eventName).some(
|
|
49
|
+
(entry) => entry.matcher === matcherPattern && entry.skillRoot === skill.skillRoot && hookConfigKey(entry.config) === hookConfigKey(hookConfig)
|
|
50
|
+
);
|
|
51
|
+
if (alreadyRegistered) {
|
|
52
|
+
debugLogger.debug(
|
|
53
|
+
`Hook for ${eventName} with matcher '${matcherPattern}' from skill '${skill.name}' already registered; skipping duplicate`
|
|
54
|
+
);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
sessionHooksManager.addSessionHook(
|
|
58
|
+
sessionId,
|
|
59
|
+
eventName,
|
|
60
|
+
matcherPattern,
|
|
61
|
+
hookConfig,
|
|
62
|
+
{ skillRoot: skill.skillRoot, trustGated: skill.level === "project" }
|
|
63
|
+
);
|
|
64
|
+
registeredCount++;
|
|
65
|
+
debugLogger.debug(
|
|
66
|
+
`Registered hook for ${eventName} with matcher '${matcherPattern}' from skill '${skill.name}'`
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (registeredCount > 0) {
|
|
72
|
+
debugLogger.info(
|
|
73
|
+
`Registered ${registeredCount} hooks from skill '${skill.name}'`
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
return registeredCount;
|
|
77
|
+
}
|
|
78
|
+
__name(registerSkillHooks, "registerSkillHooks");
|
|
79
|
+
function hookConfigKey(hook) {
|
|
80
|
+
return `${hook.type}:${JSON.stringify(hook)}`;
|
|
81
|
+
}
|
|
82
|
+
__name(hookConfigKey, "hookConfigKey");
|
|
83
|
+
function prepareHookConfig(hook, skillRoot) {
|
|
84
|
+
if (hook.type === "command" && skillRoot) {
|
|
85
|
+
return {
|
|
86
|
+
...hook,
|
|
87
|
+
env: {
|
|
88
|
+
...hook.env,
|
|
89
|
+
QWEN_SKILL_ROOT: skillRoot
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return hook;
|
|
94
|
+
}
|
|
95
|
+
__name(prepareHookConfig, "prepareHookConfig");
|
|
96
|
+
|
|
97
|
+
// packages/core/src/tools/skill-utils.ts
|
|
98
|
+
var debugLogger2 = createDebugLogger("SKILL");
|
|
22
99
|
function buildSkillLlmContent(baseDir, body) {
|
|
23
100
|
return `Base directory for this skill: ${baseDir}
|
|
24
101
|
Important: ALWAYS resolve absolute paths from this base directory when working with skills.
|
|
@@ -145,11 +222,55 @@ function applySkillAllowedTools(permissionManager, allowedTools, options) {
|
|
|
145
222
|
}
|
|
146
223
|
}
|
|
147
224
|
__name(applySkillAllowedTools, "applySkillAllowedTools");
|
|
225
|
+
function applySkillHooks(config, skill) {
|
|
226
|
+
if (!skill.hooks || Object.keys(skill.hooks).length === 0) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
const hookSystem = config.getHookSystem();
|
|
230
|
+
const sessionId = config.getSessionId();
|
|
231
|
+
if (!hookSystem || !sessionId) {
|
|
232
|
+
debugLogger2.warn(
|
|
233
|
+
`Skipping hook registration for skill "${skill.name}": no hook system or session id (hooks disabled?)`
|
|
234
|
+
);
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const count = registerSkillHooks(
|
|
238
|
+
hookSystem.getSessionHooksManager(),
|
|
239
|
+
sessionId,
|
|
240
|
+
skill
|
|
241
|
+
);
|
|
242
|
+
if (count > 0) {
|
|
243
|
+
debugLogger2.info(`Registered ${count} hooks from skill "${skill.name}"`);
|
|
244
|
+
} else {
|
|
245
|
+
debugLogger2.debug(
|
|
246
|
+
`No new hooks registered from skill "${skill.name}" (already registered or none registrable)`
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
__name(applySkillHooks, "applySkillHooks");
|
|
251
|
+
function applySkillSideEffects(config, skill) {
|
|
252
|
+
if (!config) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
if (!canApplySkillSideEffects(skill, config)) {
|
|
256
|
+
if (skill.allowedTools?.length || skill.hooks) {
|
|
257
|
+
debugLogger2.warn(
|
|
258
|
+
`Skill "${skill.name}" is a project skill in an untrusted folder; ignoring its allowedTools and hooks.`
|
|
259
|
+
);
|
|
260
|
+
}
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
applySkillAllowedTools(config.getPermissionManager(), skill.allowedTools, {
|
|
264
|
+
trustGated: skill.level === "project"
|
|
265
|
+
});
|
|
266
|
+
applySkillHooks(config, skill);
|
|
267
|
+
}
|
|
268
|
+
__name(applySkillSideEffects, "applySkillSideEffects");
|
|
148
269
|
function clearLoadedSkillTracking(toolRegistry, logTag) {
|
|
149
270
|
const tool = toolRegistry?.getTool(ToolNames.SKILL);
|
|
150
271
|
if (tool && "clearLoadedSkills" in tool) {
|
|
151
272
|
tool.clearLoadedSkills();
|
|
152
|
-
|
|
273
|
+
debugLogger2.debug(
|
|
153
274
|
`[SKILL_TRACKING] conservatively cleared loaded-skill tracking after ${logTag}`
|
|
154
275
|
);
|
|
155
276
|
}
|
|
@@ -161,10 +282,14 @@ export {
|
|
|
161
282
|
clearCollectedSkillEntriesCache,
|
|
162
283
|
collectAvailableSkillEntries,
|
|
163
284
|
renderAvailableSkillsBlock,
|
|
164
|
-
|
|
165
|
-
applySkillAllowedTools,
|
|
285
|
+
applySkillSideEffects,
|
|
166
286
|
clearLoadedSkillTracking
|
|
167
287
|
};
|
|
288
|
+
/**
|
|
289
|
+
* @license
|
|
290
|
+
* Copyright 2026 Qwen Team
|
|
291
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
292
|
+
*/
|
|
168
293
|
/**
|
|
169
294
|
* @license
|
|
170
295
|
* Copyright 2025 Qwen
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getGitVersion,
|
|
5
5
|
getNpmVersion
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5IL2BZHW.js";
|
|
7
7
|
import {
|
|
8
8
|
buildEnvStatusFromEnv,
|
|
9
9
|
snapshotProcessEnv
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6RZX2HIH.js";
|
|
11
11
|
import {
|
|
12
12
|
mapDomainErrorToErrorKind
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FETY36NQ.js";
|
|
14
14
|
import {
|
|
15
15
|
canUseRipgrep
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TRWQQBVH.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-5O2XNYP6.js";
|