@qwen-code/qwen-code 0.21.0 → 0.21.1-nightly.20260731.702932cc7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +39 -28
- package/bundled/qc-helper/docs/features/channels/_meta.ts +2 -0
- package/bundled/qc-helper/docs/features/channels/github.md +139 -0
- package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
- package/bundled/qc-helper/docs/features/code-review.md +21 -1
- package/bundled/qc-helper/docs/features/hooks.md +72 -15
- package/bundled/qc-helper/docs/features/mcp.md +9 -1
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
- package/bundled/qc-helper/docs/features/sub-agents.md +42 -8
- package/bundled/qc-helper/docs/qwen-serve.md +11 -7
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/bundled/review/DESIGN.md +19 -0
- package/bundled/review/SKILL.md +120 -61
- package/chunks/MaxSizedBox-LAFHK4VO.js +88 -0
- package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-EMNOBN3S.js} +71 -68
- package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-2C4A5ZTJ.js} +2 -2
- package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-ERFA6HWV.js} +1674 -591
- package/chunks/agent-PLKF6JK4.js +84 -0
- package/chunks/agent-headless-JAORDQ63.js +78 -0
- package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-OFHSZJBF.js} +79 -27
- package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-RDN2W7ND.js} +4 -4
- package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-OZERWH5R.js} +4 -4
- package/chunks/bridge-NYOBVRIT.js +94 -0
- package/chunks/{build-RV63TIRH.js → build-GDBLPA24.js} +1 -1
- package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
- package/chunks/channel-management-service-5S7YCWX5.js +418 -0
- package/chunks/channel-settings-store-NLOKYO23.js +91 -0
- package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-OVWGYMZS.js} +11 -6
- package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-H55GKOQA.js} +11 -6
- package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-CABBXYHK.js} +7 -5
- package/chunks/{chunk-RIBKPMRP.js → chunk-23F4XGWO.js} +19 -6
- package/chunks/{chunk-ACY3A37B.js → chunk-25VHI5T7.js} +23 -18
- package/chunks/{chunk-MZAXJAUM.js → chunk-26JK4RPD.js} +1 -1
- package/chunks/{chunk-6GMVPFB2.js → chunk-2IIJTXYF.js} +45 -16
- package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
- package/chunks/{chunk-2X55UKQE.js → chunk-2JZR3B4A.js} +3 -3
- package/chunks/{chunk-7JURR4JT.js → chunk-2OQUICDM.js} +167 -81
- package/chunks/{chunk-ZJHVAS7M.js → chunk-2YCYFWYZ.js} +4 -5
- package/chunks/{chunk-3QMGYBFN.js → chunk-3APUUXRF.js} +1 -80
- package/chunks/{chunk-MUP3T3AD.js → chunk-3I6DUGQD.js} +1 -35
- package/chunks/{chunk-JVPM2ULZ.js → chunk-3XZ5SSNR.js} +6 -6
- package/chunks/chunk-42VPM33K.js +319 -0
- package/chunks/{chunk-VAK25FTU.js → chunk-45IOTAUS.js} +1 -1
- package/chunks/chunk-45UYUCJ6.js +363 -0
- package/chunks/{chunk-JZA3JUDJ.js → chunk-4KP2F2TE.js} +1 -1
- package/chunks/{chunk-IO3IX5Q4.js → chunk-4YJQD2IO.js} +1 -1
- package/chunks/{chunk-JXJFVC6E.js → chunk-5G6XUGXO.js} +61 -14
- package/chunks/{chunk-ZOIFNCKL.js → chunk-5NNHICSA.js} +3 -23
- package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
- package/chunks/{chunk-RHLZR4E5.js → chunk-675H6PLP.js} +1 -1
- package/chunks/chunk-6FMJLI5M.js +1591 -0
- package/chunks/chunk-6MPDY6ZG.js +76 -0
- package/chunks/{chunk-PSOO6YXD.js → chunk-6NUWQ3R7.js} +9 -7
- package/chunks/{chunk-7MVVZO4N.js → chunk-6ZRWX46I.js} +4 -4
- package/chunks/{chunk-TPRQ7RZH.js → chunk-76E5Y3UZ.js} +3117 -993
- package/chunks/{chunk-UUUTRMI2.js → chunk-7ULQIS27.js} +1 -1
- package/chunks/{chunk-BKHWX6I2.js → chunk-A5BZ722X.js} +11 -3
- package/chunks/{chunk-TEHGS6UP.js → chunk-A5T5W7PR.js} +154 -16
- package/chunks/{chunk-VIA5XA4U.js → chunk-A5UODYG3.js} +4 -1
- package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
- package/chunks/{chunk-EBJQ6AXW.js → chunk-ANDVK2JN.js} +358 -14
- package/chunks/{chunk-TOFQCPDC.js → chunk-AOHY3QJ3.js} +14 -8
- package/chunks/chunk-AQ37AY7B.js +93 -0
- package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
- package/chunks/{chunk-LKEJ26GS.js → chunk-B3TA3IF5.js} +16 -11
- package/chunks/{chunk-Q4M4MDQ4.js → chunk-B43QHWY6.js} +1 -1
- package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
- package/chunks/{chunk-K36B6G2O.js → chunk-B6FOGNGH.js} +5 -5
- package/chunks/{chunk-PWVFN2LF.js → chunk-BP2H5K25.js} +1 -1
- package/chunks/{chunk-LB6DUZ26.js → chunk-BTWSGZCT.js} +264 -185
- package/chunks/{chunk-ZNAUOR2I.js → chunk-BZBPT52P.js} +2 -2
- package/chunks/{chunk-L26JL52R.js → chunk-CBBP4BMC.js} +64 -67
- package/chunks/{chunk-ZD6UTE4A.js → chunk-CNTR4GR6.js} +1 -1
- package/chunks/{chunk-3SJ43L4W.js → chunk-CPZAH673.js} +6 -0
- package/chunks/{chunk-EPDRMGT4.js → chunk-D4HTUMGX.js} +4 -28
- package/chunks/{chunk-QAF7NMK7.js → chunk-D7CQTWRS.js} +1 -1
- package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
- package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
- package/chunks/{chunk-IKCX4CCL.js → chunk-DKPJUF5F.js} +118 -95
- package/chunks/{chunk-DLWL3Z7A.js → chunk-DSFHVTWD.js} +3 -3
- package/chunks/{chunk-FSITMZJH.js → chunk-DYRYLJ3O.js} +18 -9
- package/chunks/{chunk-NL7LTRLR.js → chunk-E2BHWIDT.js} +48 -72
- package/chunks/{chunk-UDX5OBWR.js → chunk-E2FN6SM7.js} +94 -4
- package/chunks/{chunk-USTWD7QV.js → chunk-E6CJ2SMM.js} +26 -16
- package/chunks/{chunk-KMQ33DO4.js → chunk-EDB7A72S.js} +4 -4
- package/chunks/{chunk-7ZCNENPP.js → chunk-FANRZEAJ.js} +1 -1
- package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
- package/chunks/{chunk-5NBDS5S6.js → chunk-FCYYAB4S.js} +162 -7
- package/chunks/{chunk-OKY7HXPG.js → chunk-FJ5WUMUQ.js} +2 -2
- package/chunks/{chunk-PHOF65IG.js → chunk-FRXG4ARO.js} +36273 -44436
- package/chunks/{chunk-FQK6JAFG.js → chunk-FS674JW4.js} +4 -4
- package/chunks/chunk-FYJ7W2PI.js +194 -0
- package/chunks/{chunk-BULDBTYC.js → chunk-G7XXKQYS.js} +3 -28
- package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
- package/chunks/{chunk-VRYUBFMC.js → chunk-GRUAVQQR.js} +1 -1
- package/chunks/{chunk-MVSUYZDT.js → chunk-GWV7DI3S.js} +4 -4
- package/chunks/{chunk-A5L3JMUA.js → chunk-HC45LTEN.js} +18 -4
- package/chunks/{chunk-PC6JANNU.js → chunk-HKRVXYDN.js} +4 -4
- package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
- package/chunks/{chunk-4WIZGAH3.js → chunk-I5BT7ADR.js} +6 -58
- package/chunks/{chunk-GSN55ZRI.js → chunk-ID3O7PRB.js} +19 -7
- package/chunks/{chunk-L5UHQJTJ.js → chunk-IGTHU3T4.js} +1 -1
- package/chunks/{chunk-BIQWWWJN.js → chunk-IIUGIWWY.js} +1 -1
- package/chunks/{chunk-RWTEFFPU.js → chunk-JCJ7LKNA.js} +6140 -5616
- package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
- package/chunks/{chunk-PWTZEM3C.js → chunk-JXVC2PL3.js} +3 -37
- package/chunks/chunk-JYBU6YUE.js +378 -0
- package/chunks/{chunk-RF3EXIHJ.js → chunk-K3PFMM5U.js} +49 -26
- package/chunks/{chunk-JCW2R7WC.js → chunk-K623ENWT.js} +3 -79
- package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
- package/chunks/chunk-KWHKHSIS.js +81 -0
- package/chunks/{chunk-DHHOYAPR.js → chunk-L2E5GFAG.js} +7 -7
- package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
- package/chunks/{chunk-E5TUC6CA.js → chunk-LHKCY7DY.js} +3 -3
- package/chunks/{chunk-NH6KE4JX.js → chunk-LOY7RWQG.js} +3 -3
- package/chunks/{chunk-U7M2DMGW.js → chunk-M4MSAE7U.js} +130 -5
- package/chunks/{chunk-IJTOWOD7.js → chunk-MB32MS4U.js} +92 -9
- package/chunks/{chunk-PR75REBZ.js → chunk-MM7TH7ZM.js} +12 -82
- package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
- package/chunks/{chunk-M5JM7OSF.js → chunk-N4ACHWNH.js} +2 -3
- package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
- package/chunks/{chunk-J56UI34H.js → chunk-NBD76HUW.js} +4 -2
- package/chunks/{chunk-2SCDWPXI.js → chunk-NC4U4I3Y.js} +5 -5
- package/chunks/{chunk-H4SBPHSA.js → chunk-NNL7WPPK.js} +3 -3
- package/chunks/{chunk-YBL3QUDD.js → chunk-NQCXWP5D.js} +1 -1
- package/chunks/{chunk-CIKQ7KKO.js → chunk-NVFSGPIF.js} +954 -444
- package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
- package/chunks/chunk-O6GEWCJA.js +21 -0
- package/chunks/chunk-OCPBI7J5.js +18 -0
- package/chunks/{chunk-KIM5GUMA.js → chunk-OE6F6ZWQ.js} +589 -220
- package/chunks/{chunk-SQCQ4KO2.js → chunk-P5DEY3NF.js} +380 -317
- package/chunks/{chunk-2JZBVYTU.js → chunk-Q3T5KA2V.js} +1 -8
- package/chunks/{chunk-MB4MZHMJ.js → chunk-QARJNL2V.js} +211 -522
- package/chunks/{chunk-YH6G52F2.js → chunk-QCXGC7QB.js} +4 -4
- package/chunks/chunk-QDK4F2N5.js +1252 -0
- package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
- package/chunks/{chunk-VULLI6WQ.js → chunk-QIERF2GQ.js} +6 -6
- package/chunks/{chunk-TGILQ3YH.js → chunk-QQTJK5GB.js} +200 -77
- package/chunks/{chunk-H5FFA6TH.js → chunk-QTHQ6Z5X.js} +16 -3
- package/chunks/{chunk-5I2IWRSH.js → chunk-R2XWGR75.js} +2 -2
- package/chunks/{chunk-YPE6A4GC.js → chunk-RT7FNC2O.js} +2 -2
- package/chunks/{chunk-OFDOK3VM.js → chunk-RX7NJOPE.js} +8 -13
- package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
- package/chunks/{chunk-K4XWPEWB.js → chunk-SHN4KHDK.js} +4 -33
- package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
- package/chunks/chunk-T26EAKDL.js +13 -0
- package/chunks/chunk-T3CHYWJZ.js +758 -0
- package/chunks/{chunk-FNQ6T3CV.js → chunk-TEGJSJDF.js} +10 -7
- package/chunks/{chunk-RZIX2G32.js → chunk-THPORXSI.js} +1 -1
- package/chunks/{chunk-OHNBB4XR.js → chunk-THVU3RNH.js} +1 -1
- package/chunks/{record-artifact-RQKFYO5B.js → chunk-TIRRPCFS.js} +22 -7
- package/chunks/{chunk-ETSW4KLJ.js → chunk-TUCOXPHJ.js} +2 -2
- package/chunks/{chunk-63P4EL5V.js → chunk-TZTAV5RH.js} +1 -1
- package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
- package/chunks/{chunk-3RN6GBKS.js → chunk-U5CODIJW.js} +1 -1
- package/chunks/chunk-UU2B5YG6.js +2196 -0
- package/chunks/{chunk-R5AFZNQW.js → chunk-VAVHTGU4.js} +15 -8
- package/chunks/{chunk-2NH6DYI4.js → chunk-VHPFWR2O.js} +12 -12
- package/chunks/{chunk-IKYJHJNF.js → chunk-VOMQ2P6B.js} +3 -3
- package/chunks/{chunk-ZFDTEDCF.js → chunk-VX22DUW2.js} +6 -6
- package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
- package/chunks/{chunk-M4FMGVY4.js → chunk-WQP7BKWA.js} +3 -3
- package/chunks/{chunk-LH2BYDQ5.js → chunk-X2E5TFJ5.js} +18 -12
- package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
- package/chunks/{chunk-YX324OPW.js → chunk-XDS22O52.js} +1 -1
- package/chunks/chunk-XP4L6KS3.js +463 -0
- package/chunks/{chunk-6FGBXPWM.js → chunk-XQK4XXTN.js} +38 -44
- package/chunks/{chunk-55DJUCI2.js → chunk-XWYPFDB5.js} +53 -43
- package/chunks/{chunk-Y34KJKDC.js → chunk-Y7BVNVVW.js} +1 -1
- package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
- package/chunks/{chunk-HIJQF5B5.js → chunk-YGE3IXJP.js} +1 -1
- package/chunks/{chunk-LQIW3YFY.js → chunk-YJFPRUWX.js} +9 -7
- package/chunks/{chunk-J24WCGIN.js → chunk-YQIIG4NA.js} +4 -4
- package/chunks/{chunk-BJX6ZSUK.js → chunk-YUFIEIWC.js} +2 -2
- package/chunks/{chunk-NIBLUX3Y.js → chunk-Z3S5EMOW.js} +148 -21
- package/chunks/{chunk-WCXCRJYB.js → chunk-Z3YLHKB7.js} +1 -1
- package/chunks/chunk-Z4X5MTRT.js +133 -0
- package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
- package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
- package/chunks/{chunk-X5XDDSSH.js → chunk-ZPZ7ZJEE.js} +28 -5
- package/chunks/{computer-use-SOQ4E3VX.js → computer-use-GOM42LNK.js} +53 -50
- package/chunks/{config-utils-7V7GGIW6.js → config-utils-WADIDWGG.js} +4 -3
- package/chunks/contextCommand-6LVPTIWD.js +83 -0
- package/chunks/core-runtime-253XV2DB.js +137 -0
- package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-45POYEVP.js} +50 -47
- package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-62YZWVAY.js} +3 -3
- package/chunks/{cron-create-YIID5XAW.js → cron-create-6E7GIQTG.js} +6 -6
- package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-JD26XY3W.js} +5 -5
- package/chunks/{cron-list-XEGS463Q.js → cron-list-CUWFB44G.js} +6 -6
- package/chunks/{daemon-YO6433NF.js → daemon-PCNCI5YU.js} +428 -18
- package/chunks/daemon-status-provider-AKALDYJJ.js +93 -0
- package/chunks/daemon-trust-policy-XB7ZSQFQ.js +88 -0
- package/chunks/daemon-trust-policy-monitor-FUTKP42Q.js +175 -0
- package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
- package/chunks/deferred-core-runtime-RKLCO7V5.js +92 -0
- package/chunks/dist-26BIMQT6.js +4487 -0
- package/chunks/{dist-F6IBUDR4.js → dist-2PERFI23.js} +12 -9
- package/chunks/{dist-46NQKLTW.js → dist-OAOC5OV4.js} +2 -2
- package/chunks/{dist-YFNEUWSE.js → dist-PVEAFLHY.js} +5 -4
- package/chunks/{dist-AIKFMUKK.js → dist-SL2LUMML.js} +1449 -14
- package/chunks/dist-ULIG4M5H.js +13415 -0
- package/chunks/{dist-WEAHOXDM.js → dist-WGMNT3JQ.js} +2 -1
- package/chunks/{dist-BBLXMS3N.js → dist-ZHXOBXDN.js} +3 -3
- package/chunks/earlyInputCapture-FCWU47OB.js +85 -0
- package/chunks/{edit-OBDSQURM.js → edit-TTACM3LN.js} +51 -48
- package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
- package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-R34GFDX6.js} +51 -48
- package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-KJPBB6G5.js} +51 -48
- package/chunks/environment-IJG3N2PR.js +105 -0
- package/chunks/errors-MRON5OJD.js +91 -0
- package/chunks/esm-K5FARBNI.js +5548 -0
- package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-UBA66Y4I.js} +51 -48
- package/chunks/exitPlanMode-SMSPGNSK.js +76 -0
- package/chunks/{fast-path-JJZFJANL.js → fast-path-ZBAMZDCP.js} +16 -6
- package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
- package/chunks/{gemini-QS36EBZV.js → gemini-XFT7HRNL.js} +106 -99
- package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-XD3MLYQX.js} +40 -11
- package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
- package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
- package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
- package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
- package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
- package/chunks/{glob-V7R3PSK3.js → glob-HFKY7HXZ.js} +51 -48
- package/chunks/goal-tools-HGO6VXPB.js +335 -0
- package/chunks/{grep-QYPSK7OP.js → grep-EO5Z3PFV.js} +53 -49
- package/chunks/handleAutoUpdate-WRENFE6C.js +84 -0
- package/chunks/i18n-ZG5OTVSV.js +100 -0
- package/chunks/{image-gen-Z3VPGKRC.js → image-gen-CKWZ4MJI.js} +12 -12
- package/chunks/initializer-FYPLLRC7.js +89 -0
- package/chunks/installationInfo-5RV4HRMC.js +83 -0
- package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
- package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-IKO4G53C.js} +3 -3
- package/chunks/lib-RUF3WZA6.js +9 -0
- package/chunks/list-ZNWVL3AT.js +92 -0
- package/chunks/{list-agents-5KJJHR6I.js → list-agents-PXJ7ZUFB.js} +3 -3
- package/chunks/loadedSettingsAdapter-GQGNHP5I.js +86 -0
- package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-MS5DFAWH.js} +78 -113
- package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-Y26NQZ5I.js} +15 -8
- package/chunks/{ls-NTK6VOQJ.js → ls-ONQTTMQR.js} +5 -5
- package/chunks/{lsp-2JI24STP.js → lsp-YGHHRGMD.js} +3 -3
- package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-67AK4GTL.js} +51 -48
- package/chunks/mcp-FVQ4VTLM.js +86 -0
- package/chunks/{monitor-R3ODH5U6.js → monitor-BXB33EOZ.js} +51 -48
- package/chunks/nonInteractiveCli-CN2GYSN3.js +148 -0
- package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-FKYRBV4L.js} +51 -48
- package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-UUXV5DGU.js} +26 -27
- package/chunks/pidfile-MV347TTZ.js +89 -0
- package/chunks/process-registry-2CHQBXH5.js +157 -0
- package/chunks/{processUtils-RT7UNCC2.js → processUtils-LKFG52RV.js} +2 -2
- package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
- package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-3WYI2HRW.js} +56 -53
- package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-B46MW45O.js} +10 -10
- package/chunks/read-file-ACSHVWP3.js +29 -0
- package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-U2IJN5HM.js} +4 -4
- package/chunks/record-artifact-MGPJ7EG4.js +21 -0
- package/chunks/resumeHistoryUtils-AMS4767B.js +94 -0
- package/chunks/ripGrep-BAPM2UKC.js +76 -0
- package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
- package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-JEN6FO2A.js} +1018 -263
- package/chunks/runtime-WVP22ISH.js +122 -0
- package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-HTX5ACVR.js} +50 -47
- package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
- package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-4BQANSJ6.js} +7 -7
- package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-Z4VXWVFX.js} +14 -14
- package/chunks/{send-message-Q6OOR6BR.js → send-message-PMP4ATVM.js} +8 -13
- package/chunks/serve-ELQIVNWN.js +92 -0
- package/chunks/{server-4UMH7OIZ.js → server-JNW2NOSQ.js} +5288 -1364
- package/chunks/{session-K3O3Q2SV.js → session-NC356XNS.js} +102 -95
- package/chunks/{settings-CR2EWTBA.js → settings-73RMIOJ6.js} +54 -51
- package/chunks/shell-NMHF5TFG.js +86 -0
- package/chunks/{skill-I3SDA4MB.js → skill-XPGXHEKO.js} +22 -22
- package/chunks/skill-settings-5IGIJDGA.js +94 -0
- package/chunks/spawnChannel-T5THBHFN.js +85 -0
- package/chunks/standalone-update-ODXEPDLP.js +95 -0
- package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-S27DXVAE.js} +1241 -905
- package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-D7E6ZFKR.js} +4 -4
- package/chunks/task-create-NFCYD43L.js +26 -0
- package/chunks/{task-list-FOPULZEP.js → task-list-TAVMGEVD.js} +7 -7
- package/chunks/{task-stop-H6RHXFVQ.js → task-stop-ZDF2UJRM.js} +3 -3
- package/chunks/{task-update-M57TFZJT.js → task-update-6L7LHGEX.js} +12 -11
- package/chunks/{team-create-YJALH5D2.js → team-create-CTLQWTJ2.js} +53 -50
- package/chunks/{team-delete-QE2UXJL7.js → team-delete-DPGGRQBU.js} +7 -7
- package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-WKRUAPJ4.js} +51 -48
- package/chunks/theme-manager-XQHXQQX6.js +80 -0
- package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-2UO5G6G6.js} +34 -6
- package/chunks/{tool-search-NF7GB6LE.js → tool-search-45YINAJA.js} +21 -22
- package/chunks/total-session-admission-QPUKGHKO.js +88 -0
- package/chunks/trustedFolders-YMUTRHEQ.js +98 -0
- package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-PZUXTVHC.js} +5 -5
- package/chunks/updateCheck-IZAN4XTB.js +95 -0
- package/chunks/useAutoAcceptIndicator-CGL2MAYE.js +96 -0
- package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-GBGNJ65K.js} +97 -90
- package/chunks/{version-HS7YSFHV.js → version-Z7EX24NZ.js} +1 -1
- package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-ETTT2H3V.js} +19 -21
- package/chunks/{web-search-S62WAP4S.js → web-search-Y3ZSVRJ6.js} +13 -13
- package/chunks/{workflow-QAGU5RU4.js → workflow-ATRJSAO7.js} +52 -49
- package/chunks/workspace-providers-status-YM3WLW3N.js +89 -0
- package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-4EGNCIPG.js} +1 -1
- package/chunks/workspace-registry-NGZOZKQP.js +96 -0
- package/chunks/workspace-service-SVWOXX2B.js +103 -0
- package/chunks/workspace-skills-status-YZHZ3PT5.js +89 -0
- package/chunks/workspace-trust-reconciler-GGBQV2U5.js +349 -0
- package/chunks/write-file-HLGCEB72.js +78 -0
- package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
- package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
- package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
- package/chunks/zoom-image-LDECT475.js +224 -0
- package/cli.js +50 -16
- package/locales/ca.js +7 -2
- package/locales/de.js +7 -2
- package/locales/en.js +10 -2
- package/locales/fr.js +7 -2
- package/locales/ja.js +7 -2
- package/locales/pt.js +7 -2
- package/locales/ru.js +7 -2
- package/locales/zh-TW.js +10 -2
- package/locales/zh.js +10 -2
- package/package.json +5 -4
- package/web-shell/assets/{arc-DcbWnB9T.js → arc-Dpy_U6Bb.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-DgDOg-c5.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-tADd9Ja3.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-68wj9MCU.js} +1 -1
- package/web-shell/assets/channel-Do7fFnFl.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-DjJLOeVU.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-CMbzGeVC.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-SlKgejv9.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-CijXssHZ.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-D8w25nvR.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-Bv9dcx_e.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-Bzf6sAOd.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-whNoNeW5.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-By_XOP3X.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-By_XOP3X.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-rpQS44Lz.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-Ck7VE6nT.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-CgRrsodR.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-CsTZtE5A.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-D5EAdVq4.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-DNrjHC7Z.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-ClJSJGgC.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-DuVnos_y.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-DEpIVl1s.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-COnQM2-C.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-C-lX5H3_.js} +1 -1
- package/web-shell/assets/index-C2GE3DAF.js +74 -0
- package/web-shell/assets/{index-D0GX0zZf.js → index-DfcyS2E7.js} +1 -1
- package/web-shell/assets/index-Qxt6kN7i.js +1700 -0
- package/web-shell/assets/index-bo0Z8hfu.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-D0WP-wmU.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-DgsI3Clu.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-4yCoMZO6.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-D_05au1N.js} +1 -1
- package/web-shell/assets/{linear-BkoihsaA.js → linear-B38fDz0Q.js} +1 -1
- package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-aGNwTaHi.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-C2yf_5WM.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-DiHABBT-.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-W9xkeAGe.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-BGmRXl9k.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-CvOmT43_.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-C8pdd0Z-.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-C-CYdFx2.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BieEHeN9.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-w2KQn1cI.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-DuorhRku.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-BAXm2cWy.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-8PHaOXn5.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-Do84JFSc.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/MaxSizedBox-5DPPWPGT.js +0 -85
- package/chunks/agent-6ODUANDO.js +0 -81
- package/chunks/agent-headless-7BYQTMHW.js +0 -75
- package/chunks/bridge-ZUB64FAE.js +0 -90
- package/chunks/chunk-LEH5C7FV.js +0 -232
- package/chunks/chunk-SZRN75WQ.js +0 -29
- package/chunks/chunk-UGYMA4EI.js +0 -219
- package/chunks/chunk-Z2BC6UJ5.js +0 -8575
- package/chunks/contextCommand-JLHYA34Z.js +0 -80
- package/chunks/daemon-status-provider-2233Q37D.js +0 -89
- package/chunks/earlyInputCapture-A7NDU3PF.js +0 -82
- package/chunks/environment-W5UFC2CH.js +0 -102
- package/chunks/errors-M7CLORXH.js +0 -88
- package/chunks/exitPlanMode-GXTBWQAR.js +0 -403
- package/chunks/handleAutoUpdate-6DBEZYPV.js +0 -81
- package/chunks/i18n-VUJJZIMU.js +0 -97
- package/chunks/initializer-UWAK5U5O.js +0 -86
- package/chunks/installationInfo-6O2YAA52.js +0 -80
- package/chunks/list-GB4ESM3T.js +0 -89
- package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +0 -83
- package/chunks/mcp-6DBDJPFU.js +0 -83
- package/chunks/nonInteractiveCli-MOYCYBBU.js +0 -141
- package/chunks/pidfile-TFRZZZIO.js +0 -86
- package/chunks/read-file-APMO3PSX.js +0 -31
- package/chunks/resumeHistoryUtils-6KRYEAWZ.js +0 -91
- package/chunks/ripGrep-BEJDEDXW.js +0 -73
- package/chunks/runtime-XXRRTNP6.js +0 -118
- package/chunks/serve-7BSTXJ4T.js +0 -89
- package/chunks/shell-HH3PF3A2.js +0 -83
- package/chunks/spawnChannel-RWNDBXGA.js +0 -82
- package/chunks/src-GE4TTTML.js +0 -3147
- package/chunks/standalone-update-Q6WFRZZQ.js +0 -92
- package/chunks/task-create-N7WQSGYA.js +0 -25
- package/chunks/theme-manager-SWRILQHI.js +0 -77
- package/chunks/total-session-admission-DLHHHLD3.js +0 -84
- package/chunks/trustedFolders-KHXHY6PY.js +0 -93
- package/chunks/updateCheck-RKL6M5XN.js +0 -92
- package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +0 -93
- package/chunks/workspace-providers-status-QSVZUETE.js +0 -86
- package/chunks/workspace-registry-UT4RBNBM.js +0 -88
- package/chunks/workspace-service-JFWRUS4V.js +0 -98
- package/chunks/workspace-skills-status-ZBBKJOI2.js +0 -85
- package/chunks/write-file-VHIXW5M7.js +0 -73
- package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
- package/web-shell/assets/index-D9haPt0X.css +0 -5
- package/web-shell/assets/index-ckX9Pq5k.js +0 -1230
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
- package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
- package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
- /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
getPlugin
|
|
5
|
+
} from "./chunk-KWHKHSIS.js";
|
|
6
|
+
import {
|
|
7
|
+
loadSettings,
|
|
8
|
+
saveSettings
|
|
9
|
+
} from "./chunk-A5T5W7PR.js";
|
|
10
|
+
import {
|
|
11
|
+
init_esbuild_shims
|
|
12
|
+
} from "./chunk-5O2XNYP6.js";
|
|
13
|
+
import {
|
|
14
|
+
__name
|
|
15
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
16
|
+
|
|
17
|
+
// packages/cli/src/serve/channel-settings-store.ts
|
|
18
|
+
init_esbuild_shims();
|
|
19
|
+
import { createHash } from "node:crypto";
|
|
20
|
+
import { isDeepStrictEqual } from "node:util";
|
|
21
|
+
var ChannelSettingsError = class extends Error {
|
|
22
|
+
constructor(code, message) {
|
|
23
|
+
super(message);
|
|
24
|
+
this.code = code;
|
|
25
|
+
this.name = "ChannelSettingsError";
|
|
26
|
+
}
|
|
27
|
+
static {
|
|
28
|
+
__name(this, "ChannelSettingsError");
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function revisionOf(channels, startupNames) {
|
|
32
|
+
return createHash("sha256").update(JSON.stringify({ channels, startupNames })).digest("hex");
|
|
33
|
+
}
|
|
34
|
+
__name(revisionOf, "revisionOf");
|
|
35
|
+
function applySecretUpdate(current, update) {
|
|
36
|
+
validateSecretUpdate(update);
|
|
37
|
+
if (update.operation === "preserve") return current;
|
|
38
|
+
if (update.operation === "clear") return void 0;
|
|
39
|
+
if (typeof update.value !== "string" || update.value.length === 0) {
|
|
40
|
+
throw invalidSecret("Secret replacements must be non-empty strings.");
|
|
41
|
+
}
|
|
42
|
+
return update.value;
|
|
43
|
+
}
|
|
44
|
+
__name(applySecretUpdate, "applySecretUpdate");
|
|
45
|
+
function invalidSecret(message) {
|
|
46
|
+
return new ChannelSettingsError("channel_settings_invalid_secret", message);
|
|
47
|
+
}
|
|
48
|
+
__name(invalidSecret, "invalidSecret");
|
|
49
|
+
function invalidConfig(message) {
|
|
50
|
+
return new ChannelSettingsError("channel_settings_invalid_config", message);
|
|
51
|
+
}
|
|
52
|
+
__name(invalidConfig, "invalidConfig");
|
|
53
|
+
var UNSAFE_OBJECT_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
|
|
54
|
+
function assertSafeChannelName(name) {
|
|
55
|
+
if (UNSAFE_OBJECT_KEYS.has(name)) {
|
|
56
|
+
throw new ChannelSettingsError(
|
|
57
|
+
"channel_settings_invalid_name",
|
|
58
|
+
`Channel name ${JSON.stringify(name)} is not allowed.`
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
__name(assertSafeChannelName, "assertSafeChannelName");
|
|
63
|
+
function assertUpsertChannelName(name) {
|
|
64
|
+
assertSafeChannelName(name);
|
|
65
|
+
if (isAllStartupName(name)) {
|
|
66
|
+
throw new ChannelSettingsError(
|
|
67
|
+
"channel_settings_invalid_name",
|
|
68
|
+
`Channel name ${JSON.stringify(name)} is reserved for startup selection.`
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
__name(assertUpsertChannelName, "assertUpsertChannelName");
|
|
73
|
+
function isAllStartupName(name) {
|
|
74
|
+
return name.trim() === "all";
|
|
75
|
+
}
|
|
76
|
+
__name(isAllStartupName, "isAllStartupName");
|
|
77
|
+
function isRecord(value) {
|
|
78
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
79
|
+
}
|
|
80
|
+
__name(isRecord, "isRecord");
|
|
81
|
+
function isEnvironmentReference(value) {
|
|
82
|
+
return /^\$[A-Za-z_][A-Za-z0-9_]*$/.test(value);
|
|
83
|
+
}
|
|
84
|
+
__name(isEnvironmentReference, "isEnvironmentReference");
|
|
85
|
+
function assertStringRecord(key, value, allowedKeys) {
|
|
86
|
+
if (!isRecord(value)) {
|
|
87
|
+
throw invalidConfig(`Channel field "${key}" must be an object.`);
|
|
88
|
+
}
|
|
89
|
+
for (const [nestedKey, nestedValue] of Object.entries(value)) {
|
|
90
|
+
if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "string") {
|
|
91
|
+
throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
__name(assertStringRecord, "assertStringRecord");
|
|
96
|
+
function assertNumberRecord(key, value, allowedKeys) {
|
|
97
|
+
if (!isRecord(value)) {
|
|
98
|
+
throw invalidConfig(`Channel field "${key}" must be an object.`);
|
|
99
|
+
}
|
|
100
|
+
for (const [nestedKey, nestedValue] of Object.entries(value)) {
|
|
101
|
+
if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "number" || !Number.isFinite(nestedValue)) {
|
|
102
|
+
throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
__name(assertNumberRecord, "assertNumberRecord");
|
|
107
|
+
function assertSharedField(key, value) {
|
|
108
|
+
const enumValues = {
|
|
109
|
+
senderPolicy: /* @__PURE__ */ new Set(["allowlist", "pairing", "open"]),
|
|
110
|
+
dmPolicy: /* @__PURE__ */ new Set(["open", "disabled"]),
|
|
111
|
+
groupPolicy: /* @__PURE__ */ new Set(["disabled", "allowlist", "open"]),
|
|
112
|
+
sessionScope: /* @__PURE__ */ new Set(["user", "thread", "single"]),
|
|
113
|
+
dispatchMode: /* @__PURE__ */ new Set(["steer", "followup", "collect"]),
|
|
114
|
+
blockStreaming: /* @__PURE__ */ new Set(["on", "off"])
|
|
115
|
+
};
|
|
116
|
+
if (Object.hasOwn(enumValues, key)) {
|
|
117
|
+
if (typeof value !== "string" || !enumValues[key].has(value)) {
|
|
118
|
+
throw invalidConfig(`Channel field "${key}" has an invalid value.`);
|
|
119
|
+
}
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
if (["model", "cwd", "approvalMode", "instructions"].includes(key)) {
|
|
123
|
+
if (typeof value !== "string") {
|
|
124
|
+
throw invalidConfig(`Channel field "${key}" must be a string.`);
|
|
125
|
+
}
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
if (key === "allowedUsers") {
|
|
129
|
+
if (!Array.isArray(value) || value.some((item) => typeof item !== "string")) {
|
|
130
|
+
throw invalidConfig(`Channel field "${key}" must be a string array.`);
|
|
131
|
+
}
|
|
132
|
+
return true;
|
|
133
|
+
}
|
|
134
|
+
if (key === "groupHistoryLimit") {
|
|
135
|
+
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
136
|
+
throw invalidConfig(`Channel field "${key}" must be a number.`);
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
if (key === "identity") {
|
|
141
|
+
assertStringRecord(
|
|
142
|
+
key,
|
|
143
|
+
value,
|
|
144
|
+
/* @__PURE__ */ new Set(["id", "displayName", "description"])
|
|
145
|
+
);
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
if (key === "blockStreamingChunk") {
|
|
149
|
+
assertNumberRecord(key, value, /* @__PURE__ */ new Set(["minChars", "maxChars"]));
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
if (key === "blockStreamingCoalesce") {
|
|
153
|
+
assertNumberRecord(key, value, /* @__PURE__ */ new Set(["idleMs"]));
|
|
154
|
+
return true;
|
|
155
|
+
}
|
|
156
|
+
if (key === "memoryScope") {
|
|
157
|
+
if (!isRecord(value)) {
|
|
158
|
+
throw invalidConfig(`Channel field "${key}" must be an object.`);
|
|
159
|
+
}
|
|
160
|
+
for (const [nestedKey, nestedValue] of Object.entries(value)) {
|
|
161
|
+
const valid = nestedKey === "namespace" && typeof nestedValue === "string" || nestedKey === "mode" && nestedValue === "metadata-only";
|
|
162
|
+
if (!valid) {
|
|
163
|
+
throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
__name(assertSharedField, "assertSharedField");
|
|
171
|
+
function assertDescriptorValue(field, value) {
|
|
172
|
+
const invalidEnvironment = typeof value === "string" && isEnvironmentReference(value) && field.envResolvable !== true;
|
|
173
|
+
if (invalidEnvironment) {
|
|
174
|
+
throw invalidConfig(
|
|
175
|
+
`Channel field "${field.key}" does not support environment references.`
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
const valid = (field.kind === "string" || field.kind === "secret") && typeof value === "string" && value.length > 0 || field.kind === "boolean" && typeof value === "boolean" || field.kind === "number" && typeof value === "number" && Number.isFinite(value) || field.kind === "enum" && typeof value === "string" && field.options?.some((option) => option.value === value) === true;
|
|
179
|
+
if (!valid) {
|
|
180
|
+
throw invalidConfig(`Channel field "${field.key}" has an invalid value.`);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
__name(assertDescriptorValue, "assertDescriptorValue");
|
|
184
|
+
function assertManagedConfig(config, previous, fields) {
|
|
185
|
+
const descriptorFields = new Map(fields.map((field) => [field.key, field]));
|
|
186
|
+
for (const [key, value] of Object.entries(config)) {
|
|
187
|
+
if (key === "type") continue;
|
|
188
|
+
const field = descriptorFields.get(key);
|
|
189
|
+
if (field) {
|
|
190
|
+
assertDescriptorValue(field, value);
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
if (assertSharedField(key, value)) continue;
|
|
194
|
+
if (!Object.hasOwn(previous, key) || !isDeepStrictEqual(previous[key], value)) {
|
|
195
|
+
throw invalidConfig(`Channel field "${key}" is not manageable.`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
for (const field of fields) {
|
|
199
|
+
if (!field.required) continue;
|
|
200
|
+
const value = config[field.key];
|
|
201
|
+
if (value === void 0 || value === null || value === "") {
|
|
202
|
+
throw invalidConfig(`Channel field "${field.key}" is required.`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
__name(assertManagedConfig, "assertManagedConfig");
|
|
207
|
+
function validateSecretUpdate(update) {
|
|
208
|
+
if (!isRecord(update)) {
|
|
209
|
+
throw invalidSecret("Secret updates must be objects.");
|
|
210
|
+
}
|
|
211
|
+
const operation = update["operation"];
|
|
212
|
+
const keys = Object.keys(update).sort();
|
|
213
|
+
const valid = (operation === "preserve" || operation === "clear") && keys.length === 1 && keys[0] === "operation" || operation === "replace" && keys.length === 2 && keys[0] === "operation" && keys[1] === "value" && typeof update["value"] === "string" && update["value"].length > 0;
|
|
214
|
+
if (!valid) {
|
|
215
|
+
throw invalidSecret("Secret updates contain an invalid operation.");
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
__name(validateSecretUpdate, "validateSecretUpdate");
|
|
219
|
+
function assertValidChannelSecretUpdates(updates) {
|
|
220
|
+
if (!isRecord(updates)) {
|
|
221
|
+
throw invalidSecret("Secret updates must be objects.");
|
|
222
|
+
}
|
|
223
|
+
for (const [key, update] of Object.entries(updates)) {
|
|
224
|
+
if (UNSAFE_OBJECT_KEYS.has(key)) {
|
|
225
|
+
throw invalidSecret(`Secret update ${JSON.stringify(key)} is invalid.`);
|
|
226
|
+
}
|
|
227
|
+
validateSecretUpdate(update);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
__name(assertValidChannelSecretUpdates, "assertValidChannelSecretUpdates");
|
|
231
|
+
function workspaceValues(workspaceCwd) {
|
|
232
|
+
const settings = loadSettings(workspaceCwd, { skipLoadEnvironment: true }).workspace.settings;
|
|
233
|
+
const rawChannels = isRecord(settings.channels) ? settings.channels : {};
|
|
234
|
+
const channels = {};
|
|
235
|
+
for (const [name, config] of Object.entries(rawChannels)) {
|
|
236
|
+
if (isRecord(config)) channels[name] = config;
|
|
237
|
+
}
|
|
238
|
+
const startupNames = Array.isArray(settings.serve?.channels) ? settings.serve.channels.filter(
|
|
239
|
+
(name) => typeof name === "string"
|
|
240
|
+
) : [];
|
|
241
|
+
return { channels, startupNames };
|
|
242
|
+
}
|
|
243
|
+
__name(workspaceValues, "workspaceValues");
|
|
244
|
+
var WorkspaceChannelSettingsStore = class {
|
|
245
|
+
constructor(workspaceCwd) {
|
|
246
|
+
this.workspaceCwd = workspaceCwd;
|
|
247
|
+
}
|
|
248
|
+
static {
|
|
249
|
+
__name(this, "WorkspaceChannelSettingsStore");
|
|
250
|
+
}
|
|
251
|
+
snapshot() {
|
|
252
|
+
const { channels, startupNames } = workspaceValues(this.workspaceCwd);
|
|
253
|
+
return {
|
|
254
|
+
revision: revisionOf(channels, startupNames),
|
|
255
|
+
channels: { ...channels },
|
|
256
|
+
startupNames: [...startupNames]
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
async upsert(name, options) {
|
|
260
|
+
assertUpsertChannelName(name);
|
|
261
|
+
const secretUpdates = options.secrets === void 0 ? {} : options.secrets;
|
|
262
|
+
assertValidChannelSecretUpdates(secretUpdates);
|
|
263
|
+
const plugin = await getPlugin(options.config.type);
|
|
264
|
+
if (!plugin?.management) {
|
|
265
|
+
throw new ChannelSettingsError(
|
|
266
|
+
"channel_settings_unmanageable",
|
|
267
|
+
`Channel type "${options.config.type}" does not provide safe management metadata.`
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
const secretKeys = new Set(
|
|
271
|
+
plugin.management.fields.filter((field) => field.kind === "secret").map((field) => field.key)
|
|
272
|
+
);
|
|
273
|
+
for (const key of Object.keys(secretUpdates)) {
|
|
274
|
+
if (!secretKeys.has(key)) {
|
|
275
|
+
throw invalidSecret(
|
|
276
|
+
`Channel type "${options.config.type}" does not declare "${key}" as a secret.`
|
|
277
|
+
);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
for (const key of secretKeys) {
|
|
281
|
+
if (Object.hasOwn(options.config, key)) {
|
|
282
|
+
throw invalidSecret(
|
|
283
|
+
`Secret "${key}" must use an explicit preserve, replace, or clear operation.`
|
|
284
|
+
);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
const current = this.assertRevision(options.expectedRevision);
|
|
288
|
+
const storedPrevious = current.channels[name] ?? {};
|
|
289
|
+
const previous = storedPrevious["type"] === options.config.type ? storedPrevious : {};
|
|
290
|
+
const nextConfig = { ...options.config };
|
|
291
|
+
for (const key of secretKeys) {
|
|
292
|
+
const update = secretUpdates[key] ?? { operation: "preserve" };
|
|
293
|
+
const value = applySecretUpdate(previous[key], update);
|
|
294
|
+
if (value !== void 0) nextConfig[key] = value;
|
|
295
|
+
}
|
|
296
|
+
assertManagedConfig(nextConfig, previous, plugin.management.fields);
|
|
297
|
+
const channels = { ...current.channels, [name]: nextConfig };
|
|
298
|
+
const workspaceFile = loadSettings(this.workspaceCwd, {
|
|
299
|
+
skipLoadEnvironment: true
|
|
300
|
+
}).workspace;
|
|
301
|
+
saveSettings(workspaceFile, { channels }, ["channels"], {
|
|
302
|
+
throwOnWriteFailure: true
|
|
303
|
+
});
|
|
304
|
+
return this.snapshot();
|
|
305
|
+
}
|
|
306
|
+
async remove(name, options) {
|
|
307
|
+
assertSafeChannelName(name);
|
|
308
|
+
const current = this.assertRevision(options.expectedRevision);
|
|
309
|
+
const channels = { ...current.channels };
|
|
310
|
+
delete channels[name];
|
|
311
|
+
const hasAllSentinel = current.startupNames.some(isAllStartupName);
|
|
312
|
+
const startupNames = hasAllSentinel ? Object.keys(channels).some(
|
|
313
|
+
(channelName) => !isAllStartupName(channelName)
|
|
314
|
+
) ? ["all"] : [] : current.startupNames.filter((startupName) => startupName !== name);
|
|
315
|
+
const workspaceFile = loadSettings(this.workspaceCwd, {
|
|
316
|
+
skipLoadEnvironment: true
|
|
317
|
+
}).workspace;
|
|
318
|
+
saveSettings(
|
|
319
|
+
workspaceFile,
|
|
320
|
+
{ channels, serve: { channels: startupNames } },
|
|
321
|
+
["channels"],
|
|
322
|
+
{ throwOnWriteFailure: true }
|
|
323
|
+
);
|
|
324
|
+
return this.snapshot();
|
|
325
|
+
}
|
|
326
|
+
async setStartupNames(names, options) {
|
|
327
|
+
for (const name of names) {
|
|
328
|
+
assertSafeChannelName(name);
|
|
329
|
+
}
|
|
330
|
+
this.assertRevision(options.expectedRevision);
|
|
331
|
+
const workspaceFile = loadSettings(this.workspaceCwd, {
|
|
332
|
+
skipLoadEnvironment: true
|
|
333
|
+
}).workspace;
|
|
334
|
+
saveSettings(
|
|
335
|
+
workspaceFile,
|
|
336
|
+
{ serve: { channels: [...names] } },
|
|
337
|
+
["serve", "channels"],
|
|
338
|
+
{ throwOnWriteFailure: true }
|
|
339
|
+
);
|
|
340
|
+
return this.snapshot();
|
|
341
|
+
}
|
|
342
|
+
assertRevision(expectedRevision) {
|
|
343
|
+
const current = this.snapshot();
|
|
344
|
+
if (current.revision !== expectedRevision) {
|
|
345
|
+
throw new ChannelSettingsError(
|
|
346
|
+
"channel_settings_conflict",
|
|
347
|
+
"Channel settings changed; reload before trying again."
|
|
348
|
+
);
|
|
349
|
+
}
|
|
350
|
+
return current;
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
export {
|
|
355
|
+
ChannelSettingsError,
|
|
356
|
+
assertValidChannelSecretUpdates,
|
|
357
|
+
WorkspaceChannelSettingsStore
|
|
358
|
+
};
|
|
359
|
+
/**
|
|
360
|
+
* @license
|
|
361
|
+
* Copyright 2025 Qwen Team
|
|
362
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
363
|
+
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
theme
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-45IOTAUS.js";
|
|
6
6
|
import {
|
|
7
7
|
require_jsx_runtime
|
|
8
8
|
} from "./chunk-SV5PQVQE.js";
|
|
@@ -10,14 +10,14 @@ import {
|
|
|
10
10
|
Box_default,
|
|
11
11
|
Text,
|
|
12
12
|
use_is_screen_reader_enabled_default
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2IIJTXYF.js";
|
|
14
14
|
import {
|
|
15
15
|
require_react
|
|
16
16
|
} from "./chunk-5QWWOFGG.js";
|
|
17
17
|
import {
|
|
18
18
|
formatHistoryGapNotice,
|
|
19
19
|
indexGapsByChild
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-Z3YLHKB7.js";
|
|
21
21
|
import {
|
|
22
22
|
stringWidth
|
|
23
23
|
} from "./chunk-2MIN6GRR.js";
|
|
@@ -29,16 +29,17 @@ import {
|
|
|
29
29
|
} from "./chunk-E5Z2AVNV.js";
|
|
30
30
|
import {
|
|
31
31
|
t
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-B3TA3IF5.js";
|
|
33
33
|
import {
|
|
34
|
-
getToolResponseDisplayText
|
|
35
|
-
|
|
34
|
+
getToolResponseDisplayText,
|
|
35
|
+
stripTrailingUserPromptSubmitContextPart
|
|
36
|
+
} from "./chunk-FRXG4ARO.js";
|
|
36
37
|
import {
|
|
37
38
|
stripAnsi
|
|
38
39
|
} from "./chunk-TWPJO254.js";
|
|
39
40
|
import {
|
|
40
41
|
ToolDisplayNames
|
|
41
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-MM7TH7ZM.js";
|
|
42
43
|
import {
|
|
43
44
|
init_esbuild_shims
|
|
44
45
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2741,6 +2742,16 @@ function safeDescription(raw) {
|
|
|
2741
2742
|
return cleaned || void 0;
|
|
2742
2743
|
}
|
|
2743
2744
|
__name(safeDescription, "safeDescription");
|
|
2745
|
+
function categoryShowsDescriptionsInline(toolCalls, category) {
|
|
2746
|
+
const sameCategory = toolCalls.filter(
|
|
2747
|
+
(tc) => getToolCategory(tc.name) === category
|
|
2748
|
+
);
|
|
2749
|
+
if (sameCategory.length > DESCRIPTION_INLINE_LIMIT) return false;
|
|
2750
|
+
return sameCategory.every(
|
|
2751
|
+
(tc) => safeDescription(tc.description) !== void 0
|
|
2752
|
+
);
|
|
2753
|
+
}
|
|
2754
|
+
__name(categoryShowsDescriptionsInline, "categoryShowsDescriptionsInline");
|
|
2744
2755
|
function getActiveToolHint(toolCalls) {
|
|
2745
2756
|
if (toolCalls.length < 2) return void 0;
|
|
2746
2757
|
const statuses = [
|
|
@@ -2753,16 +2764,21 @@ function getActiveToolHint(toolCalls) {
|
|
|
2753
2764
|
const tool = toolCalls[index];
|
|
2754
2765
|
if (tool.status === status) {
|
|
2755
2766
|
const category = getToolCategory(tool.name);
|
|
2756
|
-
const
|
|
2767
|
+
const hasCategoryPeers = toolCalls.some(
|
|
2757
2768
|
(candidate, candidateIndex) => candidateIndex !== index && getToolCategory(candidate.name) === category
|
|
2758
2769
|
);
|
|
2759
|
-
|
|
2770
|
+
if (!hasCategoryPeers) return void 0;
|
|
2771
|
+
if (categoryShowsDescriptionsInline(toolCalls, category))
|
|
2772
|
+
return void 0;
|
|
2773
|
+
return safeDescription(tool.description);
|
|
2760
2774
|
}
|
|
2761
2775
|
}
|
|
2762
2776
|
}
|
|
2763
2777
|
return void 0;
|
|
2764
2778
|
}
|
|
2765
2779
|
__name(getActiveToolHint, "getActiveToolHint");
|
|
2780
|
+
var DESCRIPTION_INLINE_LIMIT = 3;
|
|
2781
|
+
var DESCRIPTION_PREVIEW_COUNT = 2;
|
|
2766
2782
|
function buildToolSummary(toolCalls, isActive) {
|
|
2767
2783
|
if (toolCalls.length === 0) return "";
|
|
2768
2784
|
const toolsByCategory = /* @__PURE__ */ new Map();
|
|
@@ -2777,20 +2793,37 @@ function buildToolSummary(toolCalls, isActive) {
|
|
|
2777
2793
|
const tools = toolsByCategory.get(cat);
|
|
2778
2794
|
if (!tools || tools.length === 0) continue;
|
|
2779
2795
|
const template = CATEGORY_TEMPLATES[cat];
|
|
2796
|
+
const verb = isActive ? template.activeVerb : template.pastVerb;
|
|
2780
2797
|
let part;
|
|
2781
2798
|
if (tools.length === 1) {
|
|
2782
2799
|
const safeDesc = safeDescription(tools[0].description);
|
|
2783
2800
|
if (safeDesc !== void 0) {
|
|
2784
|
-
const verb = isActive ? template.activeVerb : template.pastVerb;
|
|
2785
2801
|
part = `${verb} ${safeDesc}`;
|
|
2786
2802
|
} else {
|
|
2787
2803
|
part = t(isActive ? template.active.one : template.past.one, {
|
|
2788
2804
|
count: "1"
|
|
2789
2805
|
});
|
|
2790
2806
|
}
|
|
2807
|
+
} else if (tools.length <= DESCRIPTION_INLINE_LIMIT) {
|
|
2808
|
+
const descriptions = tools.map((tc) => safeDescription(tc.description)).filter((d) => d !== void 0);
|
|
2809
|
+
if (descriptions.length === tools.length) {
|
|
2810
|
+
part = `${verb} ${descriptions.join(", ")}`;
|
|
2811
|
+
} else {
|
|
2812
|
+
const forms = isActive ? template.active : template.past;
|
|
2813
|
+
part = t(forms.many, { count: String(tools.length) });
|
|
2814
|
+
}
|
|
2791
2815
|
} else {
|
|
2792
|
-
const
|
|
2793
|
-
|
|
2816
|
+
const previewDescs = tools.slice(0, DESCRIPTION_PREVIEW_COUNT).map((tc) => safeDescription(tc.description)).filter((d) => d !== void 0);
|
|
2817
|
+
if (previewDescs.length === DESCRIPTION_PREVIEW_COUNT) {
|
|
2818
|
+
const remaining = tools.length - DESCRIPTION_PREVIEW_COUNT;
|
|
2819
|
+
const morePhrase = t("... and {{count}} more", {
|
|
2820
|
+
count: String(remaining)
|
|
2821
|
+
});
|
|
2822
|
+
part = `${verb} ${previewDescs.join(", ")}, ${morePhrase}`;
|
|
2823
|
+
} else {
|
|
2824
|
+
const forms = isActive ? template.active : template.past;
|
|
2825
|
+
part = t(forms.many, { count: String(tools.length) });
|
|
2826
|
+
}
|
|
2794
2827
|
}
|
|
2795
2828
|
if (parts.length > 0) {
|
|
2796
2829
|
part = part.charAt(0).toLowerCase() + part.slice(1);
|
|
@@ -2848,6 +2881,17 @@ var CompactToolGroupDisplay = /* @__PURE__ */ __name(({ toolCalls, contentWidth
|
|
|
2848
2881
|
}, "CompactToolGroupDisplay");
|
|
2849
2882
|
|
|
2850
2883
|
// packages/cli/src/ui/utils/resumeHistoryUtils.ts
|
|
2884
|
+
function extractUserRecordDisplayText(record) {
|
|
2885
|
+
const payload = record.systemPayload;
|
|
2886
|
+
if (payload?.displayText) {
|
|
2887
|
+
return payload.displayText;
|
|
2888
|
+
}
|
|
2889
|
+
const parts = record.message?.parts ?? [];
|
|
2890
|
+
return extractTextFromParts([
|
|
2891
|
+
...stripTrailingUserPromptSubmitContextPart(parts)
|
|
2892
|
+
]);
|
|
2893
|
+
}
|
|
2894
|
+
__name(extractUserRecordDisplayText, "extractUserRecordDisplayText");
|
|
2851
2895
|
function extractTextFromParts(parts) {
|
|
2852
2896
|
if (!parts) return "";
|
|
2853
2897
|
const textParts = [];
|
|
@@ -3053,7 +3097,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
|
|
|
3053
3097
|
currentToolGroup = [];
|
|
3054
3098
|
}
|
|
3055
3099
|
const payload = pendingAtCommands.shift();
|
|
3056
|
-
const text2 = payload.userText ||
|
|
3100
|
+
const text2 = payload.userText || extractUserRecordDisplayText(record);
|
|
3057
3101
|
if (text2) {
|
|
3058
3102
|
items.push({ type: "user", text: text2 });
|
|
3059
3103
|
}
|
|
@@ -3073,7 +3117,7 @@ function convertToHistoryItems(conversation, config, historyGaps) {
|
|
|
3073
3117
|
});
|
|
3074
3118
|
currentToolGroup = [];
|
|
3075
3119
|
}
|
|
3076
|
-
const text =
|
|
3120
|
+
const text = extractUserRecordDisplayText(record);
|
|
3077
3121
|
if (text) {
|
|
3078
3122
|
items.push({ type: "user", text });
|
|
3079
3123
|
}
|
|
@@ -3130,6 +3174,9 @@ function convertToHistoryItems(conversation, config, historyGaps) {
|
|
|
3130
3174
|
if (toolCall) {
|
|
3131
3175
|
const rawDisplay = record.toolCallResult.resultDisplay;
|
|
3132
3176
|
toolCall.resultDisplay = rawDisplay;
|
|
3177
|
+
if (record.toolCallResult.visionBridgeNotice !== void 0) {
|
|
3178
|
+
toolCall.visionBridgeNotice = record.toolCallResult.visionBridgeNotice;
|
|
3179
|
+
}
|
|
3133
3180
|
const rawStatus = record.toolCallResult["status"];
|
|
3134
3181
|
toolCall.status = rawStatus === "error" ? "Error" /* Error */ : "Success" /* Success */;
|
|
3135
3182
|
if (toolCall.status === "Success" /* Success */ && isCollapsibleTool(toolCall.name)) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
getInboxesDir
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-JXVC2PL3.js";
|
|
6
6
|
import {
|
|
7
7
|
require_proper_lockfile
|
|
8
8
|
} from "./chunk-KRXPRVGL.js";
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
} from "./chunk-VGC4I5JJ.js";
|
|
12
12
|
import {
|
|
13
13
|
atomicWriteJSON
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HC45LTEN.js";
|
|
15
15
|
import {
|
|
16
16
|
createDebugLogger,
|
|
17
17
|
isNodeError
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-E2BHWIDT.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -27,14 +27,6 @@ import {
|
|
|
27
27
|
// packages/core/src/agents/team/leaderPermissionBridge.ts
|
|
28
28
|
init_esbuild_shims();
|
|
29
29
|
var leaderCallbacks = null;
|
|
30
|
-
function registerLeader(callbacks) {
|
|
31
|
-
leaderCallbacks = callbacks;
|
|
32
|
-
}
|
|
33
|
-
__name(registerLeader, "registerLeader");
|
|
34
|
-
function getLeader() {
|
|
35
|
-
return leaderCallbacks;
|
|
36
|
-
}
|
|
37
|
-
__name(getLeader, "getLeader");
|
|
38
30
|
function unregisterLeader() {
|
|
39
31
|
leaderCallbacks = null;
|
|
40
32
|
}
|
|
@@ -167,15 +159,6 @@ async function consumeUnread(teamName, agentName, type) {
|
|
|
167
159
|
});
|
|
168
160
|
}
|
|
169
161
|
__name(consumeUnread, "consumeUnread");
|
|
170
|
-
async function clearInbox(teamName, agentName) {
|
|
171
|
-
const inboxPath = getInboxPath(teamName, agentName);
|
|
172
|
-
try {
|
|
173
|
-
await fs.unlink(inboxPath);
|
|
174
|
-
} catch (err) {
|
|
175
|
-
if (!isNodeError(err) || err.code !== "ENOENT") throw err;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
__name(clearInbox, "clearInbox");
|
|
179
162
|
async function clearAllInboxes(teamName) {
|
|
180
163
|
const dir = getInboxesDir(teamName);
|
|
181
164
|
await fs.rm(dir, { recursive: true, force: true });
|
|
@@ -224,8 +207,6 @@ async function readInboxRaw(inboxPath) {
|
|
|
224
207
|
__name(readInboxRaw, "readInboxRaw");
|
|
225
208
|
|
|
226
209
|
export {
|
|
227
|
-
registerLeader,
|
|
228
|
-
getLeader,
|
|
229
210
|
unregisterLeader,
|
|
230
211
|
forwardApproval,
|
|
231
212
|
wrapConfirmWithBadge,
|
|
@@ -234,7 +215,6 @@ export {
|
|
|
234
215
|
readInbox,
|
|
235
216
|
writeMessage,
|
|
236
217
|
consumeUnread,
|
|
237
|
-
clearInbox,
|
|
238
218
|
clearAllInboxes,
|
|
239
219
|
sendStructuredMessage
|
|
240
220
|
};
|
|
@@ -3513,7 +3513,6 @@ var require_streams = __commonJS({
|
|
|
3513
3513
|
// node_modules/iconv-lite/lib/index.js
|
|
3514
3514
|
var require_lib = __commonJS({
|
|
3515
3515
|
"node_modules/iconv-lite/lib/index.js"(exports, module) {
|
|
3516
|
-
"use strict";
|
|
3517
3516
|
init_esbuild_shims();
|
|
3518
3517
|
var Buffer = require_safer().Buffer;
|
|
3519
3518
|
var bomHandling = require_bom_handling();
|