@qwen-code/qwen-code 0.23.2 → 0.23.3
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 +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
- package/bundled/qc-helper/docs/configuration/settings.md +5 -3
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
- package/bundled/qc-helper/docs/features/commands.md +57 -9
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
- package/bundled/qc-helper/docs/features/goals.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +16 -3
- package/bundled/review/SKILL.md +82 -79
- package/bundled/review/references/posting.md +31 -14
- package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-D4LW7RZZ.js} +58 -51
- package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-ALTTRWUP.js} +80 -73
- package/chunks/acp-subagent-executor-LEUN3N7N.js +919 -0
- package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-BBSW7XZG.js} +509 -201
- package/chunks/{agent-T5LEFJIU.js → agent-SQ6OY3QD.js} +42 -36
- package/chunks/{agent-headless-VZKSRH36.js → agent-headless-RI2THRQ7.js} +42 -36
- package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-JSKMKS6V.js} +66 -34
- package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-PMYZCYNH.js} +2 -2
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
- package/chunks/{bridge-AOX5IY44.js → bridge-DAFMI72L.js} +62 -55
- package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-OWDXVL7R.js} +8 -8
- package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-4I6JONT7.js} +69 -62
- package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-F2ZZMLNS.js} +8 -8
- package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-2SZLJJSJ.js} +18 -9
- package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-ZFNWMG6D.js} +6 -6
- package/chunks/{chunk-GNY7B3CA.js → chunk-2ALXPGB4.js} +1 -1
- package/chunks/{chunk-LUNC5KCL.js → chunk-2PJRI3EH.js} +7 -7
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-RNAJVXUG.js → chunk-2ZN3O5FT.js} +6 -6
- package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
- package/chunks/{chunk-FGHPZGOP.js → chunk-3BTSSIJO.js} +38 -54
- package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
- package/chunks/{chunk-QB3KS3N3.js → chunk-3I7W2POO.js} +1 -1
- package/chunks/{chunk-QTB4VP4K.js → chunk-3KQBQ6FM.js} +136 -11
- package/chunks/{chunk-JO77FGNZ.js → chunk-3UXUOFO6.js} +19 -7
- package/chunks/{chunk-WDN64MVT.js → chunk-3XLK2QMY.js} +82 -16
- package/chunks/chunk-532WHF4F.js +127 -0
- package/chunks/{chunk-NX7ZTXFF.js → chunk-53GWJOLP.js} +1 -1
- package/chunks/{chunk-QQK4L3UU.js → chunk-5GLDOLNQ.js} +131 -26
- package/chunks/{chunk-WK7P62DV.js → chunk-5KI7ZDTB.js} +6 -6
- package/chunks/{chunk-ERXNTINK.js → chunk-6JACAGYH.js} +1 -1
- package/chunks/{chunk-CMWU6P4D.js → chunk-6W4HBUA2.js} +1 -1
- package/chunks/{chunk-AUTUFD5X.js → chunk-76RGWKLS.js} +1 -1
- package/chunks/{chunk-PDN7FJZV.js → chunk-7APZIRH3.js} +2 -2
- package/chunks/{chunk-WBU2PIZ5.js → chunk-7BXXIQG4.js} +16 -16
- package/chunks/{chunk-APXIW2TF.js → chunk-7ICHPMBQ.js} +4 -4
- package/chunks/{chunk-CWVZBIZJ.js → chunk-7Q2AXRDJ.js} +1 -1
- package/chunks/{chunk-WDVV3LRM.js → chunk-7QYWGTHB.js} +1 -1
- package/chunks/{chunk-RM244SCQ.js → chunk-AC6KDLH3.js} +1 -1
- package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
- package/chunks/{chunk-XDNFODER.js → chunk-AXTFYDXT.js} +1 -1
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-ZN5TKAVR.js → chunk-BV6Q5HMY.js} +3 -3
- package/chunks/{chunk-TOOOLHVS.js → chunk-BWAMMKIS.js} +3 -3
- package/chunks/{chunk-IRGDIDGJ.js → chunk-BWQLXU37.js} +26 -19
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/{chunk-GOEVQADN.js → chunk-BZM5U74J.js} +287 -169
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
- package/chunks/{chunk-PFKGV6PO.js → chunk-CUEXOHQH.js} +9 -9
- package/chunks/chunk-CXTPVBFA.js +937 -0
- package/chunks/{chunk-LEAOJ43M.js → chunk-DAWWT2ID.js} +62 -59
- package/chunks/{chunk-CALTQWTZ.js → chunk-DLH7YIX6.js} +2 -2
- package/chunks/chunk-DT75RKNH.js +691 -0
- package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
- package/chunks/{chunk-3OAXF3UK.js → chunk-DYFOSJHU.js} +3080 -933
- package/chunks/{chunk-GSFV5RQW.js → chunk-E4UEO3XM.js} +3 -2
- package/chunks/{chunk-A7EFXK7P.js → chunk-E7LB57MB.js} +5 -5
- package/chunks/{chunk-KEPC5BOL.js → chunk-EDMXGXAK.js} +9 -9
- package/chunks/chunk-ELRMZTPF.js +374 -0
- package/chunks/chunk-ERU3SDXT.js +27 -0
- package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
- package/chunks/{chunk-QFJZAY7W.js → chunk-EVTNACMT.js} +3 -3
- package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-YQGW3M6Z.js → chunk-F42YYSCK.js} +8 -8
- package/chunks/{chunk-7PD7ZMX5.js → chunk-FCQJLMA2.js} +98 -5
- package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
- package/chunks/{chunk-R457KFV7.js → chunk-GCDXVPFK.js} +3 -3
- package/chunks/{chunk-IR6JKBAP.js → chunk-GOXQL4YH.js} +2 -2
- package/chunks/{chunk-YLOHCA6I.js → chunk-GSILBZLN.js} +2 -2
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-4WMGYG3F.js → chunk-HBQ2NXOU.js} +2 -2
- package/chunks/{chunk-F2NYVASI.js → chunk-HBU7EKY4.js} +14 -12
- package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-G5VOXCRX.js → chunk-HGAELO7B.js} +2 -2
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-WXD7INFV.js → chunk-IL5M5NYD.js} +8 -8
- package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-IV7GDNKC.js} +1 -1
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
- package/chunks/{chunk-DAI65CMX.js → chunk-JYKWOREU.js} +1 -1
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-KFECPHLV.js → chunk-KFZYGSJN.js} +3 -3
- package/chunks/{chunk-BK7D2JR6.js → chunk-KOKPXIAN.js} +3 -3
- package/chunks/{chunk-4I3WFI3U.js → chunk-LDVNJZGH.js} +12 -12
- package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
- package/chunks/{chunk-X7LFJF5D.js → chunk-LK2WUCDQ.js} +36 -84
- package/chunks/{chunk-7LTCFO6T.js → chunk-MF6E7FSA.js} +6 -5
- package/chunks/{chunk-ELD3OBPU.js → chunk-MHAADZOZ.js} +3 -3
- package/chunks/{chunk-4JNHNVAZ.js → chunk-MLQNSPRZ.js} +4 -4
- package/chunks/{chunk-NPKCVSXX.js → chunk-MOS5OAOG.js} +10 -8
- package/chunks/{chunk-IWABUX6T.js → chunk-MSNHNAQZ.js} +6 -6
- package/chunks/{chunk-HJ5UJQQL.js → chunk-N7VWZDWW.js} +1699 -1312
- package/chunks/{chunk-NB3NDQQK.js → chunk-NE624IVP.js} +1 -1
- package/chunks/{chunk-SOA4HKRJ.js → chunk-NFYEQRLG.js} +2 -2
- package/chunks/{chunk-G3ZUMSFS.js → chunk-NHCZJQE4.js} +6 -6
- package/chunks/{chunk-B25JYXZE.js → chunk-NHJKAR6E.js} +4 -4
- package/chunks/{chunk-ZP5XDLSA.js → chunk-NJQTG2G3.js} +12 -12
- package/chunks/{chunk-DARWOZY6.js → chunk-NLNQNBZ2.js} +1 -1
- package/chunks/{chunk-CCBTNJB4.js → chunk-NMCDMLHL.js} +27 -27
- package/chunks/{chunk-AO2VMS72.js → chunk-NMRCXKQ5.js} +3 -3
- package/chunks/{chunk-5BH2AIEY.js → chunk-NOAG7N22.js} +2 -2
- package/chunks/{chunk-VJJXG73H.js → chunk-NRXWJXJ4.js} +15 -0
- package/chunks/chunk-NUQ4GK5I.js +315 -0
- package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
- package/chunks/{chunk-U6REWGVR.js → chunk-OLTN767L.js} +2 -2
- package/chunks/{chunk-R3JIDRUL.js → chunk-OX7IZ2G5.js} +4 -4
- package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
- package/chunks/{chunk-KCF2436G.js → chunk-POC3YMHG.js} +4 -4
- package/chunks/{chunk-HZ2HUXX7.js → chunk-Q2LVVIKF.js} +1 -1
- package/chunks/{chunk-7NDZKE2M.js → chunk-Q5BD56BW.js} +3 -3
- package/chunks/{chunk-22GORRNY.js → chunk-QMUYLYT5.js} +1 -1
- package/chunks/{chunk-MV5DTLJV.js → chunk-R4Q2PEFV.js} +1 -1
- package/chunks/{chunk-GOKAOSCN.js → chunk-RLLRJJDR.js} +1 -1
- package/chunks/{chunk-5OZUKLL7.js → chunk-RWVD5RRY.js} +4 -4
- package/chunks/{chunk-ULZECEIP.js → chunk-RZHU3K6M.js} +2 -2
- package/chunks/{chunk-UYDQYDW2.js → chunk-S6Q6Q4P2.js} +1 -1
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-LWX4WDFF.js → chunk-SBRX4BDI.js} +43 -15
- package/chunks/{chunk-TODNHE76.js → chunk-SODMFNAR.js} +5 -5
- package/chunks/{chunk-FAJPLSYF.js → chunk-SSGAAWLY.js} +89 -85
- package/chunks/{chunk-46MMBZHI.js → chunk-SYLECP23.js} +4 -4
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-QHLHE2OT.js → chunk-TWUKBNWM.js} +1 -1
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
- package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
- package/chunks/{chunk-OXR34GCD.js → chunk-UKZ45TJL.js} +1851 -34
- package/chunks/{chunk-CALNF3Z3.js → chunk-V2P3DOQR.js} +1 -1
- package/chunks/{chunk-FV4DM2M4.js → chunk-VG3Q2NC4.js} +7 -7
- package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
- package/chunks/{chunk-CRZBDVP2.js → chunk-VZUCTJ2P.js} +4 -4
- package/chunks/{chunk-2BMXHB6N.js → chunk-W5FIP7FC.js} +7 -7
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
- package/chunks/{chunk-JYGIJA4W.js → chunk-X6K77VHC.js} +1 -1
- package/chunks/{chunk-7SVM3RP2.js → chunk-X7UJKOHZ.js} +3 -3
- package/chunks/{chunk-WXPPUPHM.js → chunk-XBZTAGB7.js} +1 -1
- package/chunks/{chunk-TRQNRP2H.js → chunk-XGYHNWL3.js} +45 -2
- package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
- package/chunks/{chunk-OFVAS4AR.js → chunk-YBUMTY7B.js} +1 -1
- package/chunks/{chunk-67XTVRVB.js → chunk-YQHLFCPU.js} +7 -7
- package/chunks/{chunk-G37O7YO6.js → chunk-Z3GF56ME.js} +2 -2
- package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
- package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
- package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-XSOXPG2L.js → chunk-ZU47FBOC.js} +36 -7
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/{config-utils-GPLIABL2.js → config-utils-L6KLDYIV.js} +62 -55
- package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-UYEH7NIU.js} +59 -52
- package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-NVHT3Z3V.js} +61 -54
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
- package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-YWASE5VH.js} +59 -52
- package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
- package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
- package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
- package/chunks/{daemon-2CKIAO3I.js → daemon-G5TYKZD6.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-FOW4RQSK.js} +60 -53
- package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-O5KQZYMP.js} +67 -60
- package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-3ATXEON7.js} +64 -57
- package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-7MCNDNEC.js} +64 -57
- package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-JK5IXL5K.js} +57 -50
- package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
- package/chunks/{dist-NP7QKLVG.js → dist-AHJYPSJL.js} +3 -3
- package/chunks/{dist-6YDUH3BB.js → dist-AIKC5E5P.js} +2 -2
- package/chunks/{dist-Y5KC3IHW.js → dist-F2DVGTL3.js} +225 -6
- package/chunks/{dist-BNQVF565.js → dist-GWNQVPZT.js} +5 -5
- package/chunks/{dist-F6JLAJLE.js → dist-H6G3K26N.js} +3 -3
- package/chunks/{dist-ZDNJK74R.js → dist-KJGRVIGJ.js} +2 -2
- package/chunks/{dist-F34J4FZX.js → dist-KLZ7XGEQ.js} +2 -2
- package/chunks/{dist-UFTFGI6I.js → dist-ZA52JXAS.js} +2 -2
- package/chunks/{dist-XLV33CLY.js → dist-ZXTZTE54.js} +2 -2
- package/chunks/{edit-YJD6IETK.js → edit-SY35KYIE.js} +45 -39
- package/chunks/{en-YJNRUQG4.js → en-CAJHTIQT.js} +1 -0
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
- package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-HXX6KQJR.js} +42 -36
- package/chunks/{environment-HP3AXFTB.js → environment-DKXHG4HB.js} +60 -53
- package/chunks/{errors-22ON46G7.js → errors-ADY7LQJJ.js} +59 -52
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
- package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-HSK2CQI6.js} +42 -36
- package/chunks/{fast-path-2X7BPMXX.js → fast-path-U636VWN2.js} +6 -6
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-V7MI7EZJ.js} +2 -2
- package/chunks/{glob-Y7ACIB3P.js → glob-GUGGTH5L.js} +45 -39
- package/chunks/{goal-tools-DABMICUC.js → goal-tools-PXYRSQGX.js} +42 -36
- package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
- package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-5KHS4HIN.js} +60 -53
- package/chunks/{i18n-C3GDCALP.js → i18n-KSGKMUPT.js} +58 -51
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-OCCR2WWU.js} +5 -4
- package/chunks/{initializer-4URDQL2G.js → initializer-YYT5XEZF.js} +64 -57
- package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-UNSBPYW2.js} +57 -50
- package/chunks/{list-JOGBAC2R.js → list-YL6LDQKQ.js} +67 -60
- package/chunks/{list-agents-2CXPGJUE.js → list-agents-QLDXS5OD.js} +17 -7
- package/chunks/{llm-2KPNSAVY.js → llm-XGGLBGPH.js} +126 -119
- package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-ZHQQT5W7.js} +5 -4
- package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-3DXLASK7.js} +64 -57
- package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-V72OCCJO.js} +64 -57
- package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
- package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
- package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
- package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-HV5LPZH2.js} +57 -50
- package/chunks/{mcp-6YYNSYLK.js → mcp-IYVSIW6O.js} +64 -57
- package/chunks/{monitor-A255TNZR.js → monitor-TLBNM4MV.js} +44 -38
- package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-LSJSQ2W4.js} +110 -103
- package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-OSPOLZP6.js} +43 -37
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-BE4S5TRD.js} +29 -23
- package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
- package/chunks/{pidfile-B7DZC4TP.js → pidfile-H32FEPWA.js} +57 -50
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-BPZ2MCZS.js → processUtils-SSLIPDEA.js} +2 -2
- package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-I5SLL6UF.js} +58 -51
- package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-TMQC623Z.js} +55 -47
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-3ZRQHHTC.js} +4 -3
- package/chunks/{read-file-A4H4O3VQ.js → read-file-T2QAIZE2.js} +11 -9
- package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
- package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
- package/chunks/record-source-D7R7X3GT.js +22 -0
- package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
- package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
- package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-QLKDH5GY.js} +63 -56
- package/chunks/{ripGrep-W32NWFTA.js → ripGrep-YGWL7KCV.js} +15 -13
- package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-26KZDECC.js} +127 -102
- package/chunks/{runtime-VRVBX2E5.js → runtime-BMEIVDDG.js} +70 -63
- package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-NCFPP6VQ.js} +64 -57
- package/chunks/{scheduler-M2YPN7Z7.js → scheduler-47TVMUVN.js} +59 -52
- package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
- package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
- package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
- package/chunks/{send-message-76BKWKFZ.js → send-message-TWOGWCBG.js} +12 -9
- package/chunks/{serve-BE3H2P6P.js → serve-KL3G6LQQ.js} +64 -57
- package/chunks/{server-FLY5JERG.js → server-LBPYXZ5G.js} +2931 -518
- package/chunks/{session-JVN62R5K.js → session-YG6742LO.js} +118 -111
- package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-OUBQDYC4.js} +57 -50
- package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-EKGMYNAW.js} +64 -57
- package/chunks/{settings-D44YMZFT.js → settings-DDNHJX2L.js} +69 -62
- package/chunks/{shell-3VE6I4V5.js → shell-KUCXWITU.js} +42 -36
- package/chunks/{skill-FHEGRRZU.js → skill-JQLKPNWZ.js} +33 -23
- package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-XERQCUXZ.js} +63 -56
- package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-GQ45QFGB.js} +60 -53
- package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-PRF3ILGZ.js} +59 -52
- package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-JDSOZE3N.js} +174 -157
- package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-RRW3JVHN.js} +533 -1119
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
- package/chunks/{task-create-MWXJFRRM.js → task-create-Y623TBHB.js} +8 -8
- package/chunks/{task-list-EYO3FE57.js → task-list-FCPEEGWL.js} +1 -1
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
- package/chunks/{task-update-2JJJRHMT.js → task-update-YLSXF25N.js} +8 -8
- package/chunks/{team-create-GY3VFY47.js → team-create-5DRLOLOE.js} +44 -38
- package/chunks/{team-delete-IQZ6XGFI.js → team-delete-S7TLHZCF.js} +1 -1
- package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-MWSGAL5T.js} +42 -36
- package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-H7PD4FQW.js} +59 -52
- package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-7AV73D6R.js} +57 -50
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
- package/chunks/{tool-search-XI3QWD5I.js → tool-search-UGYTBLUV.js} +17 -15
- package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-JIHSTJ5S.js} +62 -55
- package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-5VCBXFOP.js} +58 -51
- package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-4LF3APCV.js} +5 -5
- package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-4T3WUE5F.js} +59 -52
- package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-UMGB64Z6.js} +67 -60
- package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-GFJ72U2C.js} +107 -100
- package/chunks/{version-EK7VAGSI.js → version-EAAZN4T2.js} +1 -1
- package/chunks/{web-fetch-24KZO763.js → web-fetch-VRU3A2NI.js} +13 -11
- package/chunks/{web-search-CRNXKZ2X.js → web-search-NEGYQNDJ.js} +14 -10
- package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-CCN4JZEE.js} +1 -1
- package/chunks/workflow-UHPFALVZ.js +1224 -0
- package/chunks/{workspace-providers-status-MAM42IZS.js → workspace-providers-status-AEYISSU2.js} +68 -61
- package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-A7RGKW62.js} +3 -1
- package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-C2NGE6SD.js} +62 -55
- package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-QKMZ24YF.js} +63 -56
- package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-RQTTAGGC.js} +70 -63
- package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-5HWZU3HX.js} +65 -58
- package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-KFWATZUU.js} +69 -62
- package/chunks/{write-file-ERG67ZFX.js → write-file-DPVB2SBQ.js} +44 -38
- package/chunks/{zh-VBFCRQBL.js → zh-S5V3Z5CR.js} +1 -0
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-2K2WRFPY.js} +1 -0
- package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-S7AWLAPC.js} +12 -10
- package/cli.js +13 -13
- package/export-transcript-document.css +1 -0
- package/export-transcript-document.js +164 -165
- package/locales/en.js +1 -0
- package/locales/zh-TW.js +1 -0
- package/locales/zh.js +1 -0
- package/package.json +5 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-nU24rpIE.js} +1 -1
- package/web-shell/assets/{arc-qAF9_XsR.js → arc-D1hTu8QI.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-B_fgkKe7.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-C3pddUNg.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-kEFoC1ei.js} +1 -1
- package/web-shell/assets/channel-Blod4z1X.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-DbT9wS7j.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CNbULt6O.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CbQRy4Tb.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-CVbXTxYk.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-D89c_BXy.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-B7-I_9KB.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcLQFzS4.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-DyBb2Axj.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-BIA0eb5B.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-Db2FYN85.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-i4GwmBVy.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-LENf_IUy.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CF9XVrD9.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-DD5PJfSm.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-CjD_sBMj.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-U5WwMqyA.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-BujpHJJf.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-3ZLtKEXo.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-BGpiquRm.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D0besu_U.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-9DwDuIyr.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CNlsAeNr.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-C_pPFiTR.js} +1 -1
- package/web-shell/assets/{index-DWoFMu5x.js → index-BYWs4JWq.js} +1 -1
- package/web-shell/assets/index-D3YS6KuJ.js +2173 -0
- package/web-shell/assets/index-eBxK3rs2.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Bpai64Ll.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U-ktpJFq4r.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-iz_DKgFX.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-m_gG00Yt.js} +1 -1
- package/web-shell/assets/{layout-Dvdh5jRH.js → layout-qEvKgnvU.js} +1 -1
- package/web-shell/assets/{linear-Dvc6KIW2.js → linear-C6lklGdq.js} +1 -1
- package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-DSCYB_2P.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-DRQbT8w-.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-BhD0q0i6.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BvIGQCSd.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-BDQtfpU-.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-E1g2KIFK.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-CuerYJOe.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-CqWyCZGA.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-B-YWb8x4.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-BB7YY4Tl.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-C8LDpNHS.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-D94vOoxZ.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-C9C8uEYm.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-CYzMHbVW.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-G9nhtLES.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-ruD2Wjhg.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/workflow-HD5NYMW5.js +0 -2907
- package/web-shell/assets/channel-COIuCrVH.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
- package/web-shell/assets/index-CI1ysIEv.js +0 -2154
- package/web-shell/assets/index-CpxXGH-8.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
- /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
import {
|
|
21
21
|
channelFactoryForwardsChildEnv,
|
|
22
22
|
defaultSpawnChannelFactory
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-IUVIBDKU.js";
|
|
24
24
|
import {
|
|
25
25
|
BridgeChannelClosedError,
|
|
26
26
|
BridgeTimeoutError,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
SessionRestoreTimeoutError,
|
|
31
31
|
createIdleWorkspaceExtensionsStatus,
|
|
32
32
|
createIdleWorkspaceHooksStatus
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-HGEUHUEV.js";
|
|
34
34
|
import {
|
|
35
35
|
ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
|
|
36
36
|
ACTIVE_WORK_CLOSE_TIMEOUT_MS,
|
|
@@ -101,10 +101,6 @@ import {
|
|
|
101
101
|
WorkspaceMismatchError,
|
|
102
102
|
isNotCurrentlyGeneratingCancelError
|
|
103
103
|
} from "./chunk-FAWTMDX7.js";
|
|
104
|
-
import {
|
|
105
|
-
canonicalizeWorkspace,
|
|
106
|
-
translateAndCheckAbsoluteWorkspacePath
|
|
107
|
-
} from "./chunk-6PLDPT2C.js";
|
|
108
104
|
import {
|
|
109
105
|
CHANNEL_DELIVERY_ERROR_CODES,
|
|
110
106
|
LIVE_TASK_TOOL_NAMES,
|
|
@@ -121,7 +117,11 @@ import {
|
|
|
121
117
|
ClientSideConnection,
|
|
122
118
|
PROTOCOL_VERSION,
|
|
123
119
|
RequestError
|
|
124
|
-
} from "./chunk-
|
|
120
|
+
} from "./chunk-IJOS26LH.js";
|
|
121
|
+
import {
|
|
122
|
+
canonicalizeWorkspace,
|
|
123
|
+
translateAndCheckAbsoluteWorkspacePath
|
|
124
|
+
} from "./chunk-6PLDPT2C.js";
|
|
125
125
|
import {
|
|
126
126
|
PRIVATE_CONVERSATIONS_RUNTIME_ENABLE,
|
|
127
127
|
PRIVATE_CONVERSATIONS_RUNTIME_ENV
|
|
@@ -136,7 +136,7 @@ import {
|
|
|
136
136
|
isOfficeDocumentExtension,
|
|
137
137
|
isRecordableDerivedChild,
|
|
138
138
|
pathHasSkippedDirectoryComponent
|
|
139
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-ZKYR7QS4.js";
|
|
140
140
|
import {
|
|
141
141
|
SESSION_PR_LIST_LIMIT,
|
|
142
142
|
SESSION_PR_URL_MAX_LENGTH,
|
|
@@ -148,7 +148,7 @@ import {
|
|
|
148
148
|
canonicalSessionPrUrl,
|
|
149
149
|
normalizeTurnResultError,
|
|
150
150
|
toSessionPrInfo
|
|
151
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-N7VWZDWW.js";
|
|
152
152
|
import {
|
|
153
153
|
isUnverifiableIdentityError,
|
|
154
154
|
openNoFollow
|
|
@@ -165,14 +165,18 @@ import {
|
|
|
165
165
|
metadataBudgetBytes,
|
|
166
166
|
normalizeSnapshotPayload,
|
|
167
167
|
stableSessionArtifactId
|
|
168
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-E4UEO3XM.js";
|
|
169
|
+
import {
|
|
170
|
+
SessionSourceError,
|
|
171
|
+
validateSessionSourceInput
|
|
172
|
+
} from "./chunk-ELRMZTPF.js";
|
|
169
173
|
import {
|
|
170
174
|
APPROVAL_MODES
|
|
171
175
|
} from "./chunk-JX6XHPTX.js";
|
|
172
176
|
import {
|
|
173
177
|
DAEMON_TRACEPARENT_META_KEY,
|
|
174
178
|
DAEMON_TRACESTATE_META_KEY
|
|
175
|
-
} from "./chunk-
|
|
179
|
+
} from "./chunk-ZW2EUO2A.js";
|
|
176
180
|
import {
|
|
177
181
|
INVOCATION_CONTEXT_META_KEY,
|
|
178
182
|
PRIVATE_ACP_CAPABILITY_ENV,
|
|
@@ -4239,6 +4243,19 @@ var BridgeClient = class {
|
|
|
4239
4243
|
if (typeof notificationSessionId === "string" && this.abandonedRestoreIds.has(notificationSessionId)) {
|
|
4240
4244
|
return;
|
|
4241
4245
|
}
|
|
4246
|
+
if (method === "qwen/notify/session/sources-changed") {
|
|
4247
|
+
const sessionId2 = params["sessionId"];
|
|
4248
|
+
const revision = params["revision"];
|
|
4249
|
+
if (typeof sessionId2 !== "string" || typeof revision !== "number" || !Number.isSafeInteger(revision) || revision < 0 || !this.ownsSession(sessionId2))
|
|
4250
|
+
return;
|
|
4251
|
+
const entry = this.resolveEntry(sessionId2);
|
|
4252
|
+
if (!entry) return;
|
|
4253
|
+
entry.events.publish({
|
|
4254
|
+
type: "source_changed",
|
|
4255
|
+
data: { sessionId: sessionId2, revision }
|
|
4256
|
+
});
|
|
4257
|
+
return;
|
|
4258
|
+
}
|
|
4242
4259
|
if (method === ACTIVE_WORK_NOTIFICATION_METHOD) {
|
|
4243
4260
|
const snapshot = parseActiveWorkSnapshot(params);
|
|
4244
4261
|
if (snapshot) {
|
|
@@ -8527,6 +8544,7 @@ var REFRESH_APPEND_BOOKKEEPING_EVENT_TYPES = /* @__PURE__ */ new Set([
|
|
|
8527
8544
|
"session_metadata_updated",
|
|
8528
8545
|
"session_cwd_changed",
|
|
8529
8546
|
"artifact_changed",
|
|
8547
|
+
"source_changed",
|
|
8530
8548
|
"settings_changed",
|
|
8531
8549
|
"extensions_changed",
|
|
8532
8550
|
"mcp_server_changed",
|
|
@@ -11428,6 +11446,16 @@ function createAcpSessionBridge(opts) {
|
|
|
11428
11446
|
]);
|
|
11429
11447
|
return response;
|
|
11430
11448
|
}, "requestSessionStatus");
|
|
11449
|
+
const requestSessionSources = /* @__PURE__ */ __name(async (sessionId, method, params = {}) => {
|
|
11450
|
+
const result = await requestSessionStatus(sessionId, method, params);
|
|
11451
|
+
if (result.sourceError) {
|
|
11452
|
+
throw new SessionSourceError(
|
|
11453
|
+
result.sourceError.code,
|
|
11454
|
+
result.sourceError.message
|
|
11455
|
+
);
|
|
11456
|
+
}
|
|
11457
|
+
return result;
|
|
11458
|
+
}, "requestSessionSources");
|
|
11431
11459
|
const notifyAgentSessionClose = /* @__PURE__ */ __name(async (entry, ci, label, opts2) => {
|
|
11432
11460
|
if (!ci || ci.channel !== entry.channel) {
|
|
11433
11461
|
if (opts2?.throwOnFailure === true) {
|
|
@@ -12046,6 +12074,9 @@ function createAcpSessionBridge(opts) {
|
|
|
12046
12074
|
}
|
|
12047
12075
|
__name(requestSessionTurnIndexPage, "requestSessionTurnIndexPage");
|
|
12048
12076
|
async function refreshedReplayFieldsFor(entry, historyPageSize, liveReplayMode) {
|
|
12077
|
+
if (entry.pendingInteractions.size > 0) {
|
|
12078
|
+
return replayFieldsFor(entry, "load", liveReplayMode);
|
|
12079
|
+
}
|
|
12049
12080
|
for (let attempt = 0; attempt < 2; attempt++) {
|
|
12050
12081
|
try {
|
|
12051
12082
|
const lastEventId = entry.events.lastEventId;
|
|
@@ -12092,6 +12123,7 @@ function createAcpSessionBridge(opts) {
|
|
|
12092
12123
|
...page.hasMore ? { historyHasMore: true } : {}
|
|
12093
12124
|
};
|
|
12094
12125
|
}
|
|
12126
|
+
if (entry.pendingInteractions.size > 0) break;
|
|
12095
12127
|
} catch {
|
|
12096
12128
|
break;
|
|
12097
12129
|
}
|
|
@@ -14487,6 +14519,28 @@ function createAcpSessionBridge(opts) {
|
|
|
14487
14519
|
);
|
|
14488
14520
|
}
|
|
14489
14521
|
markSessionCatalogChanged();
|
|
14522
|
+
const sourceWarnings = [];
|
|
14523
|
+
const copySources = /* @__PURE__ */ __name(async (attachments) => {
|
|
14524
|
+
try {
|
|
14525
|
+
const attachmentIds = attachments ? (await attachments.list()).map((item) => item.attachmentId) : [];
|
|
14526
|
+
const copied = await Promise.race([
|
|
14527
|
+
entry.connection.extMethod("qwen/session/sources/copy", {
|
|
14528
|
+
sessionId,
|
|
14529
|
+
targetSessionId: result.newSessionId,
|
|
14530
|
+
targetCwd: boundWorkspace,
|
|
14531
|
+
attachmentIds
|
|
14532
|
+
}),
|
|
14533
|
+
getTransportClosedReject(entry)
|
|
14534
|
+
]);
|
|
14535
|
+
if (copied.sourceError) {
|
|
14536
|
+
sourceWarnings.push("Session sources could not be copied.");
|
|
14537
|
+
} else {
|
|
14538
|
+
sourceWarnings.push(...copied.warnings ?? []);
|
|
14539
|
+
}
|
|
14540
|
+
} catch {
|
|
14541
|
+
sourceWarnings.push("Session sources could not be copied.");
|
|
14542
|
+
}
|
|
14543
|
+
}, "copySources");
|
|
14490
14544
|
if (opts.sessionAttachmentsRoot) {
|
|
14491
14545
|
const branchAttachments = new SessionAttachmentStore(
|
|
14492
14546
|
opts.sessionAttachmentsRoot,
|
|
@@ -14500,13 +14554,17 @@ function createAcpSessionBridge(opts) {
|
|
|
14500
14554
|
`qwen serve: failed to copy attachments for branched session ${result.newSessionId}: ${error instanceof Error ? error.message : String(error)}`
|
|
14501
14555
|
);
|
|
14502
14556
|
} finally {
|
|
14557
|
+
await copySources(branchAttachments);
|
|
14503
14558
|
await branchAttachments.close();
|
|
14504
14559
|
}
|
|
14560
|
+
} else if (!restoreBranch) {
|
|
14561
|
+
await copySources();
|
|
14505
14562
|
}
|
|
14506
14563
|
const rawBranchName = result.displayName ?? result.title;
|
|
14507
14564
|
const branchDisplayName = typeof rawBranchName === "string" ? rawBranchName : result.newSessionId.slice(0, 8);
|
|
14508
14565
|
if (!restoreBranch) {
|
|
14509
14566
|
return {
|
|
14567
|
+
...sourceWarnings.length > 0 ? { sourceWarnings } : {},
|
|
14510
14568
|
sessionId: result.newSessionId,
|
|
14511
14569
|
displayName: branchDisplayName,
|
|
14512
14570
|
forkedFrom: {
|
|
@@ -14585,6 +14643,9 @@ function createAcpSessionBridge(opts) {
|
|
|
14585
14643
|
);
|
|
14586
14644
|
}
|
|
14587
14645
|
}
|
|
14646
|
+
if (!opts.sessionAttachmentsRoot) {
|
|
14647
|
+
await copySources(newEntry?.attachments);
|
|
14648
|
+
}
|
|
14588
14649
|
if (newEntry) newEntry.displayName = branchDisplayName;
|
|
14589
14650
|
let sourcePersisted;
|
|
14590
14651
|
if (newEntry?.sourceType) {
|
|
@@ -14611,6 +14672,7 @@ function createAcpSessionBridge(opts) {
|
|
|
14611
14672
|
}
|
|
14612
14673
|
return {
|
|
14613
14674
|
...restored,
|
|
14675
|
+
...sourceWarnings.length > 0 ? { sourceWarnings } : {},
|
|
14614
14676
|
displayName: branchDisplayName,
|
|
14615
14677
|
forkedFrom: {
|
|
14616
14678
|
sessionId,
|
|
@@ -15076,6 +15138,69 @@ function createAcpSessionBridge(opts) {
|
|
|
15076
15138
|
} catch {
|
|
15077
15139
|
}
|
|
15078
15140
|
},
|
|
15141
|
+
async getSessionSources(sessionId, context) {
|
|
15142
|
+
const entry = byId.get(sessionId);
|
|
15143
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
15144
|
+
if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
|
|
15145
|
+
throw standaloneWorkingDirectoryMissingError();
|
|
15146
|
+
}
|
|
15147
|
+
resolveTrustedClientId(entry, context?.clientId);
|
|
15148
|
+
return requestSessionSources(sessionId, "qwen/session/sources/list");
|
|
15149
|
+
},
|
|
15150
|
+
async upsertSessionSource(sessionId, input, context) {
|
|
15151
|
+
const entry = byId.get(sessionId);
|
|
15152
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
15153
|
+
if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
|
|
15154
|
+
throw standaloneWorkingDirectoryMissingError();
|
|
15155
|
+
}
|
|
15156
|
+
const clientId = resolveTrustedClientId(entry, context.clientId);
|
|
15157
|
+
if (!clientId) {
|
|
15158
|
+
throw new RequestError(
|
|
15159
|
+
-32602,
|
|
15160
|
+
"A session-bound client id is required",
|
|
15161
|
+
{
|
|
15162
|
+
errorKind: "client_id_required"
|
|
15163
|
+
}
|
|
15164
|
+
);
|
|
15165
|
+
}
|
|
15166
|
+
const validated = validateSessionSourceInput(input);
|
|
15167
|
+
if (validated.locator.type === "attachment") {
|
|
15168
|
+
const attachmentId = validated.locator.attachmentId;
|
|
15169
|
+
const attachments = await entry.attachments.list();
|
|
15170
|
+
if (byId.get(sessionId) !== entry) {
|
|
15171
|
+
throw new SessionNotFoundError(sessionId);
|
|
15172
|
+
}
|
|
15173
|
+
resolveTrustedClientId(entry, context.clientId);
|
|
15174
|
+
if (!attachments.some((item) => item.attachmentId === attachmentId)) {
|
|
15175
|
+
throw new RequestError(-32602, "Session attachment not found", {
|
|
15176
|
+
errorKind: "source_attachment_not_found"
|
|
15177
|
+
});
|
|
15178
|
+
}
|
|
15179
|
+
}
|
|
15180
|
+
return requestSessionSources(sessionId, "qwen/session/sources/upsert", {
|
|
15181
|
+
input: validated
|
|
15182
|
+
});
|
|
15183
|
+
},
|
|
15184
|
+
async removeSessionSource(sessionId, sourceId, context) {
|
|
15185
|
+
const entry = byId.get(sessionId);
|
|
15186
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
15187
|
+
if (isReservedStandaloneSessionSourceType(entry.sourceType) && entry.managedConversationBinding?.released !== true) {
|
|
15188
|
+
throw standaloneWorkingDirectoryMissingError();
|
|
15189
|
+
}
|
|
15190
|
+
const clientId = resolveTrustedClientId(entry, context.clientId);
|
|
15191
|
+
if (!clientId) {
|
|
15192
|
+
throw new RequestError(
|
|
15193
|
+
-32602,
|
|
15194
|
+
"A session-bound client id is required",
|
|
15195
|
+
{
|
|
15196
|
+
errorKind: "client_id_required"
|
|
15197
|
+
}
|
|
15198
|
+
);
|
|
15199
|
+
}
|
|
15200
|
+
return requestSessionSources(sessionId, "qwen/session/sources/remove", {
|
|
15201
|
+
sourceId
|
|
15202
|
+
});
|
|
15203
|
+
},
|
|
15079
15204
|
async getSessionArtifacts(sessionId, context) {
|
|
15080
15205
|
const entry = byId.get(sessionId);
|
|
15081
15206
|
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
preloadRuntimeFetchModule
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-EWJTAP3Y.js";
|
|
6
6
|
import {
|
|
7
7
|
init_esbuild_shims
|
|
8
8
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -19,6 +19,7 @@ init_esbuild_shims();
|
|
|
19
19
|
function getDefaultApiKeyEnvVar(authType) {
|
|
20
20
|
switch (authType) {
|
|
21
21
|
case "openai":
|
|
22
|
+
case "openai-responses":
|
|
22
23
|
return "OPENAI_API_KEY";
|
|
23
24
|
case "anthropic":
|
|
24
25
|
return "ANTHROPIC_API_KEY";
|
|
@@ -34,6 +35,7 @@ __name(getDefaultApiKeyEnvVar, "getDefaultApiKeyEnvVar");
|
|
|
34
35
|
function getDefaultModelEnvVar(authType) {
|
|
35
36
|
switch (authType) {
|
|
36
37
|
case "openai":
|
|
38
|
+
case "openai-responses":
|
|
37
39
|
return "OPENAI_MODEL";
|
|
38
40
|
case "anthropic":
|
|
39
41
|
return "ANTHROPIC_MODEL";
|
|
@@ -176,6 +178,11 @@ var AUTH_ENV_MAPPINGS = {
|
|
|
176
178
|
baseUrl: ["OPENAI_BASE_URL"],
|
|
177
179
|
model: ["OPENAI_MODEL", "QWEN_MODEL"]
|
|
178
180
|
},
|
|
181
|
+
"openai-responses": {
|
|
182
|
+
apiKey: ["OPENAI_API_KEY"],
|
|
183
|
+
baseUrl: ["OPENAI_BASE_URL"],
|
|
184
|
+
model: ["OPENAI_MODEL"]
|
|
185
|
+
},
|
|
179
186
|
anthropic: {
|
|
180
187
|
apiKey: ["ANTHROPIC_API_KEY"],
|
|
181
188
|
baseUrl: ["ANTHROPIC_BASE_URL"],
|
|
@@ -411,18 +418,23 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
411
418
|
try {
|
|
412
419
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
413
420
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
414
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
421
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-BE4S5TRD.js");
|
|
415
422
|
return createOpenAIContentGenerator(generatorConfig, config);
|
|
416
423
|
}, "loadBaseGenerator");
|
|
424
|
+
} else if (authType === "openai-responses" /* USE_OPENAI_RESPONSES */) {
|
|
425
|
+
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
426
|
+
const { createOpenAIResponsesContentGenerator } = await import("./openaiResponsesContentGenerator-RTCAJ5V5.js");
|
|
427
|
+
return createOpenAIResponsesContentGenerator(generatorConfig, config);
|
|
428
|
+
}, "loadBaseGenerator");
|
|
417
429
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
418
|
-
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-
|
|
430
|
+
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-3ZRQHHTC.js");
|
|
419
431
|
try {
|
|
420
432
|
const qwenClient = await getQwenOauthClient(
|
|
421
433
|
config,
|
|
422
434
|
isInitialAuth ? { requireCachedCredentials: true } : void 0
|
|
423
435
|
);
|
|
424
436
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
425
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
437
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-TMQC623Z.js");
|
|
426
438
|
return new QwenContentGenerator(qwenClient, generatorConfig, config);
|
|
427
439
|
}, "loadBaseGenerator");
|
|
428
440
|
} catch (error) {
|
|
@@ -433,12 +445,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
433
445
|
}
|
|
434
446
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
435
447
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
436
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
448
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-JSKMKS6V.js");
|
|
437
449
|
return createAnthropicContentGenerator(generatorConfig, config);
|
|
438
450
|
}, "loadBaseGenerator");
|
|
439
451
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
440
452
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
441
|
-
const { createLlmContentGenerator } = await import("./llm-content-generator-
|
|
453
|
+
const { createLlmContentGenerator } = await import("./llm-content-generator-ZHQQT5W7.js");
|
|
442
454
|
return createLlmContentGenerator(generatorConfig, config);
|
|
443
455
|
}, "loadBaseGenerator");
|
|
444
456
|
} else {
|
|
@@ -453,7 +465,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
453
465
|
try {
|
|
454
466
|
const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
|
|
455
467
|
loadBaseGenerator(),
|
|
456
|
-
import("./loggingContentGenerator-
|
|
468
|
+
import("./loggingContentGenerator-V72OCCJO.js")
|
|
457
469
|
]);
|
|
458
470
|
return new LoggingContentGenerator(
|
|
459
471
|
baseGenerator,
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
import {
|
|
4
4
|
ok
|
|
5
5
|
} from "./chunk-VFFQAOPR.js";
|
|
6
|
-
import {
|
|
7
|
-
formatHistoryGapNotice
|
|
8
|
-
} from "./chunk-ERXNTINK.js";
|
|
9
6
|
import {
|
|
10
7
|
sanitizeTerminalText
|
|
11
8
|
} from "./chunk-47ECGEJC.js";
|
|
9
|
+
import {
|
|
10
|
+
formatHistoryGapNotice
|
|
11
|
+
} from "./chunk-6JACAGYH.js";
|
|
12
12
|
import {
|
|
13
13
|
loadUndici
|
|
14
14
|
} from "./chunk-TXASDT2M.js";
|
|
@@ -18,14 +18,14 @@ import {
|
|
|
18
18
|
finalizeOfflineDaemonTranscriptState,
|
|
19
19
|
normalizeDaemonEvent,
|
|
20
20
|
reduceDaemonTranscriptEvents
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-FCQJLMA2.js";
|
|
22
22
|
import {
|
|
23
23
|
LOAD_REPLAY_META_KEY
|
|
24
24
|
} from "./chunk-PSPAM24S.js";
|
|
25
25
|
import {
|
|
26
26
|
isGoalCheckpointBookkeepingRecord,
|
|
27
27
|
projectGoalStateToLegacy
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-BZM5U74J.js";
|
|
29
29
|
import {
|
|
30
30
|
GOAL_PAUSE_REASON_COMMAND,
|
|
31
31
|
observeToolResultBoundary,
|
|
@@ -33,21 +33,21 @@ import {
|
|
|
33
33
|
parseGoalStateCause,
|
|
34
34
|
parseGoalStateRecordPayloadV2,
|
|
35
35
|
toolResultBoundaryArtifact
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-N7VWZDWW.js";
|
|
37
37
|
import {
|
|
38
38
|
TranscriptRecordPreparationError,
|
|
39
39
|
prepareTranscriptRecords,
|
|
40
40
|
projectUserTranscriptForDisplay,
|
|
41
41
|
stripGeneratedAttachmentTokens
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-E4UEO3XM.js";
|
|
43
43
|
import {
|
|
44
44
|
formatVisionBridgeNoticeDisplay,
|
|
45
45
|
isVisionBridgeNoticeDisplay
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-HBU7EKY4.js";
|
|
47
47
|
import {
|
|
48
48
|
SchemaValidator,
|
|
49
49
|
ToolNames
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-TP6FYVQT.js";
|
|
51
51
|
import {
|
|
52
52
|
createDebugLogger
|
|
53
53
|
} from "./chunk-ZAFYHRVY.js";
|
|
@@ -2840,7 +2840,7 @@ async function collectSessionMetadata(conversation, config) {
|
|
|
2840
2840
|
const gitBranch = firstRecord?.gitBranch;
|
|
2841
2841
|
let gitRepo;
|
|
2842
2842
|
if (cwd) {
|
|
2843
|
-
const { getGitRepoName } = await import("./deferred-core-runtime-
|
|
2843
|
+
const { getGitRepoName } = await import("./deferred-core-runtime-JK5IXL5K.js");
|
|
2844
2844
|
gitRepo = getGitRepoName(cwd);
|
|
2845
2845
|
}
|
|
2846
2846
|
let model;
|
|
@@ -3585,6 +3585,31 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3585
3585
|
<style nonce="__EXPORT_NONCE__">
|
|
3586
3586
|
:root{color-scheme:light;--document-bg: #ffffff;--document-panel-bg: #f8fafc;--document-text: #111827;--document-muted: #6b7280;--document-border: #d1d5db;--document-button-bg: #ffffff}:root.dark{color-scheme:dark;--document-bg: #09090b;--document-panel-bg: #18181b;--document-text: #f4f4f5;--document-muted: #a1a1aa;--document-border: #3f3f46;--document-button-bg: #27272a}html,body{margin:0;min-height:100%;background:var(--document-bg);color:var(--document-text)}.document-shell{min-height:100vh}.document-header{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1320px,100%);margin:0 auto;padding:24px 20px 8px;font-family:ui-sans-serif,system-ui,sans-serif}.document-header h1{margin:0;font-size:20px}.document-header p{margin:6px 0 0;color:var(--document-muted);font-size:12px}.document-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-left:auto}.document-actions button{border:1px solid var(--document-border);border-radius:8px;padding:6px 10px;background:var(--document-button-bg);color:var(--document-text);font:inherit;font-size:12px;cursor:pointer}.document-actions button:disabled{cursor:default;opacity:.45}.document-content{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;width:min(1320px,100%);margin:0 auto;padding:0 20px 24px}.document-transcript{min-width:0}.document-metadata{align-self:start;position:sticky;top:16px;display:flex;flex-direction:column;gap:18px;border:1px solid var(--document-border);border-radius:12px;padding:16px;background:var(--document-panel-bg);font-family:ui-sans-serif,system-ui,sans-serif}.document-metadata section,.document-metadata dl{display:flex;flex-direction:column;gap:8px;margin:0}.document-metadata h2{margin:0;border-bottom:1px solid var(--document-border);padding-bottom:5px;color:var(--document-muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.document-metadata-item{min-width:0}.document-metadata-item dt{color:var(--document-muted);font-size:10px}.document-metadata-item dd{margin:2px 0 0;overflow-wrap:anywhere;font-size:12px}.document-warning{border:1px solid #f59e0b;border-radius:999px;padding:4px 10px;color:#92400e;font-size:12px;white-space:nowrap}.document-error{box-sizing:border-box;width:min(640px,calc(100% - 40px));margin:80px auto;border:1px solid var(--document-border);border-radius:12px;padding:24px;font-family:ui-sans-serif,system-ui,sans-serif}.document-error h1{margin:0;font-size:20px}.document-error p{margin:8px 0 0;color:var(--document-muted)}@media (max-width: 800px){.document-header{align-items:flex-start;flex-wrap:wrap}.document-actions{width:100%;justify-content:flex-start;margin-left:0}.document-content{grid-template-columns:minmax(0,1fr)}.document-metadata{position:static;order:-1}}@media print{.document-header{position:static}.document-actions{display:none}.document-content{display:block}.document-metadata{position:static;margin-bottom:16px;break-inside:avoid}}
|
|
3587
3587
|
</style>
|
|
3588
|
+
<!--
|
|
3589
|
+
Latches a stylesheet failure before the <link> is parsed: Chromium
|
|
3590
|
+
parser-blocks the body script on a pending stylesheet, so a CSS failure
|
|
3591
|
+
that settles first would otherwise reach no listener. Records only \u2014
|
|
3592
|
+
document.body does not exist yet here, so the body script acts on it.
|
|
3593
|
+
-->
|
|
3594
|
+
<script nonce="__EXPORT_NONCE__">
|
|
3595
|
+
window.addEventListener(
|
|
3596
|
+
'error',
|
|
3597
|
+
function (event) {
|
|
3598
|
+
if (event.target && event.target.id === 'transcript-stylesheet') {
|
|
3599
|
+
window.__transcriptStyleFailed = true;
|
|
3600
|
+
}
|
|
3601
|
+
},
|
|
3602
|
+
true,
|
|
3603
|
+
);
|
|
3604
|
+
</script>
|
|
3605
|
+
<link
|
|
3606
|
+
rel="stylesheet"
|
|
3607
|
+
nonce="__EXPORT_NONCE__"
|
|
3608
|
+
id="transcript-stylesheet"
|
|
3609
|
+
integrity="sha384-g7RKMZU4g3HtouYdCanFE655GtLdj8Zv7W8LYicXINS24VZ03GQ/1aeLVPLIea8p"
|
|
3610
|
+
crossorigin="anonymous"
|
|
3611
|
+
href="https://unpkg.com/@qwen-code/qwen-code@0.23.3/export-transcript-document.css"
|
|
3612
|
+
/>
|
|
3588
3613
|
</head>
|
|
3589
3614
|
<body>
|
|
3590
3615
|
<div id="app"></div>
|
|
@@ -3601,7 +3626,7 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3601
3626
|
var app = document.getElementById('app');
|
|
3602
3627
|
app.setAttribute('role', 'alert');
|
|
3603
3628
|
app.textContent =
|
|
3604
|
-
'Unable to load this chat export. This Qwen Code build may not have a published renderer yet; also check your network connection.';
|
|
3629
|
+
'Unable to load this chat export. This Qwen Code build may not have a published renderer or stylesheet yet; also check your network connection.';
|
|
3605
3630
|
};
|
|
3606
3631
|
var createElement = document.createElement.bind(document);
|
|
3607
3632
|
document.createElement = function (name, options) {
|
|
@@ -3616,7 +3641,9 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3616
3641
|
function (event) {
|
|
3617
3642
|
if (
|
|
3618
3643
|
event.target === window ||
|
|
3619
|
-
(event.target &&
|
|
3644
|
+
(event.target &&
|
|
3645
|
+
(event.target.id === 'transcript-renderer' ||
|
|
3646
|
+
event.target.id === 'transcript-stylesheet'))
|
|
3620
3647
|
) {
|
|
3621
3648
|
showLoadError();
|
|
3622
3649
|
}
|
|
@@ -3624,19 +3651,25 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3624
3651
|
true,
|
|
3625
3652
|
);
|
|
3626
3653
|
window.addEventListener('unhandledrejection', showLoadError);
|
|
3654
|
+
// A stylesheet failure that settles while the parser is still blocked on
|
|
3655
|
+
// the <link> is dispatched before the listener above exists, so the
|
|
3656
|
+
// <head> latch is the only record of it.
|
|
3657
|
+
if (window.__transcriptStyleFailed) {
|
|
3658
|
+
showLoadError();
|
|
3659
|
+
}
|
|
3627
3660
|
})();
|
|
3628
3661
|
</script>
|
|
3629
3662
|
<script
|
|
3630
3663
|
nonce="__EXPORT_NONCE__"
|
|
3631
3664
|
id="transcript-renderer"
|
|
3632
|
-
integrity="sha384-
|
|
3665
|
+
integrity="sha384-pk3bIqWjOCQgUt6MiXxENFE6MhcSLz2FFtasqfbxp62hFgZzIn63Brtt+tmnPi15"
|
|
3633
3666
|
crossorigin="anonymous"
|
|
3634
|
-
src="https://unpkg.com/@qwen-code/qwen-code@0.23.
|
|
3667
|
+
src="https://unpkg.com/@qwen-code/qwen-code@0.23.3/export-transcript-document.js"
|
|
3635
3668
|
></script>
|
|
3636
3669
|
</body>
|
|
3637
3670
|
</html>
|
|
3638
3671
|
`;
|
|
3639
|
-
var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.
|
|
3672
|
+
var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.3+4f7d302b60c335c5";
|
|
3640
3673
|
var EXPORT_TRANSCRIPT_RENDERER_LIMITS = Object.freeze({
|
|
3641
3674
|
maxBlocks: 1e3,
|
|
3642
3675
|
maxEnvelopeBytes: 33554432
|
|
@@ -5613,6 +5646,28 @@ var export_transcript_document_v1_schema_default = {
|
|
|
5613
5646
|
toolResultPreview: {
|
|
5614
5647
|
oneOf: [
|
|
5615
5648
|
{ $ref: "#/$defs/todoPreview" },
|
|
5649
|
+
{
|
|
5650
|
+
type: "object",
|
|
5651
|
+
additionalProperties: false,
|
|
5652
|
+
required: ["kind", "text", "answers"],
|
|
5653
|
+
properties: {
|
|
5654
|
+
kind: { const: "question_answers" },
|
|
5655
|
+
text: { type: "string", maxLength: 409600 },
|
|
5656
|
+
answers: {
|
|
5657
|
+
type: "array",
|
|
5658
|
+
maxItems: 1e3,
|
|
5659
|
+
items: {
|
|
5660
|
+
type: "object",
|
|
5661
|
+
additionalProperties: false,
|
|
5662
|
+
required: ["question", "answer"],
|
|
5663
|
+
properties: {
|
|
5664
|
+
question: { type: "string", maxLength: 409600 },
|
|
5665
|
+
answer: { type: "string", maxLength: 409600 }
|
|
5666
|
+
}
|
|
5667
|
+
}
|
|
5668
|
+
}
|
|
5669
|
+
}
|
|
5670
|
+
},
|
|
5616
5671
|
{
|
|
5617
5672
|
type: "object",
|
|
5618
5673
|
additionalProperties: false,
|
|
@@ -19643,6 +19698,16 @@ function sanitizeResultPreview(preview, budget, _diagnostics, ids) {
|
|
|
19643
19698
|
if (preview.kind === "text") {
|
|
19644
19699
|
return { kind: "text", text: budget.text(preview.text) };
|
|
19645
19700
|
}
|
|
19701
|
+
if (preview.kind === "question_answers") {
|
|
19702
|
+
return {
|
|
19703
|
+
kind: "question_answers",
|
|
19704
|
+
text: budget.plainText(preview.text),
|
|
19705
|
+
answers: budget.array(preview.answers).map(({ question, answer }) => ({
|
|
19706
|
+
question: budget.plainText(question),
|
|
19707
|
+
answer: budget.plainText(answer)
|
|
19708
|
+
}))
|
|
19709
|
+
};
|
|
19710
|
+
}
|
|
19646
19711
|
if (!preview.summary?.trim()) return void 0;
|
|
19647
19712
|
const summary = budget.text(preview.summary);
|
|
19648
19713
|
return summary.trim() ? { kind: "generic", summary } : { kind: "text", text: summary };
|
|
@@ -20355,7 +20420,7 @@ function assertResourceBudgets(value) {
|
|
|
20355
20420
|
__name(assertResourceBudgets, "assertResourceBudgets");
|
|
20356
20421
|
function isMarkdownExportText(key, parent, path3) {
|
|
20357
20422
|
if (path3.at(-2) === "resultPreview") {
|
|
20358
|
-
return key === "text" || key === "summary";
|
|
20423
|
+
return parent?.["kind"] !== "question_answers" && (key === "text" || key === "summary");
|
|
20359
20424
|
}
|
|
20360
20425
|
return key === "text" && ["user", "assistant", "thought", "status", "error"].includes(
|
|
20361
20426
|
String(parent?.["kind"])
|
|
@@ -20399,6 +20464,7 @@ var VISIBLE_EXPORT_TEXT_FIELDS = /* @__PURE__ */ new Set([
|
|
|
20399
20464
|
"command",
|
|
20400
20465
|
"cwd",
|
|
20401
20466
|
"question",
|
|
20467
|
+
"answer",
|
|
20402
20468
|
"path",
|
|
20403
20469
|
"oldText",
|
|
20404
20470
|
"newText",
|