@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
CHANNEL_CONTROL_DEFAULT_TIMEOUT_MS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-TGNNLRC3.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -3012,6 +3012,62 @@ var DaemonClient = class {
|
|
|
3012
3012
|
async resumeSession(sessionId, req = {}, clientId) {
|
|
3013
3013
|
return this.restoreSession("resume", sessionId, req, clientId);
|
|
3014
3014
|
}
|
|
3015
|
+
/**
|
|
3016
|
+
* Transfer a worktree session's checkout ownership to a fresh replacement
|
|
3017
|
+
* session (`POST /session/:id/worktree-reset`, capability
|
|
3018
|
+
* `session_worktree_reset_v1`). Resolves 200 with the replacement
|
|
3019
|
+
* session's create-shape response. The route never reads a caller-supplied
|
|
3020
|
+
* client id, so this method takes none — but the response is not
|
|
3021
|
+
* registration-free: a fresh transfer mints an owner-style `clientId` for
|
|
3022
|
+
* the spawn it performs, registers it on the replacement, and returns it in
|
|
3023
|
+
* the body, while an idempotent resume of a committed transfer returns
|
|
3024
|
+
* none. That registration is not an attachment (the replacement's attach
|
|
3025
|
+
* count is unaffected), and nothing detaches it for you — pass a minted id
|
|
3026
|
+
* you do not keep using to `detachSession`, or the replacement never
|
|
3027
|
+
* reaches the daemon's idle cleanup. Typed 409 bodies carry the reset
|
|
3028
|
+
* taxonomy: `worktree_reset_unsupported` (not a worktree session),
|
|
3029
|
+
* `worktree_reset_active` (a session involved is busy), and
|
|
3030
|
+
* `worktree_reset_invalid_state` (corrupt or ambiguous ownership state; a
|
|
3031
|
+
* partial transfer this request started is rolled back, while a
|
|
3032
|
+
* pre-existing interrupted state is left untouched for operator repair).
|
|
3033
|
+
* A crashed transfer whose sidecar links agree is self-healed here: a
|
|
3034
|
+
* pre-commit one (the marker still names this session, or is absent while
|
|
3035
|
+
* the replacement is dormant) is rolled back and re-run in the same
|
|
3036
|
+
* request, and a committed one (the marker names the replacement) is
|
|
3037
|
+
* finished idempotently. Every other interrupted shape — disagreeing links,
|
|
3038
|
+
* an invalid marker, a marker naming a third session, a replacement still
|
|
3039
|
+
* live with no marker — is reported as `worktree_reset_invalid_state` (or
|
|
3040
|
+
* `worktree_reset_active` when the committed replacement is busy) and left
|
|
3041
|
+
* untouched: a retry re-reads the same state and returns the same 409, so
|
|
3042
|
+
* it does not converge and needs operator repair rather than a retry loop.
|
|
3043
|
+
* `worktree_reset_interrupted`, `worktree_session_superseded`, and
|
|
3044
|
+
* `worktree_marker_missing` belong to the restore surface (`loadSession` /
|
|
3045
|
+
* `resumeSession`) instead; for `worktree_reset_interrupted` — the
|
|
3046
|
+
* agreeing-links shape — retrying this reset against the superseded session
|
|
3047
|
+
* is the repair.
|
|
3048
|
+
*/
|
|
3049
|
+
async resetWorktreeSession(sessionId, req = {}) {
|
|
3050
|
+
return await this.fetchWithTimeout(
|
|
3051
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/worktree-reset`,
|
|
3052
|
+
{
|
|
3053
|
+
method: "POST",
|
|
3054
|
+
headers: this.headers({ "Content-Type": "application/json" }),
|
|
3055
|
+
body: JSON.stringify({
|
|
3056
|
+
...req.workspaceCwd !== void 0 ? { cwd: req.workspaceCwd } : {},
|
|
3057
|
+
...req.modelServiceId !== void 0 ? { modelServiceId: req.modelServiceId } : {},
|
|
3058
|
+
...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
|
|
3059
|
+
...req.sourceType !== void 0 ? { sourceType: req.sourceType } : {},
|
|
3060
|
+
...req.sourceId !== void 0 ? { sourceId: req.sourceId } : {}
|
|
3061
|
+
})
|
|
3062
|
+
},
|
|
3063
|
+
async (res) => {
|
|
3064
|
+
if (!res.ok) {
|
|
3065
|
+
throw await this.failOnError(res, "POST /session/:id/worktree-reset");
|
|
3066
|
+
}
|
|
3067
|
+
return await res.json();
|
|
3068
|
+
}
|
|
3069
|
+
);
|
|
3070
|
+
}
|
|
3015
3071
|
async branchSession(sessionId, req = {}, clientId) {
|
|
3016
3072
|
return await this.fetchWithTimeout(
|
|
3017
3073
|
`${this.baseUrl}/session/${urlEncode(sessionId)}/branch`,
|
|
@@ -3353,6 +3409,7 @@ var DaemonClient = class {
|
|
|
3353
3409
|
),
|
|
3354
3410
|
body: JSON.stringify({
|
|
3355
3411
|
mode,
|
|
3412
|
+
...opts?.planMode !== void 0 ? { planMode: opts.planMode } : {},
|
|
3356
3413
|
...opts?.persist === true ? { persist: true } : {}
|
|
3357
3414
|
})
|
|
3358
3415
|
},
|
|
@@ -6437,6 +6494,36 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
6437
6494
|
eventEpoch
|
|
6438
6495
|
});
|
|
6439
6496
|
}
|
|
6497
|
+
/**
|
|
6498
|
+
* Transfer a worktree session's checkout ownership to a fresh replacement
|
|
6499
|
+
* session and return a client bound to the replacement's identity. That
|
|
6500
|
+
* client carries whatever `clientId` the response had: a fresh transfer
|
|
6501
|
+
* mints and registers an owner-style one for the spawn it performs, while
|
|
6502
|
+
* an idempotent resume of a committed transfer returns none. The
|
|
6503
|
+
* registration is not an attachment (the replacement's attach count is
|
|
6504
|
+
* unaffected), but it is a client registration, and a non-empty one is what
|
|
6505
|
+
* holds the daemon's idle cleanup off — so detach a minted id you do not
|
|
6506
|
+
* keep using, or the replacement stays live indefinitely. A registered
|
|
6507
|
+
* attachment still requires the normal restore surface: load or resume the
|
|
6508
|
+
* replacement, passing the minted id to reuse that registration instead of
|
|
6509
|
+
* adding a second one. The replacement is a brand-new conversation; the
|
|
6510
|
+
* superseded session keeps its transcript on the daemon and is never
|
|
6511
|
+
* restored again (its restore surfaces `worktree_session_superseded`). The
|
|
6512
|
+
* existing reattach identity guard applies to the replacement client
|
|
6513
|
+
* unchanged.
|
|
6514
|
+
*/
|
|
6515
|
+
static async resetWorktree(client, sessionId, req = {}) {
|
|
6516
|
+
const session = await client.resetWorktreeSession(sessionId, req);
|
|
6517
|
+
return new _DaemonSessionClient({
|
|
6518
|
+
client,
|
|
6519
|
+
session,
|
|
6520
|
+
hasActivePrompt: session.hasActivePrompt,
|
|
6521
|
+
// The replacement is freshly created: seed from the start of its bus
|
|
6522
|
+
// so events fired during the transfer window are not skipped.
|
|
6523
|
+
lastEventId: 0,
|
|
6524
|
+
eventEpoch: session.eventEpoch
|
|
6525
|
+
});
|
|
6526
|
+
}
|
|
6440
6527
|
static async createStandalone(client, options = {}) {
|
|
6441
6528
|
const session = await client.createStandaloneSession(options);
|
|
6442
6529
|
return new _DaemonSessionClient({
|
|
@@ -6672,16 +6759,21 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
6672
6759
|
});
|
|
6673
6760
|
this.reattaching = resume.then(async (session) => {
|
|
6674
6761
|
if (this.session.worktreeState === "persisted-v1") {
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6762
|
+
if (!session.worktree) {
|
|
6763
|
+
this.session.worktree = void 0;
|
|
6764
|
+
this.session.worktreeState = void 0;
|
|
6765
|
+
} else {
|
|
6766
|
+
const sameWorktree = session.worktreeState === "persisted-v1" && session.worktree.path === this.session.worktree?.path;
|
|
6767
|
+
if (!sameWorktree) {
|
|
6768
|
+
await this.client.detachSession(session.sessionId, session.clientId).catch(() => {
|
|
6769
|
+
});
|
|
6770
|
+
throw new Error(
|
|
6771
|
+
`Daemon lost durable worktree identity for session ${this.sessionId}`
|
|
6772
|
+
);
|
|
6773
|
+
}
|
|
6774
|
+
this.session.worktree = session.worktree;
|
|
6775
|
+
this.session.worktreeState = session.worktreeState;
|
|
6682
6776
|
}
|
|
6683
|
-
this.session.worktree = session.worktree;
|
|
6684
|
-
this.session.worktreeState = session.worktreeState;
|
|
6685
6777
|
}
|
|
6686
6778
|
this.session.clientId = session.clientId;
|
|
6687
6779
|
});
|
|
@@ -7412,6 +7504,7 @@ function createDaemonSessionViewState(seed = {}) {
|
|
|
7412
7504
|
lastWorkspaceMutation: seed.lastWorkspaceMutation,
|
|
7413
7505
|
lastWorkspaceMutationType: seed.lastWorkspaceMutationType,
|
|
7414
7506
|
approvalMode: seed.approvalMode,
|
|
7507
|
+
planExecutionMode: seed.planExecutionMode,
|
|
7415
7508
|
approvalModeChangedCount: seed.approvalModeChangedCount ?? 0,
|
|
7416
7509
|
lastApprovalModeChange: seed.lastApprovalModeChange,
|
|
7417
7510
|
toolToggleCount: seed.toolToggleCount ?? 0,
|
|
@@ -7796,6 +7889,7 @@ function reduceDaemonSessionEvent(state, rawEvent) {
|
|
|
7796
7889
|
return {
|
|
7797
7890
|
...base,
|
|
7798
7891
|
approvalMode: event.data.next,
|
|
7892
|
+
planExecutionMode: event.data.next === "plan" ? event.data.planExecutionMode : void 0,
|
|
7799
7893
|
approvalModeChangedCount: base.approvalModeChangedCount + 1,
|
|
7800
7894
|
lastApprovalModeChange: mergeOriginator(event.data, event)
|
|
7801
7895
|
};
|
|
@@ -7870,7 +7964,10 @@ function reduceDaemonSessionEvent(state, rawEvent) {
|
|
|
7870
7964
|
...base,
|
|
7871
7965
|
sessionId: event.data.sessionId,
|
|
7872
7966
|
...event.data.currentModelId != null ? { currentModelId: event.data.currentModelId } : {},
|
|
7873
|
-
...event.data.currentApprovalMode != null ? {
|
|
7967
|
+
...event.data.currentApprovalMode != null ? {
|
|
7968
|
+
approvalMode: event.data.currentApprovalMode,
|
|
7969
|
+
planExecutionMode: event.data.currentApprovalMode === "plan" ? event.data.planExecutionMode : void 0
|
|
7970
|
+
} : {},
|
|
7874
7971
|
...event.data.recordingDegraded !== void 0 ? { recordingDegraded: event.data.recordingDegraded } : {}
|
|
7875
7972
|
};
|
|
7876
7973
|
case "session_recording_degraded":
|
|
@@ -8224,7 +8321,7 @@ function mergeOriginator(data, event) {
|
|
|
8224
8321
|
}
|
|
8225
8322
|
__name(mergeOriginator, "mergeOriginator");
|
|
8226
8323
|
function isApprovalModeChangedData(value) {
|
|
8227
|
-
return isRecord(value) && isNonEmptyString(value["sessionId"]) && isNonEmptyString(value["previous"]) && isNonEmptyString(value["next"]) && typeof value["persisted"] === "boolean";
|
|
8324
|
+
return isRecord(value) && isNonEmptyString(value["sessionId"]) && isNonEmptyString(value["previous"]) && isNonEmptyString(value["next"]) && (value["planExecutionMode"] === void 0 || isNonEmptyString(value["planExecutionMode"])) && typeof value["persisted"] === "boolean";
|
|
8228
8325
|
}
|
|
8229
8326
|
__name(isApprovalModeChangedData, "isApprovalModeChangedData");
|
|
8230
8327
|
function isToolToggledData(value) {
|
|
@@ -8408,7 +8505,7 @@ function isSessionSnapshotData(value) {
|
|
|
8408
8505
|
const model = value["currentModelId"];
|
|
8409
8506
|
const mode = value["currentApprovalMode"];
|
|
8410
8507
|
const recordingDegraded = value["recordingDegraded"];
|
|
8411
|
-
return (model === null || typeof model === "string") && (mode === null || typeof mode === "string") && (recordingDegraded === void 0 || typeof recordingDegraded === "boolean");
|
|
8508
|
+
return (model === null || typeof model === "string") && (mode === null || typeof mode === "string") && (value["planExecutionMode"] === void 0 || isNonEmptyString(value["planExecutionMode"])) && (recordingDegraded === void 0 || typeof recordingDegraded === "boolean");
|
|
8412
8509
|
}
|
|
8413
8510
|
__name(isSessionSnapshotData, "isSessionSnapshotData");
|
|
8414
8511
|
function isSessionRecordingDegradedData(value) {
|
|
@@ -8701,7 +8798,7 @@ var bidiControlPattern = /[\u200e\u200f\u202a-\u202e\u2066-\u2069]/g;
|
|
|
8701
8798
|
|
|
8702
8799
|
// packages/sdk-typescript/src/daemon/ui/toolPreview.ts
|
|
8703
8800
|
var MAX_TOOL_PREVIEW_DEPTH = 8;
|
|
8704
|
-
var
|
|
8801
|
+
var MAX_TOOL_PREVIEW_ENTRIES = 1e3;
|
|
8705
8802
|
var MAX_TOOL_RESULT_PREVIEW_LENGTH = 1e5;
|
|
8706
8803
|
var MAX_TODO_ID_LENGTH = 512;
|
|
8707
8804
|
function createDaemonToolPreview(input, opts = {}, depth = 0) {
|
|
@@ -8769,6 +8866,27 @@ function createDaemonToolPreview(input, opts = {}, depth = 0) {
|
|
|
8769
8866
|
}
|
|
8770
8867
|
__name(createDaemonToolPreview, "createDaemonToolPreview");
|
|
8771
8868
|
function createDaemonToolResultPreview(output, content, opts = {}) {
|
|
8869
|
+
if (isRecord2(output) && output["type"] === "ask_user_question_answers" && typeof output["text"] === "string") {
|
|
8870
|
+
const text = output["text"];
|
|
8871
|
+
const fallback = createDaemonToolResultTextPreview(text);
|
|
8872
|
+
const entries = output["answers"];
|
|
8873
|
+
if (!Array.isArray(entries) || entries.length > MAX_TOOL_PREVIEW_ENTRIES) {
|
|
8874
|
+
return fallback;
|
|
8875
|
+
}
|
|
8876
|
+
let remaining = MAX_TOOL_RESULT_PREVIEW_LENGTH - text.length;
|
|
8877
|
+
const answers = [];
|
|
8878
|
+
for (const entry of entries) {
|
|
8879
|
+
if (!isRecord2(entry) || typeof entry["question"] !== "string" || typeof entry["answer"] !== "string") {
|
|
8880
|
+
return fallback;
|
|
8881
|
+
}
|
|
8882
|
+
const question = entry["question"];
|
|
8883
|
+
const answer = entry["answer"];
|
|
8884
|
+
remaining -= question.length + answer.length;
|
|
8885
|
+
if (remaining < 0) return fallback;
|
|
8886
|
+
answers.push({ question, answer });
|
|
8887
|
+
}
|
|
8888
|
+
return remaining >= 0 ? { kind: "question_answers", text, answers } : fallback;
|
|
8889
|
+
}
|
|
8772
8890
|
const todoList = detectTodoList(output, opts, false);
|
|
8773
8891
|
if (todoList) return todoList;
|
|
8774
8892
|
return createDaemonToolResultTextPreview(
|
|
@@ -8787,7 +8905,7 @@ function detectTodoList(input, opts, includeLegacySummary) {
|
|
|
8787
8905
|
if (!entries || toolName !== "todo_write" && toolName !== "todowrite") {
|
|
8788
8906
|
return void 0;
|
|
8789
8907
|
}
|
|
8790
|
-
const retainedEntries = entries.slice(0,
|
|
8908
|
+
const retainedEntries = entries.slice(0, MAX_TOOL_PREVIEW_ENTRIES);
|
|
8791
8909
|
const authoredIds = /* @__PURE__ */ new Set();
|
|
8792
8910
|
for (const entry of retainedEntries) {
|
|
8793
8911
|
if (!isRecord2(entry)) continue;
|
|
@@ -8800,9 +8918,9 @@ function detectTodoList(input, opts, includeLegacySummary) {
|
|
|
8800
8918
|
}
|
|
8801
8919
|
const normalized = [];
|
|
8802
8920
|
const usedIds = /* @__PURE__ */ new Set();
|
|
8803
|
-
let truncated = entries.length >
|
|
8921
|
+
let truncated = entries.length > MAX_TOOL_PREVIEW_ENTRIES;
|
|
8804
8922
|
let remainingText = MAX_TOOL_RESULT_PREVIEW_LENGTH;
|
|
8805
|
-
let remainingDependencyInputs =
|
|
8923
|
+
let remainingDependencyInputs = MAX_TOOL_PREVIEW_ENTRIES;
|
|
8806
8924
|
retainedEntries.forEach((entry, index) => {
|
|
8807
8925
|
if (!isRecord2(entry)) {
|
|
8808
8926
|
truncated = true;
|
|
@@ -9369,13 +9487,10 @@ function normalizeDaemonEvent(event, opts = {}) {
|
|
|
9369
9487
|
}
|
|
9370
9488
|
];
|
|
9371
9489
|
case "slow_client_warning":
|
|
9372
|
-
|
|
9373
|
-
|
|
9374
|
-
|
|
9375
|
-
|
|
9376
|
-
text: "SSE stream is lagging"
|
|
9377
|
-
}
|
|
9378
|
-
];
|
|
9490
|
+
if (typeof console !== "undefined") {
|
|
9491
|
+
console.warn?.("[daemon-ui] SSE stream is lagging", event.data);
|
|
9492
|
+
}
|
|
9493
|
+
return [];
|
|
9379
9494
|
case "stream_error": {
|
|
9380
9495
|
const errorKind = asDaemonErrorKind(getString2(event.data, "errorKind"));
|
|
9381
9496
|
return [
|
|
@@ -10023,6 +10138,7 @@ function normalizeToolUpdate(update, base) {
|
|
|
10023
10138
|
text: `Tool update missing toolCallId${title ? ` (${title})` : ""}`
|
|
10024
10139
|
};
|
|
10025
10140
|
}
|
|
10141
|
+
const subagentSessionReady = isRecord2(rawOutput) && typeof rawOutput["subagentSessionReady"] === "boolean" ? rawOutput["subagentSessionReady"] : metadata?.["subagentSessionReady"];
|
|
10026
10142
|
const { provenance, serverId } = extractToolProvenance(update, toolName);
|
|
10027
10143
|
const rawParentToolCallId = getString2(update, "parentToolCallId") ?? (metadata ? getString2(metadata, "parentToolCallId") : void 0);
|
|
10028
10144
|
const parentToolCallId = rawParentToolCallId && rawParentToolCallId !== toolCallId ? rawParentToolCallId : void 0;
|
|
@@ -10041,6 +10157,7 @@ function normalizeToolUpdate(update, base) {
|
|
|
10041
10157
|
...serverId ? { serverId } : {},
|
|
10042
10158
|
...parentToolCallId ? { parentToolCallId } : {},
|
|
10043
10159
|
...subagentType ? { subagentType } : {},
|
|
10160
|
+
...typeof subagentSessionReady === "boolean" ? { subagentSessionReady } : {},
|
|
10044
10161
|
...rawInput !== void 0 ? { rawInput } : {},
|
|
10045
10162
|
...rawOutput !== void 0 ? { rawOutput } : {},
|
|
10046
10163
|
...resultPreview ? { resultPreview } : {},
|
|
@@ -11390,6 +11507,9 @@ function upsertToolBlock(state, event) {
|
|
|
11390
11507
|
const bytesBefore = retainedBefore ? estimateBlockBytes(retainedBefore) : 0;
|
|
11391
11508
|
const existing = getWritableBlockById(state, existingId);
|
|
11392
11509
|
if (existing?.kind === "tool") {
|
|
11510
|
+
if (event.subagentSessionReady !== void 0) {
|
|
11511
|
+
existing.subagentSessionReady = existing.subagentSessionReady === true || event.subagentSessionReady;
|
|
11512
|
+
}
|
|
11393
11513
|
if (event.title !== void 0) existing.title = event.title;
|
|
11394
11514
|
if (event.status !== void 0) existing.status = event.status;
|
|
11395
11515
|
if (event.rawInput !== void 0) {
|
|
@@ -11498,6 +11618,7 @@ function upsertToolBlock(state, event) {
|
|
|
11498
11618
|
}),
|
|
11499
11619
|
...resultPreview ? { resultPreview } : {},
|
|
11500
11620
|
...isBackgroundToolOutput(rawOutput) ? { background: true } : {},
|
|
11621
|
+
...event.subagentSessionReady !== void 0 ? { subagentSessionReady: event.subagentSessionReady } : {},
|
|
11501
11622
|
clientReceivedAt: state.now,
|
|
11502
11623
|
createdAt: state.now,
|
|
11503
11624
|
updatedAt: state.now,
|
|
@@ -11572,6 +11693,7 @@ function compactTaskExecutionOutput(rawOutput, retainSubagentBlocks) {
|
|
|
11572
11693
|
"taskDescription",
|
|
11573
11694
|
"status",
|
|
11574
11695
|
"executionMode",
|
|
11696
|
+
"subagentSessionReady",
|
|
11575
11697
|
"terminateReason",
|
|
11576
11698
|
"tokenCount",
|
|
11577
11699
|
"executionSummary",
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
createWorkerDiagnosticRedactor,
|
|
29
29
|
normalizeWorkerDiagnostic,
|
|
30
30
|
sanitizeWorkerDiagnostic
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-DARWOZY6.js";
|
|
32
32
|
import {
|
|
33
33
|
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
34
34
|
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
@@ -50,14 +50,14 @@ import {
|
|
|
50
50
|
import {
|
|
51
51
|
EXTERNAL_TOOL_GUARD_TOKEN_ENV
|
|
52
52
|
} from "./chunk-3VUENPWF.js";
|
|
53
|
-
import {
|
|
54
|
-
sanitizeLogText
|
|
55
|
-
} from "./chunk-65GHQ4FX.js";
|
|
56
53
|
import {
|
|
57
54
|
CHANNEL_WORKER_KILL_GRACE_MS,
|
|
58
55
|
CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
|
|
59
56
|
CHANNEL_WORKER_STOP_GRACE_MS
|
|
60
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-TGNNLRC3.js";
|
|
58
|
+
import {
|
|
59
|
+
sanitizeLogText
|
|
60
|
+
} from "./chunk-WDVV3LRM.js";
|
|
61
61
|
import {
|
|
62
62
|
init_esbuild_shims
|
|
63
63
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
BaseJsonOutputAdapter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-PWR6BQ3U.js";
|
|
6
6
|
import {
|
|
7
7
|
observeHeadlessJsonToolResultWire
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HWLLUDIA.js";
|
|
9
9
|
import {
|
|
10
10
|
init_esbuild_shims
|
|
11
11
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -20,6 +20,8 @@ var JsonOutputAdapter = class extends BaseJsonOutputAdapter {
|
|
|
20
20
|
__name(this, "JsonOutputAdapter");
|
|
21
21
|
}
|
|
22
22
|
messages = [];
|
|
23
|
+
attemptMessageCheckpoint = 0;
|
|
24
|
+
lastAssistantMessageAtAttemptStart = null;
|
|
23
25
|
constructor(config) {
|
|
24
26
|
super(config);
|
|
25
27
|
}
|
|
@@ -39,6 +41,42 @@ var JsonOutputAdapter = class extends BaseJsonOutputAdapter {
|
|
|
39
41
|
shouldEmitStreamEvents() {
|
|
40
42
|
return false;
|
|
41
43
|
}
|
|
44
|
+
startAssistantMessage() {
|
|
45
|
+
this.attemptMessageCheckpoint = this.messages.length;
|
|
46
|
+
this.lastAssistantMessageAtAttemptStart = this.lastAssistantMessage;
|
|
47
|
+
super.startAssistantMessage();
|
|
48
|
+
}
|
|
49
|
+
restartAttempt(preserveText, discardedToolCalls) {
|
|
50
|
+
if (preserveText) {
|
|
51
|
+
const discardedIds = new Set(
|
|
52
|
+
discardedToolCalls.map((request) => request.callId)
|
|
53
|
+
);
|
|
54
|
+
if (discardedIds.size > 0) {
|
|
55
|
+
const retained = this.messages.slice(this.attemptMessageCheckpoint).filter(
|
|
56
|
+
(message) => message.type !== "assistant" || !message.message.content.some(
|
|
57
|
+
(block) => block.type === "tool_use" && discardedIds.has(block.id)
|
|
58
|
+
)
|
|
59
|
+
);
|
|
60
|
+
this.messages.splice(
|
|
61
|
+
this.attemptMessageCheckpoint,
|
|
62
|
+
this.messages.length - this.attemptMessageCheckpoint,
|
|
63
|
+
...retained
|
|
64
|
+
);
|
|
65
|
+
this.lastAssistantMessage = this.messages.findLast(
|
|
66
|
+
(message) => message.type === "assistant"
|
|
67
|
+
) ?? this.lastAssistantMessageAtAttemptStart;
|
|
68
|
+
}
|
|
69
|
+
} else {
|
|
70
|
+
const retained = this.messages.slice(this.attemptMessageCheckpoint).filter((message) => message.type !== "assistant");
|
|
71
|
+
this.messages.splice(
|
|
72
|
+
this.attemptMessageCheckpoint,
|
|
73
|
+
this.messages.length - this.attemptMessageCheckpoint,
|
|
74
|
+
...retained
|
|
75
|
+
);
|
|
76
|
+
this.lastAssistantMessage = this.lastAssistantMessageAtAttemptStart;
|
|
77
|
+
}
|
|
78
|
+
super.restartAttempt(preserveText, discardedToolCalls);
|
|
79
|
+
}
|
|
42
80
|
finalizeAssistantMessage() {
|
|
43
81
|
return this.finalizeAssistantMessageInternal(
|
|
44
82
|
this.mainAgentMessageState,
|
|
@@ -20,12 +20,12 @@ import {
|
|
|
20
20
|
detectLineEnding,
|
|
21
21
|
getDiffStat,
|
|
22
22
|
needsUtf8Bom
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BDAVT6K2.js";
|
|
24
24
|
import {
|
|
25
25
|
FileOperationEvent,
|
|
26
26
|
getLanguageFromFilePath,
|
|
27
27
|
logFileOperation
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-FRS3P7MQ.js";
|
|
29
29
|
import {
|
|
30
30
|
fileExists,
|
|
31
31
|
getSpecificMimeType
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
|
|
7
7
|
// packages/cli/src/generated/git-commit.ts
|
|
8
8
|
init_esbuild_shims();
|
|
9
|
-
var GIT_COMMIT_INFO = "
|
|
10
|
-
var CLI_VERSION = "0.23.
|
|
9
|
+
var GIT_COMMIT_INFO = "44e2b2ed25";
|
|
10
|
+
var CLI_VERSION = "0.23.2-nightly.20260909.2e212144d3";
|
|
11
11
|
|
|
12
12
|
export {
|
|
13
13
|
GIT_COMMIT_INFO,
|
|
@@ -10,11 +10,12 @@ import {
|
|
|
10
10
|
DEFAULT_TOOL_OUTPUT_BATCH_BUDGET,
|
|
11
11
|
DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
|
|
12
12
|
DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
|
|
13
|
-
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
|
|
14
|
-
|
|
13
|
+
DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
|
|
14
|
+
GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP
|
|
15
|
+
} from "./chunk-BDAVT6K2.js";
|
|
15
16
|
import {
|
|
16
17
|
REASONING_EFFORT_TIERS
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-F3M6P6IQ.js";
|
|
18
19
|
import {
|
|
19
20
|
DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
|
|
20
21
|
SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
|
|
@@ -972,7 +973,7 @@ var SETTINGS_SCHEMA = {
|
|
|
972
973
|
label: "Screen Reader Mode",
|
|
973
974
|
category: "UI",
|
|
974
975
|
requiresRestart: true,
|
|
975
|
-
default:
|
|
976
|
+
default: false,
|
|
976
977
|
description: "Render output in plain-text to be more screen reader accessible",
|
|
977
978
|
showInDialog: false
|
|
978
979
|
}
|
|
@@ -1249,6 +1250,11 @@ var SETTINGS_SCHEMA = {
|
|
|
1249
1250
|
description: "Requires `telemetry.enabled: true`. Inject W3C `traceparent` on outbound `fetch` requests (LLM SDK calls, MCP StreamableHTTP, WebFetch, ...) AND as a `TRACEPARENT` environment variable in shell child processes (Bash tool, hooks, monitor). When enabled, any existing `TRACEPARENT` in the parent environment is overwritten with qwen-code's own trace context. Default: false \u2014 trace context stays internal to the operator's OTLP collector. Set true when you want cross-process trace stitching with an OTel-aware LLM provider (e.g. ARMS+DashScope) or need shell scripts / CLI tools to participate in distributed tracing.",
|
|
1250
1251
|
type: "boolean",
|
|
1251
1252
|
default: false
|
|
1253
|
+
},
|
|
1254
|
+
allowDynamicHeaderValues: {
|
|
1255
|
+
description: "SECURITY-RELEVANT. Allow `modelProviders[].generationConfig.customHeaders` values to contain runtime placeholders \u2014 currently `${session_id}` \u2014 expanded per request instead of frozen at client construction. Default false: a value containing a placeholder is dropped rather than sent. Enable when a gateway requires a stable per-conversation identifier (e.g. OpenCode Go requires `x-opencode-session`). Which hosts receive the value and what the header is called are decided by the provider entry you attach the header to; this switch only decides whether `${session_id}` may be expanded from live session state and does not identify which settings source supplied the header.",
|
|
1256
|
+
type: "boolean",
|
|
1257
|
+
default: false
|
|
1252
1258
|
}
|
|
1253
1259
|
},
|
|
1254
1260
|
additionalProperties: false
|
|
@@ -1405,6 +1411,17 @@ var SETTINGS_SCHEMA = {
|
|
|
1405
1411
|
description: "Autonomous spend window armed on each new Goal, in tokens as counted by the Goal meter (totalTokenCount summed over every model call the Goal makes in its own turns; side queries and checkpoint verification are not metered). When a Goal spends its window it gets one wind-down turn to hand off, then stops until you resume it, which arms another window. Unset uses the built-in default of 30,000,000; -1 means unlimited. Zero, values above 300,000,000 (10x the default, a typo guard), other negative, fractional, or non-number values are rejected at startup.",
|
|
1406
1412
|
showInDialog: false
|
|
1407
1413
|
},
|
|
1414
|
+
goalCheckpointTimeoutSeconds: {
|
|
1415
|
+
type: "integer",
|
|
1416
|
+
label: "Goal Checkpoint Timeout (seconds)",
|
|
1417
|
+
category: "Model",
|
|
1418
|
+
requiresRestart: false,
|
|
1419
|
+
default: void 0,
|
|
1420
|
+
minimum: 1,
|
|
1421
|
+
maximum: GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
|
|
1422
|
+
description: "Ceiling on one Goal evidence-checkpoint check, in seconds. A long Goal periodically compresses its evidence into checkpoint claims with a side model call. A check whose claims overrun the aggregate byte budget, or include a claim over the per-claim character limit, makes one corrective retry, and both calls share this ceiling. A check that does not finish in time is abandoned as inconclusive; it counts toward the checkpoint stall limit only when the evidence window has overflowed, while a non-overflowing check preserves the streak and retries on a later turn. Unset uses the built-in default of 180. Must be an integer between 1 and 900; other values are rejected at startup. The calls are streamed, so the per-request transport timeout (model.generationConfig.timeout, default 120 s) bounds only connect and first response, and values above 900 are rejected because past the default stream lifetime guard that guard, not this setting, ends the check. The 900 ceiling is fixed: raising QWEN_STREAM_MAX_LIFETIME_MS does not lift it.",
|
|
1423
|
+
showInDialog: false
|
|
1424
|
+
},
|
|
1408
1425
|
maxToolCalls: {
|
|
1409
1426
|
type: "number",
|
|
1410
1427
|
label: "Max Tool Calls",
|
|
@@ -2274,7 +2291,7 @@ var SETTINGS_SCHEMA = {
|
|
|
2274
2291
|
category: "Tools",
|
|
2275
2292
|
requiresRestart: true,
|
|
2276
2293
|
default: {},
|
|
2277
|
-
description: "Settings for the built-in WebSearch tool (DashScope Responses API backend).
|
|
2294
|
+
description: "Settings for the built-in WebSearch tool (DashScope Responses API backend). On by default at startup for Alibaba ModelStudio Standard API Key / Token Plan and OpenAI-compatible entries on recognized DashScope Responses hosts with a direct key; set enabled=false to turn it off. Which providers can activate the tool is decided at startup; once active, the search backend follows the currently selected model on the next search. Fully env-configurable for environments without settings.json: ENABLE_WEB_SEARCH, WEB_SEARCH_MODEL, WEB_SEARCH_BASE_URL, WEB_SEARCH_API_KEY (falls back to DASHSCOPE_API_KEY), WEB_SEARCH_EXTRACTOR. Note: baseUrl and API key are env-only (WEB_SEARCH_BASE_URL / WEB_SEARCH_API_KEY) and cannot be set in settings.json.",
|
|
2278
2295
|
showInDialog: false,
|
|
2279
2296
|
properties: {
|
|
2280
2297
|
enabled: {
|
|
@@ -2282,8 +2299,8 @@ var SETTINGS_SCHEMA = {
|
|
|
2282
2299
|
label: "Enable WebSearch",
|
|
2283
2300
|
category: "Tools",
|
|
2284
2301
|
requiresRestart: true,
|
|
2285
|
-
default:
|
|
2286
|
-
description: "
|
|
2302
|
+
default: void 0,
|
|
2303
|
+
description: "Set false to disable the built-in web_search tool. Automatic startup activation requires leaving enabled, model, and the env-only backend unset. Setting true permits automatic derivation only when the env-only backend is also unset; otherwise a model is required. Env override: ENABLE_WEB_SEARCH.",
|
|
2287
2304
|
showInDialog: true
|
|
2288
2305
|
},
|
|
2289
2306
|
model: {
|
|
@@ -2292,7 +2309,7 @@ var SETTINGS_SCHEMA = {
|
|
|
2292
2309
|
category: "Tools",
|
|
2293
2310
|
requiresRestart: true,
|
|
2294
2311
|
default: void 0,
|
|
2295
|
-
description: 'Model selector for the search
|
|
2312
|
+
description: 'Model selector for the explicit search path ("modelId" or "authType:modelId"). With WEB_SEARCH_BASE_URL it is the plain model id for that endpoint; otherwise it must match a DashScope-compatible modelProviders entry with an envKey. The automatic path uses qwen3.6-plus. Env override: WEB_SEARCH_MODEL.',
|
|
2296
2313
|
showInDialog: true
|
|
2297
2314
|
},
|
|
2298
2315
|
webExtractor: {
|
|
@@ -2770,7 +2787,7 @@ var SETTINGS_SCHEMA = {
|
|
|
2770
2787
|
label: "Use External Auth",
|
|
2771
2788
|
category: "Security",
|
|
2772
2789
|
requiresRestart: true,
|
|
2773
|
-
default:
|
|
2790
|
+
default: false,
|
|
2774
2791
|
description: "Whether to use an external authentication flow.",
|
|
2775
2792
|
showInDialog: false
|
|
2776
2793
|
},
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
} from "./chunk-HWVUSYSN.js";
|
|
12
12
|
import {
|
|
13
13
|
loadSettings
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-Y7YHAY32.js";
|
|
15
15
|
import {
|
|
16
16
|
SkillManager,
|
|
17
17
|
isSafeModeEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-BDAVT6K2.js";
|
|
19
19
|
import {
|
|
20
20
|
writeStderrLine
|
|
21
21
|
} from "./chunk-7FA2II6K.js";
|