@kya-os/mcp-i
Version:
The TypeScript MCP framework with identity features built-in
1 lines • 3.65 kB
JavaScript
;exports.id=941,exports.ids=[941],exports.modules={79941:(e,t,r)=>{r.d(t,{EventStreamSerde:()=>n});var i=r(2914),s=r(40935);class n{marshaller;serializer;deserializer;serdeContext;defaultContentType;constructor({marshaller:e,serializer:t,deserializer:r,serdeContext:i,defaultContentType:s}){this.marshaller=e,this.serializer=t,this.deserializer=r,this.serdeContext=i,this.defaultContentType=s}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:r}){const i=this.marshaller,s=t.getEventStreamMember(),n=t.getMemberSchema(s),a=this.serializer,o=this.defaultContentType,l=Symbol("initialRequestMarker"),c={async*[Symbol.asyncIterator](){if(r){const e={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:o}};a.write(t,r);const i=a.flush();yield{[l]:!0,headers:e,body:i}}for await(const t of e)yield t}};return i.serialize(c,e=>{if(e[l])return{headers:e.headers,body:e.body};const t=Object.keys(e).find(e=>"__type"!==e)??"",{additionalHeaders:r,body:i,eventType:s,explicitPayloadContentType:a}=this.writeEventBody(t,n,e);return{headers:{":event-type":{type:"string",value:s},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:a??o},...r},body:i}})}async deserializeEventStream({response:e,responseSchema:t,initialResponseContainer:r}){const s=this.marshaller,n=t.getEventStreamMember(),a=t.getMemberSchema(n).getMemberSchemas(),o=Symbol("initialResponseMarker"),l=s.deserialize(e.body,async e=>{const r=Object.keys(e).find(e=>"__type"!==e)??"",s=e[r].body;if("initial-response"===r){const e=await this.deserializer.read(t,s);return delete e[n],{[o]:!0,...e}}if(r in a){const t=a[r];if(t.isStructSchema()){const n={};let a=!1;for(const[o,l]of t.structIterator()){const{eventHeader:t,eventPayload:c}=l.getMergedTraits();if(a=a||Boolean(t||c),c)l.isBlobSchema()?n[o]=s:l.isStringSchema()?n[o]=(this.serdeContext?.utf8Encoder??i.P)(s):l.isStructSchema()&&(n[o]=await this.deserializer.read(l,s));else if(t){const t=e[r].headers[o]?.value;null!=t&&(l.isNumericSchema()?n[o]=t&&"object"==typeof t&&"bytes"in t?BigInt(t.toString()):Number(t):n[o]=t)}}if(a)return{[r]:n}}return{[r]:await this.deserializer.read(t,s)}}return{$unknown:e}}),c=l[Symbol.asyncIterator](),d=await c.next();if(d.done)return l;if(d.value?.[o]){if(!t)throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(const[e,t]of Object.entries(d.value))r[e]=t}return{async*[Symbol.asyncIterator](){for(d?.value?.[o]||(yield d.value);;){const{done:e,value:t}=await c.next();if(e)break;yield t}}}}writeEventBody(e,t,r){const i=this.serializer;let n,a=e,o=null;const l={};if(t.getSchema()[4].includes(e)){const s=t.getMemberSchema(e);if(!s.isStructSchema())throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.");for(const[t,i]of s.structIterator()){const{eventHeader:s,eventPayload:n}=i.getMergedTraits();if(n){o=t;break}if(s){const s=r[e][t];let n="binary";i.isNumericSchema()?n=(-2)**31<=s&&s<=2**31-1?"integer":"long":i.isTimestampSchema()?n="timestamp":i.isStringSchema()?n="string":i.isBooleanSchema()&&(n="boolean"),null!=s&&(l[t]={type:n,value:s},delete r[e][t])}}if(null!==o){const t=s.getMemberSchema(o);t.isBlobSchema()?n="application/octet-stream":t.isStringSchema()&&(n="text/plain"),i.write(t,r[e][o])}else i.write(s,r[e])}else{const[t,s]=r[e];a=t,i.write(15,s)}const c=i.flush();return{body:"string"==typeof c?(this.serdeContext?.utf8Decoder??s.a)(c):c,eventType:a,explicitPayloadContentType:n,additionalHeaders:l}}}}};