@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,12 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
isCommandAvailable
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-N6S3NUYJ.js";
|
|
6
6
|
import {
|
|
7
7
|
fileExists,
|
|
8
8
|
isWithinRoot
|
|
9
9
|
} from "./chunk-J6MB5ZHZ.js";
|
|
10
10
|
import {
|
|
11
|
+
atomicWriteFile,
|
|
11
12
|
atomicWriteJSON
|
|
12
13
|
} from "./chunk-XFFRI3WM.js";
|
|
13
14
|
import {
|
|
@@ -171,11 +172,17 @@ async function addWorktreeSessionMarkerExclude(worktreePath) {
|
|
|
171
172
|
existing = await fs2.readFile(excludePath, "utf8");
|
|
172
173
|
} catch {
|
|
173
174
|
}
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
175
|
+
const rules = [WORKTREE_SESSION_FILE, `${WORKTREE_SESSION_FILE}.*.tmp`];
|
|
176
|
+
let next = existing;
|
|
177
|
+
for (const rule of rules) {
|
|
178
|
+
if (!next.split(/\r?\n/).includes(rule)) {
|
|
179
|
+
const sep = next.length === 0 || next.endsWith("\n") ? "" : "\n";
|
|
180
|
+
next = `${next}${sep}${rule}
|
|
181
|
+
`;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
if (next !== existing) {
|
|
185
|
+
await fs2.writeFile(excludePath, next, "utf8");
|
|
179
186
|
}
|
|
180
187
|
} catch {
|
|
181
188
|
}
|
|
@@ -190,15 +197,32 @@ async function writeWorktreeSessionMarker(worktreePath, sessionId) {
|
|
|
190
197
|
await addWorktreeSessionMarkerExclude(worktreePath);
|
|
191
198
|
}
|
|
192
199
|
__name(writeWorktreeSessionMarker, "writeWorktreeSessionMarker");
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
200
|
+
var WorktreeMarkerCommittedError = class extends Error {
|
|
201
|
+
static {
|
|
202
|
+
__name(this, "WorktreeMarkerCommittedError");
|
|
196
203
|
}
|
|
204
|
+
committedOwner;
|
|
205
|
+
constructor(committedOwner, options) {
|
|
206
|
+
super(
|
|
207
|
+
`Worktree session marker committed for ${committedOwner}; the post-commit close failed`,
|
|
208
|
+
options
|
|
209
|
+
);
|
|
210
|
+
this.name = "WorktreeMarkerCommittedError";
|
|
211
|
+
this.committedOwner = committedOwner;
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
async function createWorktreeSessionMarkerExclusive(worktreePath, sessionId) {
|
|
215
|
+
assertValidWorktreeSessionMarkerOwner(sessionId);
|
|
197
216
|
const markerPath = path2.join(worktreePath, WORKTREE_SESSION_FILE);
|
|
217
|
+
const stagedPath = `${markerPath}.${randomBytes(6).toString("hex")}.tmp`;
|
|
198
218
|
const flags = nodeFs.constants.O_WRONLY | nodeFs.constants.O_CREAT | nodeFs.constants.O_EXCL | (nodeFs.constants.O_NOFOLLOW ?? 0);
|
|
199
|
-
const handle = await fs2.open(
|
|
219
|
+
const handle = await fs2.open(stagedPath, flags, 384);
|
|
220
|
+
let stagedDev = 0;
|
|
221
|
+
let stagedIno = 0;
|
|
200
222
|
try {
|
|
201
223
|
const before = await handle.stat();
|
|
224
|
+
stagedDev = before.dev;
|
|
225
|
+
stagedIno = before.ino;
|
|
202
226
|
if (!before.isFile() || before.nlink !== 1 || before.ino === 0) {
|
|
203
227
|
throw new Error("Worktree session marker has an unsafe identity");
|
|
204
228
|
}
|
|
@@ -206,17 +230,43 @@ async function createWorktreeSessionMarkerExclusive(worktreePath, sessionId) {
|
|
|
206
230
|
await handle.sync();
|
|
207
231
|
const [after, pathStats] = await Promise.all([
|
|
208
232
|
handle.stat(),
|
|
209
|
-
fs2.lstat(
|
|
233
|
+
fs2.lstat(stagedPath)
|
|
210
234
|
]);
|
|
211
235
|
if (!after.isFile() || after.nlink !== 1 || after.size > WORKTREE_SESSION_MARKER_MAX_BYTES || after.dev !== before.dev || after.ino !== before.ino || pathStats.dev !== after.dev || pathStats.ino !== after.ino) {
|
|
212
236
|
throw new Error("Worktree session marker identity changed");
|
|
213
237
|
}
|
|
214
|
-
|
|
238
|
+
await fs2.link(stagedPath, markerPath);
|
|
239
|
+
} catch (error) {
|
|
240
|
+
await handle.close().catch(() => {
|
|
241
|
+
});
|
|
242
|
+
if (stagedIno !== 0) {
|
|
243
|
+
try {
|
|
244
|
+
const current = await fs2.lstat(stagedPath);
|
|
245
|
+
if (current.dev === stagedDev && current.ino === stagedIno) {
|
|
246
|
+
await fs2.unlink(stagedPath);
|
|
247
|
+
}
|
|
248
|
+
} catch {
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
throw error;
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
await fs2.unlink(stagedPath);
|
|
215
255
|
await handle.close();
|
|
256
|
+
} catch (error) {
|
|
257
|
+
await handle.close().catch(() => {
|
|
258
|
+
});
|
|
259
|
+
throw new WorktreeMarkerCommittedError(sessionId, { cause: error });
|
|
216
260
|
}
|
|
217
261
|
await addWorktreeSessionMarkerExclude(worktreePath);
|
|
218
262
|
}
|
|
219
263
|
__name(createWorktreeSessionMarkerExclusive, "createWorktreeSessionMarkerExclusive");
|
|
264
|
+
function assertValidWorktreeSessionMarkerOwner(sessionId) {
|
|
265
|
+
if (sessionId.length === 0 || Buffer.byteLength(sessionId, "utf8") > WORKTREE_SESSION_MARKER_MAX_BYTES || sessionId.trim() !== sessionId) {
|
|
266
|
+
throw new Error("Invalid worktree session marker owner");
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
__name(assertValidWorktreeSessionMarkerOwner, "assertValidWorktreeSessionMarkerOwner");
|
|
220
270
|
async function readWorktreeSessionMarkerStrict(worktreePath) {
|
|
221
271
|
const markerPath = path2.join(worktreePath, WORKTREE_SESSION_FILE);
|
|
222
272
|
let handle;
|
|
@@ -267,7 +317,13 @@ async function readWorktreeSessionMarkerStrict(worktreePath) {
|
|
|
267
317
|
if (sessionId.length === 0 || sessionId !== raw || Buffer.byteLength(sessionId, "utf8") > WORKTREE_SESSION_MARKER_MAX_BYTES) {
|
|
268
318
|
return { state: "invalid", reason: "invalid marker owner" };
|
|
269
319
|
}
|
|
270
|
-
return {
|
|
320
|
+
return {
|
|
321
|
+
state: "valid",
|
|
322
|
+
sessionId,
|
|
323
|
+
uid: process.geteuid === void 0 ? null : after.uid,
|
|
324
|
+
dev: after.dev,
|
|
325
|
+
ino: after.ino
|
|
326
|
+
};
|
|
271
327
|
} catch (error) {
|
|
272
328
|
if (isNodeError(error) && error.code === "ENOENT") {
|
|
273
329
|
return observedMarker ? { state: "invalid", reason: "marker disappeared during read" } : { state: "missing" };
|
|
@@ -282,6 +338,122 @@ async function readWorktreeSessionMarkerStrict(worktreePath) {
|
|
|
282
338
|
}
|
|
283
339
|
}
|
|
284
340
|
__name(readWorktreeSessionMarkerStrict, "readWorktreeSessionMarkerStrict");
|
|
341
|
+
function readWorktreeSessionMarkerStrictSync(worktreePath) {
|
|
342
|
+
const markerPath = path2.join(worktreePath, WORKTREE_SESSION_FILE);
|
|
343
|
+
let fd;
|
|
344
|
+
let observedMarker = false;
|
|
345
|
+
try {
|
|
346
|
+
const flags = nodeFs.constants.O_RDONLY | (nodeFs.constants.O_NOFOLLOW ?? 0) | (nodeFs.constants.O_NONBLOCK ?? 0);
|
|
347
|
+
const before = nodeFs.lstatSync(markerPath);
|
|
348
|
+
observedMarker = true;
|
|
349
|
+
if (before.isSymbolicLink() || !before.isFile() || before.nlink !== 1) {
|
|
350
|
+
return { state: "invalid", reason: "unsafe marker file type" };
|
|
351
|
+
}
|
|
352
|
+
if (before.ino === 0 || before.size > WORKTREE_SESSION_MARKER_MAX_BYTES) {
|
|
353
|
+
return { state: "invalid", reason: "unsafe marker size or identity" };
|
|
354
|
+
}
|
|
355
|
+
fd = nodeFs.openSync(markerPath, flags);
|
|
356
|
+
const opened = nodeFs.fstatSync(fd);
|
|
357
|
+
if (!opened.isFile() || opened.nlink !== 1 || opened.dev !== before.dev || opened.ino !== before.ino) {
|
|
358
|
+
return {
|
|
359
|
+
state: "invalid",
|
|
360
|
+
reason: "marker identity changed before read"
|
|
361
|
+
};
|
|
362
|
+
}
|
|
363
|
+
const markerBuffer = Buffer.alloc(WORKTREE_SESSION_MARKER_MAX_BYTES + 1);
|
|
364
|
+
let bytesRead = 0;
|
|
365
|
+
while (bytesRead < markerBuffer.length) {
|
|
366
|
+
const chunk = nodeFs.readSync(
|
|
367
|
+
fd,
|
|
368
|
+
markerBuffer,
|
|
369
|
+
bytesRead,
|
|
370
|
+
markerBuffer.length - bytesRead,
|
|
371
|
+
bytesRead
|
|
372
|
+
);
|
|
373
|
+
if (chunk === 0) break;
|
|
374
|
+
bytesRead += chunk;
|
|
375
|
+
}
|
|
376
|
+
if (bytesRead > WORKTREE_SESSION_MARKER_MAX_BYTES) {
|
|
377
|
+
return { state: "invalid", reason: "unsafe marker size or identity" };
|
|
378
|
+
}
|
|
379
|
+
const raw = markerBuffer.subarray(0, bytesRead).toString("utf8");
|
|
380
|
+
const after = nodeFs.fstatSync(fd);
|
|
381
|
+
const pathStats = nodeFs.lstatSync(markerPath);
|
|
382
|
+
if (!after.isFile() || after.nlink !== 1 || after.size !== bytesRead || after.size > WORKTREE_SESSION_MARKER_MAX_BYTES || after.dev !== opened.dev || after.ino !== opened.ino || !pathStats.isFile() || pathStats.nlink !== 1 || pathStats.dev !== after.dev || pathStats.ino !== after.ino) {
|
|
383
|
+
return {
|
|
384
|
+
state: "invalid",
|
|
385
|
+
reason: "marker identity changed during read"
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
const sessionId = raw.trim();
|
|
389
|
+
if (sessionId.length === 0 || sessionId !== raw || Buffer.byteLength(sessionId, "utf8") > WORKTREE_SESSION_MARKER_MAX_BYTES) {
|
|
390
|
+
return { state: "invalid", reason: "invalid marker owner" };
|
|
391
|
+
}
|
|
392
|
+
return {
|
|
393
|
+
state: "valid",
|
|
394
|
+
sessionId,
|
|
395
|
+
uid: process.geteuid === void 0 ? null : after.uid,
|
|
396
|
+
dev: after.dev,
|
|
397
|
+
ino: after.ino
|
|
398
|
+
};
|
|
399
|
+
} catch (error) {
|
|
400
|
+
if (isNodeError(error) && error.code === "ENOENT") {
|
|
401
|
+
return observedMarker ? { state: "invalid", reason: "marker disappeared during read" } : { state: "missing" };
|
|
402
|
+
}
|
|
403
|
+
return {
|
|
404
|
+
state: "invalid",
|
|
405
|
+
reason: error instanceof Error ? error.message : String(error)
|
|
406
|
+
};
|
|
407
|
+
} finally {
|
|
408
|
+
if (fd !== void 0) {
|
|
409
|
+
try {
|
|
410
|
+
nodeFs.closeSync(fd);
|
|
411
|
+
} catch {
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
__name(readWorktreeSessionMarkerStrictSync, "readWorktreeSessionMarkerStrictSync");
|
|
417
|
+
async function transferWorktreeSessionMarkerOwner(worktreePath, expectedOwner, newOwner) {
|
|
418
|
+
assertValidWorktreeSessionMarkerOwner(newOwner);
|
|
419
|
+
if (expectedOwner !== null) {
|
|
420
|
+
assertValidWorktreeSessionMarkerOwner(expectedOwner);
|
|
421
|
+
if (expectedOwner === newOwner) {
|
|
422
|
+
throw new Error("Worktree marker transfer needs a distinct new owner");
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
const opening = await readWorktreeSessionMarkerStrict(worktreePath);
|
|
426
|
+
if (opening.state === "invalid") {
|
|
427
|
+
throw new Error(`Worktree marker is invalid: ${opening.reason}`);
|
|
428
|
+
}
|
|
429
|
+
if (opening.state === "missing") {
|
|
430
|
+
if (expectedOwner !== null) {
|
|
431
|
+
throw new Error("Worktree marker owner does not match the expectation");
|
|
432
|
+
}
|
|
433
|
+
await createWorktreeSessionMarkerExclusive(worktreePath, newOwner);
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
if (opening.sessionId !== expectedOwner) {
|
|
437
|
+
throw new Error("Worktree marker owner does not match the expectation");
|
|
438
|
+
}
|
|
439
|
+
const euid = process.geteuid?.();
|
|
440
|
+
if (euid !== void 0 && opening.uid !== null && opening.uid !== euid) {
|
|
441
|
+
throw new Error("Worktree marker is owned by a different uid");
|
|
442
|
+
}
|
|
443
|
+
const markerPath = path2.join(worktreePath, WORKTREE_SESSION_FILE);
|
|
444
|
+
await atomicWriteFile(markerPath, newOwner, {
|
|
445
|
+
mode: 384,
|
|
446
|
+
noFollow: true,
|
|
447
|
+
assertCanCommit: /* @__PURE__ */ __name(() => {
|
|
448
|
+
const current = readWorktreeSessionMarkerStrictSync(worktreePath);
|
|
449
|
+
if (current.state !== "valid" || current.sessionId !== opening.sessionId || current.dev !== opening.dev || current.ino !== opening.ino || current.uid !== opening.uid) {
|
|
450
|
+
throw new Error("Worktree marker changed during ownership transfer");
|
|
451
|
+
}
|
|
452
|
+
}, "assertCanCommit")
|
|
453
|
+
});
|
|
454
|
+
await addWorktreeSessionMarkerExclude(worktreePath);
|
|
455
|
+
}
|
|
456
|
+
__name(transferWorktreeSessionMarkerOwner, "transferWorktreeSessionMarkerOwner");
|
|
285
457
|
async function readWorktreeSessionMarker(worktreePath) {
|
|
286
458
|
const markerPath = path2.join(worktreePath, WORKTREE_SESSION_FILE);
|
|
287
459
|
try {
|
|
@@ -1826,9 +1998,12 @@ export {
|
|
|
1826
1998
|
clearRuntimeStatus,
|
|
1827
1999
|
loadSimpleGit,
|
|
1828
2000
|
worktreeBranchForSlug,
|
|
2001
|
+
WORKTREE_SESSION_FILE,
|
|
1829
2002
|
writeWorktreeSessionMarker,
|
|
2003
|
+
WorktreeMarkerCommittedError,
|
|
1830
2004
|
createWorktreeSessionMarkerExclusive,
|
|
1831
2005
|
readWorktreeSessionMarkerStrict,
|
|
2006
|
+
transferWorktreeSessionMarkerOwner,
|
|
1832
2007
|
readWorktreeSessionMarker,
|
|
1833
2008
|
AGENT_WORKTREE_SLUG_PATTERN,
|
|
1834
2009
|
generateAgentWorktreeSlug,
|
|
@@ -2,26 +2,26 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-CRZBDVP2.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
8
|
estimateContextTextTokens,
|
|
9
9
|
formatContextFileDisplayPath,
|
|
10
10
|
getMainSessionBaseSystemPrompt
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PDUMGZ2P.js";
|
|
12
12
|
import {
|
|
13
13
|
DiscoveredMCPTool,
|
|
14
14
|
uiTelemetryService
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6QV7Z74P.js";
|
|
16
16
|
import {
|
|
17
17
|
DEFAULT_TOKEN_LIMIT
|
|
18
18
|
} from "./chunk-FPGTNKCP.js";
|
|
19
19
|
import {
|
|
20
20
|
buildSkillLlmContent
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-O2FEO2CB.js";
|
|
22
22
|
import {
|
|
23
23
|
ToolNames
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-MWIO7MF6.js";
|
|
25
25
|
import {
|
|
26
26
|
init_esbuild_shims
|
|
27
27
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import {
|
|
4
4
|
SERVE_CONTROL_EXT_METHODS,
|
|
5
5
|
STATUS_SCHEMA_VERSION
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FETY36NQ.js";
|
|
7
7
|
import {
|
|
8
8
|
WorkspaceDrainingError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-FAWTMDX7.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import {
|
|
4
4
|
TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
|
|
5
5
|
detectTurnInterruption
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ZU2T5JIS.js";
|
|
7
7
|
import {
|
|
8
8
|
SessionService,
|
|
9
9
|
buildApiHistoryFromConversation
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-PDUMGZ2P.js";
|
|
11
11
|
import {
|
|
12
12
|
init_esbuild_shims
|
|
13
13
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
hasControlCharacter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-OWCFKIFQ.js";
|
|
6
6
|
import {
|
|
7
7
|
BaseDeclarativeTool,
|
|
8
8
|
BaseToolInvocation,
|
|
9
9
|
ToolDisplayNames,
|
|
10
10
|
ToolNames
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MWIO7MF6.js";
|
|
12
12
|
import {
|
|
13
13
|
init_esbuild_shims
|
|
14
14
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
4
|
+
ACP_ROUTE_ID_PREFIX
|
|
5
|
+
} from "./chunk-ARYNBBBM.js";
|
|
6
|
+
import {
|
|
7
|
+
REASONING_EFFORT_TIERS,
|
|
8
|
+
parseModelReasoningCapabilities
|
|
9
|
+
} from "./chunk-6YEOCHSE.js";
|
|
6
10
|
import {
|
|
7
11
|
init_esbuild_shims
|
|
8
12
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -14,19 +18,34 @@ import {
|
|
|
14
18
|
init_esbuild_shims();
|
|
15
19
|
var MODEL_CONFIGURATIONS = {
|
|
16
20
|
"qwen3.5-plus": {
|
|
17
|
-
reasoning: {
|
|
21
|
+
reasoning: {
|
|
22
|
+
thinking: true,
|
|
23
|
+
toggleOnly: true
|
|
24
|
+
}
|
|
18
25
|
},
|
|
19
26
|
"qwen3.6-plus": {
|
|
20
|
-
reasoning: {
|
|
27
|
+
reasoning: {
|
|
28
|
+
thinking: true,
|
|
29
|
+
toggleOnly: true
|
|
30
|
+
}
|
|
21
31
|
},
|
|
22
32
|
"qwen3.6-flash": {
|
|
23
|
-
reasoning: {
|
|
33
|
+
reasoning: {
|
|
34
|
+
thinking: true,
|
|
35
|
+
toggleOnly: true
|
|
36
|
+
}
|
|
24
37
|
},
|
|
25
38
|
"qwen3.7-plus": {
|
|
26
|
-
reasoning: {
|
|
39
|
+
reasoning: {
|
|
40
|
+
thinking: true,
|
|
41
|
+
toggleOnly: true
|
|
42
|
+
}
|
|
27
43
|
},
|
|
28
44
|
"qwen3.7-max": {
|
|
29
|
-
reasoning: {
|
|
45
|
+
reasoning: {
|
|
46
|
+
thinking: true,
|
|
47
|
+
toggleOnly: true
|
|
48
|
+
}
|
|
30
49
|
},
|
|
31
50
|
"qwen3.8-max": {
|
|
32
51
|
reasoning: {
|
|
@@ -47,18 +66,45 @@ var REASONING_EFFORT_NAMES = {
|
|
|
47
66
|
xhigh: "Extra high",
|
|
48
67
|
max: "Max"
|
|
49
68
|
};
|
|
50
|
-
function resolvePersistedReasoningConfigState(modelId, value, thinkingMandatory = false) {
|
|
69
|
+
function resolvePersistedReasoningConfigState(modelId, value, thinkingMandatory = false, reasoning) {
|
|
51
70
|
const selection = parseReasoningSelection(value);
|
|
52
|
-
if (!selection || selection === REASONING_EFFORT_DEFAULT || !isReasoningSelectionSupported(
|
|
71
|
+
if (!selection || selection === REASONING_EFFORT_DEFAULT || !isReasoningSelectionSupported(
|
|
72
|
+
modelId,
|
|
73
|
+
selection,
|
|
74
|
+
thinkingMandatory,
|
|
75
|
+
reasoning
|
|
76
|
+
)) {
|
|
53
77
|
return { thinkingMandatory };
|
|
54
78
|
}
|
|
55
79
|
return selection === REASONING_EFFORT_NONE ? { enabled: false, thinkingMandatory } : { enabled: true, effort: selection, thinkingMandatory };
|
|
56
80
|
}
|
|
57
81
|
__name(resolvePersistedReasoningConfigState, "resolvePersistedReasoningConfigState");
|
|
58
|
-
function getModelConfiguration(modelId) {
|
|
59
|
-
|
|
82
|
+
function getModelConfiguration(modelId, reasoning) {
|
|
83
|
+
const configured = parseModelReasoningCapabilities(reasoning);
|
|
84
|
+
return configured ? { reasoning: configured } : modelId ? MODEL_CONFIGURATIONS[modelId] : void 0;
|
|
60
85
|
}
|
|
61
86
|
__name(getModelConfiguration, "getModelConfiguration");
|
|
87
|
+
function getConfiguredModelReasoning(config, modelId = config.getModel?.(), fallbackToManifest = true) {
|
|
88
|
+
if (config.getActiveRuntimeModelSnapshot?.() || config.getModel?.().startsWith(ACP_ROUTE_ID_PREFIX)) {
|
|
89
|
+
return void 0;
|
|
90
|
+
}
|
|
91
|
+
const generation = config.getContentGeneratorConfig?.();
|
|
92
|
+
const authType = generation?.authType ?? config.getAuthType?.();
|
|
93
|
+
const baseUrl = generation?.baseUrl ?? config.getCurrentModelRegistryBaseUrl?.() ?? void 0;
|
|
94
|
+
const configured = authType ? config.getResolvedModelConfig?.(authType, modelId, baseUrl) : void 0;
|
|
95
|
+
const reasoning = parseModelReasoningCapabilities(
|
|
96
|
+
configured?.capabilities?.reasoning
|
|
97
|
+
);
|
|
98
|
+
return reasoning ?? (fallbackToManifest ? getModelConfiguration(modelId)?.reasoning : void 0);
|
|
99
|
+
}
|
|
100
|
+
__name(getConfiguredModelReasoning, "getConfiguredModelReasoning");
|
|
101
|
+
function getReasoningEffortsForConfig(config) {
|
|
102
|
+
const modelId = config.getModel?.();
|
|
103
|
+
const reasoning = getConfiguredModelReasoning(config, modelId, false);
|
|
104
|
+
if (reasoning) return reasoning.toggleOnly ? [] : reasoning.efforts;
|
|
105
|
+
return REASONING_EFFORT_TIERS;
|
|
106
|
+
}
|
|
107
|
+
__name(getReasoningEffortsForConfig, "getReasoningEffortsForConfig");
|
|
62
108
|
function parseReasoningSelection(value) {
|
|
63
109
|
if (value === REASONING_EFFORT_NONE || value === REASONING_EFFORT_DEFAULT) {
|
|
64
110
|
return value;
|
|
@@ -66,17 +112,22 @@ function parseReasoningSelection(value) {
|
|
|
66
112
|
return REASONING_EFFORT_TIERS.find((tier) => tier === value);
|
|
67
113
|
}
|
|
68
114
|
__name(parseReasoningSelection, "parseReasoningSelection");
|
|
69
|
-
function isReasoningSelectionSupported(modelId, selection, thinkingMandatory = false) {
|
|
115
|
+
function isReasoningSelectionSupported(modelId, selection, thinkingMandatory = false, configuredReasoning) {
|
|
70
116
|
if (!modelId) return false;
|
|
71
|
-
const reasoning = getModelConfiguration(
|
|
117
|
+
const reasoning = getModelConfiguration(
|
|
118
|
+
modelId,
|
|
119
|
+
configuredReasoning
|
|
120
|
+
)?.reasoning;
|
|
72
121
|
if (!reasoning?.thinking) {
|
|
73
122
|
const normalized = modelId.toLowerCase();
|
|
74
123
|
if (normalized.startsWith("qwen") || normalized === "coder-model")
|
|
75
124
|
return false;
|
|
76
125
|
}
|
|
77
126
|
if (selection === REASONING_EFFORT_DEFAULT) return true;
|
|
78
|
-
if (selection === REASONING_EFFORT_NONE)
|
|
79
|
-
|
|
127
|
+
if (selection === REASONING_EFFORT_NONE) {
|
|
128
|
+
return reasoning?.canDisable !== false && !thinkingMandatory;
|
|
129
|
+
}
|
|
130
|
+
return reasoning?.thinking ? !reasoning.toggleOnly && reasoning.efforts?.includes(selection) === true : REASONING_EFFORT_TIERS.includes(selection);
|
|
80
131
|
}
|
|
81
132
|
__name(isReasoningSelectionSupported, "isReasoningSelectionSupported");
|
|
82
133
|
function clearReasoningRequestOverrides(generation) {
|
|
@@ -124,11 +175,14 @@ function applyReasoningSelection(config, selection, defaultReasoning) {
|
|
|
124
175
|
if (rebuildable !== live) apply(rebuildable);
|
|
125
176
|
}
|
|
126
177
|
__name(applyReasoningSelection, "applyReasoningSelection");
|
|
127
|
-
function buildModelReasoningConfigOption(modelId, state = {}) {
|
|
128
|
-
const reasoning = getModelConfiguration(
|
|
178
|
+
function buildModelReasoningConfigOption(modelId, state = {}, configuredReasoning) {
|
|
179
|
+
const reasoning = getModelConfiguration(
|
|
180
|
+
modelId,
|
|
181
|
+
configuredReasoning
|
|
182
|
+
)?.reasoning;
|
|
129
183
|
if (!reasoning?.thinking) return void 0;
|
|
130
|
-
const
|
|
131
|
-
const currentValue = state.enabled === false &&
|
|
184
|
+
const canDisable = reasoning.canDisable !== false && state.thinkingMandatory !== true;
|
|
185
|
+
const currentValue = state.enabled === false && canDisable ? REASONING_EFFORT_NONE : reasoning.toggleOnly ? REASONING_EFFORT_DEFAULT : reasoning.efforts?.find((effort) => effort === state.effort) ?? reasoning.defaultEffort ?? REASONING_EFFORT_DEFAULT;
|
|
132
186
|
return {
|
|
133
187
|
id: "reasoning_effort",
|
|
134
188
|
name: "Reasoning effort",
|
|
@@ -137,41 +191,57 @@ function buildModelReasoningConfigOption(modelId, state = {}) {
|
|
|
137
191
|
type: "select",
|
|
138
192
|
currentValue,
|
|
139
193
|
options: [
|
|
140
|
-
...
|
|
194
|
+
...canDisable ? [
|
|
141
195
|
{
|
|
142
196
|
value: REASONING_EFFORT_NONE,
|
|
143
197
|
name: "Thinking off",
|
|
144
198
|
description: "Disable thinking for this session"
|
|
145
199
|
}
|
|
146
|
-
],
|
|
200
|
+
] : [],
|
|
147
201
|
...reasoning.toggleOnly ? [
|
|
148
202
|
{
|
|
149
203
|
value: REASONING_EFFORT_DEFAULT,
|
|
150
204
|
name: "Thinking on",
|
|
151
205
|
description: "Use the model or provider thinking default"
|
|
152
206
|
}
|
|
153
|
-
] :
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
207
|
+
] : [
|
|
208
|
+
...reasoning.defaultEffort ? [] : [
|
|
209
|
+
{
|
|
210
|
+
value: REASONING_EFFORT_DEFAULT,
|
|
211
|
+
name: "Default",
|
|
212
|
+
description: "Use the model or provider default"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
...reasoning.efforts.map((effort) => ({
|
|
216
|
+
value: effort,
|
|
217
|
+
name: REASONING_EFFORT_NAMES[effort],
|
|
218
|
+
description: "Apply this effort to the next request"
|
|
219
|
+
}))
|
|
220
|
+
]
|
|
158
221
|
],
|
|
159
222
|
_meta: {
|
|
160
223
|
"qwenCode/reasoning": reasoning.toggleOnly ? {
|
|
161
224
|
toggleOnly: true,
|
|
162
|
-
...
|
|
225
|
+
...canDisable ? {} : { thinkingMandatory: true }
|
|
163
226
|
} : {
|
|
164
|
-
defaultEffort: reasoning.defaultEffort,
|
|
165
|
-
...
|
|
227
|
+
...reasoning.defaultEffort ? { defaultEffort: reasoning.defaultEffort } : {},
|
|
228
|
+
...canDisable ? {} : { thinkingMandatory: true }
|
|
166
229
|
}
|
|
167
230
|
}
|
|
168
231
|
};
|
|
169
232
|
}
|
|
170
233
|
__name(buildModelReasoningConfigOption, "buildModelReasoningConfigOption");
|
|
171
|
-
function buildModelReasoningConfigPreview(modelId, state = {}) {
|
|
172
|
-
const reasoning = getModelConfiguration(
|
|
234
|
+
function buildModelReasoningConfigPreview(modelId, state = {}, configuredReasoning) {
|
|
235
|
+
const reasoning = getModelConfiguration(
|
|
236
|
+
modelId,
|
|
237
|
+
configuredReasoning
|
|
238
|
+
)?.reasoning;
|
|
173
239
|
if (!reasoning?.thinking) return void 0;
|
|
174
|
-
const option = buildModelReasoningConfigOption(
|
|
240
|
+
const option = buildModelReasoningConfigOption(
|
|
241
|
+
modelId,
|
|
242
|
+
state,
|
|
243
|
+
configuredReasoning
|
|
244
|
+
);
|
|
175
245
|
return option ? [option] : void 0;
|
|
176
246
|
}
|
|
177
247
|
__name(buildModelReasoningConfigPreview, "buildModelReasoningConfigPreview");
|
|
@@ -183,7 +253,8 @@ export {
|
|
|
183
253
|
REASONING_SELECTION_PERSISTED_META_KEY,
|
|
184
254
|
REASONING_EFFORT_NAMES,
|
|
185
255
|
resolvePersistedReasoningConfigState,
|
|
186
|
-
|
|
256
|
+
getConfiguredModelReasoning,
|
|
257
|
+
getReasoningEffortsForConfig,
|
|
187
258
|
parseReasoningSelection,
|
|
188
259
|
isReasoningSelectionSupported,
|
|
189
260
|
clearReasoningRequestOverrides,
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DXQ6Z7AH.js";
|
|
6
6
|
import {
|
|
7
7
|
CUSTOM_SANDBOX_IMAGE_ENV_VAR,
|
|
8
8
|
HOST_UPDATE_RELAUNCH_ENV_VAR,
|
|
9
9
|
SKIP_UPDATE_CHECK_ENV_VAR,
|
|
10
10
|
requestUpdateOnExit
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-RXT4QBDX.js";
|
|
12
12
|
import {
|
|
13
13
|
loadUndici
|
|
14
14
|
} from "./chunk-TXASDT2M.js";
|
|
15
15
|
import {
|
|
16
16
|
getAllProviderBaseUrls
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-ZU2T5JIS.js";
|
|
18
18
|
import {
|
|
19
19
|
IdeClient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-PDUMGZ2P.js";
|
|
21
21
|
import {
|
|
22
22
|
detectRuntime,
|
|
23
23
|
getOrCreateSharedDispatcher,
|
|
@@ -233,11 +233,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
|
|
|
233
233
|
{ updateEventEmitter },
|
|
234
234
|
{ t }
|
|
235
235
|
] = await Promise.all([
|
|
236
|
-
import("./updateCheck-
|
|
237
|
-
import("./handleAutoUpdate-
|
|
238
|
-
import("./installationInfo-
|
|
236
|
+
import("./updateCheck-WAVFLWNG.js"),
|
|
237
|
+
import("./handleAutoUpdate-2FUNJO3B.js"),
|
|
238
|
+
import("./installationInfo-232RA2OK.js"),
|
|
239
239
|
import("./updateEventEmitter-5MKC7BLQ.js"),
|
|
240
|
-
import("./i18n-
|
|
240
|
+
import("./i18n-FDIA6KFI.js")
|
|
241
241
|
]);
|
|
242
242
|
const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
|
|
243
243
|
reason: describeUpdateCheckFailure(error)
|
|
@@ -310,7 +310,7 @@ ${t(
|
|
|
310
310
|
state: "connecting"
|
|
311
311
|
});
|
|
312
312
|
try {
|
|
313
|
-
const { connectIdeForStartup } = await import("./initializer-
|
|
313
|
+
const { connectIdeForStartup } = await import("./initializer-4MJTJOTW.js");
|
|
314
314
|
await withTimeout(
|
|
315
315
|
connectIdeForStartup(config),
|
|
316
316
|
"ide_connect",
|
|
@@ -334,7 +334,7 @@ ${t(
|
|
|
334
334
|
}
|
|
335
335
|
if (config.isInteractive()) {
|
|
336
336
|
runDeferredTask("background_housekeeping", async () => {
|
|
337
|
-
const { startBackgroundHousekeeping } = await import("./scheduler-
|
|
337
|
+
const { startBackgroundHousekeeping } = await import("./scheduler-J44M72VM.js");
|
|
338
338
|
startBackgroundHousekeeping(config, settings);
|
|
339
339
|
});
|
|
340
340
|
}
|