@onyxsecurity/mcp-gateway 1.0.5 → 1.0.6

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.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{Client as e,ConfigurationError as t,ProcessSpawnError as n,ProxyConnectionError as r,ReadBuffer as i,SSEClientTransport as a,Server as o,StdioServerTransport as s,StreamableHTTPClientTransport as c,TransportError as l,__commonJSMin as u,__toESM as d,addBreadcrumbSafe as f,addGlobalTags as p,captureExceptionSafe as m,config as h,createParser as g,initSentrySafe as ee,initializeTrafficMirror as _,logger as v,proxyServer as y,serializeMessage as te,startHTTPServer as ne}from"../stdio-LETa1xc6.js";import{createRequire as re}from"node:module";import{readFileSync as b,readdirSync as x}from"node:fs";import{basename as ie,dirname as ae,extname as oe,join as se,normalize as ce,relative as le,resolve as ue}from"path";import{format as de,inspect as fe}from"util";import{fileURLToPath as pe}from"url";import{setTimeout as me}from"node:timers";import he from"node:util";import{notStrictEqual as ge,strictEqual as S}from"assert";import{readFileSync as _e,readdirSync as ve,statSync as ye,writeFile as be}from"fs";import{spawn as xe}from"node:child_process";import{PassThrough as Se,Transform as Ce}from"node:stream";var we=class extends Event{constructor(e,t){super(e),this.code=t?.code??void 0,this.message=t?.message??void 0}[Symbol.for(`nodejs.util.inspect.custom`)](e,t,n){return n(De(this),t)}[Symbol.for(`Deno.customInspect`)](e,t){return e(De(this),t)}};function Te(e){let t=globalThis.DOMException;return typeof t==`function`?new t(e,`SyntaxError`):SyntaxError(e)}function Ee(e){return e instanceof Error?`errors`in e&&Array.isArray(e.errors)?e.errors.map(Ee).join(`, `):`cause`in e&&e.cause instanceof Error?`${e}: ${Ee(e.cause)}`:e.message:`${e}`}function De(e){return{type:e.type,message:e.message,code:e.code,defaultPrevented:e.defaultPrevented,cancelable:e.cancelable,timeStamp:e.timeStamp}}var Oe=e=>{throw TypeError(e)},ke=(e,t,n)=>t.has(e)||Oe(`Cannot `+n),C=(e,t,n)=>(ke(e,t,`read from private field`),n?n.call(e):t.get(e)),w=(e,t,n)=>t.has(e)?Oe(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),T=(e,t,n,r)=>(ke(e,t,`write to private field`),t.set(e,n),n),Ae=(e,t,n)=>(ke(e,t,`access private method`),n),E,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,D,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe=class extends EventTarget{constructor(e,t){super(),w(this,D),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,w(this,E),w(this,je),w(this,Me),w(this,Ne),w(this,Pe),w(this,Fe),w(this,Ie),w(this,Le,null),w(this,Re),w(this,ze),w(this,Be,null),w(this,Ve,null),w(this,He,null),w(this,We,async e=>{var t;C(this,ze).reset();let{body:n,redirected:r,status:i,headers:a}=e;if(i===204){Ae(this,D,Ye).call(this,`Server sent HTTP 204, not reconnecting`,204),this.close();return}if(r?T(this,Me,new URL(e.url)):T(this,Me,void 0),i!==200){Ae(this,D,Ye).call(this,`Non-200 status code (${i})`,i);return}if(!(a.get(`content-type`)||``).startsWith(`text/event-stream`)){Ae(this,D,Ye).call(this,`Invalid content type, expected "text/event-stream"`,i);return}if(C(this,E)===this.CLOSED)return;T(this,E,this.OPEN);let o=new Event(`open`);if((t=C(this,He))==null||t.call(this,o),this.dispatchEvent(o),typeof n!=`object`||!n||!(`getReader`in n)){Ae(this,D,Ye).call(this,`Invalid response body, expected a web ReadableStream`,i),this.close();return}let s=new TextDecoder,c=n.getReader(),l=!0;do{let{done:e,value:t}=await c.read();t&&C(this,ze).feed(s.decode(t,{stream:!e})),e&&(l=!1,C(this,ze).reset(),Ae(this,D,Xe).call(this))}while(l)}),w(this,Ge,e=>{T(this,Re,void 0),!(e.name===`AbortError`||e.type===`aborted`)&&Ae(this,D,Xe).call(this,Ee(e))}),w(this,qe,e=>{typeof e.id==`string`&&T(this,Le,e.id);let t=new MessageEvent(e.event||`message`,{data:e.data,origin:C(this,Me)?C(this,Me).origin:C(this,je).origin,lastEventId:e.id||``});C(this,Ve)&&(!e.event||e.event===`message`)&&C(this,Ve).call(this,t),this.dispatchEvent(t)}),w(this,Je,e=>{T(this,Fe,e)}),w(this,Ze,()=>{T(this,Ie,void 0),C(this,E)===this.CONNECTING&&Ae(this,D,Ue).call(this)});try{if(e instanceof URL)T(this,je,e);else if(typeof e==`string`)T(this,je,new URL(e,$e()));else throw Error(`Invalid URL`)}catch{throw Te(`An invalid or illegal string was specified`)}T(this,ze,g({onEvent:C(this,qe),onRetry:C(this,Je)})),T(this,E,this.CONNECTING),T(this,Fe,3e3),T(this,Pe,t?.fetch??globalThis.fetch),T(this,Ne,t?.withCredentials??!1),Ae(this,D,Ue).call(this)}get readyState(){return C(this,E)}get url(){return C(this,je).href}get withCredentials(){return C(this,Ne)}get onerror(){return C(this,Be)}set onerror(e){T(this,Be,e)}get onmessage(){return C(this,Ve)}set onmessage(e){T(this,Ve,e)}get onopen(){return C(this,He)}set onopen(e){T(this,He,e)}addEventListener(e,t,n){let r=t;super.addEventListener(e,r,n)}removeEventListener(e,t,n){let r=t;super.removeEventListener(e,r,n)}close(){C(this,Ie)&&clearTimeout(C(this,Ie)),C(this,E)!==this.CLOSED&&(C(this,Re)&&C(this,Re).abort(),T(this,E,this.CLOSED),T(this,Re,void 0))}};E=new WeakMap,je=new WeakMap,Me=new WeakMap,Ne=new WeakMap,Pe=new WeakMap,Fe=new WeakMap,Ie=new WeakMap,Le=new WeakMap,Re=new WeakMap,ze=new WeakMap,Be=new WeakMap,Ve=new WeakMap,He=new WeakMap,D=new WeakSet,Ue=function(){T(this,E,this.CONNECTING),T(this,Re,new AbortController),C(this,Pe)(C(this,je),Ae(this,D,Ke).call(this)).then(C(this,We)).catch(C(this,Ge))},We=new WeakMap,Ge=new WeakMap,Ke=function(){let e={mode:`cors`,redirect:`follow`,headers:{Accept:`text/event-stream`,...C(this,Le)?{"Last-Event-ID":C(this,Le)}:void 0},cache:`no-store`,signal:C(this,Re)?.signal};return`window`in globalThis&&(e.credentials=this.withCredentials?`include`:`same-origin`),e},qe=new WeakMap,Je=new WeakMap,Ye=function(e,t){var n;C(this,E)!==this.CLOSED&&T(this,E,this.CLOSED);let r=new we(`error`,{code:t,message:e});(n=C(this,Be))==null||n.call(this,r),this.dispatchEvent(r)},Xe=function(e,t){var n;if(C(this,E)===this.CLOSED)return;T(this,E,this.CONNECTING);let r=new we(`error`,{code:t,message:e});(n=C(this,Be))==null||n.call(this,r),this.dispatchEvent(r),T(this,Ie,setTimeout(C(this,Ze),C(this,Fe)))},Ze=new WeakMap,Qe.CONNECTING=0,Qe.OPEN=1,Qe.CLOSED=2;function $e(){let e=`document`in globalThis?globalThis.document:void 0;return e&&typeof e==`object`&&`baseURI`in e&&typeof e.baseURI==`string`?e.baseURI:void 0}const et={right:at,center:ot};var tt=class{constructor(e){this.width=e.width,this.wrap=e.wrap??!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(``),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]==`string`)return this.applyLayoutDSL(e[0]);let t=e.map(e=>typeof e==`string`?this.colFromString(e):e);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]==`string`&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
2
+ import{Client as e,ConfigurationError as t,ProcessSpawnError as n,ProxyConnectionError as r,ReadBuffer as i,SSEClientTransport as a,Server as o,StdioServerTransport as s,StreamableHTTPClientTransport as c,TransportError as l,__commonJSMin as u,__toESM as d,addBreadcrumbSafe as f,addGlobalTags as p,captureExceptionSafe as m,config as h,createParser as g,initSentrySafe as ee,initializeTrafficMirror as _,logger as v,proxyServer as y,serializeMessage as te,startHTTPServer as ne}from"../stdio-7bVg-CUZ.js";import{createRequire as re}from"node:module";import{readFileSync as b,readdirSync as x}from"node:fs";import{basename as ie,dirname as ae,extname as oe,join as se,normalize as ce,relative as le,resolve as ue}from"path";import{format as de,inspect as fe}from"util";import{fileURLToPath as pe}from"url";import{setTimeout as me}from"node:timers";import he from"node:util";import{notStrictEqual as ge,strictEqual as S}from"assert";import{readFileSync as _e,readdirSync as ve,statSync as ye,writeFile as be}from"fs";import{spawn as xe}from"node:child_process";import{PassThrough as Se,Transform as Ce}from"node:stream";var we=class extends Event{constructor(e,t){super(e),this.code=t?.code??void 0,this.message=t?.message??void 0}[Symbol.for(`nodejs.util.inspect.custom`)](e,t,n){return n(De(this),t)}[Symbol.for(`Deno.customInspect`)](e,t){return e(De(this),t)}};function Te(e){let t=globalThis.DOMException;return typeof t==`function`?new t(e,`SyntaxError`):SyntaxError(e)}function Ee(e){return e instanceof Error?`errors`in e&&Array.isArray(e.errors)?e.errors.map(Ee).join(`, `):`cause`in e&&e.cause instanceof Error?`${e}: ${Ee(e.cause)}`:e.message:`${e}`}function De(e){return{type:e.type,message:e.message,code:e.code,defaultPrevented:e.defaultPrevented,cancelable:e.cancelable,timeStamp:e.timeStamp}}var Oe=e=>{throw TypeError(e)},ke=(e,t,n)=>t.has(e)||Oe(`Cannot `+n),C=(e,t,n)=>(ke(e,t,`read from private field`),n?n.call(e):t.get(e)),w=(e,t,n)=>t.has(e)?Oe(`Cannot add the same private member more than once`):t instanceof WeakSet?t.add(e):t.set(e,n),T=(e,t,n,r)=>(ke(e,t,`write to private field`),t.set(e,n),n),Ae=(e,t,n)=>(ke(e,t,`access private method`),n),E,je,Me,Ne,Pe,Fe,Ie,Le,Re,ze,Be,Ve,He,D,Ue,We,Ge,Ke,qe,Je,Ye,Xe,Ze,Qe=class extends EventTarget{constructor(e,t){super(),w(this,D),this.CONNECTING=0,this.OPEN=1,this.CLOSED=2,w(this,E),w(this,je),w(this,Me),w(this,Ne),w(this,Pe),w(this,Fe),w(this,Ie),w(this,Le,null),w(this,Re),w(this,ze),w(this,Be,null),w(this,Ve,null),w(this,He,null),w(this,We,async e=>{var t;C(this,ze).reset();let{body:n,redirected:r,status:i,headers:a}=e;if(i===204){Ae(this,D,Ye).call(this,`Server sent HTTP 204, not reconnecting`,204),this.close();return}if(r?T(this,Me,new URL(e.url)):T(this,Me,void 0),i!==200){Ae(this,D,Ye).call(this,`Non-200 status code (${i})`,i);return}if(!(a.get(`content-type`)||``).startsWith(`text/event-stream`)){Ae(this,D,Ye).call(this,`Invalid content type, expected "text/event-stream"`,i);return}if(C(this,E)===this.CLOSED)return;T(this,E,this.OPEN);let o=new Event(`open`);if((t=C(this,He))==null||t.call(this,o),this.dispatchEvent(o),typeof n!=`object`||!n||!(`getReader`in n)){Ae(this,D,Ye).call(this,`Invalid response body, expected a web ReadableStream`,i),this.close();return}let s=new TextDecoder,c=n.getReader(),l=!0;do{let{done:e,value:t}=await c.read();t&&C(this,ze).feed(s.decode(t,{stream:!e})),e&&(l=!1,C(this,ze).reset(),Ae(this,D,Xe).call(this))}while(l)}),w(this,Ge,e=>{T(this,Re,void 0),!(e.name===`AbortError`||e.type===`aborted`)&&Ae(this,D,Xe).call(this,Ee(e))}),w(this,qe,e=>{typeof e.id==`string`&&T(this,Le,e.id);let t=new MessageEvent(e.event||`message`,{data:e.data,origin:C(this,Me)?C(this,Me).origin:C(this,je).origin,lastEventId:e.id||``});C(this,Ve)&&(!e.event||e.event===`message`)&&C(this,Ve).call(this,t),this.dispatchEvent(t)}),w(this,Je,e=>{T(this,Fe,e)}),w(this,Ze,()=>{T(this,Ie,void 0),C(this,E)===this.CONNECTING&&Ae(this,D,Ue).call(this)});try{if(e instanceof URL)T(this,je,e);else if(typeof e==`string`)T(this,je,new URL(e,$e()));else throw Error(`Invalid URL`)}catch{throw Te(`An invalid or illegal string was specified`)}T(this,ze,g({onEvent:C(this,qe),onRetry:C(this,Je)})),T(this,E,this.CONNECTING),T(this,Fe,3e3),T(this,Pe,t?.fetch??globalThis.fetch),T(this,Ne,t?.withCredentials??!1),Ae(this,D,Ue).call(this)}get readyState(){return C(this,E)}get url(){return C(this,je).href}get withCredentials(){return C(this,Ne)}get onerror(){return C(this,Be)}set onerror(e){T(this,Be,e)}get onmessage(){return C(this,Ve)}set onmessage(e){T(this,Ve,e)}get onopen(){return C(this,He)}set onopen(e){T(this,He,e)}addEventListener(e,t,n){let r=t;super.addEventListener(e,r,n)}removeEventListener(e,t,n){let r=t;super.removeEventListener(e,r,n)}close(){C(this,Ie)&&clearTimeout(C(this,Ie)),C(this,E)!==this.CLOSED&&(C(this,Re)&&C(this,Re).abort(),T(this,E,this.CLOSED),T(this,Re,void 0))}};E=new WeakMap,je=new WeakMap,Me=new WeakMap,Ne=new WeakMap,Pe=new WeakMap,Fe=new WeakMap,Ie=new WeakMap,Le=new WeakMap,Re=new WeakMap,ze=new WeakMap,Be=new WeakMap,Ve=new WeakMap,He=new WeakMap,D=new WeakSet,Ue=function(){T(this,E,this.CONNECTING),T(this,Re,new AbortController),C(this,Pe)(C(this,je),Ae(this,D,Ke).call(this)).then(C(this,We)).catch(C(this,Ge))},We=new WeakMap,Ge=new WeakMap,Ke=function(){let e={mode:`cors`,redirect:`follow`,headers:{Accept:`text/event-stream`,...C(this,Le)?{"Last-Event-ID":C(this,Le)}:void 0},cache:`no-store`,signal:C(this,Re)?.signal};return`window`in globalThis&&(e.credentials=this.withCredentials?`include`:`same-origin`),e},qe=new WeakMap,Je=new WeakMap,Ye=function(e,t){var n;C(this,E)!==this.CLOSED&&T(this,E,this.CLOSED);let r=new we(`error`,{code:t,message:e});(n=C(this,Be))==null||n.call(this,r),this.dispatchEvent(r)},Xe=function(e,t){var n;if(C(this,E)===this.CLOSED)return;T(this,E,this.CONNECTING);let r=new we(`error`,{code:t,message:e});(n=C(this,Be))==null||n.call(this,r),this.dispatchEvent(r),T(this,Ie,setTimeout(C(this,Ze),C(this,Fe)))},Ze=new WeakMap,Qe.CONNECTING=0,Qe.OPEN=1,Qe.CLOSED=2;function $e(){let e=`document`in globalThis?globalThis.document:void 0;return e&&typeof e==`object`&&`baseURI`in e&&typeof e.baseURI==`string`?e.baseURI:void 0}const et={right:at,center:ot};var tt=class{constructor(e){this.width=e.width,this.wrap=e.wrap??!0,this.rows=[]}span(...e){let t=this.div(...e);t.span=!0}resetOutput(){this.rows=[]}div(...e){if(e.length===0&&this.div(``),this.wrap&&this.shouldApplyLayoutDSL(...e)&&typeof e[0]==`string`)return this.applyLayoutDSL(e[0]);let t=e.map(e=>typeof e==`string`?this.colFromString(e):e);return this.rows.push(t),t}shouldApplyLayoutDSL(...e){return e.length===1&&typeof e[0]==`string`&&/[\t\n]/.test(e[0])}applyLayoutDSL(e){let t=e.split(`
3
3
  `).map(e=>e.split(` `)),n=0;return t.forEach(e=>{e.length>1&&O.stringWidth(e[0])>n&&(n=Math.min(Math.floor(this.width*.5),O.stringWidth(e[0])))}),t.forEach(e=>{this.div(...e.map((t,r)=>({text:t.trim(),padding:this.measurePadding(t),width:r===0&&e.length>1?n:void 0})))}),this.rows[this.rows.length-1]}colFromString(e){return{text:e,padding:this.measurePadding(e)}}measurePadding(e){let t=O.stripAnsi(e);return[0,t.match(/\s*$/)[0].length,0,t.match(/^\s*/)[0].length]}toString(){let e=[];return this.rows.forEach(t=>{this.rowToString(t,e)}),e.filter(e=>!e.hidden).map(e=>e.text).join(`
4
4
  `)}rowToString(e,t){return this.rasterize(e).forEach((n,r)=>{let i=``;n.forEach((n,a)=>{let{width:o}=e[a],s=this.negatePadding(e[a]),c=n;if(s>O.stringWidth(n)&&(c+=` `.repeat(s-O.stringWidth(n))),e[a].align&&e[a].align!==`left`&&this.wrap){let t=et[e[a].align];c=t(c,s),O.stringWidth(c)<s&&(c+=` `.repeat((o||0)-O.stringWidth(c)-1))}let l=e[a].padding||[0,0,0,0];l[3]&&(i+=` `.repeat(l[3])),i+=nt(e[a],c,`| `),i+=c,i+=nt(e[a],c,` |`),l[1]&&(i+=` `.repeat(l[1])),r===0&&t.length>0&&(i=this.renderInline(i,t[t.length-1]))}),t.push({text:i.replace(/ +$/,``),span:e.span})}),t}renderInline(e,t){let n=e.match(/^ */),r=n?n[0].length:0,i=t.text,a=O.stringWidth(i.trimRight());return t.span?this.wrap?r<a?e:(t.hidden=!0,i.trimRight()+` `.repeat(r-a)+e.trimLeft()):(t.hidden=!0,i+e):e}rasterize(e){let t=[],n=this.columnWidths(e),r;return e.forEach((e,i)=>{e.width=n[i],r=this.wrap?O.wrap(e.text,this.negatePadding(e),{hard:!0}).split(`
5
5
  `):e.text.split(`
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Client as e,InMemoryEventStore as t,SSEClientTransport as n,Server as r,StdioServerTransport as i,StreamableHTTPClientTransport as a,config as o,proxyServer as s,startHTTPServer as c}from"./stdio-LETa1xc6.js";let l=function(e){return e.HTTPStream=`HTTPStream`,e.SSE=`SSE`,e}({});const u=async({initStdioServer:t,initStreamClient:c,serverType:u,transportOptions:d={},url:f})=>{let p;switch(u){case l.SSE:p=new n(new URL(f),d);break;default:p=new a(new URL(f),d)}let m=c?await c():new e({name:`mcp-gateway`,version:o.appVersion},{capabilities:{}});await m.connect(p);let h=m.getServerVersion(),g=m.getServerCapabilities(),_=t?await t():new r(h,{capabilities:g}),v=new i;return await _.connect(v),await s({client:m,server:_,serverCapabilities:g}),_},d=(e,t)=>{let n=e.close.bind(e),r=e.onclose?.bind(e),i=e.onerror?.bind(e),a=e.onmessage?.bind(e),o=e.send.bind(e),s=e.start.bind(e);return e.close=async()=>(t({type:`close`}),n?.()),e.onclose=async()=>(t({type:`onclose`}),r?.()),e.onerror=async e=>(t({error:e,type:`onerror`}),i?.(e)),e.onmessage=async e=>(t({message:e,type:`onmessage`}),a?.(e)),e.send=async e=>(t({message:e,type:`send`}),o?.(e)),e.start=async()=>(t({type:`start`}),s?.()),e};export{t as InMemoryEventStore,l as ServerType,s as proxyServer,c as startHTTPServer,u as startStdioServer,d as tapTransport};
1
+ import{Client as e,InMemoryEventStore as t,SSEClientTransport as n,Server as r,StdioServerTransport as i,StreamableHTTPClientTransport as a,config as o,proxyServer as s,startHTTPServer as c}from"./stdio-7bVg-CUZ.js";let l=function(e){return e.HTTPStream=`HTTPStream`,e.SSE=`SSE`,e}({});const u=async({initStdioServer:t,initStreamClient:c,serverType:u,transportOptions:d={},url:f})=>{let p;switch(u){case l.SSE:p=new n(new URL(f),d);break;default:p=new a(new URL(f),d)}let m=c?await c():new e({name:`mcp-gateway`,version:o.appVersion},{capabilities:{}});await m.connect(p);let h=m.getServerVersion(),g=m.getServerCapabilities(),_=t?await t():new r(h,{capabilities:g}),v=new i;return await _.connect(v),await s({client:m,server:_,serverCapabilities:g}),_},d=(e,t)=>{let n=e.close.bind(e),r=e.onclose?.bind(e),i=e.onerror?.bind(e),a=e.onmessage?.bind(e),o=e.send.bind(e),s=e.start.bind(e);return e.close=async()=>(t({type:`close`}),n?.()),e.onclose=async()=>(t({type:`onclose`}),r?.()),e.onerror=async e=>(t({error:e,type:`onerror`}),i?.(e)),e.onmessage=async e=>(t({message:e,type:`onmessage`}),a?.(e)),e.send=async e=>(t({message:e,type:`send`}),o?.(e)),e.start=async()=>(t({type:`start`}),s?.()),e};export{t as InMemoryEventStore,l as ServerType,s as proxyServer,c as startHTTPServer,u as startStdioServer,d as tapTransport};
2
2
  //# sourceMappingURL=index.js.map