@qwen-code/qwen-code 0.19.8 → 0.19.9-nightly.20260714.9dd8389eb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/qc-helper/SKILL.md +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +40 -55
- package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
- package/bundled/qc-helper/docs/configuration/settings.md +61 -51
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +12 -2
- package/bundled/qc-helper/docs/features/channels/overview.md +82 -7
- package/bundled/qc-helper/docs/features/channels/wecom.md +6 -0
- package/bundled/qc-helper/docs/features/code-review.md +109 -41
- package/bundled/qc-helper/docs/features/commands.md +45 -44
- package/bundled/qc-helper/docs/features/computer-use.md +77 -0
- package/bundled/qc-helper/docs/features/hooks.md +29 -0
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
- package/bundled/qc-helper/docs/integration-vscode.md +2 -2
- package/bundled/qc-helper/docs/qwen-serve.md +60 -22
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
- package/bundled/review/DESIGN.md +303 -46
- package/bundled/review/SKILL.md +658 -165
- package/chunks/MaxSizedBox-QAYHOC4F.js +71 -0
- package/chunks/{StandaloneSessionPicker-EYRGH6PJ.js → StandaloneSessionPicker-D3R6YYX3.js} +82 -79
- package/chunks/{acpAgent-GRFTTRHW.js → acpAgent-ENHBW72A.js} +1178 -421
- package/chunks/agent-57LX4KMG.js +69 -0
- package/chunks/agent-headless-AC6EVNAP.js +63 -0
- package/chunks/{anthropicContentGenerator-CPF22MA7.js → anthropicContentGenerator-56U3YCP2.js} +187 -31
- package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-BWZZJ42H.js} +5 -5
- package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-WU3S5A5T.js} +6 -6
- package/chunks/bridge-4OZH44MK.js +79 -0
- package/chunks/{ca-MKD32FQL.js → ca-C2JTT2N5.js} +68 -6
- package/chunks/channel-worker-group-K7QKH6IG.js +13 -0
- package/chunks/channel-worker-manager-5RWKSGEU.js +418 -0
- package/chunks/channel-worker-supervisor-PCDAZN4D.js +20 -0
- package/chunks/{chunk-CSOTA7KX.js → chunk-2FO5GFKZ.js} +2 -2
- package/chunks/{chunk-QQDPRDVW.js → chunk-2HRYPZT5.js} +1 -1
- package/chunks/{chunk-I6WGFJJ3.js → chunk-2MF6ICOL.js} +38 -12
- package/chunks/{chunk-X3YGAX7V.js → chunk-2UUAIFQO.js} +4 -2
- package/chunks/{chunk-2PSWA5ID.js → chunk-2X56YUSZ.js} +1 -1
- package/chunks/{chunk-NQKLOAVJ.js → chunk-2Z5UX4KI.js} +2 -2
- package/chunks/chunk-3MX7D6QN.js +516 -0
- package/chunks/{chunk-YDOXPLYL.js → chunk-4DYYRLIE.js} +3890 -975
- package/chunks/{chunk-OQXDAMKY.js → chunk-4FPUAYTT.js} +8 -8
- package/chunks/{chunk-55ZMG67I.js → chunk-4LD5APFL.js} +4 -4
- package/chunks/{chunk-YKZIAK7C.js → chunk-4LJNI7MU.js} +166 -37
- package/chunks/{chunk-BOBOCR5H.js → chunk-4QOPEEL2.js} +4 -4
- package/chunks/{chunk-UIDXQNMV.js → chunk-4WGODMVR.js} +1 -1
- package/chunks/{chunk-E6US47KI.js → chunk-4WKAA4KS.js} +1 -1
- package/chunks/{chunk-3GONHQOA.js → chunk-57OAHC2Y.js} +1 -1
- package/chunks/{chunk-JZSY4WP3.js → chunk-5DTTYNB7.js} +1 -1
- package/chunks/chunk-5HBA2Z7V.js +28 -0
- package/chunks/{chunk-SKAZWEV5.js → chunk-5M6IDOMF.js} +35 -98
- package/chunks/{chunk-A4BMJM77.js → chunk-5O2XNYP6.js} +1 -0
- package/chunks/{chunk-GO6LNQXT.js → chunk-6AM5D4ME.js} +1 -1
- package/chunks/{chunk-BJBWRCSK.js → chunk-6H67XLET.js} +1 -1
- package/chunks/{chunk-AYNCLGTW.js → chunk-6HHAADP2.js} +8 -51
- package/chunks/{chunk-VZ7HY3YU.js → chunk-6OATMEYN.js} +3 -3
- package/chunks/{chunk-3UP777ZS.js → chunk-6RLROE6G.js} +1 -1
- package/chunks/{chunk-ZERZSAZL.js → chunk-75DOP5OR.js} +2 -2
- package/chunks/{chunk-RMLZAUWH.js → chunk-7BIZARI2.js} +10 -12
- package/chunks/{chunk-GN3F6PIU.js → chunk-7NAWTFVY.js} +5 -5
- package/chunks/{chunk-22MNNNXE.js → chunk-7NFB7LBQ.js} +11 -3
- package/chunks/{chunk-ZL5HN75Q.js → chunk-7R4DPSRA.js} +37 -3
- package/chunks/{chunk-BVYU3ZTI.js → chunk-7U7UIO5W.js} +1005 -942
- package/chunks/{chunk-SAIILPQ3.js → chunk-7X7TEQNX.js} +5 -3
- package/chunks/{chunk-IRJWHZWU.js → chunk-A4UCTEB5.js} +2 -2
- package/chunks/{chunk-WF4FAXDL.js → chunk-AAS2Q2TV.js} +62 -62
- package/chunks/{chunk-O7FIRWJV.js → chunk-AAWKZ5R7.js} +3 -3
- package/chunks/{chunk-JCH35JB3.js → chunk-AGBFWLA5.js} +2 -2
- package/chunks/{chunk-QYUE6W3T.js → chunk-ALGGS7UH.js} +2 -39
- package/chunks/{chunk-WMPVYQ4P.js → chunk-ARKANCNX.js} +3 -2
- package/chunks/{chunk-HDOH3QYE.js → chunk-ASVORVFT.js} +2 -2
- package/chunks/{chunk-CHB5SLZZ.js → chunk-AUGSSJX3.js} +3 -3
- package/chunks/{chunk-PUVCVELY.js → chunk-B6ABUBYY.js} +4 -4
- package/chunks/{chunk-L4AMBVQG.js → chunk-B6KHOCU7.js} +49 -21
- package/chunks/{chunk-HW4N45EE.js → chunk-B7NUUEXC.js} +38 -11
- package/chunks/{chunk-CD6USWHZ.js → chunk-BBNVFRGD.js} +2 -2
- package/chunks/{chunk-ZN5T4BHI.js → chunk-BPZALHVR.js} +2 -2
- package/chunks/{chunk-VGGOPZUL.js → chunk-C4CXFRKY.js} +12 -5
- package/chunks/{chunk-OFEVLU4C.js → chunk-CARU2RR2.js} +1 -1
- package/chunks/{chunk-SQ2UATK7.js → chunk-CLTWL6HD.js} +11 -11
- package/chunks/{chunk-GLE2YUPU.js → chunk-COH43MRJ.js} +1 -1
- package/chunks/{chunk-E5A7LHNN.js → chunk-CPBF7KYF.js} +1 -1
- package/chunks/{chunk-UWCTAVOD.js → chunk-CR3C7WXL.js} +1 -1
- package/chunks/{chunk-DIWVZ3VM.js → chunk-CSACSGAW.js} +5 -5
- package/chunks/{chunk-5P5XGNYH.js → chunk-CU3L64TP.js} +1 -1
- package/chunks/{chunk-IWKSG2AR.js → chunk-CXAOG665.js} +1 -1
- package/chunks/{chunk-64WXLC72.js → chunk-DJ2GSRLV.js} +1 -1
- package/chunks/chunk-DKXW66XA.js +38 -0
- package/chunks/{chunk-QN5NZ3UQ.js → chunk-DMTGGOSA.js} +2 -2
- package/chunks/{chunk-JZHIQJOE.js → chunk-DMTQY5GY.js} +6 -6
- package/chunks/{chunk-GSHQYYIV.js → chunk-DNKX35GS.js} +6 -26
- package/chunks/{chunk-6IAWPIQ6.js → chunk-DPSWJWZI.js} +4 -3
- package/chunks/{chunk-X2XNQQJI.js → chunk-E2UVIFI2.js} +186 -399
- package/chunks/{chunk-KHDZHZMH.js → chunk-E5Z2AVNV.js} +1 -1
- package/chunks/{chunk-3B26UVCX.js → chunk-E67NFMF4.js} +39 -10
- package/chunks/{chunk-ON3JA3RU.js → chunk-EU3U7USF.js} +7 -9
- package/chunks/{chunk-L46XKEGM.js → chunk-EUNRLYJG.js} +5 -8
- package/chunks/{chunk-OACJLMLD.js → chunk-FBU7WRZI.js} +18 -2
- package/chunks/{chunk-5IFG2VC4.js → chunk-FCMNKVXT.js} +1 -1
- package/chunks/{chunk-A5JOJ77H.js → chunk-FDL4PB5H.js} +38 -15
- package/chunks/{chunk-E7KNELIZ.js → chunk-FSA7ERJ2.js} +2 -2
- package/chunks/{chunk-TI3BWD4D.js → chunk-G6QTKQN4.js} +39 -19
- package/chunks/{chunk-44NROQYV.js → chunk-GDQQRV43.js} +4 -4
- package/chunks/{chunk-O2YT7VB4.js → chunk-GOXKNSDZ.js} +2 -65
- package/chunks/{chunk-V35MD7KN.js → chunk-GRC5HGPI.js} +1 -1
- package/chunks/chunk-GYGGUR4Q.js +253 -0
- package/chunks/{chunk-S6RLAIUR.js → chunk-GYTKQYDB.js} +1 -1
- package/chunks/{chunk-A2X3KLC3.js → chunk-GZXCZHCT.js} +3 -3
- package/chunks/{chunk-K5PGHDBN.js → chunk-H6XPXXMH.js} +1 -1
- package/chunks/{chunk-E7EMCSUG.js → chunk-HE54PGVI.js} +64 -42
- package/chunks/{chunk-KYMBIKIW.js → chunk-HTHUX2T5.js} +1 -1
- package/chunks/{chunk-LQ7TMOCE.js → chunk-HTO4JFDZ.js} +1 -1
- package/chunks/chunk-HZYUNZDQ.js +296 -0
- package/chunks/chunk-IDS7MSUP.js +74 -0
- package/chunks/chunk-J2TDDOSM.js +493 -0
- package/chunks/{chunk-4CGOWHKM.js → chunk-J4MOFEOK.js} +2 -2
- package/chunks/{chunk-22IFUCVR.js → chunk-JESCGQM3.js} +1 -1
- package/chunks/chunk-JR63TOV4.js +91 -0
- package/chunks/chunk-K3PPUB46.js +445 -0
- package/chunks/{chunk-42XGFRJS.js → chunk-KKRTYONM.js} +8 -6
- package/chunks/{chunk-GGQQA4JW.js → chunk-KSO42X3Z.js} +15 -2
- package/chunks/{chunk-MRO43B25.js → chunk-KW7NOTN6.js} +1 -1
- package/chunks/{chunk-54YZOP7P.js → chunk-L573Z2QZ.js} +11894 -5190
- package/chunks/{chunk-TLWA7TPR.js → chunk-L5U3ELZX.js} +2 -2
- package/chunks/{chunk-WHJQ3JUS.js → chunk-LAM6CGP5.js} +10 -10
- package/chunks/{chunk-H6EMK6QK.js → chunk-LQIDP6K5.js} +11913 -5207
- package/chunks/{chunk-MZ7BABX3.js → chunk-LXLTBIDP.js} +44 -7
- package/chunks/{chunk-HLKG6CZN.js → chunk-M5GB774H.js} +1 -1
- package/chunks/{chunk-EEN2TKST.js → chunk-MBJ3D6SF.js} +2 -2
- package/chunks/{chunk-PMFULMLX.js → chunk-MBP3K324.js} +2234 -377
- package/chunks/chunk-MR3PXB6E.js +48 -0
- package/chunks/{chunk-ZE6E424U.js → chunk-N7FCSERB.js} +2 -2
- package/chunks/{chunk-332PWN27.js → chunk-NHDKSOEY.js} +1 -1
- package/chunks/chunk-OATTJGPJ.js +448 -0
- package/chunks/{chunk-UX6OTBVD.js → chunk-OCC3UTWA.js} +2 -2
- package/chunks/{chunk-P7M4GA57.js → chunk-OCPBI7J5.js} +1 -1
- package/chunks/chunk-OJAMDVF5.js +66 -0
- package/chunks/{chunk-IJRL2S3D.js → chunk-OKAIGAYW.js} +6 -6
- package/chunks/{chunk-WQTHLB5T.js → chunk-P3S67A5R.js} +7 -7
- package/chunks/{chunk-FBET5XZ2.js → chunk-PEJWA3QQ.js} +29 -10
- package/chunks/{chunk-J7RCB6N5.js → chunk-PHYCWSDG.js} +2 -2
- package/chunks/{chunk-LAXNEOBG.js → chunk-PMRH4YYW.js} +18 -3
- package/chunks/{chunk-AGHU5VRK.js → chunk-PZL23GTM.js} +1 -1
- package/chunks/{chunk-PC4ZXHU2.js → chunk-Q6TUALBE.js} +3 -3
- package/chunks/{chunk-FXGLL2HL.js → chunk-Q7YDKOGY.js} +1 -1
- package/chunks/{chunk-P3XEEI3X.js → chunk-QABSSDQH.js} +36 -7
- package/chunks/{chunk-XOHNA2S6.js → chunk-QAW7PIHT.js} +3 -3
- package/chunks/{chunk-LGFAYIKX.js → chunk-QHTIBUWB.js} +1 -1
- package/chunks/{chunk-P3MYAZBY.js → chunk-QMGX2KO2.js} +1 -1
- package/chunks/{chunk-Z3I3QJK3.js → chunk-QRUIS3DN.js} +1 -1
- package/chunks/{chunk-ITOGNELQ.js → chunk-QSWDGAIC.js} +2 -2
- package/chunks/{chunk-GHOTR7HL.js → chunk-QUPXZXLV.js} +1 -1
- package/chunks/{chunk-W7EEOR7D.js → chunk-RCEEXIOO.js} +8 -6
- package/chunks/{chunk-2EM7ECZD.js → chunk-RJL5T4WJ.js} +281 -65
- package/chunks/{chunk-TLRYABYP.js → chunk-RKUWKYED.js} +1 -1
- package/chunks/{chunk-RNBYOUGV.js → chunk-RXFQM6FQ.js} +1 -1
- package/chunks/{chunk-JRQ7EVGE.js → chunk-S2QXYLUB.js} +2 -2
- package/chunks/{chunk-QXPI7FEC.js → chunk-S3TWXGKA.js} +4 -4
- package/chunks/{chunk-O33TBKDC.js → chunk-SE74CIZD.js} +155 -19
- package/chunks/{chunk-FV7425LN.js → chunk-SPJQO2CE.js} +18 -5
- package/chunks/{chunk-3GNOQZDC.js → chunk-SSFDPGFN.js} +11866 -11542
- package/chunks/{chunk-DCZWC4PF.js → chunk-SUWGUGAD.js} +5 -5
- package/chunks/{chunk-IBY3Q3HG.js → chunk-SXU3KKNI.js} +963 -181
- package/chunks/{chunk-MLZQVCF3.js → chunk-SZRN75WQ.js} +1 -1
- package/chunks/{chunk-M7S4GK5Z.js → chunk-T2L6SGQY.js} +115 -29
- package/chunks/{chunk-7RYW5LQV.js → chunk-T2NCM2ET.js} +2 -2
- package/chunks/{chunk-JPALE3PA.js → chunk-T5C2OUCI.js} +6 -6
- package/chunks/{chunk-BUZ6HGL4.js → chunk-T7FSRWQ5.js} +248 -55
- package/chunks/{chunk-Z2Z3GUXZ.js → chunk-TB6UDU4T.js} +1 -1
- package/chunks/{chunk-EXPMGZZV.js → chunk-TEGEBB2I.js} +1 -1
- package/chunks/{chunk-MX2YXRER.js → chunk-TJTKSVIV.js} +1 -1
- package/chunks/{chunk-CCGOFQV3.js → chunk-TQBODCFD.js} +8 -7
- package/chunks/chunk-TV6K2FB4.js +224 -0
- package/chunks/{chunk-5MBO76SL.js → chunk-TXY2C3D2.js} +3 -3
- package/chunks/{chunk-H6BD2ELD.js → chunk-TYAMGABM.js} +2 -2
- package/chunks/{chunk-QYNNN7BK.js → chunk-TYLOFD2U.js} +2 -2
- package/chunks/{chunk-VRDMOSQS.js → chunk-UDXSXLER.js} +2 -2
- package/chunks/{chunk-UXEW557D.js → chunk-UI3W56WF.js} +3 -3
- package/chunks/{chunk-CJCKDMWO.js → chunk-URK542T4.js} +1 -1
- package/chunks/{channel-worker-supervisor-NZQUOEFJ.js → chunk-URU5UEK6.js} +190 -34
- package/chunks/{chunk-AHNXYU4O.js → chunk-V6WHFGST.js} +1 -1
- package/chunks/chunk-V75IOTWF.js +71 -0
- package/chunks/{chunk-ZTQ26VBE.js → chunk-VDDGDZMA.js} +1 -1
- package/chunks/{chunk-OMX7CUOE.js → chunk-VGC4I5JJ.js} +1 -1
- package/chunks/{chunk-43W4YSO6.js → chunk-VJNBRRZG.js} +2 -2
- package/chunks/{chunk-ER3BKOLB.js → chunk-W7FJ3N32.js} +1 -1
- package/chunks/{chunk-3HX5LZ6R.js → chunk-WBL3FJEU.js} +2 -2
- package/chunks/{chunk-7LTB54MK.js → chunk-WIEO4CWB.js} +2 -2
- package/chunks/{chunk-BMFMJINR.js → chunk-WL4L7EZH.js} +1 -1
- package/chunks/{chunk-6VK6FIMQ.js → chunk-WM5HY72H.js} +415 -379
- package/chunks/{chunk-BOBRZZKD.js → chunk-WN4D7YCI.js} +5 -5
- package/chunks/{chunk-DHOLNQLC.js → chunk-WWQ3QIJS.js} +60 -40
- package/chunks/{chunk-FEJ2FZ3U.js → chunk-WX6SD4IQ.js} +2 -2
- package/chunks/{chunk-DICGXFAI.js → chunk-X7EBAABW.js} +11 -9
- package/chunks/{chunk-3RW4AZJV.js → chunk-XFSFZCM5.js} +1 -1
- package/chunks/{chunk-YHKAK72D.js → chunk-XHW5VUIQ.js} +102 -16
- package/chunks/{chunk-2MPVVENX.js → chunk-XU457J4V.js} +2 -2
- package/chunks/{chunk-SIUQ3YYX.js → chunk-XVNQMZ2I.js} +1 -1
- package/chunks/{chunk-SYCJMSIJ.js → chunk-XWRJCPHC.js} +1 -1
- package/chunks/{chunk-SUAKHHK7.js → chunk-Y66VOBRP.js} +3 -3
- package/chunks/chunk-YAF2MQZ6.js +19 -0
- package/chunks/{chunk-FQNC62B2.js → chunk-YH4J5XI3.js} +11 -11
- package/chunks/chunk-YHN5SUIJ.js +219 -0
- package/chunks/{chunk-BR4QREVK.js → chunk-YQ3U5MUC.js} +1 -1
- package/chunks/{chunk-Y6Z2O3WR.js → chunk-YUZI3WAC.js} +1 -1
- package/chunks/{chunk-II73RK2S.js → chunk-YVEDCAUE.js} +1 -1
- package/chunks/{chunk-XYR5RUA5.js → chunk-YWUK7OS7.js} +10 -3
- package/chunks/{chunk-27BHARDE.js → chunk-Z56JO4JZ.js} +2124 -30
- package/chunks/{chunk-TSPB77TG.js → chunk-ZLM3KXBT.js} +1015 -2967
- package/chunks/{chunk-AHNJGLFV.js → chunk-ZPAHLFZU.js} +3 -3
- package/chunks/chunk-ZRKBI3DP.js +34 -0
- package/chunks/cli-entry-path-4VJ3Y6T2.js +10 -0
- package/chunks/{computer-use-WMY3UOBX.js → computer-use-DIP5BWXP.js} +51 -50
- package/chunks/config-utils-CFT33LTP.js +24 -0
- package/chunks/contextCommand-QU4GJWWD.js +69 -0
- package/chunks/create-sub-session-TCLIYVGR.js +376 -0
- package/chunks/create-sub-session-WNX2OQVX.js +207 -0
- package/chunks/{cron-create-JSXEIPVS.js → cron-create-36TIFKRT.js} +9 -9
- package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-OQD3WULU.js} +7 -7
- package/chunks/{cron-list-D4ZX4IOE.js → cron-list-4533T2FH.js} +14 -10
- package/chunks/{daemon-WPAENEBW.js → daemon-CEZ27OH4.js} +734 -24
- package/chunks/daemon-status-provider-SIBFMLBQ.js +77 -0
- package/chunks/{de-ZFPPQVSF.js → de-2VCDRDGU.js} +68 -6
- package/chunks/{devtools-FM6GJPYG.js → devtools-4QFYJT6U.js} +3 -3
- package/chunks/{dist-E6UANPIM.js → dist-3V3ZV6ML.js} +1011 -197
- package/chunks/{dist-SCFLLYMK.js → dist-ERCPDVA6.js} +12 -11
- package/chunks/{dist-Z34QPAQW.js → dist-HNN7DR2L.js} +529 -79
- package/chunks/{dist-O2IRTRPP.js → dist-JZE7F6YR.js} +10 -10
- package/chunks/{dist-BEXOZXLQ.js → dist-MOEC47TR.js} +36 -15
- package/chunks/{dist-H2AEJCZ5.js → dist-PHEPJLXD.js} +5 -5
- package/chunks/{dist-63IS3ZMI.js → dist-PZV5RKM6.js} +4 -4
- package/chunks/earlyInputCapture-L66BEG2C.js +70 -0
- package/chunks/{edit-OTYWAXGP.js → edit-Y5LAJSST.js} +52 -51
- package/chunks/{en-N4EPZAQI.js → en-NJCA3TAA.js} +78 -6
- package/chunks/{enter-worktree-HNYBDVCX.js → enter-worktree-X5LML7T4.js} +51 -50
- package/chunks/{enterPlanMode-CJCNGT63.js → enterPlanMode-XWF32QOW.js} +67 -51
- package/chunks/environment-YVMA5F4I.js +90 -0
- package/chunks/errors-4Y5SUAOC.js +76 -0
- package/chunks/{exit-worktree-DUUKOE3X.js → exit-worktree-SFHU7XYC.js} +51 -50
- package/chunks/{exitPlanMode-AMMSXOAJ.js → exitPlanMode-FP3NAN6E.js} +52 -51
- package/chunks/{fast-path-OV6NIP3K.js → fast-path-ZJNFFCBM.js} +8 -8
- package/chunks/{fast-path-settings-7RIFI3PK.js → fast-path-settings-DAOVFADC.js} +8 -6
- package/chunks/{fileFromPath-IBEHA3CO.js → fileFromPath-UDALK7FM.js} +3 -3
- package/chunks/{fr-5WWMY53B.js → fr-5F3E7WKD.js} +68 -6
- package/chunks/{gemini-NQ3WWBKB.js → gemini-5CAB22BI.js} +122 -109
- package/chunks/{geminiContentGenerator-CDUNEJQE.js → geminiContentGenerator-GE3HPIFB.js} +9 -9
- package/chunks/{getMachineId-bsd-4CASPIU4.js → getMachineId-bsd-EXV7SWPA.js} +3 -3
- package/chunks/{getMachineId-darwin-HPQPEMZR.js → getMachineId-darwin-IUOMFXU3.js} +3 -3
- package/chunks/{getMachineId-linux-AUARKYHL.js → getMachineId-linux-K7XJYFHL.js} +2 -2
- package/chunks/{getMachineId-unsupported-S32ZDA2T.js → getMachineId-unsupported-EA5FDRJ6.js} +2 -2
- package/chunks/{getMachineId-win-4EFLHYIJ.js → getMachineId-win-KBA6RAI5.js} +3 -3
- package/chunks/{glob-ROV3YS4R.js → glob-YPACZAEL.js} +98 -75
- package/chunks/{grep-NRITKDCD.js → grep-IPR4XW37.js} +51 -50
- package/chunks/handleAutoUpdate-P2KEP56V.js +70 -0
- package/chunks/i18n-BRCT66AA.js +85 -0
- package/chunks/initializer-34HXSK3A.js +74 -0
- package/chunks/installationInfo-WOTDQMSC.js +66 -0
- package/chunks/{ja-CUHZOLEJ.js → ja-66J6B53L.js} +69 -7
- package/chunks/{keychain-token-storage-UJV5XP4Z.js → keychain-token-storage-AU22CQI6.js} +4 -4
- package/chunks/{kittyProtocolDetector-OJRCJLIU.js → kittyProtocolDetector-HCNNKJTI.js} +2 -2
- package/chunks/list-XOGP7UPP.js +77 -0
- package/chunks/loadedSettingsAdapter-L4YKGU6F.js +71 -0
- package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-MVUKDVCP.js} +10 -10
- package/chunks/{lowlight-FYAAUU5J.js → lowlight-J2OZNPCA.js} +1 -1
- package/chunks/{ls-7MFU2QYW.js → ls-RXNIAQDE.js} +6 -6
- package/chunks/{lsp-XHDTPTGV.js → lsp-HB5LM5IL.js} +4 -4
- package/chunks/mcp-HH7DIP7Y.js +71 -0
- package/chunks/{monitor-FL2ZO33W.js → monitor-25DEBT6U.js} +51 -50
- package/chunks/{multipart-parser-AJ4WASWR.js → multipart-parser-AWZKXSQN.js} +3 -3
- package/chunks/nonInteractiveCli-CT3VSSLK.js +130 -0
- package/chunks/{notebook-edit-6PULTHL5.js → notebook-edit-TAVXSWQ6.js} +52 -51
- package/chunks/openaiContentGenerator-6I7DKUAN.js +56 -0
- package/chunks/pidfile-SIQGCFLZ.js +74 -0
- package/chunks/{pt-OLYN42DS.js → pt-TFZO5Y6T.js} +68 -6
- package/chunks/{qwenContentGenerator-NX2E7PB7.js → qwenContentGenerator-5DDIXI2N.js} +53 -52
- package/chunks/{qwenOAuth2-ZV7YLMND.js → qwenOAuth2-LEYOU7RU.js} +9 -9
- package/chunks/read-file-WDOAYRFU.js +30 -0
- package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-6LRTZKXI.js} +5 -5
- package/chunks/{read-package-up-ER5OJUGP.js → read-package-up-TCM6I7S2.js} +2 -2
- package/chunks/{record-artifact-SQ2OKRJW.js → record-artifact-PMDTY4OS.js} +4 -4
- package/chunks/ripGrep-MI7PHN3Q.js +61 -0
- package/chunks/{ru-LDM3GWVQ.js → ru-4L4LFHIT.js} +68 -6
- package/chunks/{run-qwen-serve-JK2DL7PI.js → run-qwen-serve-PNTYF3RE.js} +1289 -256
- package/chunks/runtime-V3FBMUTG.js +100 -0
- package/chunks/{scheduler-O4IGVZKK.js → scheduler-4TAUIJBM.js} +52 -51
- package/chunks/{send-message-76GT3JMC.js → send-message-SR4WSXP2.js} +7 -7
- package/chunks/serve-WB2TR7XM.js +77 -0
- package/chunks/{server-SGNPKX2O.js → server-AF6LNFPK.js} +8094 -2800
- package/chunks/{session-5BNM25EZ.js → session-BIGK4NRW.js} +341 -135
- package/chunks/settings-IXF5FIQO.js +121 -0
- package/chunks/shell-5VWJ2PPG.js +69 -0
- package/chunks/{skill-I22QK5XS.js → skill-SI667Y3B.js} +24 -24
- package/chunks/spawnChannel-IKX6DD7J.js +71 -0
- package/chunks/{src-BBQSM46M.js → src-55DZWDAK.js} +151 -52
- package/chunks/{src-7XL4G4DC.js → src-VLI3TKEY.js} +4 -4
- package/chunks/standalone-update-MHLSFHE6.js +80 -0
- package/chunks/{startInteractiveUI-JII36UGN.js → startInteractiveUI-V2EDWLAX.js} +2239 -1846
- package/chunks/stdioHelpers-UMY72QRP.js +14 -0
- package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-YKFNUQZD.js} +5 -5
- package/chunks/task-create-NUFOHU53.js +23 -0
- package/chunks/{task-list-TGGJX7EA.js → task-list-Z2IKQY3S.js} +11 -10
- package/chunks/{task-stop-W7NGTMYQ.js → task-stop-KQFIVQTJ.js} +4 -4
- package/chunks/{task-update-XYWMHJGJ.js → task-update-HKADXSTD.js} +13 -12
- package/chunks/{team-create-A7NUU5AQ.js → team-create-IZAMLBJS.js} +51 -50
- package/chunks/{team-delete-UHQQ2QQX.js → team-delete-SDNTGZLG.js} +11 -10
- package/chunks/{team-plan-approval-TOQRJ2KI.js → team-plan-approval-3R4RCKCP.js} +51 -50
- package/chunks/theme-manager-LCOXZ5DO.js +65 -0
- package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-YNXB27GB.js} +6 -6
- package/chunks/{tool-search-SZ4EFS2T.js → tool-search-NYNCD5LF.js} +24 -24
- package/chunks/total-session-admission-PJWGOMQE.js +73 -0
- package/chunks/tree-sitter-YJVE2ZUK.js +2980 -0
- package/chunks/trustedFolders-DOJDHNYP.js +81 -0
- package/chunks/{types-QX5C3CHJ.js → types-JNKGKUJT.js} +2 -2
- package/chunks/updateCheck-ZXL66KIG.js +70 -0
- package/chunks/updateEventEmitter-5MKC7BLQ.js +10 -0
- package/chunks/validateNonInterActiveAuth-JSNJZCYY.js +195 -0
- package/chunks/{version-NO2XSNNP.js → version-3NLBENG5.js} +3 -3
- package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-ZSPR3PRR.js} +8 -8
- package/chunks/{workflow-WO2H6NRI.js → workflow-BQYLF7XP.js} +52 -51
- package/chunks/workspace-providers-status-FA2DGEZW.js +74 -0
- package/chunks/workspace-registration-store-TARTAGMI.js +27 -0
- package/chunks/workspace-registry-AGE7WAXX.js +77 -0
- package/chunks/workspace-service-ERC5VR2B.js +83 -0
- package/chunks/workspace-skills-status-FKYWGNCN.js +73 -0
- package/chunks/{write-file-PX2Z7IBE.js → write-file-S47KSK7Z.js} +52 -51
- package/chunks/{yargs-B64EYTCF.js → yargs-6H2AUULL.js} +2 -2
- package/chunks/{zh-J4F6QWQV.js → zh-FSAH32JB.js} +79 -7
- package/chunks/{zh-TW-XVDWOLSW.js → zh-TW-D2YIE2LO.js} +79 -7
- package/cli.js +18 -17
- package/locales/ca.js +91 -7
- package/locales/de.js +90 -7
- package/locales/en.js +109 -7
- package/locales/fr.js +91 -7
- package/locales/ja.js +93 -7
- package/locales/pt.js +90 -7
- package/locales/ru.js +90 -7
- package/locales/zh-TW.js +106 -7
- package/locales/zh.js +106 -7
- package/package.json +3 -6
- package/web-shell/assets/{arc-BWyoJpY2.js → arc-Zj4EkBUY.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BT0mGrz2.js → architectureDiagram-3BPJPVTR-DAk1Ua3Y.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BLgUWvyf.js → blockDiagram-GPEHLZMM-DBNqUthM.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DYx9M7oU.js → c4Diagram-AAUBKEIU-Dq5QGJ53.js} +1 -1
- package/web-shell/assets/channel-DWfYijFS.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-CfMHWbuZ.js → chunk-2J33WTMH-DY0AeGru.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-B1URoqEV.js → chunk-4BX2VUAB-COX3OyIi.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DAIaM4QF.js → chunk-55IACEB6-Csoyddbh.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-B2X34knw.js → chunk-727SXJPM-BJPONdxX.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-Cif-zLTQ.js → chunk-AQP2D5EJ-syLVH6fg.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-H18WCXdY.js → chunk-FMBD7UC4-Cfm59Nhw.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-YFtetHi0.js → chunk-ND2GUHAM-DZf6tAqS.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-By2hiH3r.js → chunk-QZHKN3VN-DKBp_v5q.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DDht-78J.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DDht-78J.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-VrcnnLZu.js → cose-bilkent-S5V4N54A-DUU3mMQ5.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-CGo-IaVV.js → dagre-BM42HDAG-BUgNfbh-.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-Dl4QjzIB.js → diagram-2AECGRRQ-DT7MVfAg.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-qMLmsO0u.js → diagram-5GNKFQAL-Cv4YG-ec.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CHlmuxPI.js → diagram-KO2AKTUF-BAe9LLkn.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BUwU3GwT.js → diagram-LMA3HP47-DW8wqTIP.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-HEhwPDUM.js → diagram-OG6HWLK6-CmkuWbaK.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-1n0llBmM.js → erDiagram-TEJ5UH35-DwvdHjZ9.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BN74uMnt.js → flowDiagram-I6XJVG4X-CSsXrhW_.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BoOq78i3.js → ganttDiagram-6RSMTGT7-BtuznCdi.js} +3 -3
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CN8b00c8.js → gitGraphDiagram-PVQCEYII-DGmAm06g.js} +1 -1
- package/web-shell/assets/index-B9Xwf4OS.css +5 -0
- package/web-shell/assets/index-BEtz1cvN.js +3 -0
- package/web-shell/assets/index-BUkM4ZXX.js +1088 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CCurnIna.js → infoDiagram-5YYISTIA-OAiZ1q0K.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AwuRqdUP.js → ishikawaDiagram-YF4QCWOH-DyK0KTIT.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-B7IICk-E.js → journeyDiagram-JHISSGLW-DzYJlwfO.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BYF0OKhx.js → kanban-definition-UN3LZRKU-CU_tcDwi.js} +1 -1
- package/web-shell/assets/{linear-GWWguGfD.js → linear-DvZXjF17.js} +1 -1
- package/web-shell/assets/{mermaid.core-JqtkxvCl.js → mermaid.core-_ZFEQlOl.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-B0MmHsZ6.js → mindmap-definition-RKZ34NQL-Or4p64HB.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DhImUZLQ.js → pieDiagram-4H26LBE5-lXE-zZ6b.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DGeSC3DT.js → quadrantDiagram-W4KKPZXB-DUXb9mUV.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-DkspY6Re.js → requirementDiagram-4Y6WPE33-D_10uHfo.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CaOofS2x.js → sankeyDiagram-5OEKKPKP-E8c0fPqe.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DFQ_kFnN.js → sequenceDiagram-3UESZ5HK-CJMtFttK.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-D3snw0Tz.js → stateDiagram-AJRCARHV-DhbviRbB.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CntljfwW.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-l4zH8nLM.js → timeline-definition-PNZ67QCA-CM5yMkFK.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BnRlA98M.js → vennDiagram-CIIHVFJN-BCi-zWNN.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BS0xUdmd.js → wardley-L42UT6IY-BJ_yJNjJ.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKGBUWyQ.js → wardleyDiagram-YWT4CUSO-TjtLk-qN.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DVb2HuOB.js → xychartDiagram-2RQKCTM6-D1TjyoQ3.js} +1 -1
- package/web-shell/index.html +16 -4
- package/chunks/MaxSizedBox-5DT2SD7B.js +0 -71
- package/chunks/agent-H2DGKS77.js +0 -68
- package/chunks/agent-headless-KFMFIT6J.js +0 -62
- package/chunks/bridge-NA3ZQQKJ.js +0 -78
- package/chunks/chunk-6SHO7WFF.js +0 -79
- package/chunks/chunk-IFEWJXFS.js +0 -37
- package/chunks/chunk-XNXVCNAT.js +0 -88
- package/chunks/contextCommand-LXFZRP4L.js +0 -68
- package/chunks/daemon-status-provider-GJRXY5EN.js +0 -76
- package/chunks/earlyInputCapture-KNOYZ4MJ.js +0 -69
- package/chunks/environment-ATFTYMLZ.js +0 -88
- package/chunks/errors-A54HAADA.js +0 -75
- package/chunks/handleAutoUpdate-CEZJAARW.js +0 -65
- package/chunks/initializer-BRFJKRRX.js +0 -71
- package/chunks/list-KVHF7O4X.js +0 -73
- package/chunks/loadedSettingsAdapter-LL5PSFKX.js +0 -68
- package/chunks/mcp-3GCXRTOQ.js +0 -68
- package/chunks/nonInteractiveCli-PTQI3DV6.js +0 -119
- package/chunks/openaiContentGenerator-YE42PKCY.js +0 -56
- package/chunks/pidfile-NZYSCFRK.js +0 -73
- package/chunks/read-file-33XGP5HF.js +0 -30
- package/chunks/ripGrep-QWZLGTAN.js +0 -60
- package/chunks/serve-JTMIGANH.js +0 -74
- package/chunks/settings-3MI4XXP6.js +0 -118
- package/chunks/shell-YJKBE67T.js +0 -68
- package/chunks/spawnChannel-UNV6W4DU.js +0 -70
- package/chunks/task-create-WCHTB435.js +0 -22
- package/chunks/theme-manager-WZ4RRMMB.js +0 -64
- package/chunks/total-session-admission-ULXJWXFV.js +0 -72
- package/chunks/trustedFolders-LAZZPZ3D.js +0 -79
- package/chunks/updateCheck-KONLM73X.js +0 -65
- package/chunks/validateNonInterActiveAuth-MPKSRCXD.js +0 -184
- package/chunks/workspace-providers-status-3W7E7DFW.js +0 -71
- package/chunks/workspace-registry-SXJZNN3O.js +0 -74
- package/chunks/workspace-service-CZRQZ4Q4.js +0 -80
- package/chunks/workspace-skills-status-K7WFREPD.js +0 -70
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
- package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
- package/node_modules/@qwen-code/audio-capture/package.json +0 -30
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/web-shell/assets/channel-wmPUGHtg.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +0 -1
- package/web-shell/assets/index-CNwoO1Cn.js +0 -783
- package/web-shell/assets/index-CWQ0z6kZ.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
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/cli/src/config/path-comparison.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
import * as fs from "node:fs";
|
|
13
|
+
import * as path from "node:path";
|
|
14
|
+
function isWithinRoot(childPath, parentPath) {
|
|
15
|
+
const relativePath = path.relative(parentPath, childPath);
|
|
16
|
+
return relativePath === "" || !relativePath.startsWith(`..${path.sep}`) && relativePath !== ".." && !path.isAbsolute(relativePath);
|
|
17
|
+
}
|
|
18
|
+
__name(isWithinRoot, "isWithinRoot");
|
|
19
|
+
function getPathComparisonVariants(rawPath) {
|
|
20
|
+
const variants = /* @__PURE__ */ new Set([path.normalize(path.resolve(rawPath))]);
|
|
21
|
+
try {
|
|
22
|
+
variants.add(path.normalize(fs.realpathSync(rawPath)));
|
|
23
|
+
} catch {
|
|
24
|
+
}
|
|
25
|
+
return variants;
|
|
26
|
+
}
|
|
27
|
+
__name(getPathComparisonVariants, "getPathComparisonVariants");
|
|
28
|
+
function arePathsEquivalent(left, right) {
|
|
29
|
+
const rightVariants = getPathComparisonVariants(right);
|
|
30
|
+
for (const leftVariant of getPathComparisonVariants(left)) {
|
|
31
|
+
if (rightVariants.has(leftVariant)) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
__name(arePathsEquivalent, "arePathsEquivalent");
|
|
38
|
+
|
|
39
|
+
export {
|
|
40
|
+
isWithinRoot,
|
|
41
|
+
getPathComparisonVariants,
|
|
42
|
+
arePathsEquivalent
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* @license
|
|
46
|
+
* Copyright 2025 Qwen Team
|
|
47
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
48
|
+
*/
|
|
@@ -0,0 +1,448 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
resolveChannelCwd
|
|
5
|
+
} from "./chunk-ZRKBI3DP.js";
|
|
6
|
+
import {
|
|
7
|
+
init_esbuild_shims
|
|
8
|
+
} from "./chunk-5O2XNYP6.js";
|
|
9
|
+
import {
|
|
10
|
+
__name
|
|
11
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
12
|
+
|
|
13
|
+
// packages/cli/src/commands/channel/config-utils.ts
|
|
14
|
+
init_esbuild_shims();
|
|
15
|
+
|
|
16
|
+
// packages/cli/src/commands/channel/channel-registry.ts
|
|
17
|
+
init_esbuild_shims();
|
|
18
|
+
var registry = /* @__PURE__ */ new Map();
|
|
19
|
+
var builtinsPromise = null;
|
|
20
|
+
function ensureBuiltins() {
|
|
21
|
+
if (!builtinsPromise) {
|
|
22
|
+
builtinsPromise = (async () => {
|
|
23
|
+
const labelled = [
|
|
24
|
+
{ name: "telegram", promise: import("./dist-JZE7F6YR.js") },
|
|
25
|
+
{ name: "weixin", promise: import("./dist-PHEPJLXD.js") },
|
|
26
|
+
{ name: "dingtalk", promise: import("./dist-HNN7DR2L.js") },
|
|
27
|
+
{ name: "wecom", promise: import("./dist-ERCPDVA6.js") },
|
|
28
|
+
{ name: "feishu", promise: import("./dist-MOEC47TR.js") },
|
|
29
|
+
{ name: "qqbot", promise: import("./dist-3V3ZV6ML.js") }
|
|
30
|
+
];
|
|
31
|
+
const results = await Promise.allSettled(labelled.map((l) => l.promise));
|
|
32
|
+
for (let i = 0; i < results.length; i++) {
|
|
33
|
+
const result = results[i];
|
|
34
|
+
if (result.status === "fulfilled") {
|
|
35
|
+
registry.set(result.value.plugin.channelType, result.value.plugin);
|
|
36
|
+
} else {
|
|
37
|
+
process.stderr.write(
|
|
38
|
+
`[channel-registry] Failed to load "${labelled[i].name}" channel: ${result.reason}
|
|
39
|
+
`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
})();
|
|
44
|
+
}
|
|
45
|
+
return builtinsPromise;
|
|
46
|
+
}
|
|
47
|
+
__name(ensureBuiltins, "ensureBuiltins");
|
|
48
|
+
function registerPlugin(plugin) {
|
|
49
|
+
if (registry.has(plugin.channelType)) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
`Channel type "${plugin.channelType}" is already registered.`
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
registry.set(plugin.channelType, plugin);
|
|
55
|
+
}
|
|
56
|
+
__name(registerPlugin, "registerPlugin");
|
|
57
|
+
async function getPlugin(channelType) {
|
|
58
|
+
await ensureBuiltins();
|
|
59
|
+
return registry.get(channelType);
|
|
60
|
+
}
|
|
61
|
+
__name(getPlugin, "getPlugin");
|
|
62
|
+
async function supportedTypes() {
|
|
63
|
+
await ensureBuiltins();
|
|
64
|
+
return [...registry.keys()];
|
|
65
|
+
}
|
|
66
|
+
__name(supportedTypes, "supportedTypes");
|
|
67
|
+
|
|
68
|
+
// packages/cli/src/commands/channel/config-utils.ts
|
|
69
|
+
var ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
|
|
70
|
+
var CHANNEL_APPROVAL_MODES = /* @__PURE__ */ new Set([
|
|
71
|
+
"plan",
|
|
72
|
+
"default",
|
|
73
|
+
"auto-edit",
|
|
74
|
+
"auto",
|
|
75
|
+
"yolo"
|
|
76
|
+
]);
|
|
77
|
+
function resolveEnvVars(value, env = process.env) {
|
|
78
|
+
if (value.startsWith("$$")) {
|
|
79
|
+
return value.substring(1);
|
|
80
|
+
}
|
|
81
|
+
if (value.startsWith("$")) {
|
|
82
|
+
const envName = value.substring(1);
|
|
83
|
+
const envValue = env[envName];
|
|
84
|
+
if (envValue === void 0) {
|
|
85
|
+
throw new Error(
|
|
86
|
+
`Environment variable ${envName} is not set (referenced as ${value})`
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (envValue === "") {
|
|
90
|
+
throw new Error(
|
|
91
|
+
`Environment variable ${envName} is empty (referenced as ${value})`
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
return envValue;
|
|
95
|
+
}
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
__name(resolveEnvVars, "resolveEnvVars");
|
|
99
|
+
function resolveOptionalStringField(channelName, rawConfig, field, envResolution) {
|
|
100
|
+
const value = rawConfig[field];
|
|
101
|
+
if (value === void 0 || value === null || value === "") {
|
|
102
|
+
return void 0;
|
|
103
|
+
}
|
|
104
|
+
if (typeof value !== "string") {
|
|
105
|
+
throw new Error(
|
|
106
|
+
`Channel "${channelName}" field "${field}" must be a string.`
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
return resolveConfigEnvVar(value, envResolution);
|
|
110
|
+
}
|
|
111
|
+
__name(resolveOptionalStringField, "resolveOptionalStringField");
|
|
112
|
+
var KNOWN_CREDENTIAL_FIELDS = /* @__PURE__ */ new Set(["token", "clientId", "clientSecret"]);
|
|
113
|
+
function resolveConfigEnvVar(value, mode) {
|
|
114
|
+
if (mode === false) return value;
|
|
115
|
+
if (value.startsWith("$$")) return value.substring(1);
|
|
116
|
+
if (mode === "available" && value.startsWith("$")) {
|
|
117
|
+
const envName = value.substring(1);
|
|
118
|
+
const envValue = process.env[envName];
|
|
119
|
+
if (envValue === void 0) {
|
|
120
|
+
throw new Error(
|
|
121
|
+
`Environment variable ${envName} is not set (referenced as ${value}). Set the variable or remove the $ prefix to use a literal value.`
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
if (envValue === "") {
|
|
125
|
+
throw new Error(
|
|
126
|
+
`Environment variable ${envName} is empty (referenced as ${value})`
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
return envValue;
|
|
130
|
+
}
|
|
131
|
+
return resolveEnvVars(value);
|
|
132
|
+
}
|
|
133
|
+
__name(resolveConfigEnvVar, "resolveConfigEnvVar");
|
|
134
|
+
function parseObjectStringFields(channelName, rawConfig, key, fields) {
|
|
135
|
+
const value = rawConfig[key];
|
|
136
|
+
if (value === void 0 || value === null) {
|
|
137
|
+
return void 0;
|
|
138
|
+
}
|
|
139
|
+
if (typeof value !== "object" || Array.isArray(value)) {
|
|
140
|
+
throw new Error(
|
|
141
|
+
`Channel "${channelName}" field "${key}" must be an object.`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
const record = value;
|
|
145
|
+
const result = {};
|
|
146
|
+
for (const field of fields) {
|
|
147
|
+
const fieldValue = record[field];
|
|
148
|
+
if (fieldValue === void 0 || fieldValue === null || fieldValue === "") {
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
if (typeof fieldValue !== "string") {
|
|
152
|
+
throw new Error(
|
|
153
|
+
`Channel "${channelName}" field "${key}.${field}" must be a string.`
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
result[field] = fieldValue;
|
|
157
|
+
}
|
|
158
|
+
return Object.keys(result).length > 0 ? result : void 0;
|
|
159
|
+
}
|
|
160
|
+
__name(parseObjectStringFields, "parseObjectStringFields");
|
|
161
|
+
function parseMemoryScopeConfig(channelName, rawConfig) {
|
|
162
|
+
const parsed = parseObjectStringFields(
|
|
163
|
+
channelName,
|
|
164
|
+
rawConfig,
|
|
165
|
+
"memoryScope",
|
|
166
|
+
["namespace", "mode"]
|
|
167
|
+
);
|
|
168
|
+
if (parsed?.["mode"] !== void 0 && parsed["mode"] !== "metadata-only") {
|
|
169
|
+
throw new Error(
|
|
170
|
+
`Channel "${channelName}" field "memoryScope.mode" must be "metadata-only".`
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
return parsed;
|
|
174
|
+
}
|
|
175
|
+
__name(parseMemoryScopeConfig, "parseMemoryScopeConfig");
|
|
176
|
+
function requireStringField(channelName, path, value) {
|
|
177
|
+
if (typeof value !== "string" || value === "") {
|
|
178
|
+
throw new Error(
|
|
179
|
+
`Channel "${channelName}" field "${path}" must be a string.`
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
return value;
|
|
183
|
+
}
|
|
184
|
+
__name(requireStringField, "requireStringField");
|
|
185
|
+
function optionalBooleanField(channelName, path, value) {
|
|
186
|
+
if (value === void 0) {
|
|
187
|
+
return void 0;
|
|
188
|
+
}
|
|
189
|
+
if (typeof value !== "boolean") {
|
|
190
|
+
throw new Error(
|
|
191
|
+
`Channel "${channelName}" field "${path}" must be a boolean.`
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
return value;
|
|
195
|
+
}
|
|
196
|
+
__name(optionalBooleanField, "optionalBooleanField");
|
|
197
|
+
function requireObjectField(channelName, path, value) {
|
|
198
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
199
|
+
throw new Error(
|
|
200
|
+
`Channel "${channelName}" field "${path}" must be an object.`
|
|
201
|
+
);
|
|
202
|
+
}
|
|
203
|
+
return value;
|
|
204
|
+
}
|
|
205
|
+
__name(requireObjectField, "requireObjectField");
|
|
206
|
+
function parseWebhookTarget(channelName, path, raw) {
|
|
207
|
+
const record = requireObjectField(channelName, path, raw);
|
|
208
|
+
const target = {
|
|
209
|
+
chatId: requireStringField(channelName, `${path}.chatId`, record["chatId"]),
|
|
210
|
+
senderId: requireStringField(
|
|
211
|
+
channelName,
|
|
212
|
+
`${path}.senderId`,
|
|
213
|
+
record["senderId"]
|
|
214
|
+
)
|
|
215
|
+
};
|
|
216
|
+
if (record["threadId"] !== void 0) {
|
|
217
|
+
target.threadId = requireStringField(
|
|
218
|
+
channelName,
|
|
219
|
+
`${path}.threadId`,
|
|
220
|
+
record["threadId"]
|
|
221
|
+
);
|
|
222
|
+
}
|
|
223
|
+
const isGroup = optionalBooleanField(
|
|
224
|
+
channelName,
|
|
225
|
+
`${path}.isGroup`,
|
|
226
|
+
record["isGroup"]
|
|
227
|
+
);
|
|
228
|
+
if (isGroup !== void 0) {
|
|
229
|
+
target.isGroup = isGroup;
|
|
230
|
+
}
|
|
231
|
+
return target;
|
|
232
|
+
}
|
|
233
|
+
__name(parseWebhookTarget, "parseWebhookTarget");
|
|
234
|
+
function parseWebhookSource(channelName, path, raw, env) {
|
|
235
|
+
const record = requireObjectField(channelName, path, raw);
|
|
236
|
+
const rawTargets = requireObjectField(
|
|
237
|
+
channelName,
|
|
238
|
+
`${path}.targets`,
|
|
239
|
+
record["targets"]
|
|
240
|
+
);
|
|
241
|
+
const targets = {};
|
|
242
|
+
for (const [targetRef, targetConfig] of Object.entries(rawTargets)) {
|
|
243
|
+
targets[targetRef] = parseWebhookTarget(
|
|
244
|
+
channelName,
|
|
245
|
+
`${path}.targets.${targetRef}`,
|
|
246
|
+
targetConfig
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
const hasSecret = record["secret"] !== void 0 && record["secret"] !== null;
|
|
250
|
+
const hasSecretEnv = record["secretEnv"] !== void 0 && record["secretEnv"] !== null;
|
|
251
|
+
if (hasSecret === hasSecretEnv) {
|
|
252
|
+
throw new Error(
|
|
253
|
+
`Channel "${channelName}" field "${path}" must define exactly one of "secret" or "secretEnv".`
|
|
254
|
+
);
|
|
255
|
+
}
|
|
256
|
+
const secret = hasSecret ? resolveEnvVars(
|
|
257
|
+
requireStringField(channelName, `${path}.secret`, record["secret"]),
|
|
258
|
+
env
|
|
259
|
+
) : resolveWebhookSecretEnv(
|
|
260
|
+
channelName,
|
|
261
|
+
path,
|
|
262
|
+
requireStringField(
|
|
263
|
+
channelName,
|
|
264
|
+
`${path}.secretEnv`,
|
|
265
|
+
record["secretEnv"]
|
|
266
|
+
),
|
|
267
|
+
env
|
|
268
|
+
);
|
|
269
|
+
if (secret.length === 0) {
|
|
270
|
+
throw new Error(
|
|
271
|
+
`Channel "${channelName}" field "${path}" webhook secret must be non-empty.`
|
|
272
|
+
);
|
|
273
|
+
}
|
|
274
|
+
return { secret, targets };
|
|
275
|
+
}
|
|
276
|
+
__name(parseWebhookSource, "parseWebhookSource");
|
|
277
|
+
function resolveWebhookSecretEnv(channelName, path, secretEnv, env) {
|
|
278
|
+
const envName = secretEnv.startsWith("$") ? secretEnv.substring(1) : secretEnv;
|
|
279
|
+
if (!ENV_VAR_NAME_PATTERN.test(envName)) {
|
|
280
|
+
throw new Error(
|
|
281
|
+
`Channel "${channelName}" field "${path}.secretEnv" must be an environment variable name or $-prefixed reference.`
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
const envValue = env[envName];
|
|
285
|
+
if (envValue === void 0) {
|
|
286
|
+
throw new Error(
|
|
287
|
+
`Channel "${channelName}" field "${path}.secretEnv" references an unset environment variable.`
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
if (envValue === "") {
|
|
291
|
+
throw new Error(
|
|
292
|
+
`Channel "${channelName}" field "${path}.secretEnv" references an empty environment variable.`
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
return envValue;
|
|
296
|
+
}
|
|
297
|
+
__name(resolveWebhookSecretEnv, "resolveWebhookSecretEnv");
|
|
298
|
+
function parseWebhookConfig(channelName, rawConfig, env = process.env) {
|
|
299
|
+
const raw = rawConfig["webhooks"];
|
|
300
|
+
if (raw === void 0 || raw === null) {
|
|
301
|
+
return void 0;
|
|
302
|
+
}
|
|
303
|
+
const record = requireObjectField(channelName, "webhooks", raw);
|
|
304
|
+
const rawSources = requireObjectField(
|
|
305
|
+
channelName,
|
|
306
|
+
"webhooks.sources",
|
|
307
|
+
record["sources"]
|
|
308
|
+
);
|
|
309
|
+
const sources = {};
|
|
310
|
+
for (const [source, sourceConfig] of Object.entries(rawSources)) {
|
|
311
|
+
sources[source] = parseWebhookSource(
|
|
312
|
+
channelName,
|
|
313
|
+
`webhooks.sources.${source}`,
|
|
314
|
+
sourceConfig,
|
|
315
|
+
env
|
|
316
|
+
);
|
|
317
|
+
}
|
|
318
|
+
return { sources };
|
|
319
|
+
}
|
|
320
|
+
__name(parseWebhookConfig, "parseWebhookConfig");
|
|
321
|
+
function parseApprovalModeConfig(channelName, rawConfig) {
|
|
322
|
+
const approvalMode = rawConfig["approvalMode"];
|
|
323
|
+
if (approvalMode === void 0 || approvalMode === null) {
|
|
324
|
+
return void 0;
|
|
325
|
+
}
|
|
326
|
+
if (typeof approvalMode !== "string" || !CHANNEL_APPROVAL_MODES.has(approvalMode)) {
|
|
327
|
+
throw new Error(
|
|
328
|
+
`Channel "${channelName}" field "approvalMode" must be one of: ${[
|
|
329
|
+
...CHANNEL_APPROVAL_MODES
|
|
330
|
+
].join(", ")}.`
|
|
331
|
+
);
|
|
332
|
+
}
|
|
333
|
+
return approvalMode;
|
|
334
|
+
}
|
|
335
|
+
__name(parseApprovalModeConfig, "parseApprovalModeConfig");
|
|
336
|
+
function parseChannelWebhookConfig(channelName, rawConfig, env = process.env) {
|
|
337
|
+
return parseWebhookConfig(channelName, rawConfig, env);
|
|
338
|
+
}
|
|
339
|
+
__name(parseChannelWebhookConfig, "parseChannelWebhookConfig");
|
|
340
|
+
function parseChannelWebhookConfigLenient(channelName, rawConfig, onSourceError, env = process.env) {
|
|
341
|
+
const raw = rawConfig["webhooks"];
|
|
342
|
+
if (raw === void 0 || raw === null) {
|
|
343
|
+
return void 0;
|
|
344
|
+
}
|
|
345
|
+
const record = requireObjectField(channelName, "webhooks", raw);
|
|
346
|
+
const rawSources = requireObjectField(
|
|
347
|
+
channelName,
|
|
348
|
+
"webhooks.sources",
|
|
349
|
+
record["sources"]
|
|
350
|
+
);
|
|
351
|
+
const sources = {};
|
|
352
|
+
for (const [source, sourceConfig] of Object.entries(rawSources)) {
|
|
353
|
+
try {
|
|
354
|
+
sources[source] = parseWebhookSource(
|
|
355
|
+
channelName,
|
|
356
|
+
`webhooks.sources.${source}`,
|
|
357
|
+
sourceConfig,
|
|
358
|
+
env
|
|
359
|
+
);
|
|
360
|
+
} catch (error) {
|
|
361
|
+
onSourceError?.(source, error);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return { sources };
|
|
365
|
+
}
|
|
366
|
+
__name(parseChannelWebhookConfigLenient, "parseChannelWebhookConfigLenient");
|
|
367
|
+
async function parseChannelConfig(name, rawConfig, defaultCwd = process.cwd(), options = {}) {
|
|
368
|
+
if (!rawConfig["type"]) {
|
|
369
|
+
throw new Error(`Channel "${name}" is missing required field "type".`);
|
|
370
|
+
}
|
|
371
|
+
const channelType = rawConfig["type"];
|
|
372
|
+
const plugin = await getPlugin(channelType);
|
|
373
|
+
if (!plugin) {
|
|
374
|
+
const types = await supportedTypes();
|
|
375
|
+
throw new Error(
|
|
376
|
+
`Channel type "${channelType}" is not supported. Available: ${types.join(", ")}`
|
|
377
|
+
);
|
|
378
|
+
}
|
|
379
|
+
const resolvedRawConfig = { ...rawConfig };
|
|
380
|
+
const envResolution = options.resolveEnvVars ?? true;
|
|
381
|
+
const resolvedPluginFields = /* @__PURE__ */ new Set();
|
|
382
|
+
for (const field of plugin.requiredConfigFields ?? []) {
|
|
383
|
+
const value = rawConfig[field];
|
|
384
|
+
if (value === void 0 || value === null || value === "") {
|
|
385
|
+
throw new Error(
|
|
386
|
+
`Channel "${name}" (${channelType}) requires "${field}".`
|
|
387
|
+
);
|
|
388
|
+
}
|
|
389
|
+
if (typeof value === "string" && !KNOWN_CREDENTIAL_FIELDS.has(field)) {
|
|
390
|
+
resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
|
|
391
|
+
resolvedPluginFields.add(field);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
for (const field of plugin.envResolvableConfigFields ?? []) {
|
|
395
|
+
if (resolvedPluginFields.has(field)) continue;
|
|
396
|
+
const value = rawConfig[field];
|
|
397
|
+
if (typeof value === "string" && value !== "") {
|
|
398
|
+
resolvedRawConfig[field] = resolveConfigEnvVar(value, envResolution);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
const token = resolveOptionalStringField(name, rawConfig, "token", envResolution) ?? "";
|
|
402
|
+
const clientId = resolveOptionalStringField(
|
|
403
|
+
name,
|
|
404
|
+
rawConfig,
|
|
405
|
+
"clientId",
|
|
406
|
+
envResolution
|
|
407
|
+
);
|
|
408
|
+
const clientSecret = resolveOptionalStringField(
|
|
409
|
+
name,
|
|
410
|
+
rawConfig,
|
|
411
|
+
"clientSecret",
|
|
412
|
+
envResolution
|
|
413
|
+
);
|
|
414
|
+
return {
|
|
415
|
+
...resolvedRawConfig,
|
|
416
|
+
type: channelType,
|
|
417
|
+
token,
|
|
418
|
+
clientId,
|
|
419
|
+
clientSecret,
|
|
420
|
+
senderPolicy: rawConfig["senderPolicy"] || "allowlist",
|
|
421
|
+
allowedUsers: rawConfig["allowedUsers"] || [],
|
|
422
|
+
sessionScope: rawConfig["sessionScope"] || "user",
|
|
423
|
+
cwd: resolveChannelCwd(rawConfig["cwd"], defaultCwd),
|
|
424
|
+
approvalMode: parseApprovalModeConfig(name, rawConfig),
|
|
425
|
+
instructions: rawConfig["instructions"],
|
|
426
|
+
identity: parseObjectStringFields(name, rawConfig, "identity", [
|
|
427
|
+
"id",
|
|
428
|
+
"displayName",
|
|
429
|
+
"description"
|
|
430
|
+
]),
|
|
431
|
+
memoryScope: parseMemoryScopeConfig(name, rawConfig),
|
|
432
|
+
model: rawConfig["model"],
|
|
433
|
+
groupPolicy: rawConfig["groupPolicy"] || "disabled",
|
|
434
|
+
dmPolicy: rawConfig["dmPolicy"] || "open",
|
|
435
|
+
groups: rawConfig["groups"] || {},
|
|
436
|
+
webhooks: parseWebhookConfig(name, rawConfig)
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
__name(parseChannelConfig, "parseChannelConfig");
|
|
440
|
+
|
|
441
|
+
export {
|
|
442
|
+
registerPlugin,
|
|
443
|
+
getPlugin,
|
|
444
|
+
resolveEnvVars,
|
|
445
|
+
parseChannelWebhookConfig,
|
|
446
|
+
parseChannelWebhookConfigLenient,
|
|
447
|
+
parseChannelConfig
|
|
448
|
+
};
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
getNestedProperty,
|
|
7
7
|
getPersistScopeForModelSelection,
|
|
8
8
|
restoreSettingsFromBackup
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-T2L6SGQY.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-5O2XNYP6.js";
|
|
13
13
|
import {
|
|
14
14
|
__name
|
|
15
15
|
} from "./chunk-J2S4EL5Y.js";
|
|
@@ -0,0 +1,66 @@
|
|
|
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/cli/src/serve/channel-webhook-ipc.ts
|
|
11
|
+
init_esbuild_shims();
|
|
12
|
+
import { randomUUID } from "node:crypto";
|
|
13
|
+
var CHANNEL_WEBHOOK_ENQUEUE_ERROR_CODES = /* @__PURE__ */ new Set([
|
|
14
|
+
"channel_worker_unavailable",
|
|
15
|
+
"channel_webhook_enqueue_timeout",
|
|
16
|
+
"channel_webhook_queue_full",
|
|
17
|
+
"channel_webhook_target_unavailable",
|
|
18
|
+
"channel_webhook_invalid_task",
|
|
19
|
+
"channel_webhook_enqueue_failed"
|
|
20
|
+
]);
|
|
21
|
+
var ChannelWebhookEnqueueError = class extends Error {
|
|
22
|
+
constructor(code, message) {
|
|
23
|
+
super(message);
|
|
24
|
+
this.code = code;
|
|
25
|
+
this.name = "ChannelWebhookEnqueueError";
|
|
26
|
+
}
|
|
27
|
+
static {
|
|
28
|
+
__name(this, "ChannelWebhookEnqueueError");
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
function isChannelWebhookEnqueueErrorCode(value) {
|
|
32
|
+
return typeof value === "string" && CHANNEL_WEBHOOK_ENQUEUE_ERROR_CODES.has(value);
|
|
33
|
+
}
|
|
34
|
+
__name(isChannelWebhookEnqueueErrorCode, "isChannelWebhookEnqueueErrorCode");
|
|
35
|
+
function isChannelWebhookEnqueueError(value) {
|
|
36
|
+
return value instanceof ChannelWebhookEnqueueError || typeof value === "object" && value !== null && isChannelWebhookEnqueueErrorCode(value.code) && typeof value.message === "string";
|
|
37
|
+
}
|
|
38
|
+
__name(isChannelWebhookEnqueueError, "isChannelWebhookEnqueueError");
|
|
39
|
+
var CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS = 3e4;
|
|
40
|
+
function createChannelWebhookTaskMessage(task) {
|
|
41
|
+
return {
|
|
42
|
+
type: "webhook_task",
|
|
43
|
+
id: randomUUID(),
|
|
44
|
+
expiresAt: Date.now() + CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
45
|
+
task
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
__name(createChannelWebhookTaskMessage, "createChannelWebhookTaskMessage");
|
|
49
|
+
function isChannelWebhookTaskMessage(value) {
|
|
50
|
+
return typeof value === "object" && value !== null && value.type === "webhook_task" && typeof value.id === "string" && typeof value.expiresAt === "number" && typeof value.task === "object" && value.task !== null;
|
|
51
|
+
}
|
|
52
|
+
__name(isChannelWebhookTaskMessage, "isChannelWebhookTaskMessage");
|
|
53
|
+
function isChannelWebhookTaskResultMessage(value) {
|
|
54
|
+
return typeof value === "object" && value !== null && value.type === "webhook_task_result" && typeof value.id === "string" && typeof value.ok === "boolean";
|
|
55
|
+
}
|
|
56
|
+
__name(isChannelWebhookTaskResultMessage, "isChannelWebhookTaskResultMessage");
|
|
57
|
+
|
|
58
|
+
export {
|
|
59
|
+
ChannelWebhookEnqueueError,
|
|
60
|
+
isChannelWebhookEnqueueErrorCode,
|
|
61
|
+
isChannelWebhookEnqueueError,
|
|
62
|
+
CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
|
|
63
|
+
createChannelWebhookTaskMessage,
|
|
64
|
+
isChannelWebhookTaskMessage,
|
|
65
|
+
isChannelWebhookTaskResultMessage
|
|
66
|
+
};
|
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
formatFetchErrorForUser
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-ZPAHLFZU.js";
|
|
6
6
|
import {
|
|
7
7
|
openBrowserSecurely
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-JESCGQM3.js";
|
|
9
9
|
import {
|
|
10
10
|
atomicWriteFile
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-WIEO4CWB.js";
|
|
12
12
|
import {
|
|
13
13
|
combineAbortSignals
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-DJ2GSRLV.js";
|
|
15
15
|
import {
|
|
16
16
|
Storage,
|
|
17
17
|
createDebugLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-7NFB7LBQ.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-5O2XNYP6.js";
|
|
22
22
|
import {
|
|
23
23
|
__name
|
|
24
24
|
} from "./chunk-J2S4EL5Y.js";
|
|
@@ -2,27 +2,27 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
t
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-SE74CIZD.js";
|
|
6
6
|
import {
|
|
7
7
|
computeThresholds,
|
|
8
8
|
getCoreSystemPrompt
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SSFDPGFN.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillLlmContent
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2Z5UX4KI.js";
|
|
13
13
|
import {
|
|
14
14
|
DiscoveredMCPTool,
|
|
15
15
|
uiTelemetryService
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-T7FSRWQ5.js";
|
|
17
17
|
import {
|
|
18
18
|
ToolNames
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2UUAIFQO.js";
|
|
20
20
|
import {
|
|
21
21
|
DEFAULT_TOKEN_LIMIT
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-B7NUUEXC.js";
|
|
23
23
|
import {
|
|
24
24
|
init_esbuild_shims
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-5O2XNYP6.js";
|
|
26
26
|
import {
|
|
27
27
|
__name
|
|
28
28
|
} from "./chunk-J2S4EL5Y.js";
|