@qwen-code/qwen-code 0.23.2-preview.0 → 0.23.3-nightly.20260910.c46cb85cf2
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/goal-draft/SKILL.md +2 -2
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +76 -34
- 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/dingtalk.md +1 -21
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
- package/bundled/qc-helper/docs/features/channels/github.md +1 -9
- package/bundled/qc-helper/docs/features/channels/overview.md +30 -56
- package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
- package/bundled/qc-helper/docs/features/commands.md +105 -18
- 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 +5 -3
- package/bundled/qc-helper/docs/features/hooks.md +14 -13
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
- package/bundled/qc-helper/docs/qwen-serve.md +84 -53
- package/bundled/review/SKILL.md +82 -79
- package/bundled/review/references/posting.md +31 -14
- package/chunks/{MaxSizedBox-ZZJT3PJF.js → MaxSizedBox-UZW24XUX.js} +63 -55
- package/chunks/{StandaloneSessionPicker-DIOSZTMX.js → StandaloneSessionPicker-IDK7NAZL.js} +85 -77
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-ARO4II44.js} +2 -2
- package/chunks/acp-subagent-executor-7TLJGISS.js +919 -0
- package/chunks/{acpAgent-62JUP5A7.js → acpAgent-YRCNNIIU.js} +939 -306
- package/chunks/{agent-NLPEQQDZ.js → agent-SGU5EE7U.js} +47 -41
- package/chunks/{agent-headless-Y2GR5F2Q.js → agent-headless-JVYBLNLT.js} +47 -41
- package/chunks/{anthropicContentGenerator-I7LQZH26.js → anthropicContentGenerator-SGIR5IKF.js} +68 -36
- package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-PMYZCYNH.js} +2 -2
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
- package/chunks/{bridge-Q66BD62H.js → bridge-YF6NYRPZ.js} +68 -60
- package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
- package/chunks/{channel-management-service-TRTLQTSV.js → channel-management-service-E4HTMU7T.js} +9 -9
- package/chunks/{channel-settings-store-R5STFWUW.js → channel-settings-store-FZ5VKHQD.js} +74 -66
- package/chunks/{channel-worker-group-PIYPVCTF.js → channel-worker-group-X6WH4XWF.js} +9 -9
- package/chunks/{channel-worker-manager-FQHEDTD2.js → channel-worker-manager-SICFJDPJ.js} +19 -10
- package/chunks/{channel-worker-supervisor-XJPZZ3VK.js → channel-worker-supervisor-HSFAKML6.js} +6 -6
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-OIPUQE3S.js → chunk-34ZYDM3F.js} +27 -12
- package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
- package/chunks/{chunk-6YEOCHSE.js → chunk-3FPYT6QC.js} +101 -31
- package/chunks/{chunk-NFIDVZND.js → chunk-3I7W2POO.js} +3 -22
- package/chunks/{chunk-W3ONSAYO.js → chunk-3VPFA6L2.js} +3 -3
- package/chunks/chunk-532WHF4F.js +127 -0
- package/chunks/{chunk-J3TJH52D.js → chunk-5FFAUU4T.js} +1 -1
- package/chunks/{chunk-G5QLLD53.js → chunk-5FKZ7KFQ.js} +1864 -35
- package/chunks/{chunk-B44JBZBB.js → chunk-5GLDOLNQ.js} +132 -27
- package/chunks/{chunk-ORREXWOM.js → chunk-5ZJ3KK5J.js} +5 -5
- package/chunks/{chunk-2OR32P5M.js → chunk-6EDWSKN4.js} +125 -10
- package/chunks/{chunk-EA4NFWVG.js → chunk-6EOMQPTS.js} +4 -4
- package/chunks/{chunk-45ROPFQY.js → chunk-6NONRGYX.js} +1 -1
- package/chunks/{chunk-EHTKOO6W.js → chunk-6UK77U7D.js} +46 -3
- package/chunks/{chunk-QXXBW2G4.js → chunk-72BGC7RT.js} +4 -4
- package/chunks/{chunk-CRZBDVP2.js → chunk-74JEYK2C.js} +10 -10
- package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
- package/chunks/{chunk-CG2PDIGD.js → chunk-7XM6KEVW.js} +1 -1
- package/chunks/{chunk-CALNF3Z3.js → chunk-7XVQNDFB.js} +1 -1
- package/chunks/{chunk-TK4XHPKW.js → chunk-7ZKDPTYO.js} +2 -2
- package/chunks/{chunk-ZIPYCXQP.js → chunk-7ZVIGDZF.js} +1 -1
- package/chunks/chunk-AEY27Z35.js +1411 -0
- package/chunks/{chunk-WIRYFL2L.js → chunk-ATH66AEU.js} +64 -59
- package/chunks/{chunk-33MLFMCL.js → chunk-AW2SIT3B.js} +3 -3
- package/chunks/{chunk-4BLTSTF6.js → chunk-AWMJRE5N.js} +4 -4
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-M73KHGNR.js → chunk-B2TGBZXY.js} +420 -227
- package/chunks/{chunk-XDNFODER.js → chunk-B6BDT4RX.js} +1 -1
- package/chunks/{chunk-WZ4YULVF.js → chunk-BHR6IN2X.js} +3251 -974
- package/chunks/{chunk-GXIHBIHC.js → chunk-BI3WSRQE.js} +61 -72
- package/chunks/{chunk-NVS4Z6GT.js → chunk-BQOP3K76.js} +1 -1
- package/chunks/{chunk-R2266LQ5.js → chunk-BTWGOKHU.js} +2 -2
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/{chunk-XVTCSVBK.js → chunk-C4NLHK7X.js} +227 -298
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CAAMI77K.js +937 -0
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/{chunk-SOA4HKRJ.js → chunk-CGKEUUYG.js} +2 -2
- package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
- package/chunks/{chunk-5HBA2Z7V.js → chunk-CJ3DHN5I.js} +3 -3
- package/chunks/{chunk-3BTHHXXE.js → chunk-CSHX5ZC4.js} +1 -1
- package/chunks/{chunk-UYDQYDW2.js → chunk-CUK6F5UF.js} +1 -1
- package/chunks/{chunk-RPFJJ33Z.js → chunk-DLH7YIX6.js} +3 -3
- package/chunks/{chunk-L6ZME3W7.js → chunk-DMX7RF6E.js} +1 -1
- package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
- package/chunks/{chunk-FDOGGKAA.js → chunk-E4UEO3XM.js} +5 -2
- package/chunks/{chunk-RN6V5HKE.js → chunk-E5GQNSJY.js} +3 -3
- 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-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
- package/chunks/{chunk-BL6B2QS2.js → chunk-F2RKL5I2.js} +809 -1195
- package/chunks/{chunk-J4ECGDA3.js → chunk-F45SKYIQ.js} +3 -3
- package/chunks/{chunk-5WC2ECUK.js → chunk-FCQJLMA2.js} +114 -8
- package/chunks/{chunk-4JKLPTV6.js → chunk-FGRDUDCI.js} +13 -6
- package/chunks/{chunk-ZUNWKOAP.js → chunk-FGV2QEAO.js} +5 -27
- package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
- package/chunks/{chunk-XI7RST4D.js → chunk-FRVV5SSD.js} +2 -2
- package/chunks/{chunk-UXDVUFKU.js → chunk-FYZ5NZ3V.js} +2 -20
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-W7PXLIZJ.js → chunk-GP47UR3M.js} +6 -6
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-MA5OUNN6.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-UULHYZ4W.js → chunk-HL2DQG3Y.js} +148 -23
- package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-HZTXKVSV.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
- package/chunks/{chunk-CPJRFFPH.js → chunk-IFHJIEMN.js} +576 -169
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-MWEF5MUK.js → chunk-IOUBOANU.js} +42 -13
- package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
- package/chunks/{chunk-PQWM4SX2.js → chunk-J2RNOJRV.js} +2 -2
- package/chunks/{chunk-VHPG7BH6.js → chunk-J5PYQVD2.js} +2 -2
- package/chunks/{chunk-JDPBJIKI.js → chunk-JDEW3V5B.js} +1 -1
- package/chunks/{chunk-RX3FYFCN.js → chunk-JEMDIKGQ.js} +7 -7
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-UHUT4IDM.js → chunk-JOMCZWX7.js} +9 -15
- package/chunks/{chunk-43CI6YWJ.js → chunk-JV5YASQA.js} +2777 -2151
- package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-QLM7D7W3.js → chunk-KFGPNCCY.js} +8 -8
- package/chunks/{chunk-7RXOEUFF.js → chunk-KHIBLKNK.js} +1 -1
- package/chunks/{chunk-5GD7LYOH.js → chunk-KVBNJ4K2.js} +5 -5
- package/chunks/{chunk-QJAFSFYA.js → chunk-KZ2CU2LH.js} +1 -1
- package/chunks/{chunk-DCPRCDSR.js → chunk-L2KF7HUE.js} +6 -6
- package/chunks/{chunk-4ALNJDHL.js → chunk-L3DTX6U4.js} +3 -1
- package/chunks/{chunk-3SH53ANB.js → chunk-LAP7X6EC.js} +12 -0
- package/chunks/{chunk-GM44O6F7.js → chunk-LEGNDA46.js} +1 -1
- package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
- package/chunks/{chunk-LBKYQ33T.js → chunk-LIR7YS2O.js} +18 -12
- package/chunks/{chunk-5Z4FCEPY.js → chunk-LK2WUCDQ.js} +625 -119
- package/chunks/{chunk-W673V2H3.js → chunk-LY2GK2PR.js} +4 -4
- package/chunks/{chunk-PQSCGZT2.js → chunk-MOS5OAOG.js} +36 -10
- package/chunks/chunk-MXOALJIL.js +691 -0
- package/chunks/chunk-NFXXBWSE.js +463 -0
- package/chunks/chunk-NUQ4GK5I.js +315 -0
- package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
- package/chunks/{chunk-GNY7B3CA.js → chunk-NVIBH7WS.js} +1 -1
- package/chunks/{chunk-M6YLOETP.js → chunk-O3MKRN2I.js} +4 -4
- package/chunks/{chunk-ISPBBKJN.js → chunk-ONGZNOIP.js} +7 -2
- package/chunks/{chunk-Q2F43WTJ.js → chunk-OOLSYRZ7.js} +36 -19
- package/chunks/{chunk-63ACHB2H.js → chunk-PIGUW2U2.js} +197 -28
- package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
- package/chunks/{chunk-ULY4ISY2.js → chunk-PMS4FVLY.js} +23 -8
- package/chunks/{chunk-NB3NDQQK.js → chunk-Q2XLNLAV.js} +1 -1
- package/chunks/{chunk-6GRDHIVI.js → chunk-Q6HXLBZF.js} +12 -12
- package/chunks/{chunk-EUXF6URV.js → chunk-QPWZX4ZV.js} +32 -34
- package/chunks/{chunk-DTB5BXRG.js → chunk-RJZTX2OF.js} +30 -17
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-LUVXLLMS.js → chunk-SAWPURIU.js} +2 -2
- package/chunks/{chunk-WZS3X663.js → chunk-SNZWDV67.js} +43 -18
- package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
- package/chunks/{chunk-5VZFJTL2.js → chunk-SXEE6PND.js} +2 -2
- package/chunks/{chunk-743XE7N7.js → chunk-T4JVQR7Z.js} +2 -2
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-LN3WBOKU.js → chunk-TP2DUOB6.js} +8 -8
- package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-VH764G6B.js → chunk-TWC3FHUI.js} +4 -4
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
- package/chunks/{chunk-IUJLW6ZI.js → chunk-UBEYS536.js} +7 -7
- package/chunks/{chunk-VEQBVJYH.js → chunk-UGS62IR2.js} +3 -3
- package/chunks/{chunk-VF6D6EGV.js → chunk-UKMWZ5NS.js} +109 -842
- package/chunks/{chunk-7GZCCHJL.js → chunk-VHKOULAI.js} +6 -5
- package/chunks/{chunk-ODBNTMZW.js → chunk-VID4BW52.js} +97 -86
- package/chunks/{chunk-7L35FKPF.js → chunk-VLZOU6UH.js} +7 -7
- package/chunks/{chunk-XBLG564H.js → chunk-VTBPMLRO.js} +12 -12
- package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
- package/chunks/{chunk-RDV4NLI3.js → chunk-WS7MOFK6.js} +3 -3
- package/chunks/{chunk-FV4DM2M4.js → chunk-WXFK4MH7.js} +32 -12
- package/chunks/{chunk-XAXTQURR.js → chunk-WY4N6KS7.js} +4 -4
- package/chunks/{chunk-CABDNUJ4.js → chunk-XDQUDARC.js} +11 -14
- package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
- package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
- package/chunks/{chunk-Y6ZWXM44.js → chunk-YIU5PEAT.js} +2 -2
- package/chunks/{chunk-PSPAM24S.js → chunk-YKK2XXHF.js} +4 -0
- package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
- package/chunks/{chunk-OFVAS4AR.js → chunk-ZGQIIGNQ.js} +2 -2
- package/chunks/{chunk-HNLMYDQE.js → chunk-ZHECLGA6.js} +2 -4
- 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-ERXNTINK.js → chunk-ZT6EPPBY.js} +1 -1
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-MMMA36MN.js → chunk-ZUQVZTWG.js} +3 -3
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/{config-utils-37FHWPTP.js → config-utils-S5LFS4RN.js} +67 -59
- package/chunks/{contextCommand-R4JUBV5N.js → contextCommand-XXKZMMSQ.js} +64 -56
- package/chunks/{core-runtime-6U4OXU5C.js → core-runtime-YGUA42AZ.js} +68 -59
- package/chunks/{create-sub-session-LLUYAGZN.js → create-sub-session-SEK6KCYR.js} +64 -56
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
- 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-UI6SQSBV.js → daemon-G5TYKZD6.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-O2UTNFJC.js → daemon-git-worktree-guard-3AWINPPX.js} +65 -57
- package/chunks/{daemon-status-provider-7GMAKSTX.js → daemon-status-provider-RTKHKUFJ.js} +73 -65
- package/chunks/{daemon-trust-policy-VNP76VMO.js → daemon-trust-policy-6YQOC7B6.js} +69 -61
- package/chunks/{daemon-trust-policy-monitor-TD5O3BZA.js → daemon-trust-policy-monitor-EN5L23GS.js} +69 -61
- package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
- package/chunks/{deferred-core-runtime-NJM63YJS.js → deferred-core-runtime-JPLQRVZO.js} +62 -54
- package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
- package/chunks/{dist-STAGIFNB.js → dist-3BJVSJ7D.js} +389 -724
- package/chunks/{dist-OR2ZQTXZ.js → dist-65Q3TRLH.js} +16 -36
- package/chunks/{dist-24TCWK5H.js → dist-HX2LG76F.js} +233 -35
- package/chunks/{dist-XJ25G6OH.js → dist-J7PDFK53.js} +13 -38
- package/chunks/{dist-WZTUKIDR.js → dist-JCXKXRH6.js} +3 -6
- package/chunks/{dist-M4CBX53H.js → dist-LHGMHIDK.js} +2 -6
- package/chunks/{dist-5I4HLUTO.js → dist-QPTIRE3U.js} +4 -13
- package/chunks/{dist-FDISN4AK.js → dist-SBK33YLC.js} +5 -40
- package/chunks/{dist-NQ2636VT.js → dist-WMFHZG3R.js} +2 -5
- package/chunks/{edit-GL7OA6RV.js → edit-QXJZIWRQ.js} +50 -44
- package/chunks/{en-YJNRUQG4.js → en-7BZ2OZKH.js} +2 -1
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
- package/chunks/{enterPlanMode-VC4BCSZE.js → enterPlanMode-2ITCVQ5N.js} +47 -41
- package/chunks/{environment-BI6IBAZJ.js → environment-URPO5ORZ.js} +65 -57
- package/chunks/{errors-D6G2ZM2R.js → errors-TDUYLEKI.js} +64 -56
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
- package/chunks/{exitPlanMode-DX446CA6.js → exitPlanMode-RA7KMUEW.js} +47 -41
- package/chunks/{fast-path-MAYDLJIP.js → fast-path-Q2JYP64P.js} +7 -7
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-GTHZLVSS.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
- package/chunks/{glob-TVKRFY36.js → glob-VHSV4BKE.js} +50 -44
- package/chunks/{goal-tools-CA6YANRN.js → goal-tools-5FIE56CK.js} +53 -43
- package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
- package/chunks/{handleAutoUpdate-AW4ZAHON.js → handleAutoUpdate-7FZFLKNZ.js} +65 -57
- package/chunks/{i18n-IH5CRAY7.js → i18n-NTFQDWKR.js} +63 -55
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-TF3IQWSH.js} +7 -6
- package/chunks/{initializer-UBR37ZNM.js → initializer-LB3T635H.js} +69 -61
- package/chunks/{installationInfo-Y52756EC.js → installationInfo-KRO433ZG.js} +62 -54
- package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
- package/chunks/{list-7V5JDZPO.js → list-NEP3WPZ7.js} +72 -64
- package/chunks/{list-agents-I5TRH3J7.js → list-agents-QLDXS5OD.js} +18 -8
- package/chunks/{llm-QDB6JVF5.js → llm-AZEJEIAD.js} +141 -128
- package/chunks/{llm-content-generator-EO6MZCEO.js → llm-content-generator-KWXFHBR3.js} +6 -5
- package/chunks/{loadedSettingsAdapter-I3YQKMC4.js → loadedSettingsAdapter-NZORJLSD.js} +69 -61
- package/chunks/{loggingContentGenerator-MNXYUGDG.js → loggingContentGenerator-NGHVU6AK.js} +69 -62
- 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-EA3EXPTO.js → managed-npm-update-3LHNBEAG.js} +62 -54
- package/chunks/{mcp-QTAJ544Y.js → mcp-4SWJKDX7.js} +69 -61
- package/chunks/{monitor-6FQKQOTP.js → monitor-V5EFBZC7.js} +49 -43
- package/chunks/{nonInteractiveCli-MRCTZL5X.js → nonInteractiveCli-5UFUBUAT.js} +117 -109
- package/chunks/{notebook-edit-BQQCKI7K.js → notebook-edit-ATV46KWD.js} +48 -42
- package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-TTSKXNVH.js → openaiContentGenerator-BKTO5QJK.js} +31 -25
- package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
- package/chunks/{pidfile-KPIS6RIT.js → pidfile-JAIOWPI3.js} +65 -55
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-ZCASPKK4.js → processUtils-TCQH3LVD.js} +2 -2
- package/chunks/{prompt-terminal-ledger-D6HM6TV7.js → prompt-terminal-ledger-BYXHEUHX.js} +63 -55
- package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
- package/chunks/{qwenContentGenerator-GGZEFLBD.js → qwenContentGenerator-K5TJK75P.js} +60 -52
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-NOXRK323.js} +6 -5
- package/chunks/{read-file-VE5GDFLP.js → read-file-DL7GNZD5.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-HSSGMYDC.js → resumeHistoryUtils-OYKXZ4YO.js} +68 -60
- package/chunks/{ripGrep-SEJE7AA6.js → ripGrep-EOUMIU4K.js} +15 -13
- package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
- package/chunks/{run-qwen-serve-OJYVH7N6.js → run-qwen-serve-PPTGWC5B.js} +471 -152
- package/chunks/{runtime-KGMQQFJD.js → runtime-5RO22P2N.js} +77 -67
- package/chunks/{scheduled-tasks-7H5HWHYD.js → scheduled-tasks-YGERFWLZ.js} +70 -62
- package/chunks/{scheduler-BE42AKDG.js → scheduler-S6WU6M3C.js} +64 -56
- 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-AWKUDJBH.js → send-message-TWOGWCBG.js} +13 -10
- package/chunks/{serve-KZVKYMSL.js → serve-HT4WOCWS.js} +70 -62
- package/chunks/{server-PJRALPJQ.js → server-SWXVPRCS.js} +2977 -617
- package/chunks/{session-IHITXU2S.js → session-6DSFUOMO.js} +154 -119
- package/chunks/{session-attachments-root-GQ2TUI3Y.js → session-attachments-root-SOZCTQWW.js} +62 -54
- package/chunks/{session-pr-refresh-H43LULTE.js → session-pr-refresh-F7XUBQBH.js} +70 -62
- package/chunks/{settings-RKEQQDFC.js → settings-SWQH36PO.js} +74 -66
- package/chunks/{shell-6PJ444U5.js → shell-XUQL6EYV.js} +47 -41
- package/chunks/{skill-Q3UP7B5V.js → skill-HNRDD54C.js} +33 -23
- package/chunks/{skill-settings-LZR5YRRW.js → skill-settings-JU72PCII.js} +68 -60
- package/chunks/{spawnChannel-WM3DT2BF.js → spawnChannel-7ZVM3GBU.js} +65 -57
- package/chunks/{standalone-update-E5474IBI.js → standalone-update-64JQY2LX.js} +64 -56
- package/chunks/{start-opentui-ui-WLWZNQ2I.js → start-opentui-ui-RSLBXESU.js} +554 -297
- package/chunks/{startInteractiveUI-FBQSGWGO.js → startInteractiveUI-ZDPHD7XE.js} +1282 -1915
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
- package/chunks/{task-create-PMAFST2T.js → task-create-Y623TBHB.js} +10 -10
- package/chunks/{task-list-R2HSY2NC.js → task-list-FCPEEGWL.js} +3 -3
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
- package/chunks/{task-update-JYC57USF.js → task-update-YLSXF25N.js} +10 -10
- package/chunks/{team-create-VIGUFUT4.js → team-create-U52VYSNO.js} +49 -43
- package/chunks/{team-delete-CBHVBTPB.js → team-delete-S7TLHZCF.js} +3 -3
- package/chunks/{team-plan-approval-HQVZA3MD.js → team-plan-approval-IQ4ADQIK.js} +47 -41
- package/chunks/{terminal-image-renderer-LUKNCOVM.js → terminal-image-renderer-ZEMF7LB2.js} +64 -56
- package/chunks/{theme-manager-LOENKYLY.js → theme-manager-DK2S2SOX.js} +62 -54
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
- package/chunks/{tool-search-ZIFAQCE2.js → tool-search-6U4OQG7K.js} +21 -15
- package/chunks/{total-session-admission-FUUJH3QH.js → total-session-admission-BOARHBZU.js} +68 -60
- package/chunks/{trustedFolders-C76KYROP.js → trustedFolders-GKQZXZSV.js} +63 -55
- package/chunks/{update-relaunch-4G2SRXKX.js → update-relaunch-GLACF7PX.js} +5 -5
- package/chunks/{updateCheck-EIZIO7HI.js → updateCheck-NLBSZB4Q.js} +64 -56
- package/chunks/{useAutoAcceptIndicator-EAA6KSY4.js → useAutoAcceptIndicator-3X3BYU7H.js} +72 -64
- package/chunks/{validateNonInterActiveAuth-BRX22QCN.js → validateNonInterActiveAuth-NE3JLOIR.js} +114 -106
- package/chunks/{version-E56RU7PR.js → version-6H5YAT4N.js} +3 -1
- package/chunks/{web-fetch-AAUCD7RM.js → web-fetch-RWSO7TTN.js} +15 -13
- package/chunks/{web-search-HFUQF44Q.js → web-search-DADI3LV5.js} +560 -322
- package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-CCN4JZEE.js} +5 -4
- package/chunks/workflow-LPGCZCIT.js +1224 -0
- package/chunks/workspace-providers-status-QBRBEFTO.js +127 -0
- package/chunks/{workspace-registration-store-YL7HLYYI.js → workspace-registration-store-WUKTMJPW.js} +3 -2
- package/chunks/{workspace-registry-BNRP2ELW.js → workspace-registry-CJV7KVGF.js} +68 -60
- package/chunks/{workspace-runtime-coordinator-WKGF7VHS.js → workspace-runtime-coordinator-7LYMFMFF.js} +71 -61
- package/chunks/{workspace-service-4MYO72MM.js → workspace-service-HWXZSA4J.js} +75 -67
- package/chunks/{workspace-skills-status-SU66TJLZ.js → workspace-skills-status-D6QXUWCC.js} +70 -62
- package/chunks/{workspace-trust-reconciler-D5QT7WQB.js → workspace-trust-reconciler-VZX7G7CZ.js} +75 -67
- package/chunks/{write-file-NVPQE2AZ.js → write-file-KKHV26YV.js} +49 -43
- package/chunks/{zh-VBFCRQBL.js → zh-J2GLI64H.js} +2 -1
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-TBAICUJQ.js} +2 -1
- package/chunks/{zoom-image-RJHC66WG.js → zoom-image-OG7X7KAA.js} +12 -10
- package/cli.js +14 -14
- package/export-transcript-document.css +1 -0
- package/export-transcript-document.js +164 -165
- package/locales/ca.js +2 -2
- package/locales/de.js +2 -2
- package/locales/en.js +3 -2
- package/locales/fr.js +2 -2
- package/locales/ja.js +2 -2
- package/locales/pt.js +2 -2
- package/locales/ru.js +2 -2
- package/locales/zh-TW.js +3 -2
- package/locales/zh.js +3 -2
- package/package.json +6 -5
- package/web-shell/assets/{abnfDiagram-VCTEODGH-DHc6plZn.js → abnfDiagram-VCTEODGH-NT0lTLRG.js} +1 -1
- package/web-shell/assets/{arc-BQ9m8TDV.js → arc-DDqnIMMx.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-D5ap3oVB.js → architectureDiagram-5GKGNRK7-DfYghE3W.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-BIbnyNph.js → blockDiagram-NRAW4CY4-DlqJIx5c.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BRsdx_iG.js → c4Diagram-UCG6FXSJ-CinqLGU4.js} +1 -1
- package/web-shell/assets/channel-BHGoSkEv.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-3lf1fNlx.js → chunk-2Q5K7J3B-CsjJX5M7.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-DP8VNRc4.js → chunk-5VM5RSS4-CaVb2tdH.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DrohDmZ6.js → chunk-F27PBJKO-CRyErlzW.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-UZ2QhSx6.js → chunk-G27WJ6UU-7I79DZCf.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-BIMHVcZK.js → chunk-JWPE2WC7-Dz4cac5F.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-izRxdSDd.js → chunk-LCL6LL3I-Ls24Derb.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-CXADD4PP.js → chunk-POPQ4Y6H-JzYe4qx7.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-B96d8Y_1.js → chunk-SVP7TREG-BxDwesA-.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CF2sVQpv.js → chunk-XXDRQBXY-CW4hjgWc.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-E47Xnn15.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-E47Xnn15.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CT6tXVAS.js → cose-bilkent-JH36ORCC-DxikE9iF.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-X1NS4vtV.js → cynefin-OW5HDTMX-CvVsIkVN.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DNsKNOT4.js → cynefinDiagram-5FMLGOSQ-CDHkk3wq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-9-AHKqsb.js → dagre-3AP2YEHR-BgLdkVLT.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-Bjgms7j6.js → diagram-S7CK7UJ4-DP43cGhe.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-h6bCprbE.js → diagram-UQ7AKVKN-BWrZYhoT.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-4SbQXVLt.js → diagram-VSXAHHWV-B80wjH_n.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-B5gPCzzB.js → diagram-VX7I27RA-DPpKmDsY.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-DFJXIA3A.js → diagram-Z3DM3KII-kaEBNbNU.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-FwyaU7VY.js → ebnfDiagram-PWID7BFC-1-qbEZvk.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-8vJQh2te.js → erDiagram-SSCWMZ5O-CrK2gMkV.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-BzA_1gMN.js → flowDiagram-A5DVABFB-Dic2xofW.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-Co-ABbVX.js → ganttDiagram-EL5Y4UJY-DJko8vT7.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DW_FcyrX.js → gitGraphDiagram-WWUBYQGX-DxsQ-bHT.js} +1 -1
- package/web-shell/assets/index-DY8CxdBr.js +2173 -0
- package/web-shell/assets/index-eBxK3rs2.css +36 -0
- package/web-shell/assets/{index-BbMXfhNG.js → index-t7VBrUeD.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-BEgfhUFN.js → infoDiagram-RXCK75RN-DcRUJbNi.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DCsMxQmc.js → ishikawaDiagram-5VMMS53U-CUPw-2_e.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-DyIEYoHz.js → journeyDiagram-EYS64GPL-yOHhZxkW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-CkxjqCNr.js → kanban-definition-3QL26DDD-CFUGBbqz.js} +1 -1
- package/web-shell/assets/{layout-BEWc0Al9.js → layout-BoilNfBU.js} +1 -1
- package/web-shell/assets/{linear-CNuNxirL.js → linear-DOuHaPrl.js} +1 -1
- package/web-shell/assets/{mermaid.core-DZBre674.js → mermaid.core-1G1fXWda.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpafFz_F.js → mindmap-definition-FBJOCRG2-B8BhkrOX.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DfZqk_dq.js → pegDiagram-XKGWAZYB-CipC5K1D.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-S0UWXlgC.js → pieDiagram-E7YTZNPT-CHBDFDUJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-dd37_Ohj.js → quadrantDiagram-AXDQQJYC-_iiBkoZO.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CH8NJZ7u.js → railroadDiagram-O6MQD6OU-Cx1peHDi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CFdqWYih.js → requirementDiagram-EFPCY7ZU-CBRiPbdQ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CsddcEGD.js → sankeyDiagram-P5KCCOFB-TT6GcHaZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BZ270mGw.js → sequenceDiagram-WJ2MYXX4-CWP42PNb.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CGaS4DBV.js → sizeCapture-X5ZJPWSS-Bp94roEG.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-COpIzMu6.js → stateDiagram-HBIQ2CUA-0ftrzTAy.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-PgAST0dK.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-CMF889m3.js → swimlanes-XN3QIQJK-D-FsenYJ.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BcWcB5bj.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BelnxYz5.js → timeline-definition-24CTP7MA-Ctvrj28y.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-CU-NRqIB.js → vennDiagram-4TSXK5OY-5DZncjOt.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CDNKqWh-.js → wardleyDiagram-VM6X3IG4-jZjYwPY7.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CLqguL5D.js → xychartDiagram-S5SC5T6Z-Ci6Q2C2_.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/chunk-X35VIWWJ.js +0 -276
- package/chunks/workflow-3MABM53N.js +0 -2771
- package/chunks/workspace-providers-status-2FRLBZ5I.js +0 -119
- package/web-shell/assets/channel-uMMdTrYk.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +0 -1
- package/web-shell/assets/index-Bu-rZoJ-.js +0 -2150
- package/web-shell/assets/index-CsPwZ1ut.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +0 -8
- /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
|
@@ -0,0 +1,374 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
import {
|
|
7
|
+
__name
|
|
8
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
9
|
+
|
|
10
|
+
// packages/core/src/services/session-sources.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
import { createHash } from "node:crypto";
|
|
13
|
+
import path from "node:path";
|
|
14
|
+
var SessionSourceError = class extends Error {
|
|
15
|
+
constructor(code, message) {
|
|
16
|
+
super(message);
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.name = "SessionSourceError";
|
|
19
|
+
}
|
|
20
|
+
static {
|
|
21
|
+
__name(this, "SessionSourceError");
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var invalid = /* @__PURE__ */ __name((message) => {
|
|
25
|
+
throw new SessionSourceError("invalid_source", message);
|
|
26
|
+
}, "invalid");
|
|
27
|
+
function object(value, fields) {
|
|
28
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
29
|
+
return invalid("Source must be an object");
|
|
30
|
+
}
|
|
31
|
+
if (Object.keys(value).some((key) => !fields.includes(key))) {
|
|
32
|
+
return invalid("Unknown source field");
|
|
33
|
+
}
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
__name(object, "object");
|
|
37
|
+
function text(value, field, limit, empty = false, trim = true) {
|
|
38
|
+
if (typeof value !== "string" || /[\p{Cc}\p{Cf}]/u.test(value)) {
|
|
39
|
+
return invalid(`Invalid ${field}`);
|
|
40
|
+
}
|
|
41
|
+
const normalized = trim ? value.trim() : value;
|
|
42
|
+
if (!empty && !normalized || normalized.length > limit) {
|
|
43
|
+
return invalid(`Invalid ${field} length (maximum ${limit})`);
|
|
44
|
+
}
|
|
45
|
+
return normalized;
|
|
46
|
+
}
|
|
47
|
+
__name(text, "text");
|
|
48
|
+
function validateSessionSourceInput(value) {
|
|
49
|
+
const input = object(value, ["title", "description", "locator"]);
|
|
50
|
+
const title = text(input["title"], "title", 200);
|
|
51
|
+
const description = input["description"] === void 0 ? void 0 : text(input["description"], "description", 1e3, true);
|
|
52
|
+
const raw = object(input["locator"], [
|
|
53
|
+
"type",
|
|
54
|
+
"workspacePath",
|
|
55
|
+
"attachmentId",
|
|
56
|
+
"url"
|
|
57
|
+
]);
|
|
58
|
+
let locator;
|
|
59
|
+
switch (raw["type"]) {
|
|
60
|
+
case "workspace_file": {
|
|
61
|
+
object(raw, ["type", "workspacePath"]);
|
|
62
|
+
const sourcePath = text(
|
|
63
|
+
raw["workspacePath"],
|
|
64
|
+
"workspacePath",
|
|
65
|
+
500,
|
|
66
|
+
false,
|
|
67
|
+
false
|
|
68
|
+
).replaceAll("\\", "/");
|
|
69
|
+
if (sourcePath.startsWith("/") || /^[a-z]:/iu.test(sourcePath)) {
|
|
70
|
+
return invalid("Workspace path must be relative");
|
|
71
|
+
}
|
|
72
|
+
const segments = [];
|
|
73
|
+
for (const segment of sourcePath.split("/")) {
|
|
74
|
+
if (!segment || segment === ".") continue;
|
|
75
|
+
if (segment === "..") {
|
|
76
|
+
if (!segments.length)
|
|
77
|
+
return invalid("Workspace path escapes its root");
|
|
78
|
+
segments.pop();
|
|
79
|
+
} else {
|
|
80
|
+
segments.push(segment);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (!segments.length)
|
|
84
|
+
return invalid("Workspace path must identify a file");
|
|
85
|
+
locator = { type: "workspace_file", workspacePath: segments.join("/") };
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case "attachment":
|
|
89
|
+
object(raw, ["type", "attachmentId"]);
|
|
90
|
+
locator = {
|
|
91
|
+
type: "attachment",
|
|
92
|
+
attachmentId: text(
|
|
93
|
+
raw["attachmentId"],
|
|
94
|
+
"attachmentId",
|
|
95
|
+
200,
|
|
96
|
+
false,
|
|
97
|
+
false
|
|
98
|
+
)
|
|
99
|
+
};
|
|
100
|
+
break;
|
|
101
|
+
case "url": {
|
|
102
|
+
object(raw, ["type", "url"]);
|
|
103
|
+
const maxUrlLength = 2048;
|
|
104
|
+
const url = text(raw["url"], "url", maxUrlLength);
|
|
105
|
+
let parsed;
|
|
106
|
+
try {
|
|
107
|
+
parsed = new URL(url);
|
|
108
|
+
} catch {
|
|
109
|
+
return invalid("Invalid source URL");
|
|
110
|
+
}
|
|
111
|
+
if (!["http:", "https:"].includes(parsed.protocol) || !parsed.hostname || parsed.username || parsed.password) {
|
|
112
|
+
return invalid("Source URL must be HTTP(S) without credentials");
|
|
113
|
+
}
|
|
114
|
+
if (parsed.href.length > maxUrlLength) {
|
|
115
|
+
return invalid(
|
|
116
|
+
`Source URL is too long (maximum ${maxUrlLength} characters after normalization)`
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
locator = { type: "url", url: parsed.href };
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
default:
|
|
123
|
+
return invalid("Unknown source locator type");
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
title,
|
|
127
|
+
locator,
|
|
128
|
+
...description !== void 0 ? { description } : {}
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
__name(validateSessionSourceInput, "validateSessionSourceInput");
|
|
132
|
+
function sessionSourceId(sessionId, locator, workspaceCwd) {
|
|
133
|
+
return createHash("sha256").update(JSON.stringify([sessionId, locator, workspaceCwd ?? null])).digest("hex");
|
|
134
|
+
}
|
|
135
|
+
__name(sessionSourceId, "sessionSourceId");
|
|
136
|
+
function ordered(sources) {
|
|
137
|
+
return sources.sort(
|
|
138
|
+
(a, b) => b.createdAt.localeCompare(a.createdAt) || a.id.localeCompare(b.id)
|
|
139
|
+
);
|
|
140
|
+
}
|
|
141
|
+
__name(ordered, "ordered");
|
|
142
|
+
function parseSessionSourcesSnapshot(value, sessionId) {
|
|
143
|
+
const raw = object(value, ["version", "revision", "sources"]);
|
|
144
|
+
if (raw["version"] !== 1 || !Number.isSafeInteger(raw["revision"]) || raw["revision"] < 0 || !Array.isArray(raw["sources"]) || raw["sources"].length > 200) {
|
|
145
|
+
return invalid("Unsupported or malformed sources snapshot");
|
|
146
|
+
}
|
|
147
|
+
const ids = /* @__PURE__ */ new Set();
|
|
148
|
+
const sources = raw["sources"].map((value2) => {
|
|
149
|
+
const source = object(value2, [
|
|
150
|
+
"id",
|
|
151
|
+
"kind",
|
|
152
|
+
"workspaceCwd",
|
|
153
|
+
"createdAt",
|
|
154
|
+
"updatedAt",
|
|
155
|
+
"title",
|
|
156
|
+
"description",
|
|
157
|
+
"locator"
|
|
158
|
+
]);
|
|
159
|
+
const input = validateSessionSourceInput({
|
|
160
|
+
title: source["title"],
|
|
161
|
+
locator: source["locator"],
|
|
162
|
+
...source["description"] !== void 0 ? { description: source["description"] } : {}
|
|
163
|
+
});
|
|
164
|
+
const workspaceCwd = source["workspaceCwd"];
|
|
165
|
+
if (input.locator.type === "workspace_file" ? typeof workspaceCwd !== "string" || !path.isAbsolute(workspaceCwd) || path.normalize(workspaceCwd) !== workspaceCwd : workspaceCwd !== void 0) {
|
|
166
|
+
return invalid("Invalid source workspace binding");
|
|
167
|
+
}
|
|
168
|
+
const id = sessionSourceId(
|
|
169
|
+
sessionId,
|
|
170
|
+
input.locator,
|
|
171
|
+
workspaceCwd
|
|
172
|
+
);
|
|
173
|
+
const kind = input.locator.type === "url" ? "link" : "file";
|
|
174
|
+
const createdAt = source["createdAt"];
|
|
175
|
+
const updatedAt = source["updatedAt"];
|
|
176
|
+
const isTimestamp = /* @__PURE__ */ __name((value3) => typeof value3 === "string" && Number.isFinite(Date.parse(value3)) && new Date(value3).toISOString() === value3, "isTimestamp");
|
|
177
|
+
if (source["id"] !== id || ids.has(id) || source["kind"] !== kind || !isTimestamp(createdAt) || !isTimestamp(updatedAt) || updatedAt < createdAt || source["title"] !== input.title || source["description"] !== input.description) {
|
|
178
|
+
return invalid("Invalid stored source");
|
|
179
|
+
}
|
|
180
|
+
ids.add(id);
|
|
181
|
+
return {
|
|
182
|
+
...input,
|
|
183
|
+
id,
|
|
184
|
+
kind,
|
|
185
|
+
...typeof workspaceCwd === "string" ? { workspaceCwd } : {},
|
|
186
|
+
createdAt,
|
|
187
|
+
updatedAt
|
|
188
|
+
};
|
|
189
|
+
});
|
|
190
|
+
return {
|
|
191
|
+
version: 1,
|
|
192
|
+
revision: raw["revision"],
|
|
193
|
+
sources: ordered(sources)
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
__name(parseSessionSourcesSnapshot, "parseSessionSourcesSnapshot");
|
|
197
|
+
function restoreSessionSources(records, sessionId) {
|
|
198
|
+
const latest = records.findLast(
|
|
199
|
+
(record) => record.type === "system" && record.subtype === "session_sources_snapshot"
|
|
200
|
+
);
|
|
201
|
+
if (!latest) return {};
|
|
202
|
+
try {
|
|
203
|
+
return {
|
|
204
|
+
sourcesSnapshot: parseSessionSourcesSnapshot(
|
|
205
|
+
latest.systemPayload,
|
|
206
|
+
sessionId
|
|
207
|
+
)
|
|
208
|
+
};
|
|
209
|
+
} catch {
|
|
210
|
+
return { sourcesUnavailable: true };
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
__name(restoreSessionSources, "restoreSessionSources");
|
|
214
|
+
var SessionSourceService = class {
|
|
215
|
+
constructor(options) {
|
|
216
|
+
this.options = options;
|
|
217
|
+
}
|
|
218
|
+
static {
|
|
219
|
+
__name(this, "SessionSourceService");
|
|
220
|
+
}
|
|
221
|
+
snapshot = {
|
|
222
|
+
version: 1,
|
|
223
|
+
revision: 0,
|
|
224
|
+
sources: []
|
|
225
|
+
};
|
|
226
|
+
loaded = false;
|
|
227
|
+
queue = Promise.resolve();
|
|
228
|
+
serial(operation) {
|
|
229
|
+
const result = this.queue.then(async () => {
|
|
230
|
+
if (!this.loaded) {
|
|
231
|
+
let restored;
|
|
232
|
+
try {
|
|
233
|
+
restored = await this.options.load();
|
|
234
|
+
} catch {
|
|
235
|
+
throw new SessionSourceError(
|
|
236
|
+
"source_persistence_unavailable",
|
|
237
|
+
"Stored sources could not be loaded"
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
if (restored.sourcesUnavailable)
|
|
241
|
+
throw new SessionSourceError(
|
|
242
|
+
"source_persistence_unavailable",
|
|
243
|
+
"Stored sources are unavailable"
|
|
244
|
+
);
|
|
245
|
+
this.snapshot = restored.sourcesSnapshot ?? {
|
|
246
|
+
version: 1,
|
|
247
|
+
revision: 0,
|
|
248
|
+
sources: []
|
|
249
|
+
};
|
|
250
|
+
this.loaded = true;
|
|
251
|
+
}
|
|
252
|
+
return operation();
|
|
253
|
+
});
|
|
254
|
+
this.queue = result.catch(() => void 0);
|
|
255
|
+
return result;
|
|
256
|
+
}
|
|
257
|
+
async commit(sources) {
|
|
258
|
+
const next = parseSessionSourcesSnapshot(
|
|
259
|
+
{ version: 1, revision: this.snapshot.revision + 1, sources },
|
|
260
|
+
this.options.sessionId
|
|
261
|
+
);
|
|
262
|
+
try {
|
|
263
|
+
await this.options.persist(next);
|
|
264
|
+
} catch {
|
|
265
|
+
this.loaded = false;
|
|
266
|
+
throw new SessionSourceError(
|
|
267
|
+
"source_persistence_unavailable",
|
|
268
|
+
"Source metadata could not be persisted"
|
|
269
|
+
);
|
|
270
|
+
}
|
|
271
|
+
this.snapshot = next;
|
|
272
|
+
void Promise.resolve().then(() => this.options.notify?.(next.revision)).catch(() => void 0);
|
|
273
|
+
}
|
|
274
|
+
list() {
|
|
275
|
+
return this.serial(
|
|
276
|
+
async () => structuredClone({
|
|
277
|
+
revision: this.snapshot.revision,
|
|
278
|
+
sources: this.snapshot.sources
|
|
279
|
+
})
|
|
280
|
+
);
|
|
281
|
+
}
|
|
282
|
+
upsert(value) {
|
|
283
|
+
return this.serial(async () => {
|
|
284
|
+
const input = validateSessionSourceInput(value);
|
|
285
|
+
const workspaceCwd = input.locator.type === "workspace_file" ? path.resolve(this.options.workspaceCwd()) : void 0;
|
|
286
|
+
const id = sessionSourceId(
|
|
287
|
+
this.options.sessionId,
|
|
288
|
+
input.locator,
|
|
289
|
+
workspaceCwd
|
|
290
|
+
);
|
|
291
|
+
const previous = this.snapshot.sources.find((source2) => source2.id === id);
|
|
292
|
+
const description = input.description ?? previous?.description;
|
|
293
|
+
if (previous && previous.title === input.title && previous.description === description) {
|
|
294
|
+
return {
|
|
295
|
+
revision: this.snapshot.revision,
|
|
296
|
+
source: structuredClone(previous),
|
|
297
|
+
change: "unchanged"
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
if (!previous && this.snapshot.sources.length >= 200)
|
|
301
|
+
throw new SessionSourceError(
|
|
302
|
+
"source_limit_reached",
|
|
303
|
+
"A session can contain at most 200 sources"
|
|
304
|
+
);
|
|
305
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
306
|
+
const source = {
|
|
307
|
+
...input,
|
|
308
|
+
...description !== void 0 ? { description } : {},
|
|
309
|
+
id,
|
|
310
|
+
kind: input.locator.type === "url" ? "link" : "file",
|
|
311
|
+
...workspaceCwd ? { workspaceCwd } : {},
|
|
312
|
+
createdAt: previous?.createdAt ?? now,
|
|
313
|
+
updatedAt: now
|
|
314
|
+
};
|
|
315
|
+
await this.commit([
|
|
316
|
+
...this.snapshot.sources.filter((item) => item.id !== id),
|
|
317
|
+
source
|
|
318
|
+
]);
|
|
319
|
+
return {
|
|
320
|
+
revision: this.snapshot.revision,
|
|
321
|
+
source: structuredClone(source),
|
|
322
|
+
change: previous ? "updated" : "created"
|
|
323
|
+
};
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
remove(sourceId) {
|
|
327
|
+
return this.serial(async () => {
|
|
328
|
+
const sources = this.snapshot.sources.filter(
|
|
329
|
+
(source) => source.id !== sourceId
|
|
330
|
+
);
|
|
331
|
+
const removed = sources.length !== this.snapshot.sources.length;
|
|
332
|
+
if (removed) await this.commit(sources);
|
|
333
|
+
return { revision: this.snapshot.revision, removed };
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
copyFrom(sources, attachmentIds) {
|
|
337
|
+
return this.serial(async () => {
|
|
338
|
+
const warnings = [];
|
|
339
|
+
const cwd = path.resolve(this.options.workspaceCwd());
|
|
340
|
+
const copied = sources.flatMap((source) => {
|
|
341
|
+
if (source.locator.type === "attachment" && !attachmentIds.includes(source.locator.attachmentId) || source.locator.type === "workspace_file" && source.workspaceCwd !== cwd) {
|
|
342
|
+
warnings.push(
|
|
343
|
+
`Source ${source.id} was not copied because its resource could not be mapped`
|
|
344
|
+
);
|
|
345
|
+
return [];
|
|
346
|
+
}
|
|
347
|
+
return [
|
|
348
|
+
{
|
|
349
|
+
...source,
|
|
350
|
+
id: sessionSourceId(
|
|
351
|
+
this.options.sessionId,
|
|
352
|
+
source.locator,
|
|
353
|
+
source.workspaceCwd
|
|
354
|
+
)
|
|
355
|
+
}
|
|
356
|
+
];
|
|
357
|
+
});
|
|
358
|
+
if (copied.length) await this.commit(copied);
|
|
359
|
+
return { warnings };
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
};
|
|
363
|
+
|
|
364
|
+
export {
|
|
365
|
+
SessionSourceError,
|
|
366
|
+
validateSessionSourceInput,
|
|
367
|
+
restoreSessionSources,
|
|
368
|
+
SessionSourceService
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* @license
|
|
372
|
+
* Copyright 2026 Qwen Team
|
|
373
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
374
|
+
*/
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
init_esbuild_shims
|
|
5
|
+
} from "./chunk-5O2XNYP6.js";
|
|
6
|
+
|
|
7
|
+
// packages/core/src/utils/auth-type.ts
|
|
8
|
+
init_esbuild_shims();
|
|
9
|
+
var AuthType = /* @__PURE__ */ ((AuthType2) => {
|
|
10
|
+
AuthType2["USE_OPENAI"] = "openai";
|
|
11
|
+
AuthType2["USE_OPENAI_RESPONSES"] = "openai-responses";
|
|
12
|
+
AuthType2["QWEN_OAUTH"] = "qwen-oauth";
|
|
13
|
+
AuthType2["USE_GEMINI"] = "gemini";
|
|
14
|
+
AuthType2["USE_VERTEX_AI"] = "vertex-ai";
|
|
15
|
+
AuthType2["USE_ANTHROPIC"] = "anthropic";
|
|
16
|
+
return AuthType2;
|
|
17
|
+
})(AuthType || {});
|
|
18
|
+
|
|
19
|
+
export {
|
|
20
|
+
AuthType
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* @license
|
|
24
|
+
* Copyright 2025 Google LLC
|
|
25
|
+
* Copyright 2026 Qwen Team
|
|
26
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
27
|
+
*/
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
} from "./chunk-G6UUOCUT.js";
|
|
6
6
|
import {
|
|
7
7
|
ToolNames
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-TP6FYVQT.js";
|
|
9
9
|
import {
|
|
10
10
|
createDebugLogger
|
|
11
11
|
} from "./chunk-ZAFYHRVY.js";
|
|
@@ -248,7 +248,15 @@ function applySkillHooks(config, skill) {
|
|
|
248
248
|
}
|
|
249
249
|
}
|
|
250
250
|
__name(applySkillHooks, "applySkillHooks");
|
|
251
|
-
|
|
251
|
+
var ReviewWorkflowActivationError = class extends Error {
|
|
252
|
+
static {
|
|
253
|
+
__name(this, "ReviewWorkflowActivationError");
|
|
254
|
+
}
|
|
255
|
+
constructor(cause) {
|
|
256
|
+
super(cause instanceof Error ? cause.message : String(cause), { cause });
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
async function applySkillSideEffects(config, skill) {
|
|
252
260
|
if (!config) {
|
|
253
261
|
return;
|
|
254
262
|
}
|
|
@@ -264,6 +272,13 @@ function applySkillSideEffects(config, skill) {
|
|
|
264
272
|
trustGated: skill.level === "project"
|
|
265
273
|
});
|
|
266
274
|
applySkillHooks(config, skill);
|
|
275
|
+
if (skill.level === "bundled" && skill.name === "review") {
|
|
276
|
+
try {
|
|
277
|
+
await config.enableReviewWorkflow();
|
|
278
|
+
} catch (error) {
|
|
279
|
+
throw new ReviewWorkflowActivationError(error);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
267
282
|
}
|
|
268
283
|
__name(applySkillSideEffects, "applySkillSideEffects");
|
|
269
284
|
function clearLoadedSkillTracking(toolRegistry, logTag) {
|
|
@@ -282,6 +297,7 @@ export {
|
|
|
282
297
|
clearCollectedSkillEntriesCache,
|
|
283
298
|
collectAvailableSkillEntries,
|
|
284
299
|
renderAvailableSkillsBlock,
|
|
300
|
+
ReviewWorkflowActivationError,
|
|
285
301
|
applySkillSideEffects,
|
|
286
302
|
clearLoadedSkillTracking
|
|
287
303
|
};
|
|
@@ -426,17 +426,6 @@ function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
|
|
|
426
426
|
}
|
|
427
427
|
__name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
|
|
428
428
|
|
|
429
|
-
// packages/core/src/utils/auth-type.ts
|
|
430
|
-
init_esbuild_shims();
|
|
431
|
-
var AuthType = /* @__PURE__ */ ((AuthType2) => {
|
|
432
|
-
AuthType2["USE_OPENAI"] = "openai";
|
|
433
|
-
AuthType2["QWEN_OAUTH"] = "qwen-oauth";
|
|
434
|
-
AuthType2["USE_GEMINI"] = "gemini";
|
|
435
|
-
AuthType2["USE_VERTEX_AI"] = "vertex-ai";
|
|
436
|
-
AuthType2["USE_ANTHROPIC"] = "anthropic";
|
|
437
|
-
return AuthType2;
|
|
438
|
-
})(AuthType || {});
|
|
439
|
-
|
|
440
429
|
export {
|
|
441
430
|
loadUndici,
|
|
442
431
|
preloadRuntimeFetchModule,
|
|
@@ -447,17 +436,10 @@ export {
|
|
|
447
436
|
setResolvedProxyUrlForRuntimeFetch,
|
|
448
437
|
getOrCreateMcpDispatcher,
|
|
449
438
|
redactProxyCredentials,
|
|
450
|
-
redactProxyError
|
|
451
|
-
AuthType
|
|
439
|
+
redactProxyError
|
|
452
440
|
};
|
|
453
441
|
/**
|
|
454
442
|
* @license
|
|
455
443
|
* Copyright 2025 Qwen Team
|
|
456
444
|
* SPDX-License-Identifier: Apache-2.0
|
|
457
445
|
*/
|
|
458
|
-
/**
|
|
459
|
-
* @license
|
|
460
|
-
* Copyright 2025 Google LLC
|
|
461
|
-
* Copyright 2026 Qwen Team
|
|
462
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
463
|
-
*/
|
|
@@ -12,6 +12,15 @@ import {
|
|
|
12
12
|
|
|
13
13
|
// packages/cli/src/serve/serve-token.ts
|
|
14
14
|
init_esbuild_shims();
|
|
15
|
+
import { randomBytes } from "node:crypto";
|
|
16
|
+
function resolveRemoteServeToken(optionToken, loopback, environmentToken = process.env[QWEN_SERVER_TOKEN_ENV]) {
|
|
17
|
+
const generated = !loopback && optionToken === void 0 && environmentToken === void 0;
|
|
18
|
+
return {
|
|
19
|
+
token: generated ? randomBytes(16).toString("base64url") : resolveServeToken(optionToken, environmentToken),
|
|
20
|
+
generated
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
__name(resolveRemoteServeToken, "resolveRemoteServeToken");
|
|
15
24
|
function resolveServeToken(optionToken, environmentToken = process.env[QWEN_SERVER_TOKEN_ENV]) {
|
|
16
25
|
const selected = optionToken ?? environmentToken;
|
|
17
26
|
const trimmed = selected?.trim();
|
|
@@ -20,6 +29,7 @@ function resolveServeToken(optionToken, environmentToken = process.env[QWEN_SERV
|
|
|
20
29
|
__name(resolveServeToken, "resolveServeToken");
|
|
21
30
|
|
|
22
31
|
export {
|
|
32
|
+
resolveRemoteServeToken,
|
|
23
33
|
resolveServeToken
|
|
24
34
|
};
|
|
25
35
|
/**
|