@poe-platform/safe-bash 0.1.800 → 0.1.801
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 +16 -5
- package/dist/image-ast/index.browser.js +119 -75
- package/dist/image-ast/index.js +119 -75
- package/dist/pdf-ast/index.js +4 -3
- package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-45PK3NWI.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
- package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-7VNF5BFF.js} +300 -737
- package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-A7XEHALN.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
- package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-FNDNHAGE.js} +30 -23
- package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-ICFDYV64.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-IVRQ4BXL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
- package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-PQRAK7HU.js} +920 -432
- package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-SZH7EJLD.js} +116 -697
- package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-VQDD3G76.js} +42 -25
- package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
- package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
- package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
- package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
- package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
- package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
- package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
- package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
- package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
- package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
- package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
- package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
- package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
- package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
- package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
- package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
- package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
- package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
- package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
- package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
- package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
- package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
- package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-CZ7EN3JG.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
- package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
- package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
- package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
- package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
- package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
- package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
- package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
- package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
- package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
- package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
- package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
- package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
- package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-PCEFOYA3.js} +237 -145
- package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
- package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
- package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
- package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
- package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
- package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
- package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
- package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
- package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
- package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
- package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
- package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
- package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/docx/index.browser.js +1 -1
- package/dist/safe-bash/commands/execution.js +19 -13
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/filesystem.d.ts +1 -1
- package/dist/safe-bash/commands/filesystem.js +17 -13
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
- package/dist/safe-bash/commands/media/index.browser.js +1 -1
- package/dist/safe-bash/commands/network/curl.d.ts +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -3
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
- package/dist/safe-bash/commands/network/platform-portable.js +1 -26
- package/dist/safe-bash/commands/network/public.d.ts +2 -2
- package/dist/safe-bash/commands/network/public.js +2 -2
- package/dist/safe-bash/commands/network/transport.js +2 -2
- package/dist/safe-bash/commands/network/wget.d.ts +1 -1
- package/dist/safe-bash/commands/network/wget.js +1 -3
- package/dist/safe-bash/commands/node/filesystem.js +3 -2
- package/dist/safe-bash/commands/node/index.browser.js +8 -8
- package/dist/safe-bash/commands/node/types.js +1 -1
- package/dist/safe-bash/commands/op/index.browser.js +3 -3
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
- package/dist/safe-bash/commands/python/index.browser.js +11 -11
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +6 -3
- package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/shell-capability.js +3 -2
- package/dist/safe-bash/commands/python/worker.browser.js +3 -3
- package/dist/safe-bash/commands/regex-execution/public.browser.js +4 -4
- package/dist/safe-bash/commands/safejs/runtime.js +16 -7
- package/dist/safe-bash/commands/standard.d.ts +1 -0
- package/dist/safe-bash/commands/standard.js +2 -1
- package/dist/safe-bash/commands/streams.js +6 -24
- package/dist/safe-bash/commands/text.js +268 -364
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/xml/index.browser.js +2 -2
- package/dist/safe-bash/commands/yq/index.browser.js +2 -2
- package/dist/safe-bash/core.browser.js +1 -1
- package/dist/safe-bash/core.d.ts +6 -1
- package/dist/safe-bash/core.js +1 -1
- package/dist/safe-bash/full-core.browser.js +108 -104
- package/dist/safe-bash/jobs.browser.js +5 -5
- package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
- package/dist/safe-bash/optional-host.browser.js +11 -11
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.js +3 -8
- package/dist/safe-bash/plugins/index.browser.js +27 -27
- package/dist/safe-bash/registry-entry.browser.js +28 -28
- package/dist/safe-bash/shell/arrays/bindings.js +1 -1
- package/dist/safe-bash/shell/arrays/state.js +4 -0
- package/dist/safe-bash/shell/brace-expansion.js +1 -1
- package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
- package/dist/safe-bash/shell/dynamic-variables.js +25 -0
- package/dist/safe-bash/shell/parser.js +8 -1
- package/dist/safe-bash/shell/runtime.d.ts +4 -4
- package/dist/safe-bash/shell/runtime.js +291 -741
- package/dist/safe-bash/shell/shell.js +2 -31
- package/dist/safe-bash/shell-entry.browser.js +25 -25
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/yq-browser/index.js +1 -1
- package/dist/safe-bash-base-encoding-engine/base.js +2 -2
- package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
- package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
- package/dist/safe-bash-byte-input-engine/index.js +4 -1
- package/dist/safe-bash-checksum-engine/index.js +13 -6
- package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +4 -3
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
- package/dist/safe-bash-command-apply-patch/parser.js +1 -1
- package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
- package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
- package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
- package/dist/safe-bash-command-awk/awk-values.js +1 -1
- package/dist/safe-bash-command-awk/awk.js +5 -5
- package/dist/safe-bash-command-awk/index.js +5 -5
- package/dist/safe-bash-command-bc/index.d.ts +2 -0
- package/dist/safe-bash-command-bc/index.js +123 -92
- package/dist/safe-bash-command-column/column.js +5 -5
- package/dist/safe-bash-command-column/display.d.ts +1 -1
- package/dist/safe-bash-command-column/display.js +1 -1
- package/dist/safe-bash-command-column/index.js +5 -5
- package/dist/safe-bash-command-column/internal.d.ts +0 -2
- package/dist/safe-bash-command-column/internal.js +1 -1
- package/dist/safe-bash-command-column/layout.js +4 -4
- package/dist/safe-bash-command-column/table.js +2 -2
- package/dist/safe-bash-command-comm/comm.js +1 -1
- package/dist/safe-bash-command-comm/index.js +1 -1
- package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
- package/dist/safe-bash-command-csvcut/index.js +1 -0
- package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
- package/dist/safe-bash-command-csvgrep/index.js +2 -2
- package/dist/safe-bash-command-csvkit/index.js +9 -9
- package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
- package/dist/safe-bash-command-curl/curl.js +1 -1
- package/dist/safe-bash-command-curl/index.js +1 -1
- package/dist/safe-bash-command-dd/index.js +2 -0
- package/dist/safe-bash-command-diff/diff.js +1 -1
- package/dist/safe-bash-command-diff/index.js +1 -1
- package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
- package/dist/safe-bash-command-fd/index.js +9 -9
- package/dist/safe-bash-command-ffmpeg/index.js +31 -8
- package/dist/safe-bash-command-file/index.js +1 -1
- package/dist/safe-bash-command-file/shared.js +1 -1
- package/dist/safe-bash-command-find/find.js +1 -1
- package/dist/safe-bash-command-find/index.js +1 -1
- package/dist/safe-bash-command-gzip/index.js +3 -2
- package/dist/safe-bash-command-hexdump/command.js +4 -4
- package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
- package/dist/safe-bash-command-hexdump/index.js +4 -4
- package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
- package/dist/safe-bash-command-hexdump/internal.js +1 -1
- package/dist/safe-bash-command-hexdump/io.js +2 -2
- package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
- package/dist/safe-bash-command-hexdump/options.js +2 -2
- package/dist/safe-bash-command-hostname/index.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
- package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
- package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
- package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
- package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
- package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
- package/dist/safe-bash-command-htmlq/index.js +27 -9
- package/dist/safe-bash-command-iconv/codec.js +1 -1
- package/dist/safe-bash-command-iconv/command.js +2 -2
- package/dist/safe-bash-command-iconv/index.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +24 -6
- package/dist/safe-bash-command-join/index.js +1 -1
- package/dist/safe-bash-command-join/join.js +1 -1
- package/dist/safe-bash-command-jq/index.js +1 -1
- package/dist/safe-bash-command-jq/jq.js +1 -1
- package/dist/safe-bash-command-less/index.js +43 -28
- package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
- package/dist/safe-bash-command-numfmt/index.js +0 -11
- package/dist/safe-bash-command-od/index.js +101 -68
- package/dist/safe-bash-command-pandoc/command.js +1 -1
- package/dist/safe-bash-command-pandoc/index.js +1 -1
- package/dist/safe-bash-command-paste/index.js +1 -1
- package/dist/safe-bash-command-paste/paste.js +1 -1
- package/dist/safe-bash-command-pathchk/index.js +3 -13
- package/dist/safe-bash-command-pdfimages/index.js +27 -11
- package/dist/safe-bash-command-pdfinfo/index.js +19 -10
- package/dist/safe-bash-command-pdftk/index.js +3 -3
- package/dist/safe-bash-command-pdftoppm/index.js +26 -10
- package/dist/safe-bash-command-pdftotext/index.js +27 -13
- package/dist/safe-bash-command-qpdf/index.js +5 -5
- package/dist/safe-bash-command-sed/index.js +1 -1
- package/dist/safe-bash-command-sed/sed.js +1 -1
- package/dist/safe-bash-command-shuf/options.d.ts +1 -0
- package/dist/safe-bash-command-shuf/options.js +2 -4
- package/dist/safe-bash-command-shuf/shuf.js +2 -1
- package/dist/safe-bash-command-soffice/index.js +20 -16
- package/dist/safe-bash-command-split/index.js +3 -3
- package/dist/safe-bash-command-split/io.js +1 -1
- package/dist/safe-bash-command-split/outputs.js +2 -2
- package/dist/safe-bash-command-split/split.js +3 -3
- package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
- package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
- package/dist/safe-bash-command-sqlite3/index.js +284 -85
- package/dist/safe-bash-command-ssconvert/commands.js +9 -9
- package/dist/safe-bash-command-ssconvert/core.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
- package/dist/safe-bash-command-ssconvert/index.js +20 -20
- package/dist/safe-bash-command-tar/extract.js +1 -1
- package/dist/safe-bash-command-tar/index.js +5 -4
- package/dist/safe-bash-command-tar/modes.js +2 -2
- package/dist/safe-bash-command-tree/arguments.js +3 -3
- package/dist/safe-bash-command-tree/charset.js +1 -1
- package/dist/safe-bash-command-tree/index.js +4 -4
- package/dist/safe-bash-command-tree/io.js +1 -1
- package/dist/safe-bash-command-tree/pattern.js +2 -2
- package/dist/safe-bash-command-tree/tree.js +4 -4
- package/dist/safe-bash-command-unrtf/index.js +14 -7
- package/dist/safe-bash-command-unzip/index.js +1 -1
- package/dist/safe-bash-command-unzip/unzip.js +1 -1
- package/dist/safe-bash-command-wget/index.js +1 -1
- package/dist/safe-bash-command-wget/wget.js +1 -1
- package/dist/safe-bash-command-xan/argv.d.ts +1 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +5 -3
- package/dist/safe-bash-command-xan/csv.d.ts +1 -1
- package/dist/safe-bash-command-xan/csv.js +1 -1
- package/dist/safe-bash-command-xan/index.js +7 -7
- package/dist/safe-bash-command-xan/io.js +3 -3
- package/dist/safe-bash-command-xmllint/index.js +1 -1
- package/dist/safe-bash-command-xxd/index.js +105 -91
- package/dist/safe-bash-command-xz/command.d.ts +2 -0
- package/dist/safe-bash-command-xz/index.d.ts +1 -1
- package/dist/safe-bash-command-xz/index.js +8 -0
- package/dist/safe-bash-command-yq/query.js +1 -1
- package/dist/safe-bash-command-zip/index.js +1 -1
- package/dist/safe-bash-command-zip/zip.js +1 -1
- package/dist/safe-bash-contracts/escaping.js +3 -3
- package/dist/safe-bash-contracts/filesystem-output.js +2 -2
- package/dist/safe-bash-contracts/index.d.ts +1 -0
- package/dist/safe-bash-contracts/index.js +7 -3
- package/dist/safe-bash-contracts/io.d.ts +4 -1
- package/dist/safe-bash-contracts/io.js +3 -1
- package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
- package/dist/safe-bash-contracts/output.js +2 -2
- package/dist/safe-bash-diff-engine/index.js +1 -1
- package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
- package/dist/safe-bash-diff-engine/shared.js +1 -1
- package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
- package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
- package/dist/safe-bash-io-engine/internal.js +1 -1
- package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
- package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
- package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
- package/dist/safe-bash-mcp/index.browser.js +416 -0
- package/dist/safe-bash-mcp/index.d.ts +54 -2
- package/dist/safe-bash-mcp/index.js +283 -89
- package/dist/safe-bash-network-engine/aggregate.js +2 -2
- package/dist/safe-bash-network-engine/args.js +4 -4
- package/dist/safe-bash-network-engine/authorizer.js +1 -1
- package/dist/safe-bash-network-engine/body.js +6 -6
- package/dist/safe-bash-network-engine/decode.d.ts +1 -1
- package/dist/safe-bash-network-engine/decode.js +3 -4
- package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
- package/dist/safe-bash-network-engine/form-content-type.js +2 -2
- package/dist/safe-bash-network-engine/form-headers.js +2 -2
- package/dist/safe-bash-network-engine/glob.js +1 -1
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-network-engine/input.js +6 -6
- package/dist/safe-bash-network-engine/output.js +2 -2
- package/dist/safe-bash-network-engine/platform-portable.js +3 -3
- package/dist/safe-bash-network-engine/shared.js +2 -2
- package/dist/safe-bash-network-engine/types.d.ts +7 -2
- package/dist/safe-bash-network-engine/types.js +1 -1
- package/dist/safe-bash-network-engine/url.js +2 -2
- package/dist/safe-bash-query-engine/capture.js +3 -3
- package/dist/safe-bash-query-engine/delpaths.js +3 -3
- package/dist/safe-bash-query-engine/formats.js +2 -2
- package/dist/safe-bash-query-engine/index.js +11 -11
- package/dist/safe-bash-query-engine/indices.js +3 -3
- package/dist/safe-bash-query-engine/input.js +1 -1
- package/dist/safe-bash-query-engine/interpreter.js +9 -9
- package/dist/safe-bash-query-engine/parser.js +1 -1
- package/dist/safe-bash-query-engine/query-core.js +11 -11
- package/dist/safe-bash-query-engine/regex.js +4 -4
- package/dist/safe-bash-query-engine/splits.js +5 -5
- package/dist/safe-bash-query-engine/values.js +2 -2
- package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
- package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
- package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
- package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
- package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
- package/dist/safe-bash-regex-engine/index.js +6 -4
- package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -0
- package/dist/safe-bash-regex-engine/text/budget.js +1 -1
- package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
- package/dist/safe-bash-regex-engine/text/regex.js +6 -4
- package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
- package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +189 -227
- package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
- package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
- package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
- package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
- package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
- package/dist/spreadsheet-engine/formulas/parser.js +3 -1
- package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
- package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
- package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
- package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
- package/dist/spreadsheet-format-xls/biff.js +1 -1
- package/dist/xlsx-ast/xlsx.js +8 -5
- package/package.json +9 -8
- package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
- /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
|
@@ -63,7 +63,131 @@ var OAuthAuthorizationError = class extends Error {
|
|
|
63
63
|
}
|
|
64
64
|
};
|
|
65
65
|
|
|
66
|
+
// ../mcp-oauth/dist/client/token-auth-method.js
|
|
67
|
+
function normalizeOAuthTokenEndpointAuthMethod(value) {
|
|
68
|
+
if (value === void 0 || value === null)
|
|
69
|
+
return void 0;
|
|
70
|
+
if (value !== "none" && value !== "client_secret_post" && value !== "client_secret_basic")
|
|
71
|
+
throw new Error("Unsupported OAuth token endpoint authentication method");
|
|
72
|
+
return value;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ../mcp-oauth/dist/resource-indicator.js
|
|
76
|
+
function canonicalizeResourceIndicator(value) {
|
|
77
|
+
let url;
|
|
78
|
+
try {
|
|
79
|
+
url = value instanceof URL ? new URL(value.toString()) : new URL(value);
|
|
80
|
+
} catch {
|
|
81
|
+
throw new Error("Resource indicator must be an absolute URL");
|
|
82
|
+
}
|
|
83
|
+
url.hash = "";
|
|
84
|
+
return url.toString();
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// ../mcp-oauth/dist/http-response.js
|
|
88
|
+
async function readBoundedResponseText(response, maxBytes, readers, signal) {
|
|
89
|
+
if (maxBytes !== Infinity && (!Number.isSafeInteger(maxBytes) || maxBytes < 1))
|
|
90
|
+
throw new Error("HTTP response byte limit must be a positive safe integer");
|
|
91
|
+
if (signal?.aborted) {
|
|
92
|
+
void response.body?.cancel().catch(() => void 0);
|
|
93
|
+
throw signal.reason;
|
|
94
|
+
}
|
|
95
|
+
const length = response.headers.get("Content-Length");
|
|
96
|
+
if (length !== null && length.length > 0 && [...length].every((character) => character >= "0" && character <= "9") && Number(length) > maxBytes) {
|
|
97
|
+
void response.body?.cancel().catch(() => void 0);
|
|
98
|
+
throw new Error(`HTTP response exceeds ${maxBytes} bytes`);
|
|
99
|
+
}
|
|
100
|
+
if (response.body === null)
|
|
101
|
+
return "";
|
|
102
|
+
const reader = response.body.getReader();
|
|
103
|
+
readers?.add(reader);
|
|
104
|
+
const abort = () => {
|
|
105
|
+
void reader.cancel().catch(() => void 0);
|
|
106
|
+
};
|
|
107
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
108
|
+
if (signal?.aborted)
|
|
109
|
+
abort();
|
|
110
|
+
const decoder = new TextDecoder("utf-8", { fatal: true });
|
|
111
|
+
let bytes = 0;
|
|
112
|
+
let text = "";
|
|
113
|
+
try {
|
|
114
|
+
while (true) {
|
|
115
|
+
const chunk = await reader.read();
|
|
116
|
+
signal?.throwIfAborted();
|
|
117
|
+
if (chunk.done)
|
|
118
|
+
return text + decoder.decode();
|
|
119
|
+
bytes += chunk.value.byteLength;
|
|
120
|
+
if (bytes > maxBytes)
|
|
121
|
+
throw new Error(`HTTP response exceeds ${maxBytes} bytes`);
|
|
122
|
+
text += decoder.decode(chunk.value, { stream: true });
|
|
123
|
+
}
|
|
124
|
+
} catch (error) {
|
|
125
|
+
void reader.cancel().catch(() => void 0);
|
|
126
|
+
throw error;
|
|
127
|
+
} finally {
|
|
128
|
+
signal?.removeEventListener("abort", abort);
|
|
129
|
+
readers?.delete(reader);
|
|
130
|
+
reader.releaseLock();
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
// ../mcp-oauth/dist/http-fetch.js
|
|
135
|
+
async function fetchMcpResponse(fetchImplementation, input, init = {}) {
|
|
136
|
+
const signal = init.signal;
|
|
137
|
+
signal?.throwIfAborted();
|
|
138
|
+
return new Promise((resolve, reject) => {
|
|
139
|
+
let settled = false;
|
|
140
|
+
const finish = (error, response) => {
|
|
141
|
+
if (settled)
|
|
142
|
+
return;
|
|
143
|
+
settled = true;
|
|
144
|
+
signal?.removeEventListener("abort", abort);
|
|
145
|
+
if (response === void 0)
|
|
146
|
+
reject(error);
|
|
147
|
+
else
|
|
148
|
+
resolve(response);
|
|
149
|
+
};
|
|
150
|
+
const abort = () => finish(signal?.reason);
|
|
151
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
152
|
+
if (signal?.aborted) {
|
|
153
|
+
abort();
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
let pending;
|
|
157
|
+
try {
|
|
158
|
+
pending = fetchImplementation(input, { ...init, redirect: "error" });
|
|
159
|
+
} catch (error) {
|
|
160
|
+
finish(error);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
void pending.then((response) => {
|
|
164
|
+
if (settled || signal?.aborted) {
|
|
165
|
+
void response.body?.cancel().catch(() => void 0);
|
|
166
|
+
if (!settled)
|
|
167
|
+
abort();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (response.redirected || response.type === "opaqueredirect") {
|
|
171
|
+
void response.body?.cancel().catch(() => void 0);
|
|
172
|
+
finish(new Error("MCP HTTP redirects are not allowed"));
|
|
173
|
+
} else
|
|
174
|
+
finish(void 0, response);
|
|
175
|
+
}, (error) => finish(error));
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// ../mcp-oauth/dist/client/scope.js
|
|
180
|
+
function normalizeOAuthScope(scope) {
|
|
181
|
+
if (scope === void 0)
|
|
182
|
+
return void 0;
|
|
183
|
+
if (typeof scope !== "string" || [...scope].some((char) => char.charCodeAt(0) < 32 || char.charCodeAt(0) > 126 || char === '"' || char === "\\"))
|
|
184
|
+
throw new Error("Invalid OAuth scope syntax");
|
|
185
|
+
const normalized = [...new Set(scope.split(" ").filter(Boolean))].sort().join(" ");
|
|
186
|
+
return normalized || void 0;
|
|
187
|
+
}
|
|
188
|
+
|
|
66
189
|
// ../mcp-oauth/dist/client/token-endpoint.js
|
|
190
|
+
var MAX_JS_DATE_MS = 864e13;
|
|
67
191
|
var oauthErrorBrand = /* @__PURE__ */ Symbol.for("poe-platform.mcp-oauth.OAuthError");
|
|
68
192
|
var OAuthError = class extends Error {
|
|
69
193
|
/** Recognize errors from separately bundled copies of this package. */
|
|
@@ -100,6 +224,296 @@ var OAuthError = class extends Error {
|
|
|
100
224
|
function isRetryableOAuthError(error) {
|
|
101
225
|
return error instanceof OAuthError && (error.status >= 500 || error.error === "server_error" || error.error === "temporarily_unavailable");
|
|
102
226
|
}
|
|
227
|
+
async function exchangeAuthorizationCode(input) {
|
|
228
|
+
const resource = canonicalizeResourceIndicator(input.resource);
|
|
229
|
+
return requestTokens({
|
|
230
|
+
tokenEndpoint: input.tokenEndpoint,
|
|
231
|
+
clientId: input.clientId,
|
|
232
|
+
clientSecret: input.clientSecret,
|
|
233
|
+
tokenEndpointAuthMethod: input.tokenEndpointAuthMethod,
|
|
234
|
+
params: {
|
|
235
|
+
grant_type: "authorization_code",
|
|
236
|
+
code: input.code,
|
|
237
|
+
code_verifier: input.codeVerifier,
|
|
238
|
+
redirect_uri: input.redirectUri,
|
|
239
|
+
resource
|
|
240
|
+
},
|
|
241
|
+
fetch: input.fetch,
|
|
242
|
+
signal: input.signal,
|
|
243
|
+
now: input.now
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
async function requestTokens(input) {
|
|
247
|
+
const method = normalizeOAuthTokenEndpointAuthMethod(input.tokenEndpointAuthMethod) ?? (input.clientSecret === void 0 ? "none" : "client_secret_post");
|
|
248
|
+
if (method !== "none" && (input.clientSecret === void 0 || input.clientSecret.trim() === ""))
|
|
249
|
+
throw new Error("OAuth token endpoint authentication requires a client secret");
|
|
250
|
+
const body = new URLSearchParams(input.params);
|
|
251
|
+
const headers = new Headers({ Accept: "application/json", "Content-Type": "application/x-www-form-urlencoded" });
|
|
252
|
+
if (method === "client_secret_basic") {
|
|
253
|
+
const encoded = new URLSearchParams({ credential: input.clientId }).toString().slice("credential=".length);
|
|
254
|
+
const encodedSecret = new URLSearchParams({ credential: input.clientSecret }).toString().slice("credential=".length);
|
|
255
|
+
headers.set("Authorization", `Basic ${btoa(`${encoded}:${encodedSecret}`)}`);
|
|
256
|
+
} else {
|
|
257
|
+
body.set("client_id", input.clientId);
|
|
258
|
+
if (method === "client_secret_post")
|
|
259
|
+
body.set("client_secret", input.clientSecret);
|
|
260
|
+
}
|
|
261
|
+
input.signal?.throwIfAborted();
|
|
262
|
+
const deadline = AbortSignal.timeout(3e4);
|
|
263
|
+
const signal = input.signal === void 0 ? deadline : AbortSignal.any([input.signal, deadline]);
|
|
264
|
+
const response = await fetchMcpResponse(input.fetch, input.tokenEndpoint, {
|
|
265
|
+
method: "POST",
|
|
266
|
+
headers,
|
|
267
|
+
body: body.toString(),
|
|
268
|
+
signal
|
|
269
|
+
});
|
|
270
|
+
const payload = await readOAuthJsonObjectResponse(response, signal);
|
|
271
|
+
const accessToken = getOwnEntry(payload, "access_token");
|
|
272
|
+
if (typeof accessToken !== "string" || accessToken.trim().length === 0) {
|
|
273
|
+
throw new Error("OAuth token response missing access_token");
|
|
274
|
+
}
|
|
275
|
+
const normalizedAccessToken = accessToken.trim();
|
|
276
|
+
try {
|
|
277
|
+
new Headers({ Authorization: `Bearer ${normalizedAccessToken}` });
|
|
278
|
+
} catch {
|
|
279
|
+
throw new Error("OAuth token response access_token is not a valid HTTP header value");
|
|
280
|
+
}
|
|
281
|
+
const tokenType = normalizeBearerTokenType(getOwnEntry(payload, "token_type"));
|
|
282
|
+
if (tokenType === null) {
|
|
283
|
+
throw new Error("OAuth token response missing token_type=Bearer");
|
|
284
|
+
}
|
|
285
|
+
const expiresIn = getOwnEntry(payload, "expires_in");
|
|
286
|
+
let expiresAt = null;
|
|
287
|
+
if (expiresIn !== void 0) {
|
|
288
|
+
if (typeof expiresIn !== "number" || !Number.isFinite(expiresIn) || !Number.isInteger(expiresIn) || expiresIn < 0) {
|
|
289
|
+
throw new Error("OAuth token response has invalid expires_in");
|
|
290
|
+
}
|
|
291
|
+
const issuedAt = input.now();
|
|
292
|
+
if (!Number.isSafeInteger(issuedAt) || Math.abs(issuedAt) > MAX_JS_DATE_MS)
|
|
293
|
+
throw new Error("OAuth token response has invalid expires_in");
|
|
294
|
+
expiresAt = issuedAt + expiresIn * 1e3;
|
|
295
|
+
if (!Number.isSafeInteger(expiresAt) || expiresAt > MAX_JS_DATE_MS || !Number.isFinite(new Date(expiresAt).getTime())) {
|
|
296
|
+
throw new Error("OAuth token response has invalid expires_in");
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
const refreshToken = getOwnEntry(payload, "refresh_token");
|
|
300
|
+
if (refreshToken !== void 0 && (typeof refreshToken !== "string" || refreshToken.trim().length === 0))
|
|
301
|
+
throw new Error("OAuth token response has invalid refresh_token");
|
|
302
|
+
const scope = getOwnEntry(payload, "scope");
|
|
303
|
+
const normalizedRefreshToken = typeof refreshToken === "string" && refreshToken.trim().length > 0 ? refreshToken.trim() : void 0;
|
|
304
|
+
const normalizedScope = scope === "" ? "" : normalizeOAuthScope(scope);
|
|
305
|
+
if (scope !== void 0 && normalizedScope === void 0)
|
|
306
|
+
throw new Error("Invalid OAuth scope syntax in token response");
|
|
307
|
+
return {
|
|
308
|
+
accessToken: normalizedAccessToken,
|
|
309
|
+
refreshToken: normalizedRefreshToken === void 0 ? void 0 : normalizedRefreshToken,
|
|
310
|
+
tokenType,
|
|
311
|
+
expiresAt,
|
|
312
|
+
scope: normalizedScope === void 0 ? void 0 : normalizedScope
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
async function readOAuthJsonObjectResponse(response, signal) {
|
|
316
|
+
const fallbackError = createFallbackOAuthError(response.status);
|
|
317
|
+
let payload;
|
|
318
|
+
try {
|
|
319
|
+
payload = JSON.parse(await readBoundedResponseText(response, 1024 * 1024, void 0, signal));
|
|
320
|
+
} catch (error) {
|
|
321
|
+
if (signal?.aborted)
|
|
322
|
+
throw signal.reason;
|
|
323
|
+
if (error instanceof Error && error.message.startsWith("HTTP response exceeds "))
|
|
324
|
+
throw error;
|
|
325
|
+
if (!response.ok) {
|
|
326
|
+
throw fallbackError;
|
|
327
|
+
}
|
|
328
|
+
throw new Error("OAuth response must be a JSON object");
|
|
329
|
+
}
|
|
330
|
+
if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
|
|
331
|
+
if (!response.ok) {
|
|
332
|
+
throw fallbackError;
|
|
333
|
+
}
|
|
334
|
+
throw new Error("OAuth response must be a JSON object");
|
|
335
|
+
}
|
|
336
|
+
const record2 = payload;
|
|
337
|
+
if (!response.ok) {
|
|
338
|
+
const error = getOwnEntry(record2, "error");
|
|
339
|
+
if (typeof error !== "string" || error.trim() === "")
|
|
340
|
+
throw fallbackError;
|
|
341
|
+
throw new OAuthError(readOAuthError(record2), response.status);
|
|
342
|
+
}
|
|
343
|
+
return record2;
|
|
344
|
+
}
|
|
345
|
+
function readOAuthError(payload, fallbackError = "server_error") {
|
|
346
|
+
const error = getOwnEntry(payload, "error");
|
|
347
|
+
const errorDescription = getOwnEntry(payload, "error_description");
|
|
348
|
+
const errorUri = getOwnEntry(payload, "error_uri");
|
|
349
|
+
return {
|
|
350
|
+
error: typeof error === "string" ? error : fallbackError,
|
|
351
|
+
error_description: typeof errorDescription === "string" ? errorDescription : void 0,
|
|
352
|
+
error_uri: typeof errorUri === "string" ? errorUri : void 0
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
function getOwnEntry(record2, key) {
|
|
356
|
+
return Object.prototype.hasOwnProperty.call(record2, key) ? record2[key] : void 0;
|
|
357
|
+
}
|
|
358
|
+
function createFallbackOAuthError(status) {
|
|
359
|
+
const error = status === 503 ? "temporarily_unavailable" : status >= 500 ? "server_error" : "invalid_response";
|
|
360
|
+
return new OAuthError({ error }, status, false);
|
|
361
|
+
}
|
|
362
|
+
function normalizeBearerTokenType(value) {
|
|
363
|
+
if (typeof value !== "string") {
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
return value.toLowerCase() === "bearer" ? "Bearer" : null;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// ../mcp-oauth/dist/client/resumable.js
|
|
370
|
+
var responseParameters = ["code", "state", "iss", "error", "error_description", "error_uri"];
|
|
371
|
+
function httpsUrl(value) {
|
|
372
|
+
const url = new URL(value);
|
|
373
|
+
if (url.protocol !== "https:" || url.username || url.password || url.href.includes("#"))
|
|
374
|
+
throw new Error();
|
|
375
|
+
return url;
|
|
376
|
+
}
|
|
377
|
+
function base64url(bytes) {
|
|
378
|
+
return btoa(String.fromCharCode(...bytes)).split("+").join("-").split("/").join("_").split("=").join("");
|
|
379
|
+
}
|
|
380
|
+
function timestamp(now) {
|
|
381
|
+
const value = now();
|
|
382
|
+
if (!Number.isSafeInteger(value) || value < 0 || value > 864e13 - 6e5)
|
|
383
|
+
throw new Error();
|
|
384
|
+
return value;
|
|
385
|
+
}
|
|
386
|
+
async function beginRemoteMcpAuthorization(options) {
|
|
387
|
+
try {
|
|
388
|
+
const { store, signal, discover } = options;
|
|
389
|
+
const now = options.now?.bind(options) ?? Date.now;
|
|
390
|
+
const resource = httpsUrl(options.resource).href;
|
|
391
|
+
const redirect = httpsUrl(options.redirectUri);
|
|
392
|
+
if (responseParameters.some((key) => redirect.searchParams.has(key)))
|
|
393
|
+
throw new Error();
|
|
394
|
+
const client = structuredClone(options.client);
|
|
395
|
+
if (typeof client.clientId !== "string" || !client.clientId.trim())
|
|
396
|
+
throw new Error();
|
|
397
|
+
const method = normalizeOAuthTokenEndpointAuthMethod(client.tokenEndpointAuthMethod) ?? (client.clientSecret === void 0 ? "none" : "client_secret_post");
|
|
398
|
+
if (client.clientSecret !== void 0 && (typeof client.clientSecret !== "string" || !client.clientSecret.trim()))
|
|
399
|
+
throw new Error();
|
|
400
|
+
if (method !== "none" && client.clientSecret === void 0)
|
|
401
|
+
throw new Error();
|
|
402
|
+
if (client.registration !== void 0 && (client.registration.client_id !== client.clientId || client.registration.client_secret != null && client.registration.client_secret !== client.clientSecret || client.registration.token_endpoint_auth_method != null && client.registration.token_endpoint_auth_method !== method))
|
|
403
|
+
throw new Error();
|
|
404
|
+
client.tokenEndpointAuthMethod = method;
|
|
405
|
+
if (client.requestedRedirectUri !== void 0 && client.requestedRedirectUri !== redirect.href)
|
|
406
|
+
throw new Error();
|
|
407
|
+
if (client.registration?.redirect_uris != null && !client.registration.redirect_uris.includes(redirect.href))
|
|
408
|
+
throw new Error();
|
|
409
|
+
const scope = normalizeOAuthScope(options.scope);
|
|
410
|
+
const ttl = options.ttlMs ?? 6e5;
|
|
411
|
+
if (!Number.isSafeInteger(ttl) || ttl < 1 || ttl > 6e5)
|
|
412
|
+
throw new Error();
|
|
413
|
+
signal?.throwIfAborted();
|
|
414
|
+
const metadata = structuredClone(await discover(resource, signal));
|
|
415
|
+
signal?.throwIfAborted();
|
|
416
|
+
const server = metadata.authorizationServerMetadata;
|
|
417
|
+
if (httpsUrl(metadata.resource).href !== resource || httpsUrl(metadata.resourceMetadata.resource).href !== resource || server.issuer !== metadata.authorizationServer || !metadata.resourceMetadata.authorization_servers.includes(server.issuer) || !server.response_types_supported.includes("code") || !server.code_challenge_methods_supported.includes("S256"))
|
|
418
|
+
throw new Error();
|
|
419
|
+
httpsUrl(server.issuer);
|
|
420
|
+
httpsUrl(server.token_endpoint);
|
|
421
|
+
const authorization = httpsUrl(server.authorization_endpoint);
|
|
422
|
+
const state = base64url(crypto.getRandomValues(new Uint8Array(32)));
|
|
423
|
+
const codeVerifier = base64url(crypto.getRandomValues(new Uint8Array(32)));
|
|
424
|
+
const challenge = base64url(new Uint8Array(await crypto.subtle.digest("SHA-256", new TextEncoder().encode(codeVerifier))));
|
|
425
|
+
const expiresAt = timestamp(now) + ttl;
|
|
426
|
+
const session = {
|
|
427
|
+
resource,
|
|
428
|
+
authorizationServer: server.issuer,
|
|
429
|
+
client: { ...client, registrationOwnership: "caller", requestedRedirectUri: redirect.href },
|
|
430
|
+
...scope === void 0 ? {} : { requestedScope: scope },
|
|
431
|
+
discovery: { resourceMetadataUrl: metadata.resourceMetadataUrl, resourceMetadata: metadata.resourceMetadata, authorizationServerMetadata: server }
|
|
432
|
+
};
|
|
433
|
+
for (const [key, value] of Object.entries({
|
|
434
|
+
response_type: "code",
|
|
435
|
+
client_id: client.clientId,
|
|
436
|
+
redirect_uri: redirect.href,
|
|
437
|
+
resource,
|
|
438
|
+
state,
|
|
439
|
+
code_challenge: challenge,
|
|
440
|
+
code_challenge_method: "S256"
|
|
441
|
+
}))
|
|
442
|
+
authorization.searchParams.set(key, value);
|
|
443
|
+
authorization.searchParams.delete("scope");
|
|
444
|
+
if (scope !== void 0)
|
|
445
|
+
authorization.searchParams.set("scope", scope);
|
|
446
|
+
signal?.throwIfAborted();
|
|
447
|
+
await store.create({
|
|
448
|
+
state,
|
|
449
|
+
expiresAt,
|
|
450
|
+
redirectUri: redirect.href,
|
|
451
|
+
codeVerifier,
|
|
452
|
+
requireIssuer: server.authorization_response_iss_parameter_supported === true,
|
|
453
|
+
session
|
|
454
|
+
});
|
|
455
|
+
signal?.throwIfAborted();
|
|
456
|
+
return { authorizationUrl: authorization.href, expiresAt };
|
|
457
|
+
} catch {
|
|
458
|
+
throw new Error("Unable to begin MCP authorization");
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
async function completeRemoteMcpAuthorization(options) {
|
|
462
|
+
try {
|
|
463
|
+
const { store, fetch: fetch2, signal } = options;
|
|
464
|
+
const now = options.now?.bind(options) ?? Date.now;
|
|
465
|
+
const callback = httpsUrl(options.callbackUrl);
|
|
466
|
+
for (const key of responseParameters)
|
|
467
|
+
if (callback.searchParams.getAll(key).length > 1)
|
|
468
|
+
throw new Error();
|
|
469
|
+
const state = callback.searchParams.get("state");
|
|
470
|
+
if (!state || state.length > 256)
|
|
471
|
+
throw new Error();
|
|
472
|
+
signal?.throwIfAborted();
|
|
473
|
+
const stored = await store.consume(state);
|
|
474
|
+
if (stored === null)
|
|
475
|
+
throw new Error();
|
|
476
|
+
const transaction = structuredClone(stored);
|
|
477
|
+
if (transaction.state !== state || !Number.isSafeInteger(transaction.expiresAt) || transaction.expiresAt <= timestamp(now))
|
|
478
|
+
throw new Error();
|
|
479
|
+
const expected = httpsUrl(transaction.redirectUri);
|
|
480
|
+
const issuer = callback.searchParams.get("iss");
|
|
481
|
+
if (transaction.requireIssuer && issuer === null || issuer !== null && issuer !== transaction.session.authorizationServer)
|
|
482
|
+
throw new Error();
|
|
483
|
+
const code = callback.searchParams.get("code");
|
|
484
|
+
if (!code || callback.searchParams.has("error"))
|
|
485
|
+
throw new Error();
|
|
486
|
+
for (const key of responseParameters)
|
|
487
|
+
callback.searchParams.delete(key);
|
|
488
|
+
const actualPairs = [...callback.searchParams].sort(), expectedPairs = [...expected.searchParams].sort();
|
|
489
|
+
if (callback.origin !== expected.origin || callback.pathname !== expected.pathname || JSON.stringify(actualPairs) !== JSON.stringify(expectedPairs))
|
|
490
|
+
throw new Error();
|
|
491
|
+
const session = structuredClone(transaction.session);
|
|
492
|
+
const tokenEndpoint = httpsUrl(String(session.discovery.authorizationServerMetadata.token_endpoint)).href;
|
|
493
|
+
signal?.throwIfAborted();
|
|
494
|
+
session.tokens = await exchangeAuthorizationCode({
|
|
495
|
+
tokenEndpoint,
|
|
496
|
+
clientId: session.client.clientId,
|
|
497
|
+
clientSecret: session.client.clientSecret,
|
|
498
|
+
tokenEndpointAuthMethod: session.client.tokenEndpointAuthMethod,
|
|
499
|
+
code,
|
|
500
|
+
codeVerifier: transaction.codeVerifier,
|
|
501
|
+
redirectUri: transaction.redirectUri,
|
|
502
|
+
resource: session.resource,
|
|
503
|
+
fetch: fetch2,
|
|
504
|
+
signal,
|
|
505
|
+
now
|
|
506
|
+
});
|
|
507
|
+
if (session.tokens.scope === void 0 && session.requestedScope !== void 0)
|
|
508
|
+
session.tokens.scope = session.requestedScope;
|
|
509
|
+
signal?.throwIfAborted();
|
|
510
|
+
if (transaction.expiresAt <= timestamp(now) || !await store.commit(transaction, session))
|
|
511
|
+
throw new Error();
|
|
512
|
+
return { resource: session.resource };
|
|
513
|
+
} catch {
|
|
514
|
+
throw new Error("Unable to complete MCP authorization");
|
|
515
|
+
}
|
|
516
|
+
}
|
|
103
517
|
|
|
104
518
|
// src/oauth-policy.ts
|
|
105
519
|
function snapshotOAuthBrowserOptions(browser) {
|
|
@@ -8514,7 +8928,9 @@ async function accessRemoteMcpResources(server, request, options = {}) {
|
|
|
8514
8928
|
}
|
|
8515
8929
|
export {
|
|
8516
8930
|
accessRemoteMcpResources,
|
|
8931
|
+
beginRemoteMcpAuthorization,
|
|
8517
8932
|
compileToolArguments,
|
|
8933
|
+
completeRemoteMcpAuthorization,
|
|
8518
8934
|
createRemoteMcpCommands,
|
|
8519
8935
|
fetchRemoteMcpSchema,
|
|
8520
8936
|
remoteMcpCommands,
|
|
@@ -1138,6 +1138,58 @@ interface DefaultOAuthClientProviderOptions {
|
|
|
1138
1138
|
now?: () => number;
|
|
1139
1139
|
}
|
|
1140
1140
|
|
|
1141
|
+
/** Sensitive, JSON-serializable record. Store only in private, authenticated host storage. */
|
|
1142
|
+
interface RemoteMcpAuthorizationTransaction {
|
|
1143
|
+
readonly state: string;
|
|
1144
|
+
readonly expiresAt: number;
|
|
1145
|
+
readonly redirectUri: string;
|
|
1146
|
+
readonly codeVerifier: string;
|
|
1147
|
+
readonly requireIssuer: boolean;
|
|
1148
|
+
readonly session: StoredOAuthSession;
|
|
1149
|
+
}
|
|
1150
|
+
/** Bind each store instance to the authenticated user and logical server. */
|
|
1151
|
+
interface RemoteMcpAuthorizationStore {
|
|
1152
|
+
/** Atomically insert a unique state and capture the current credential generation. Never overwrite a state. */
|
|
1153
|
+
create(transaction: RemoteMcpAuthorizationTransaction): Promise<void>;
|
|
1154
|
+
/** Atomically remove/mark consumed, returning at most once across all workers. Preserve the commit fence. */
|
|
1155
|
+
consume(state: string): Promise<RemoteMcpAuthorizationTransaction | null>;
|
|
1156
|
+
/** Atomically persist only if the consumed transaction's generation is still current.
|
|
1157
|
+
* Reset, deletion, reconfiguration and a superseding grant must invalidate the fence.
|
|
1158
|
+
* Return false if stale. Never implement as an unconditional credential save.
|
|
1159
|
+
*/
|
|
1160
|
+
commit(transaction: RemoteMcpAuthorizationTransaction, session: StoredOAuthSession): Promise<boolean>;
|
|
1161
|
+
}
|
|
1162
|
+
interface BeginRemoteMcpAuthorizationOptions {
|
|
1163
|
+
readonly resource: string;
|
|
1164
|
+
readonly redirectUri: string;
|
|
1165
|
+
readonly client: StoredOAuthClient;
|
|
1166
|
+
readonly scope?: string;
|
|
1167
|
+
readonly store: RemoteMcpAuthorizationStore;
|
|
1168
|
+
/** Host-validated discovery, including issuer trust and network policy. No implicit network access. */
|
|
1169
|
+
readonly discover: (resource: string, signal?: AbortSignal) => Promise<OAuthDiscoveryResult>;
|
|
1170
|
+
readonly signal?: AbortSignal;
|
|
1171
|
+
readonly now?: () => number;
|
|
1172
|
+
/** Transaction lifetime, at most ten minutes. */
|
|
1173
|
+
readonly ttlMs?: number;
|
|
1174
|
+
}
|
|
1175
|
+
interface CompleteRemoteMcpAuthorizationOptions {
|
|
1176
|
+
readonly callbackUrl: string;
|
|
1177
|
+
readonly store: RemoteMcpAuthorizationStore;
|
|
1178
|
+
/** Required host network policy. Redirects are rejected, including at the token endpoint. */
|
|
1179
|
+
readonly fetch: OAuthMetadataFetch;
|
|
1180
|
+
readonly signal?: AbortSignal;
|
|
1181
|
+
readonly now?: () => number;
|
|
1182
|
+
}
|
|
1183
|
+
/** Start consent without a listener or a pending callback promise. Only the URL leaves private storage. */
|
|
1184
|
+
declare function beginRemoteMcpAuthorization(options: BeginRemoteMcpAuthorizationOptions): Promise<{
|
|
1185
|
+
authorizationUrl: string;
|
|
1186
|
+
expiresAt: number;
|
|
1187
|
+
}>;
|
|
1188
|
+
/** Redeem once after any process restart, then conditionally persist. Returns no tokens or callback secrets. */
|
|
1189
|
+
declare function completeRemoteMcpAuthorization(options: CompleteRemoteMcpAuthorizationOptions): Promise<{
|
|
1190
|
+
resource: string;
|
|
1191
|
+
}>;
|
|
1192
|
+
|
|
1141
1193
|
interface EnvironmentReference {
|
|
1142
1194
|
readonly env: string;
|
|
1143
1195
|
}
|
|
@@ -1353,5 +1405,5 @@ interface RemoteMcpManagementOptions extends ConfigurationOptions {
|
|
|
1353
1405
|
/** Create configuration and artifact commands for a host-owned static remote registry. */
|
|
1354
1406
|
declare function createRemoteMcpManagementCommand(servers: readonly InitRemoteMcpServer[], options?: RemoteMcpManagementOptions): CommandDefinition;
|
|
1355
1407
|
|
|
1356
|
-
export { accessRemoteMcpResources, authenticateRemoteMcpServer, bindRemoteMcpConfiguration, compileToolArguments, createRemoteMcpCommands, createRemoteMcpManagementCommand, fetchRemoteMcpSchema, generateRemoteMcpArtifact, importRemoteMcpAuthentication, initRemoteMcpConfiguration, parseRemoteMcpArtifact, parseRemoteMcpConfiguration, remoteMcpArtifactPlugin, remoteMcpCommands, resetRemoteMcpAuthentication, resolveRemoteMcpSchemas };
|
|
1357
|
-
export type { ArtifactGenerationOptions, ArtifactOptions, ArtifactPluginOptions, BoundRemoteMcpServer, ConfigurationBindingOptions, ConfigurationOptions, EnvironmentReference, GeneratedRemoteMcpArtifact, InitRemoteMcpServer, OAuthCredentialReferences, PublicEnvironmentReference, RemoteMcpArtifact, RemoteMcpAuthenticationConfiguration, RemoteMcpAuthenticationOptions, RemoteMcpAuthenticationResult, RemoteMcpAuthorizationRequest, RemoteMcpCommandOptions, RemoteMcpConfiguration, RemoteMcpCredentialImportOptions, RemoteMcpCredentialImportResult, RemoteMcpCredentialResetOptions, RemoteMcpCredentialResetResult, RemoteMcpElicitationContext, RemoteMcpElicitationHandler, RemoteMcpInitialization, RemoteMcpManagementOptions, RemoteMcpResourceOptions, RemoteMcpResourceRequest, RemoteMcpResourceResult, RemoteMcpSchema, RemoteMcpServer, RemoteMcpServerConfiguration, SchemaFetchOptions, ToolArgumentParseOptions, ToolArgumentParser, ToolParameter };
|
|
1408
|
+
export { accessRemoteMcpResources, authenticateRemoteMcpServer, beginRemoteMcpAuthorization, bindRemoteMcpConfiguration, compileToolArguments, completeRemoteMcpAuthorization, createRemoteMcpCommands, createRemoteMcpManagementCommand, fetchRemoteMcpSchema, generateRemoteMcpArtifact, importRemoteMcpAuthentication, initRemoteMcpConfiguration, parseRemoteMcpArtifact, parseRemoteMcpConfiguration, remoteMcpArtifactPlugin, remoteMcpCommands, resetRemoteMcpAuthentication, resolveRemoteMcpSchemas };
|
|
1409
|
+
export type { ArtifactGenerationOptions, ArtifactOptions, ArtifactPluginOptions, BeginRemoteMcpAuthorizationOptions, BoundRemoteMcpServer, CompleteRemoteMcpAuthorizationOptions, ConfigurationBindingOptions, ConfigurationOptions, EnvironmentReference, GeneratedRemoteMcpArtifact, InitRemoteMcpServer, OAuthCredentialReferences, PublicEnvironmentReference, RemoteMcpArtifact, RemoteMcpAuthenticationConfiguration, RemoteMcpAuthenticationOptions, RemoteMcpAuthenticationResult, RemoteMcpAuthorizationRequest, RemoteMcpAuthorizationStore, RemoteMcpAuthorizationTransaction, RemoteMcpCommandOptions, RemoteMcpConfiguration, RemoteMcpCredentialImportOptions, RemoteMcpCredentialImportResult, RemoteMcpCredentialResetOptions, RemoteMcpCredentialResetResult, RemoteMcpElicitationContext, RemoteMcpElicitationHandler, RemoteMcpInitialization, RemoteMcpManagementOptions, RemoteMcpResourceOptions, RemoteMcpResourceRequest, RemoteMcpResourceResult, RemoteMcpSchema, RemoteMcpServer, RemoteMcpServerConfiguration, SchemaFetchOptions, ToolArgumentParseOptions, ToolArgumentParser, ToolParameter };
|