UNPKG

xmcp

Version:

The TypeScript MCP framework

1 lines • 1.81 kB
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(this,()=>(()=>{"use strict";var e={};e.d=(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var t={};e.r(t),e.d(t,{headers:()=>c});let r=require("async_hooks"),o=(e,t)=>{globalThis[e]=t},n=e=>globalThis[e],l=function({name:e,fallback:t=!0}){let l=Symbol.for(`xmcp-context-${e}`),s=Symbol.for(`xmcp-context-${e}-fallback-store`);if(n(l))return n(l);let c=new r.AsyncLocalStorage,i=globalThis[s]??{current:null};o(s,i);let f={provider:(e,r)=>(t&&(i.current=e),c.run(e,r)),getContext:()=>{let r=c.getStore();if(r)return r;if(t&&i.current)return i.current;throw Error(`getContext() can only be used within the ${e} context.`)},setContext:r=>{let o=c.getStore()??(t?i.current:null);if(!o)throw Error(`setContext() can only be used within the ${e} context.`);Object.assign(o,r)}};return o(l,f),f}({name:"http-request-context"});l.setContext;let s=l.getContext;l.provider;let c=()=>{let e=s().headers,t=new Map;for(let r of Object.keys(e)){let e=r.toLowerCase();t.has(e)||t.set(e,r)}let r=e=>t.get(e.toLowerCase())??e;return new Proxy(e,{get:(e,t,o)=>"string"!=typeof t?Reflect.get(e,t,o):Reflect.get(e,r(t),o),has:(e,t)=>"string"!=typeof t?Reflect.has(e,t):Reflect.has(e,r(t)),getOwnPropertyDescriptor:(e,t)=>"string"!=typeof t?Reflect.getOwnPropertyDescriptor(e,t):Reflect.getOwnPropertyDescriptor(e,r(t))})};return t})());