@qwen-code/qwen-code 0.23.1-preview.2 → 0.23.2-nightly.20260909.2e212144d3
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/README.md +35 -15
- 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/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -16
- package/bundled/qc-helper/docs/configuration/settings.md +50 -0
- package/bundled/qc-helper/docs/conversations-recovery.md +102 -0
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
- package/bundled/qc-helper/docs/features/channels/github.md +1 -9
- package/bundled/qc-helper/docs/features/channels/overview.md +27 -52
- package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
- package/bundled/qc-helper/docs/features/commands.md +79 -17
- package/bundled/qc-helper/docs/features/computer-use.md +9 -7
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +291 -0
- package/bundled/qc-helper/docs/features/followup-suggestions.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +17 -3
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
- package/bundled/qc-helper/docs/qwen-serve.md +80 -48
- package/chunks/{MaxSizedBox-IYIQ43IZ.js → MaxSizedBox-ZBGWYJZW.js} +29 -28
- package/chunks/{StandaloneSessionPicker-AWB2OHX6.js → StandaloneSessionPicker-NR5ACIJZ.js} +48 -47
- package/chunks/{acp-startup-profiler-BAL4LJTN.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
- package/chunks/{acpAgent-ZC57OLS4.js → acpAgent-DM6XRCDQ.js} +361 -210
- package/chunks/{agent-GEBPAEJS.js → agent-EF3IIYE3.js} +20 -20
- package/chunks/{agent-headless-63ZEYAJK.js → agent-headless-5J2KFYR4.js} +20 -20
- package/chunks/{anthropicContentGenerator-6XDHXIII.js → anthropicContentGenerator-VIW2FG7G.js} +32 -9
- package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
- package/chunks/{askUserQuestion-3KAYLLMM.js → askUserQuestion-R3TXY77M.js} +1 -1
- package/chunks/{bridge-MHWO5I5T.js → bridge-LEMQM6QE.js} +32 -31
- package/chunks/{channel-management-service-NFRZXQFO.js → channel-management-service-TGF6XFXT.js} +4 -4
- package/chunks/{channel-settings-store-T7PMIHKC.js → channel-settings-store-FV365JSF.js} +40 -39
- package/chunks/{channel-worker-group-O2BWK5F7.js → channel-worker-group-SQ5FRWOH.js} +7 -7
- package/chunks/{channel-worker-manager-4WP7VJOD.js → channel-worker-manager-TU4ZNWOE.js} +7 -7
- package/chunks/{channel-worker-supervisor-CCUXD6J5.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
- package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
- package/chunks/{chunk-OFB36ZBA.js → chunk-2HYOOFDS.js} +10 -7
- package/chunks/chunk-2Z3T52OC.js +82 -0
- package/chunks/{chunk-LYHYXJJ3.js → chunk-34VPADLG.js} +3 -3
- package/chunks/{chunk-C7M445SS.js → chunk-3A2IMUDH.js} +14 -2
- package/chunks/{chunk-P5Z7VD23.js → chunk-3O77M472.js} +294 -87
- package/chunks/{chunk-4OCYWXKF.js → chunk-43EUMPKQ.js} +3 -3
- package/chunks/{chunk-W4LL5RZO.js → chunk-4ALNJDHL.js} +52 -13
- package/chunks/{chunk-VMFPZXRT.js → chunk-4DIMJKWU.js} +64 -43
- package/chunks/{chunk-ZRVFHLLK.js → chunk-5DQ4YTIZ.js} +1 -1
- package/chunks/{chunk-VYCJITND.js → chunk-5HV2HPO7.js} +1 -1
- package/chunks/{chunk-22QOQKG4.js → chunk-5WBA3DEF.js} +1 -1
- package/chunks/{chunk-3K65MUKD.js → chunk-65I7S4Z3.js} +2 -1
- package/chunks/{chunk-I7UNCY24.js → chunk-6GAYNM3F.js} +3 -3
- package/chunks/{chunk-2C3XDBGL.js → chunk-6S7YYUUH.js} +4 -4
- package/chunks/{chunk-Y3C5COGI.js → chunk-6VIATHL7.js} +1 -1
- package/chunks/{chunk-XNC2TCUO.js → chunk-76I36BEM.js} +4 -4
- package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
- package/chunks/{chunk-RGAQDQ3Z.js → chunk-7IDZFJAV.js} +18 -9
- package/chunks/{chunk-5Z4FCEPY.js → chunk-7K4GGN3D.js} +606 -109
- package/chunks/{chunk-WLZRMF3C.js → chunk-7KZVXJ4U.js} +353 -11
- package/chunks/{chunk-REDVV5NC.js → chunk-7WCJEY3A.js} +7 -7
- package/chunks/{chunk-I67KJGM6.js → chunk-A7QZIGRB.js} +3 -3
- package/chunks/{chunk-SHX2HIE7.js → chunk-ATBLEXXV.js} +7 -2
- package/chunks/{chunk-RH344FKI.js → chunk-AUTUFD5X.js} +1 -1
- package/chunks/chunk-AXMWHKXA.js +42 -0
- package/chunks/{chunk-WFXD5OZH.js → chunk-AXWTG6R7.js} +2 -5
- package/chunks/{chunk-TSLRORQR.js → chunk-BDAVT6K2.js} +1809 -1588
- package/chunks/{chunk-HWZOOSEB.js → chunk-BDP3NTWD.js} +3 -3
- package/chunks/{chunk-RD3VPM4E.js → chunk-BZUHZCUO.js} +2 -2
- package/chunks/{chunk-HPE4LEWX.js → chunk-C24ZDDNY.js} +1 -1
- package/chunks/{chunk-R7TKFIQO.js → chunk-CALNF3Z3.js} +1 -1
- package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
- package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
- package/chunks/{chunk-LD53HMPV.js → chunk-CRZBDVP2.js} +1 -0
- package/chunks/{chunk-GEV66YGE.js → chunk-D6AGS266.js} +1 -1
- package/chunks/{chunk-EPZWBYQI.js → chunk-D7DFZAK2.js} +19 -11
- package/chunks/{chunk-5V4B3EWA.js → chunk-DARWOZY6.js} +1 -1
- package/chunks/{chunk-XX4MBBFW.js → chunk-DGNRLJ6S.js} +4 -4
- package/chunks/{chunk-UTVIIA7N.js → chunk-DVOCOIS5.js} +1 -1
- package/chunks/{chunk-RQNAO42A.js → chunk-E4LXNQAK.js} +1 -1
- package/chunks/{chunk-EGRFCIXD.js → chunk-EATP5QCN.js} +84 -25
- package/chunks/{chunk-3RMVM33U.js → chunk-EDSU3VUG.js} +12 -5
- package/chunks/{chunk-733KQL63.js → chunk-EE5ZD4XU.js} +3 -3
- package/chunks/{chunk-QQGAR64U.js → chunk-EN3Q2S3J.js} +4 -4
- package/chunks/{chunk-PLUAIHZO.js → chunk-EOLGAQ25.js} +17 -16
- package/chunks/{chunk-37SOBIA3.js → chunk-ERXNTINK.js} +1 -1
- package/chunks/{chunk-L36LLVA5.js → chunk-EYCW6UF2.js} +7 -7
- package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
- package/chunks/{chunk-FPGTNKCP.js → chunk-F3M6P6IQ.js} +199 -1
- package/chunks/{chunk-B44JBZBB.js → chunk-F4SAL7WM.js} +91 -3
- package/chunks/{chunk-F47DITLZ.js → chunk-FAWTMDX7.js} +14 -0
- package/chunks/{chunk-SI6Q52UI.js → chunk-FEEVHJOR.js} +3 -3
- package/chunks/{chunk-75UQFGFE.js → chunk-FN4KHWCL.js} +1 -1
- package/chunks/{chunk-WQBR7LN5.js → chunk-FRS3P7MQ.js} +15 -2
- package/chunks/{chunk-5JLQWQK6.js → chunk-FV4DM2M4.js} +2 -2
- package/chunks/{chunk-Z6DDPSGJ.js → chunk-GNY7B3CA.js} +1 -1
- package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
- package/chunks/{chunk-XBVNNDPK.js → chunk-GSYD7MYP.js} +8 -3
- package/chunks/{chunk-ERMAXPXA.js → chunk-HIXUUCGY.js} +187 -12
- package/chunks/{chunk-EJNYBDYC.js → chunk-HNLMYDQE.js} +1 -1
- package/chunks/{chunk-3K456UJF.js → chunk-HSO6D4KX.js} +93 -28
- package/chunks/{chunk-ANVC5CSK.js → chunk-HUJJFSMO.js} +10 -10
- package/chunks/{chunk-C4NXRR7T.js → chunk-HW4MRP4V.js} +2 -2
- package/chunks/{chunk-PMGWY6ZP.js → chunk-HWLLUDIA.js} +113 -18
- package/chunks/{chunk-RCUWMVN3.js → chunk-HZ2HUXX7.js} +1 -1
- package/chunks/{chunk-7PMKXGRP.js → chunk-IKK6NNS6.js} +91 -31
- package/chunks/{chunk-IMWCUWQT.js → chunk-J3TJH52D.js} +1 -1
- package/chunks/{chunk-BNWIX6BM.js → chunk-JFAGT5YG.js} +3 -3
- package/chunks/{chunk-RSU3I6UL.js → chunk-JGTMTJSQ.js} +1 -1
- package/chunks/{chunk-LTCI6ZOJ.js → chunk-JYGIJA4W.js} +1 -1
- package/chunks/{chunk-537SQ2AI.js → chunk-KECCLCXM.js} +146 -24
- package/chunks/{chunk-KAZWXVI3.js → chunk-KEPC5BOL.js} +5 -5
- package/chunks/{chunk-HZS3JRQW.js → chunk-L5VHJYHH.js} +40 -2
- package/chunks/{chunk-KTLT7VCX.js → chunk-LKBOBUA2.js} +2 -2
- package/chunks/{chunk-TDHVOZ65.js → chunk-LOBKNYPR.js} +2 -2
- package/chunks/{chunk-QW7BUOSI.js → chunk-LOVGQ3HZ.js} +26 -9
- package/chunks/{chunk-5FYGZ7E3.js → chunk-MUF4UGPB.js} +2 -2
- package/chunks/chunk-N3Z6Q7KC.js +384 -0
- package/chunks/{chunk-JOV46WGX.js → chunk-NB3NDQQK.js} +1 -1
- package/chunks/chunk-NFXXBWSE.js +463 -0
- package/chunks/chunk-NOO4QFXM.js +171 -0
- package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
- package/chunks/{chunk-FXYNIZPW.js → chunk-NV4YYXFT.js} +51 -10
- package/chunks/{chunk-FWH4736Q.js → chunk-O6BFERWN.js} +3 -3
- package/chunks/{chunk-UKADFFL2.js → chunk-OFVAS4AR.js} +1 -1
- package/chunks/{chunk-C55CR5I4.js → chunk-OVTPETDL.js} +6 -6
- package/chunks/chunk-PLEBBGHL.js +1401 -0
- package/chunks/{chunk-Z6KFLEG7.js → chunk-PSPAM24S.js} +1 -0
- package/chunks/{chunk-RRCNEW2A.js → chunk-PWR6BQ3U.js} +58 -4
- package/chunks/{chunk-SHK2SIR5.js → chunk-QA2B26PL.js} +4 -4
- package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
- package/chunks/{chunk-NUQFUXOG.js → chunk-QTNCGZHQ.js} +2 -0
- package/chunks/{chunk-QJVZLILI.js → chunk-R7OO56VZ.js} +1 -1
- package/chunks/{chunk-MFCWL4LI.js → chunk-SK6VACCM.js} +936 -481
- package/chunks/{chunk-SD7Y2PMC.js → chunk-SM66GFKJ.js} +2 -2
- package/chunks/{chunk-ADJD4LZF.js → chunk-SNMUO5Z7.js} +1 -1
- package/chunks/{chunk-NXWYCSPL.js → chunk-SOA4HKRJ.js} +1 -1
- package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
- package/chunks/{chunk-YLFICBYK.js → chunk-SYKPMH2X.js} +3 -3
- package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
- package/chunks/{chunk-AX23QSX3.js → chunk-TRQNRP2H.js} +4 -4
- package/chunks/{chunk-AUJOWIT5.js → chunk-UQOP2APG.js} +4 -24
- package/chunks/{chunk-HY3DXYZK.js → chunk-UYDQYDW2.js} +1 -1
- package/chunks/{chunk-IGOIYZBG.js → chunk-VAWM3A5N.js} +2 -2
- package/chunks/{chunk-6KYWU726.js → chunk-VJJXG73H.js} +417 -292
- package/chunks/{chunk-ZNI3V2XA.js → chunk-VJWJOKOQ.js} +2 -2
- package/chunks/{chunk-AWDF462I.js → chunk-VR6Y23FW.js} +2 -2
- package/chunks/{chunk-T7TP5UQL.js → chunk-VX2NR3SD.js} +21 -6
- package/chunks/{chunk-65GHQ4FX.js → chunk-WDVV3LRM.js} +707 -216
- package/chunks/{chunk-KP5QK3FB.js → chunk-WEU6O6VN.js} +397 -54
- package/chunks/{chunk-OHOO527W.js → chunk-WG7BL3FY.js} +52 -2
- package/chunks/{chunk-VU7O7CGQ.js → chunk-XDNFODER.js} +1 -1
- package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
- package/chunks/{chunk-RUMSY4ES.js → chunk-Y7YHAY32.js} +28 -10
- package/chunks/{chunk-7IKXTGZT.js → chunk-YI2YCNSP.js} +1 -1
- package/chunks/{chunk-B5FF3LRF.js → chunk-YIE6REQ5.js} +29 -17
- package/chunks/{chunk-E4VX6LXB.js → chunk-YZTGGCEE.js} +10 -2
- package/chunks/{chunk-TXAEXF2B.js → chunk-ZEFWBG2C.js} +737 -1136
- package/chunks/{chunk-AIMZIXZM.js → chunk-ZM2TCZZ7.js} +5 -7
- package/chunks/{chunk-ZT3XUGSU.js → chunk-ZZ7RVOTU.js} +135 -26
- package/chunks/{config-utils-F4CFJ4MW.js → config-utils-SXFK3G4X.js} +33 -32
- package/chunks/{contextCommand-OIIGGOMU.js → contextCommand-QFPD26QO.js} +31 -30
- package/chunks/{core-runtime-JEHLOGMB.js → core-runtime-VXKNBODM.js} +35 -33
- package/chunks/{create-sub-session-MVFBE5RA.js → create-sub-session-7WSQETFR.js} +30 -29
- package/chunks/{daemon-LCUELM6E.js → daemon-U2456K5H.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-5FTKLJOU.js → daemon-git-worktree-guard-I4DCSDUS.js} +29 -28
- package/chunks/{daemon-status-provider-P6A5MPMW.js → daemon-status-provider-5UV56RI4.js} +36 -35
- package/chunks/{daemon-trust-policy-ZJ3NFYUO.js → daemon-trust-policy-DKIBWTKU.js} +36 -35
- package/chunks/{daemon-trust-policy-monitor-6SDLEW7S.js → daemon-trust-policy-monitor-CPSD7UKT.js} +36 -35
- package/chunks/{deferred-core-runtime-DWOXIU5S.js → deferred-core-runtime-D2RF35BL.js} +29 -28
- package/chunks/{discovery-TUM3ZQ6U.js → discovery-XP4RMDUM.js} +4 -2
- package/chunks/{dist-P6YWBITG.js → dist-6YDUH3BB.js} +817 -152
- package/chunks/{dist-T4PRA5EZ.js → dist-BNQVF565.js} +2 -8
- package/chunks/{dist-AI25RVRA.js → dist-F34J4FZX.js} +1 -1
- package/chunks/{dist-3H3WODVS.js → dist-F6JLAJLE.js} +1 -1
- package/chunks/{dist-NXW4DUUX.js → dist-K5GHMXIG.js} +2 -2
- package/chunks/{dist-YNQU4CKC.js → dist-NP7QKLVG.js} +2 -2
- package/chunks/{dist-VCAS67N5.js → dist-UFTFGI6I.js} +1 -1
- package/chunks/{dist-I74QLLQS.js → dist-XLV33CLY.js} +1 -2
- package/chunks/{dist-XINEKB5A.js → dist-ZDNJK74R.js} +3 -7
- package/chunks/{edit-WPVXLL3T.js → edit-4IBADZ3O.js} +20 -20
- package/chunks/{enter-worktree-5A6VW6BN.js → enter-worktree-YFTKHXHZ.js} +2 -2
- package/chunks/{enterPlanMode-JSODW7E2.js → enterPlanMode-YN3GPQU5.js} +20 -20
- package/chunks/{environment-5LLJ3I3W.js → environment-E272IJMF.js} +32 -31
- package/chunks/{errors-IQT3YZEP.js → errors-CVAH3RWQ.js} +31 -30
- package/chunks/{exit-worktree-QV7E7KP6.js → exit-worktree-NF2XEMES.js} +3 -3
- package/chunks/{exitPlanMode-DDVFYNW4.js → exitPlanMode-24J5IHGC.js} +20 -20
- package/chunks/{fast-path-PAUQQEVU.js → fast-path-M5IDBMXF.js} +4 -4
- package/chunks/{fast-path-settings-ISEJPRYE.js → fast-path-settings-SATXY3PD.js} +3 -3
- package/chunks/{glob-SQ7CTZ7F.js → glob-ERBD7JYP.js} +20 -20
- package/chunks/{goal-tools-UWZRCLQB.js → goal-tools-245ULLQT.js} +20 -20
- package/chunks/{handleAutoUpdate-RUPZZTSG.js → handleAutoUpdate-JDZHHZKK.js} +32 -31
- package/chunks/{i18n-SF5MPWEB.js → i18n-LA4D5IXM.js} +32 -29
- package/chunks/{image-gen-Q3RUTVKR.js → image-gen-XP4NNIYG.js} +4 -4
- package/chunks/{initializer-CK4WPYZG.js → initializer-SHPTSWUZ.js} +36 -35
- package/chunks/{installationInfo-IRPQEYRF.js → installationInfo-QEQEPB3G.js} +29 -28
- package/chunks/{list-E3PS3EBJ.js → list-IBHCQWTF.js} +39 -38
- package/chunks/{list-agents-I5TRH3J7.js → list-agents-EDPZCGKN.js} +5 -4
- package/chunks/{llm-JQKBOYAF.js → llm-JAWCQLA4.js} +81 -75
- package/chunks/{llm-content-generator-2QWGBW42.js → llm-content-generator-GOV3A23T.js} +23 -8
- package/chunks/{loadedSettingsAdapter-DGXGVYZS.js → loadedSettingsAdapter-RVE2GNVU.js} +36 -35
- package/chunks/{loggingContentGenerator-ZYURLJKK.js → loggingContentGenerator-SSHNN5YW.js} +22 -22
- package/chunks/{managed-npm-update-HTHR63EA.js → managed-npm-update-BHSTITQO.js} +29 -28
- package/chunks/{mcp-I7G2AEWS.js → mcp-6ZZ7P2HU.js} +36 -35
- package/chunks/{monitor-4R76BCRZ.js → monitor-RKK6GSHG.js} +20 -20
- package/chunks/{nonInteractiveCli-24OQ3VP2.js → nonInteractiveCli-UQHP3G6P.js} +76 -72
- package/chunks/{notebook-edit-PPSH7FEX.js → notebook-edit-YM47A7WO.js} +20 -20
- package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
- package/chunks/{openaiContentGenerator-K7V5EO7F.js → openaiContentGenerator-FHKDWNI2.js} +11 -11
- package/chunks/{pidfile-TGIUY2GG.js → pidfile-SIIEJEEH.js} +32 -29
- package/chunks/{processUtils-3USXUQWX.js → processUtils-JF7CWBJC.js} +2 -2
- package/chunks/{prompt-terminal-ledger-XHVZRXJI.js → prompt-terminal-ledger-FXXHAEQU.js} +30 -29
- package/chunks/{qwenContentGenerator-MPBOQB64.js → qwenContentGenerator-KFJ77JP6.js} +24 -24
- package/chunks/{qwenOAuth2-BS5D2LYV.js → qwenOAuth2-KX6LVYQ3.js} +4 -4
- package/chunks/{read-file-R256LDWQ.js → read-file-S2NOCBIL.js} +4 -4
- package/chunks/{resumeHistoryUtils-S43LTFHD.js → resumeHistoryUtils-QHHPSQWU.js} +33 -32
- package/chunks/{ripGrep-L7HPZ75Y.js → ripGrep-F6TNOJUO.js} +5 -5
- package/chunks/{run-qwen-serve-CTFL5R6U.js → run-qwen-serve-KYBDQRDD.js} +229 -79
- package/chunks/{runtime-FS5TL6P7.js → runtime-3WNOFLCR.js} +43 -40
- package/chunks/{scheduled-tasks-QXPV3Q35.js → scheduled-tasks-RNBH56DJ.js} +34 -33
- package/chunks/{scheduler-EXU5HMVK.js → scheduler-ERMW7Q7B.js} +31 -30
- package/chunks/{send-message-GQKXGMPI.js → send-message-V5T3NMFM.js} +4 -4
- package/chunks/{serve-ITJC7WNN.js → serve-7NV46RMP.js} +36 -35
- package/chunks/{server-6JQY3PTU.js → server-6RZJR5QF.js} +1358 -932
- package/chunks/{session-PJDEKXD4.js → session-Z4EV7NVV.js} +107 -78
- package/chunks/{session-attachments-root-L37ORSST.js → session-attachments-root-SG5FC52X.js} +29 -28
- package/chunks/{session-pr-refresh-WIFD52YL.js → session-pr-refresh-ILC4Z3ZM.js} +33 -32
- package/chunks/{settings-LO6J5SAZ.js → settings-Y47SPE3X.js} +35 -34
- package/chunks/{shell-ANAFVYGR.js → shell-YBVCOPVO.js} +20 -20
- package/chunks/{skill-SHJWKSPH.js → skill-AXC63EBA.js} +4 -4
- package/chunks/{skill-settings-GX3XHZ5Q.js → skill-settings-AFPAYGLO.js} +35 -34
- package/chunks/{spawnChannel-WE42VBKM.js → spawnChannel-ZFL4J2V3.js} +29 -28
- package/chunks/{standalone-update-CWDIKJRP.js → standalone-update-Y2OZPLNJ.js} +31 -30
- package/chunks/{start-opentui-ui-BBHGFOTF.js → start-opentui-ui-G6TKT4LI.js} +2270 -1026
- package/chunks/{startInteractiveUI-FQX7LUYP.js → startInteractiveUI-YTNDPW7J.js} +1789 -2211
- package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
- package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
- package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
- package/chunks/{team-create-WKTPCH6D.js → team-create-BUFLGGSH.js} +20 -20
- package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
- package/chunks/{team-plan-approval-Y23DL7WR.js → team-plan-approval-OUWWM42U.js} +20 -20
- package/chunks/{terminal-image-renderer-B646HBDW.js → terminal-image-renderer-WH2WV5ES.js} +29 -28
- package/chunks/{theme-manager-BNWESY26.js → theme-manager-5UDRARM2.js} +29 -28
- package/chunks/{tool-search-PVQ5O5Y2.js → tool-search-MCDIRPHN.js} +4 -4
- package/chunks/{total-session-admission-P5Z43KNW.js → total-session-admission-VL27U74Z.js} +33 -32
- package/chunks/{trustedFolders-FH2LT2MZ.js → trustedFolders-MSXT4VDD.js} +30 -29
- package/chunks/{update-relaunch-WOWTKJSN.js → update-relaunch-JKLEWVCB.js} +5 -5
- package/chunks/{updateCheck-3MYFMM35.js → updateCheck-ARTHAJT2.js} +31 -30
- package/chunks/{useAutoAcceptIndicator-Q7ZRRRKO.js → useAutoAcceptIndicator-YEAAGYVU.js} +38 -37
- package/chunks/{validateNonInterActiveAuth-MYEWJX3G.js → validateNonInterActiveAuth-EMRQKH5S.js} +71 -69
- package/chunks/{version-RO2FPO76.js → version-HFQU35WD.js} +3 -1
- package/chunks/{web-fetch-QAKY2LUA.js → web-fetch-QBXAO6VF.js} +7 -7
- package/chunks/{web-search-XA5Z4ZCD.js → web-search-2URQXA3A.js} +201 -13
- package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
- package/chunks/{workflow-QFIOCMDM.js → workflow-JDD6WDAH.js} +211 -75
- package/chunks/{workspace-providers-status-B2UD7RAG.js → workspace-providers-status-B4IKR6YJ.js} +38 -37
- package/chunks/{workspace-registration-store-VZLRTI3Q.js → workspace-registration-store-PJ3YHR45.js} +1 -2
- package/chunks/{workspace-registry-GYOGG6TM.js → workspace-registry-WVYJ5UGB.js} +33 -32
- package/chunks/{workspace-runtime-coordinator-7KRXGQ4V.js → workspace-runtime-coordinator-DXL5YVAG.js} +33 -32
- package/chunks/{workspace-service-DJEYGJE4.js → workspace-service-QNGAMVH7.js} +40 -39
- package/chunks/{workspace-skills-status-MOKNESUC.js → workspace-skills-status-BEISJIII.js} +36 -35
- package/chunks/{workspace-trust-reconciler-AXOSUTQW.js → workspace-trust-reconciler-ORYJF5L4.js} +40 -39
- package/chunks/{write-file-QOYVHAKK.js → write-file-DWLKFBTJ.js} +21 -21
- package/chunks/{zoom-image-UCCLGFNC.js → zoom-image-BYVIXSNQ.js} +4 -4
- package/cli.js +13 -13
- package/export-transcript-document.js +123 -119
- package/package.json +4 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-CTstZpXw.js → abnfDiagram-VCTEODGH-C_8kzsly.js} +1 -1
- package/web-shell/assets/{arc-DKW0mbPo.js → arc-CDg7Zfpm.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DkMpJ42t.js → architectureDiagram-5GKGNRK7-DZzdCWyF.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-7Cp1_4i3.js → blockDiagram-NRAW4CY4-DI3B4gyR.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BfaoSlBK.js → c4Diagram-UCG6FXSJ-CfOgwHZW.js} +1 -1
- package/web-shell/assets/channel-e4xwS72w.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-_n1qzAio.js → chunk-2Q5K7J3B-B_PUth0g.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-0cira5ZV.js → chunk-5VM5RSS4-CrKtvBIL.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DseRXSHC.js → chunk-F27PBJKO-B4z2n8Py.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-BehQWin0.js → chunk-G27WJ6UU-BUtrFEO8.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-B5ftg1Bb.js → chunk-JWPE2WC7-Cqw3aXW0.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D7rnbVdk.js → chunk-LCL6LL3I-CZolnvls.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-2Bp-Orju.js → chunk-POPQ4Y6H-DivgasCa.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-CD2goGva.js → chunk-SVP7TREG--seyb1B6.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DzQt-Rji.js → chunk-XXDRQBXY-D7pHtuVM.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-C-BZXSUn.js → cose-bilkent-JH36ORCC-4MWaRF_3.js} +1 -1
- package/web-shell/assets/csv-CX7rUNeC.svg +1 -0
- package/web-shell/assets/{cynefin-OW5HDTMX-BTcvowe1.js → cynefin-OW5HDTMX-nhJhAjgD.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BoUE6K81.js → cynefinDiagram-5FMLGOSQ-NF-PwXlq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-BHxy9xeB.js → dagre-3AP2YEHR-Bu0ncdWP.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DMiJIvDT.js → diagram-S7CK7UJ4-CsvhFHZC.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-DXV09Aes.js → diagram-UQ7AKVKN-Ck61sIB3.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-CocpRomV.js → diagram-VSXAHHWV-D0171zrb.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DL7nqtb4.js → diagram-VX7I27RA-DvdxY4UL.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-CPZ2Jux_.js → diagram-Z3DM3KII-CGGpseiB.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-BX-eVNsX.js → ebnfDiagram-PWID7BFC-K8-QMvY8.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CPy_Ir6y.js → erDiagram-SSCWMZ5O-D316nAem.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-eknAOte9.js → flowDiagram-A5DVABFB-B7siy_mn.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-crAxw_t7.js → ganttDiagram-EL5Y4UJY-BZQDxzTu.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-M29pa3Tc.js → gitGraphDiagram-WWUBYQGX-DZynLCSV.js} +1 -1
- package/web-shell/assets/{index-C9R-iojE.js → index-9ie6xLTM.js} +1 -1
- package/web-shell/assets/index-DirkXQEg.js +2164 -0
- package/web-shell/assets/index-DzdST_7L.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-XqspXdOU.js → infoDiagram-RXCK75RN-B0gr769A.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-C5KFS-7j.js → ishikawaDiagram-5VMMS53U-0pQFfjvX.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Cc57LVRo.js → journeyDiagram-EYS64GPL-DEGtClWb.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-C81OG-AI.js → kanban-definition-3QL26DDD-CnN8gPzw.js} +1 -1
- package/web-shell/assets/{layout-CFVu37BB.js → layout-C_70RhaT.js} +1 -1
- package/web-shell/assets/{linear-ChBxdtWf.js → linear-BJ2ZLmcq.js} +1 -1
- package/web-shell/assets/{mermaid.core-CMLfue0w.js → mermaid.core-RlY0zPNC.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DFsvJThp.js → mindmap-definition-FBJOCRG2-CpVAxTNl.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BzpRzM4F.js → pegDiagram-XKGWAZYB-DmrSv3hD.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-Cv0Kankl.js → pieDiagram-E7YTZNPT-CJmgp8KJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js → quadrantDiagram-AXDQQJYC-UsgOyNco.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-y8rNDdDS.js → railroadDiagram-O6MQD6OU-DQ6gMs_W.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C0m2DKJ_.js → requirementDiagram-EFPCY7ZU-DhqadamF.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-BzdGnSF4.js → sankeyDiagram-P5KCCOFB-R4WnURaE.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DPzAVmzz.js → sequenceDiagram-WJ2MYXX4-D7BwMi_D.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-LcHG28Zh.js → sizeCapture-X5ZJPWSS-Bqngz088.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-C1Bzy3IT.js → stateDiagram-HBIQ2CUA-DwaXPGqn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-Bftk8V64.js → swimlanes-XN3QIQJK-BsaLeRDY.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BfXHcN1A.js → timeline-definition-24CTP7MA-NJ9G-NUU.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DRSlI9-V.js → vennDiagram-4TSXK5OY-Ca3W4rSq.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CaLmqGau.js → wardleyDiagram-VM6X3IG4-OabvjC-6.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-8lgUT6e8.js → xychartDiagram-S5SC5T6Z-C7rbjvpc.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2LD5U7Q3.js +0 -114
- package/chunks/chunk-3UMWOKJC.js +0 -78
- package/chunks/chunk-IQAFKVXS.js +0 -22
- package/chunks/chunk-X35VIWWJ.js +0 -276
- package/chunks/chunk-ZJ2LM2SI.js +0 -198
- package/web-shell/assets/channel-CQx7VSAp.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +0 -1
- package/web-shell/assets/index-B4TLaxWs.js +0 -2142
- package/web-shell/assets/index-CCrkEbzz.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +0 -8
|
@@ -47,6 +47,7 @@ var KNOWN_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
|
|
|
47
47
|
"agent_bootstrap",
|
|
48
48
|
"agent_launch_prompt",
|
|
49
49
|
"agent_retry",
|
|
50
|
+
"agent_session_ready",
|
|
50
51
|
"file_history_snapshot",
|
|
51
52
|
"session_source",
|
|
52
53
|
"session_model",
|
|
@@ -235,6 +236,7 @@ function validateTranscriptRecord(value, recordIndex) {
|
|
|
235
236
|
uuid,
|
|
236
237
|
parentUuid,
|
|
237
238
|
sessionId,
|
|
239
|
+
daemonPromptId: typeof value["daemonPromptId"] === "string" && value["daemonPromptId"].trim().length > 0 ? value["daemonPromptId"] : void 0,
|
|
238
240
|
type,
|
|
239
241
|
...typeof subtype === "string" ? { subtype } : { subtype: void 0 },
|
|
240
242
|
...typeof timestamp === "string" && Number.isFinite(new Date(timestamp).getTime()) ? { timestamp } : { timestamp: void 0 },
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
normalize
|
|
5
|
-
|
|
4
|
+
normalize,
|
|
5
|
+
parseModelReasoningCapabilities
|
|
6
|
+
} from "./chunk-F3M6P6IQ.js";
|
|
6
7
|
import {
|
|
7
8
|
init_esbuild_shims
|
|
8
9
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -110,10 +111,14 @@ function isQwenFamilyWireModel(model) {
|
|
|
110
111
|
return normalized.startsWith("qwen") || normalized === "coder-model";
|
|
111
112
|
}
|
|
112
113
|
__name(isQwenFamilyWireModel, "isQwenFamilyWireModel");
|
|
113
|
-
function isTieredEffortWireModel(model) {
|
|
114
|
+
function isTieredEffortWireModel(model, configuredReasoning) {
|
|
114
115
|
if (!model) {
|
|
115
116
|
return false;
|
|
116
117
|
}
|
|
118
|
+
const reasoning = parseModelReasoningCapabilities(configuredReasoning);
|
|
119
|
+
if (reasoning) {
|
|
120
|
+
return isQwenFamilyWireModel(model) && !reasoning.toggleOnly && reasoning.disableField === "reasoning_effort";
|
|
121
|
+
}
|
|
117
122
|
return model.toLowerCase().startsWith("qwen3.8-max");
|
|
118
123
|
}
|
|
119
124
|
__name(isTieredEffortWireModel, "isTieredEffortWireModel");
|
|
@@ -8,6 +8,7 @@ import {
|
|
|
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,
|
|
@@ -4,23 +4,26 @@ import {
|
|
|
4
4
|
DASHSCOPE_PROXY_BASE_URL,
|
|
5
5
|
DEFAULT_DASHSCOPE_BASE_URL,
|
|
6
6
|
DEFAULT_MAX_RETRIES,
|
|
7
|
-
REASONING_EFFORT_TIERS,
|
|
8
|
-
clampReasoningEffort,
|
|
9
7
|
resolveRequestTimeout
|
|
10
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-AXMWHKXA.js";
|
|
11
9
|
import {
|
|
12
10
|
buildSessionAwareFetch
|
|
13
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-NOO4QFXM.js";
|
|
14
12
|
import {
|
|
15
13
|
isQwenFamilyWireModel,
|
|
16
14
|
isTieredEffortWireModel
|
|
17
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GSYD7MYP.js";
|
|
18
16
|
import {
|
|
17
|
+
REASONING_EFFORT_TIERS,
|
|
18
|
+
clampReasoningEffort,
|
|
19
19
|
defaultOutputCeiling,
|
|
20
|
+
getGptReasoningCapabilities,
|
|
20
21
|
hasExplicitOutputLimit,
|
|
22
|
+
isReasoningEffortPlaceholder,
|
|
23
|
+
parseModelReasoningCapabilities,
|
|
21
24
|
parsePositiveIntegerEnvValue,
|
|
22
25
|
tokenLimit
|
|
23
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-F3M6P6IQ.js";
|
|
24
27
|
import {
|
|
25
28
|
buildRuntimeFetchOptions
|
|
26
29
|
} from "./chunk-4HOEU2OR.js";
|
|
@@ -6886,6 +6889,22 @@ init_esbuild_shims();
|
|
|
6886
6889
|
|
|
6887
6890
|
// packages/core/src/core/openaiContentGenerator/provider/default.ts
|
|
6888
6891
|
init_esbuild_shims();
|
|
6892
|
+
|
|
6893
|
+
// packages/core/src/core/openaiContentGenerator/provider/openrouter.ts
|
|
6894
|
+
init_esbuild_shims();
|
|
6895
|
+
function isOpenRouterHostname(contentGeneratorConfig) {
|
|
6896
|
+
const baseUrl = contentGeneratorConfig.baseUrl ?? "";
|
|
6897
|
+
if (!baseUrl) return false;
|
|
6898
|
+
try {
|
|
6899
|
+
const hostname = new URL(baseUrl).hostname.toLowerCase();
|
|
6900
|
+
return hostname === "openrouter.ai" || hostname.endsWith(".openrouter.ai");
|
|
6901
|
+
} catch {
|
|
6902
|
+
return false;
|
|
6903
|
+
}
|
|
6904
|
+
}
|
|
6905
|
+
__name(isOpenRouterHostname, "isOpenRouterHostname");
|
|
6906
|
+
|
|
6907
|
+
// packages/core/src/core/openaiContentGenerator/provider/default.ts
|
|
6889
6908
|
var debugLogger = createDebugLogger("DefaultOpenAICompatibleProvider");
|
|
6890
6909
|
var OPENAI_COMPATIBLE_EFFORTS = [
|
|
6891
6910
|
"low",
|
|
@@ -6955,7 +6974,11 @@ var DefaultOpenAICompatibleProvider = class {
|
|
|
6955
6974
|
maxRetries,
|
|
6956
6975
|
defaultHeaders,
|
|
6957
6976
|
...runtimeOptions || {},
|
|
6958
|
-
fetch: buildSessionAwareFetch(
|
|
6977
|
+
fetch: buildSessionAwareFetch(
|
|
6978
|
+
runtimeOptions?.fetch,
|
|
6979
|
+
this.cliConfig,
|
|
6980
|
+
this.contentGeneratorConfig.customHeaders
|
|
6981
|
+
)
|
|
6959
6982
|
});
|
|
6960
6983
|
}
|
|
6961
6984
|
/**
|
|
@@ -6967,8 +6990,14 @@ var DefaultOpenAICompatibleProvider = class {
|
|
|
6967
6990
|
* clamp calls it through `this`, so a subclass answer applies even on the
|
|
6968
6991
|
* `super.buildRequest` path.
|
|
6969
6992
|
*/
|
|
6970
|
-
supportedReasoningEffortsFor(
|
|
6971
|
-
|
|
6993
|
+
supportedReasoningEffortsFor(model) {
|
|
6994
|
+
const gpt = getGptReasoningCapabilities(model);
|
|
6995
|
+
if (!gpt) return OPENAI_COMPATIBLE_EFFORTS;
|
|
6996
|
+
const { authType, baseUrl } = this.contentGeneratorConfig;
|
|
6997
|
+
const configured = authType && model ? parseModelReasoningCapabilities(
|
|
6998
|
+
this.cliConfig.getResolvedModelConfig?.(authType, model, baseUrl)?.capabilities.reasoning
|
|
6999
|
+
) : void 0;
|
|
7000
|
+
return configured && !configured.toggleOnly ? configured.efforts : gpt.efforts;
|
|
6972
7001
|
}
|
|
6973
7002
|
/**
|
|
6974
7003
|
* Cap the pipeline-injected `reasoning.effort` at what this endpoint accepts.
|
|
@@ -6977,8 +7006,8 @@ var DefaultOpenAICompatibleProvider = class {
|
|
|
6977
7006
|
* session too.
|
|
6978
7007
|
*
|
|
6979
7008
|
* Only the pipeline-injected tier is capped. A `reasoning` object the user
|
|
6980
|
-
* put in `samplingParams` ships verbatim
|
|
6981
|
-
*
|
|
7009
|
+
* put in `samplingParams` ships verbatim. Unrelated GPT sampling options
|
|
7010
|
+
* still receive the configured effort and need clamping. `extra_body`
|
|
6982
7011
|
* merges after this, so both explicit overrides survive unchanged.
|
|
6983
7012
|
*/
|
|
6984
7013
|
clampConfiguredReasoningEffort(request) {
|
|
@@ -7017,11 +7046,25 @@ var DefaultOpenAICompatibleProvider = class {
|
|
|
7017
7046
|
this.applyOutputTokenLimit(request)
|
|
7018
7047
|
);
|
|
7019
7048
|
const messages = isQwen3Model(request.model) ? requestWithTokenLimits.messages.map(mirrorReasoningContentToReasoning) : requestWithTokenLimits.messages;
|
|
7020
|
-
|
|
7049
|
+
const result = {
|
|
7021
7050
|
...requestWithTokenLimits,
|
|
7022
7051
|
messages,
|
|
7023
7052
|
...extraBody ? extraBody : {}
|
|
7024
7053
|
};
|
|
7054
|
+
this.flattenGptReasoningEffort(result);
|
|
7055
|
+
return result;
|
|
7056
|
+
}
|
|
7057
|
+
flattenGptReasoningEffort(body) {
|
|
7058
|
+
if (!getGptReasoningCapabilities(body["model"]) || isOpenRouterHostname(this.contentGeneratorConfig) || this.contentGeneratorConfig.samplingParams?.["reasoning"] !== void 0 || this.contentGeneratorConfig.extra_body?.["reasoning"] !== void 0)
|
|
7059
|
+
return;
|
|
7060
|
+
const reasoning = body["reasoning"];
|
|
7061
|
+
if (typeof reasoning?.effort !== "string" || !reasoning.effort) return;
|
|
7062
|
+
if (isReasoningEffortPlaceholder(body["reasoning_effort"])) {
|
|
7063
|
+
body["reasoning_effort"] = reasoning.effort;
|
|
7064
|
+
}
|
|
7065
|
+
const { effort: _drop, ...rest } = reasoning;
|
|
7066
|
+
if (Object.keys(rest).length > 0) body["reasoning"] = rest;
|
|
7067
|
+
else delete body["reasoning"];
|
|
7025
7068
|
}
|
|
7026
7069
|
getDefaultGenerationConfig() {
|
|
7027
7070
|
return {};
|
|
@@ -7105,8 +7148,8 @@ var DASHSCOPE_TIERED_EFFORTS = [
|
|
|
7105
7148
|
"high",
|
|
7106
7149
|
"xhigh"
|
|
7107
7150
|
];
|
|
7108
|
-
function selectDashScopeThinkingKnob(model, extraBody, samplingParams, reasoningEffort) {
|
|
7109
|
-
if (!
|
|
7151
|
+
function selectDashScopeThinkingKnob(model, extraBody, samplingParams, reasoningEffort, tieredModel = isTieredEffortWireModel(model)) {
|
|
7152
|
+
if (!tieredModel) {
|
|
7110
7153
|
return void 0;
|
|
7111
7154
|
}
|
|
7112
7155
|
const selectFromLayer = /* @__PURE__ */ __name((source, layer) => {
|
|
@@ -7270,7 +7313,11 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7270
7313
|
maxRetries,
|
|
7271
7314
|
defaultHeaders,
|
|
7272
7315
|
...runtimeOptions || {},
|
|
7273
|
-
fetch: buildSessionAwareFetch(
|
|
7316
|
+
fetch: buildSessionAwareFetch(
|
|
7317
|
+
runtimeOptions?.fetch,
|
|
7318
|
+
this.cliConfig,
|
|
7319
|
+
this.contentGeneratorConfig.customHeaders
|
|
7320
|
+
)
|
|
7274
7321
|
});
|
|
7275
7322
|
}
|
|
7276
7323
|
/**
|
|
@@ -7302,9 +7349,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7302
7349
|
tools = updatedTools;
|
|
7303
7350
|
}
|
|
7304
7351
|
const requestWithTokenLimits = this.applyOutputTokenLimit(request);
|
|
7305
|
-
const isTieredQwenModel =
|
|
7306
|
-
this.resolveWireModel(request.model)
|
|
7307
|
-
);
|
|
7352
|
+
const isTieredQwenModel = this.isTieredEffortModel(request.model);
|
|
7308
7353
|
const extraBody = isTieredQwenModel ? withoutNullishThinkingKnobs(this.contentGeneratorConfig.extra_body) : this.contentGeneratorConfig.extra_body;
|
|
7309
7354
|
const qwenEffortConfig = this.buildQwenEffortConfig(request.model);
|
|
7310
7355
|
const rawRequestParams = requestWithTokenLimits;
|
|
@@ -7317,7 +7362,8 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7317
7362
|
this.resolveWireModel(request.model),
|
|
7318
7363
|
extraBody,
|
|
7319
7364
|
requestParams,
|
|
7320
|
-
qwenEffortConfig["reasoning_effort"]
|
|
7365
|
+
qwenEffortConfig["reasoning_effort"],
|
|
7366
|
+
isTieredQwenModel
|
|
7321
7367
|
) : void 0;
|
|
7322
7368
|
if (this.isVisionModel(request.model)) {
|
|
7323
7369
|
const dashscopeExtras2 = {
|
|
@@ -7397,8 +7443,21 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7397
7443
|
dropped.add(key);
|
|
7398
7444
|
}
|
|
7399
7445
|
this.warnConflictingKnobDrop(model, reasoningEffort, [...dropped]);
|
|
7446
|
+
this.flattenGptReasoningEffort(merged);
|
|
7400
7447
|
return merged;
|
|
7401
7448
|
}
|
|
7449
|
+
getConfiguredReasoning(model) {
|
|
7450
|
+
const { authType, baseUrl } = this.contentGeneratorConfig;
|
|
7451
|
+
const wireModel = model ?? this.contentGeneratorConfig.model;
|
|
7452
|
+
const reasoning = authType ? this.cliConfig.getResolvedModelConfig?.(authType, wireModel, baseUrl)?.capabilities.reasoning : void 0;
|
|
7453
|
+
return parseModelReasoningCapabilities(reasoning);
|
|
7454
|
+
}
|
|
7455
|
+
isTieredEffortModel(model) {
|
|
7456
|
+
return isTieredEffortWireModel(
|
|
7457
|
+
model ?? this.contentGeneratorConfig.model,
|
|
7458
|
+
this.getConfiguredReasoning(model)
|
|
7459
|
+
);
|
|
7460
|
+
}
|
|
7402
7461
|
resolveWireModel(model) {
|
|
7403
7462
|
return (model ?? this.contentGeneratorConfig.model ?? "").toLowerCase();
|
|
7404
7463
|
}
|
|
@@ -7417,7 +7476,11 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7417
7476
|
return {};
|
|
7418
7477
|
}
|
|
7419
7478
|
const wireModel = this.resolveWireModel(model);
|
|
7420
|
-
if (
|
|
7479
|
+
if (this.isTieredEffortModel(model)) {
|
|
7480
|
+
const configured = this.getConfiguredReasoning(model);
|
|
7481
|
+
if (configured && !configured.toggleOnly) {
|
|
7482
|
+
return configured.efforts.includes(reasoning.effort) ? { reasoning_effort: reasoning.effort } : {};
|
|
7483
|
+
}
|
|
7421
7484
|
return { reasoning_effort: this.clampTieredEffort(reasoning.effort) };
|
|
7422
7485
|
}
|
|
7423
7486
|
if (isQwenFamilyWireModel(wireModel)) {
|
|
@@ -7426,13 +7489,9 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7426
7489
|
return {};
|
|
7427
7490
|
}
|
|
7428
7491
|
/**
|
|
7429
|
-
*
|
|
7430
|
-
*
|
|
7431
|
-
*
|
|
7432
|
-
* strongest supported tier and reported once. Only the
|
|
7433
|
-
* configured `reasoning.effort` passes through here: an explicit
|
|
7434
|
-
* `extra_body` / `samplingParams` `reasoning_effort` is a documented
|
|
7435
|
-
* verbatim override and is merged after this, so it still ships unchanged.
|
|
7492
|
+
* Preserve the legacy clamp for a route without an explicit capability.
|
|
7493
|
+
* Only the unified reasoning.effort preference reaches this fallback;
|
|
7494
|
+
* extra_body and samplingParams remain verbatim provider overrides.
|
|
7436
7495
|
*/
|
|
7437
7496
|
clampTieredEffort(effort) {
|
|
7438
7497
|
const clamped = clampReasoningEffort(effort, DASHSCOPE_TIERED_EFFORTS);
|
|
@@ -7473,7 +7532,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7473
7532
|
if (!isQwenFamilyWireModel(wireModel)) {
|
|
7474
7533
|
return [];
|
|
7475
7534
|
}
|
|
7476
|
-
const isTieredEffortModel =
|
|
7535
|
+
const isTieredEffortModel = this.isTieredEffortModel(model);
|
|
7477
7536
|
if (isTieredEffortModel && selectedThinkingKnob?.field === "enable_thinking" && selectedThinkingKnob.value === false) {
|
|
7478
7537
|
merged["reasoning_effort"] = "none";
|
|
7479
7538
|
const dropped = ["enable_thinking"];
|
|
@@ -7711,8 +7770,14 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
|
|
|
7711
7770
|
|
|
7712
7771
|
export {
|
|
7713
7772
|
OpenAI,
|
|
7773
|
+
isOpenRouterHostname,
|
|
7714
7774
|
DefaultOpenAICompatibleProvider,
|
|
7715
7775
|
selectDashScopeThinkingKnob,
|
|
7716
7776
|
DASHSCOPE_REGIONAL_HOSTS,
|
|
7717
7777
|
DashScopeOpenAICompatibleProvider
|
|
7718
7778
|
};
|
|
7779
|
+
/**
|
|
7780
|
+
* @license
|
|
7781
|
+
* Copyright 2025 Qwen
|
|
7782
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
7783
|
+
*/
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-3O77M472.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-5WBA3DEF.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-PLEBBGHL.js";
|
|
18
18
|
import {
|
|
19
19
|
IdeClient
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-BDAVT6K2.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-ARTHAJT2.js"),
|
|
237
|
+
import("./handleAutoUpdate-JDZHHZKK.js"),
|
|
238
|
+
import("./installationInfo-QEQEPB3G.js"),
|
|
239
239
|
import("./updateEventEmitter-5MKC7BLQ.js"),
|
|
240
|
-
import("./i18n-
|
|
240
|
+
import("./i18n-LA4D5IXM.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-SHPTSWUZ.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-ERMW7Q7B.js");
|
|
338
338
|
startBackgroundHousekeeping(config, settings);
|
|
339
339
|
});
|
|
340
340
|
}
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
useKeypress
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-VR6Y23FW.js";
|
|
6
6
|
import {
|
|
7
7
|
require_react
|
|
8
8
|
} from "./chunk-5QWWOFGG.js";
|
|
9
9
|
import {
|
|
10
10
|
t
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-CRZBDVP2.js";
|
|
12
12
|
import {
|
|
13
13
|
APPROVAL_MODES
|
|
14
14
|
} from "./chunk-JX6XHPTX.js";
|