pipane 0.1.5 → 0.1.7
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 +45 -1
- package/THIRD_PARTY_NOTICES.md +29 -0
- package/bin/pipane-rendezvous.js +21 -0
- package/bin/pipane.js +21 -1
- package/dist/client/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/dist/client/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/dist/client/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/dist/client/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/dist/client/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/dist/client/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/dist/client/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/dist/client/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/dist/client/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/dist/client/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/dist/client/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/dist/client/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/dist/client/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/dist/client/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/dist/client/assets/__vite-browser-external-DtLbhLGx.js +1 -0
- package/dist/client/assets/app-runtime-Rw-O-AwW.js +1 -0
- package/dist/client/assets/backend-landing-page-B7SbyIXQ.js +1 -0
- package/dist/client/assets/index-DwbBcYUf.js +2 -0
- package/dist/client/assets/index-iblQYBAl.css +1 -0
- package/dist/client/assets/main-LGItV9Aj.js +2807 -0
- package/dist/client/assets/pairing-page-D-WxlWZR.js +1 -0
- package/dist/client/assets/remote-backend-manager-BWuGh30I.js +1 -0
- package/dist/client/assets/rendezvous-trust-api-C2Zob5i4.js +4 -0
- package/dist/client/assets/webrtc-frame-transport-BijNnA7N.js +1 -0
- package/dist/client/assets/ws-agent-adapter-BRysf-Y7.js +6 -0
- package/dist/client/index.html +2 -2
- package/dist/server/rendezvous/rendezvous-hub.js +426 -0
- package/dist/server/rendezvous/server.js +247 -0
- package/dist/server/rendezvous/trust-store.js +432 -0
- package/dist/server/server/auth-guard.js +61 -0
- package/dist/server/server/backend-connection-authorizer.js +29 -0
- package/dist/server/server/backend-identity.js +167 -0
- package/dist/server/server/backend-protocol-handler.js +132 -0
- package/dist/server/server/backend-trust-store.js +157 -0
- package/dist/server/server/backend-webrtc.js +239 -0
- package/dist/server/server/bundled-extensions.js +6 -0
- package/dist/server/server/conversation-file-access.js +97 -0
- package/dist/server/server/extension-status.js +31 -0
- package/dist/server/server/frame-connection.js +48 -0
- package/dist/server/server/frame-router.js +45 -0
- package/dist/server/server/ice-servers.js +24 -0
- package/dist/server/server/local-backend-api.js +389 -0
- package/dist/server/server/local-settings.js +28 -0
- package/dist/server/server/pi-rpc-protocol.js +407 -0
- package/dist/server/server/pi-runtime.js +1 -1
- package/dist/server/server/process-pool.js +179 -136
- package/dist/server/server/rendezvous-client.js +282 -0
- package/dist/server/server/rest-api.js +121 -231
- package/dist/server/server/server.js +188 -134
- package/dist/server/server/session-actor.js +202 -0
- package/dist/server/server/session-index.js +111 -18
- package/dist/server/server/session-jsonl.js +128 -8
- package/dist/server/server/session-path.js +145 -0
- package/dist/server/server/session-registry.js +67 -0
- package/dist/server/server/update-api.js +28 -0
- package/dist/server/server/update-check.js +33 -13
- package/dist/server/server/update-manager.js +231 -0
- package/dist/server/server/worktree-name.js +124 -0
- package/dist/server/server/ws-handler.js +784 -478
- package/dist/server/shared/backend-api.js +1 -0
- package/dist/server/shared/backend-protocol.js +164 -0
- package/dist/server/shared/jsonl-sync.js +41 -0
- package/dist/server/shared/node-trust-crypto.js +61 -0
- package/dist/server/shared/rendezvous-protocol.js +243 -0
- package/dist/server/shared/rpc-timeouts.js +4 -0
- package/dist/server/shared/thinking-levels.js +94 -0
- package/dist/server/shared/tool-runtime.js +1 -0
- package/dist/server/shared/trust-protocol.js +97 -0
- package/dist/server/shared/updates.js +4 -0
- package/dist/server/shared/ws-protocol.js +473 -0
- package/docs/protocol.md +127 -0
- package/extensions/canvas.ts +1 -1
- package/package.json +42 -17
- package/dist/client/assets/_node-stub_node_crypto-C_7epg3G.js +0 -1
- package/dist/client/assets/_node-stub_node_fs-B-VOzeXW.js +0 -1
- package/dist/client/assets/_node-stub_node_http-CROXaVGJ.js +0 -1
- package/dist/client/assets/_node-stub_node_os-TTKJha15.js +0 -1
- package/dist/client/assets/_node-stub_node_path-DJCJiKv7.js +0 -1
- package/dist/client/assets/_node-stub_stream-DDexIdn_.js +0 -1
- package/dist/client/assets/index-BtDAXAo1.css +0 -1
- package/dist/client/assets/index-CAQqlK61.js +0 -131
- package/dist/client/assets/index-CJEeBmBj.js +0 -3
- package/dist/client/assets/index-DUEhKmPQ.js +0 -1
- package/dist/client/assets/index-XEVKscP-.js +0 -4443
- package/dist/client/assets/index-woI4agCy.js +0 -45
- package/dist/server/server/attached-session.js +0 -209
- package/dist/server/server/load-trace-store.js +0 -48
- package/dist/server/server/session-lifecycle.js +0 -155
- package/patches/@mariozechner+pi-web-ui+0.55.3.patch +0 -3437
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{b as N,H as B}from"./index-XEVKscP-.js";import{_ as M,a as x,b as P}from"./_node-stub_stream-DDexIdn_.js";const F=["ECONNRESET","EPIPE","ETIMEDOUT"],I=o=>{const e={};for(const t of Object.keys(o)){const n=o[t];e[t]=Array.isArray(n)?n.join(","):n}return e},m={setTimeout:(o,e)=>setTimeout(o,e),clearTimeout:o=>clearTimeout(o)},H=1e3,K=(o,e,t=0)=>{if(!t)return-1;const n=r=>{const i=m.setTimeout(()=>{o.destroy(),e(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${t} ms.`),{name:"TimeoutError"}))},t-r),s=f=>{f?.connecting?f.on("connect",()=>{m.clearTimeout(i)}):m.clearTimeout(i)};o.socket?s(o.socket):o.on("socket",s)};return t<2e3?(n(0),0):m.setTimeout(n.bind(null,H),H)},V=(o,e,t=0,n,r)=>t?m.setTimeout(()=>{let i=`@smithy/node-http-handler - [${n?"ERROR":"WARN"}] a request has exceeded the configured ${t} ms requestTimeout.`;if(n){const s=Object.assign(new Error(i),{name:"TimeoutError",code:"ETIMEDOUT"});o.destroy(s),e(s)}else i+=" Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.",r?.warn?.(i)},t):-1,z=3e3,q=(o,{keepAlive:e,keepAliveMsecs:t},n=z)=>{if(e!==!0)return-1;const r=()=>{o.socket?o.socket.setKeepAlive(e,t||0):o.on("socket",i=>{i.setKeepAlive(e,t||0)})};return n===0?(r(),0):m.setTimeout(r,n)},L=3e3,Q=(o,e,t=0)=>{const n=r=>{const i=t-r,s=()=>{o.destroy(),e(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${t} ms of inactivity (configured by client requestHandler).`),{name:"TimeoutError"}))};o.socket?(o.socket.setTimeout(i,s),o.on("close",()=>o.socket?.removeListener("timeout",s))):o.setTimeout(i,s)};return 0<t&&t<6e3?(n(0),0):m.setTimeout(n.bind(null,t===0?0:L),L)},U=6e3;async function O(o,e,t=U,n=!1){const r=e.headers??{},i=r.Expect||r.expect;let s=-1,f=!0;!n&&i==="100-continue"&&(f=await Promise.race([new Promise(c=>{s=Number(m.setTimeout(()=>c(!0),Math.max(U,t)))}),new Promise(c=>{o.on("continue",()=>{m.clearTimeout(s),c(!0)}),o.on("response",()=>{m.clearTimeout(s),c(!1)}),o.on("error",()=>{m.clearTimeout(s),c(!1)})})])),f&&J(o,e.body)}function J(o,e){if(e instanceof M.Readable){e.pipe(o);return}if(e){const t=Buffer.isBuffer(e);if(t||typeof e=="string"){t&&e.byteLength===0?o.end():o.end(e);return}const r=e;if(typeof r=="object"&&r.buffer&&typeof r.byteOffset=="number"&&typeof r.byteLength=="number"){o.end(Buffer.from(r.buffer,r.byteOffset,r.byteLength));return}o.end(Buffer.from(e));return}o.end()}const oe=0;class _{config;configProvider;socketWarningTimestamp=0;externalAgent=!1;metadata={handlerProtocol:"http/1.1"};static create(e){return typeof e?.handle=="function"?e:new _(e)}static checkSocketUsage(e,t,n=console){const{sockets:r,requests:i,maxSockets:s}=e;if(typeof s!="number"||s===1/0||Date.now()-15e3<t)return t;if(r&&i)for(const c in r){const g=r[c]?.length??0,d=i[c]?.length??0;if(g>=s&&d>=2*s)return n?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${g} and ${d} additional requests are enqueued.
|
|
2
|
-
See https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html
|
|
3
|
-
or increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`),Date.now()}return t}constructor(e){this.configProvider=new Promise((t,n)=>{typeof e=="function"?e().then(r=>{t(this.resolveDefaultConfig(r))}).catch(n):t(this.resolveDefaultConfig(e))})}resolveDefaultConfig(e){const{requestTimeout:t,connectionTimeout:n,socketTimeout:r,socketAcquisitionWarningTimeout:i,httpAgent:s,httpsAgent:f,throwOnRequestTimeout:c,logger:g}=e||{},d=!0,E=50;return{connectionTimeout:n,requestTimeout:t,socketTimeout:r,socketAcquisitionWarningTimeout:i,throwOnRequestTimeout:c,httpAgent:s instanceof P.Agent||typeof s?.destroy=="function"?(this.externalAgent=!0,s):new P.Agent({keepAlive:d,maxSockets:E,...s}),httpsAgent:f instanceof x.Agent||typeof f?.destroy=="function"?(this.externalAgent=!0,f):new x.Agent({keepAlive:d,maxSockets:E,...f}),logger:g}}destroy(){this.config?.httpAgent?.destroy(),this.config?.httpsAgent?.destroy()}async handle(e,{abortSignal:t,requestTimeout:n}={}){return this.config||(this.config=await this.configProvider),new Promise((r,i)=>{const s=this.config;let f;const c=[],g=async a=>{await f,c.forEach(m.clearTimeout),r(a)},d=async a=>{await f,c.forEach(m.clearTimeout),i(a)};if(t?.aborted){const a=new Error("Request aborted");a.name="AbortError",d(a);return}const E=e.protocol==="https:",b=e.headers??{},R=(b.Expect??b.expect)==="100-continue";let C=E?s.httpsAgent:s.httpAgent;R&&!this.externalAgent&&(C=new(E?x.Agent:P.Agent)({keepAlive:!1,maxSockets:1/0})),c.push(m.setTimeout(()=>{this.socketWarningTimestamp=_.checkSocketUsage(C,this.socketWarningTimestamp,s.logger)},s.socketAcquisitionWarningTimeout??(s.requestTimeout??2e3)+(s.connectionTimeout??1e3)));const S=N(e.query||{});let k;if(e.username!=null||e.password!=null){const a=e.username??"",u=e.password??"";k=`${a}:${u}`}let A=e.path;S&&(A+=`?${S}`),e.fragment&&(A+=`#${e.fragment}`);let T=e.hostname??"";T[0]==="["&&T.endsWith("]")?T=e.hostname.slice(1,-1):T=e.hostname;const v={headers:e.headers,host:T,method:e.method,path:A,port:e.port,agent:C,auth:k},l=(E?x.request:P.request)(v,a=>{const u=new B({statusCode:a.statusCode||-1,reason:a.statusMessage,headers:I(a.headers),body:a});g({response:u})});if(l.on("error",a=>{F.includes(a.code)?d(Object.assign(a,{name:"TimeoutError"})):d(a)}),t){const a=()=>{l.destroy();const u=new Error("Request aborted");u.name="AbortError",d(u)};if(typeof t.addEventListener=="function"){const u=t;u.addEventListener("abort",a,{once:!0}),l.once("close",()=>u.removeEventListener("abort",a))}else t.onabort=a}const p=n??s.requestTimeout;c.push(K(l,d,s.connectionTimeout)),c.push(V(l,d,p,s.throwOnRequestTimeout,s.logger??console)),c.push(Q(l,d,s.socketTimeout));const w=v.agent;typeof w=="object"&&"keepAlive"in w&&c.push(q(l,{keepAlive:w.keepAlive,keepAliveMsecs:w.keepAliveMsecs})),f=O(l,e,p,this.externalAgent).catch(a=>(c.forEach(m.clearTimeout),i(a)))})}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:t}))}httpHandlerConfigs(){return this.config??{}}}const $=new Proxy({},{get(o,e){return e==="__esModule"?!0:new Proxy(function(){},{get:()=>()=>{},apply:()=>({})})}});class G{sessions=[];constructor(e){this.sessions=e??[]}poll(){if(this.sessions.length>0)return this.sessions.shift()}offerLast(e){this.sessions.push(e)}contains(e){return this.sessions.includes(e)}remove(e){this.sessions=this.sessions.filter(t=>t!==e)}[Symbol.iterator](){return this.sessions[Symbol.iterator]()}destroy(e){for(const t of this.sessions)t===e&&(t.destroyed||t.destroy())}}class X{constructor(e){if(this.config=e,this.config.maxConcurrency&&this.config.maxConcurrency<=0)throw new RangeError("maxConcurrency must be greater than zero.")}config;sessionCache=new Map;lease(e,t){const n=this.getUrlString(e),r=this.sessionCache.get(n);if(r){const c=r.poll();if(c&&!this.config.disableConcurrency)return c}const i=$.connect(n);this.config.maxConcurrency&&i.settings({maxConcurrentStreams:this.config.maxConcurrency},c=>{if(c)throw new Error("Fail to set maxConcurrentStreams to "+this.config.maxConcurrency+"when creating new session for "+e.destination.toString())}),i.unref();const s=()=>{i.destroy(),this.deleteSession(n,i)};i.on("goaway",s),i.on("error",s),i.on("frameError",s),i.on("close",()=>this.deleteSession(n,i)),t.requestTimeout&&i.setTimeout(t.requestTimeout,s);const f=this.sessionCache.get(n)||new G;return f.offerLast(i),this.sessionCache.set(n,f),i}deleteSession(e,t){const n=this.sessionCache.get(e);n&&n.contains(t)&&(n.remove(t),this.sessionCache.set(e,n))}release(e,t){const n=this.getUrlString(e);this.sessionCache.get(n)?.offerLast(t)}destroy(){for(const[e,t]of this.sessionCache){for(const n of t)n.destroyed||n.destroy(),t.remove(n);this.sessionCache.delete(e)}}setMaxConcurrentStreams(e){if(e&&e<=0)throw new RangeError("maxConcurrentStreams must be greater than zero.");this.config.maxConcurrency=e}setDisableConcurrentStreams(e){this.config.disableConcurrency=e}getUrlString(e){return e.destination.toString()}}class j{config;configProvider;metadata={handlerProtocol:"h2"};connectionManager=new X({});static create(e){return typeof e?.handle=="function"?e:new j(e)}constructor(e){this.configProvider=new Promise((t,n)=>{typeof e=="function"?e().then(r=>{t(r||{})}).catch(n):t(e||{})})}destroy(){this.connectionManager.destroy()}async handle(e,{abortSignal:t,requestTimeout:n}={}){this.config||(this.config=await this.configProvider,this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams||!1),this.config.maxConcurrentStreams&&this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams));const{requestTimeout:r,disableConcurrentStreams:i}=this.config,s=n??r;return new Promise((f,c)=>{let g=!1,d;const E=async h=>{await d,f(h)},b=async h=>{await d,c(h)};if(t?.aborted){g=!0;const h=new Error("Request aborted");h.name="AbortError",b(h);return}const{hostname:R,method:C,port:S,protocol:k,query:A}=e;let T="";if(e.username!=null||e.password!=null){const h=e.username??"",y=e.password??"";T=`${h}:${y}@`}const v=`${k}//${T}${R}${S?`:${S}`:""}`,D={destination:new URL(v)},l=this.connectionManager.lease(D,{requestTimeout:this.config?.sessionTimeout,disableConcurrentStreams:i||!1}),p=h=>{i&&this.destroySession(l),g=!0,b(h)},w=N(A||{});let a=e.path;w&&(a+=`?${w}`),e.fragment&&(a+=`#${e.fragment}`);const u=l.request({...e.headers,[$.constants.HTTP2_HEADER_PATH]:a,[$.constants.HTTP2_HEADER_METHOD]:C});if(l.ref(),u.on("response",h=>{const y=new B({statusCode:h[":status"]||-1,headers:I(h),body:u});g=!0,E({response:y}),i&&(l.close(),this.connectionManager.deleteSession(v,l))}),s&&u.setTimeout(s,()=>{u.close();const h=new Error(`Stream timed out because of no activity for ${s} ms`);h.name="TimeoutError",p(h)}),t){const h=()=>{u.close();const y=new Error("Request aborted");y.name="AbortError",p(y)};if(typeof t.addEventListener=="function"){const y=t;y.addEventListener("abort",h,{once:!0}),u.once("close",()=>y.removeEventListener("abort",h))}else t.onabort=h}u.on("frameError",(h,y,W)=>{p(new Error(`Frame type id ${h} in stream id ${W} has failed with code ${y}.`))}),u.on("error",p),u.on("aborted",()=>{p(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${u.rstCode}.`))}),u.on("close",()=>{l.unref(),i&&l.destroy(),g||p(new Error("Unexpected error: http2 request did not get a response"))}),d=O(u,e,s)})}updateHttpClientConfig(e,t){this.config=void 0,this.configProvider=this.configProvider.then(n=>({...n,[e]:t}))}httpHandlerConfigs(){return this.config??{}}destroySession(e){e.destroyed||e.destroy()}}class Y extends M.Writable{bufferedBytes=[];_write(e,t,n){this.bufferedBytes.push(e),n()}}const se=o=>Z(o)?ee(o):new Promise((e,t)=>{const n=new Y;o.pipe(n),o.on("error",r=>{n.end(),t(r)}),n.on("error",t),n.on("finish",function(){const r=new Uint8Array(Buffer.concat(this.bufferedBytes));e(r)})}),Z=o=>typeof ReadableStream=="function"&&o instanceof ReadableStream;async function ee(o){const e=[],t=o.getReader();let n=!1,r=0;for(;!n;){const{done:f,value:c}=await t.read();c&&(e.push(c),r+=c.length),n=f}const i=new Uint8Array(r);let s=0;for(const f of e)i.set(f,s),s+=f.length;return i}export{oe as DEFAULT_REQUEST_TIMEOUT,j as NodeHttp2Handler,_ as NodeHttpHandler,se as streamCollector};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as z,f as x}from"./index-XEVKscP-.js";class T{marshaller;serializer;deserializer;serdeContext;defaultContentType;constructor({marshaller:i,serializer:n,deserializer:o,serdeContext:c,defaultContentType:d}){this.marshaller=i,this.serializer=n,this.deserializer=o,this.serdeContext=c,this.defaultContentType=d}async serializeEventStream({eventStream:i,requestSchema:n,initialRequest:o}){const c=this.marshaller,d=n.getEventStreamMember(),p=n.getMemberSchema(d),y=this.serializer,u=this.defaultContentType,h=Symbol("initialRequestMarker"),S={async*[Symbol.asyncIterator](){if(o){const r={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:u}};y.write(n,o);const t=y.flush();yield{[h]:!0,headers:r,body:t}}for await(const r of i)yield r}};return c.serialize(S,r=>{if(r[h])return{headers:r.headers,body:r.body};const t=Object.keys(r).find(s=>s!=="__type")??"",{additionalHeaders:e,body:a,eventType:l,explicitPayloadContentType:m}=this.writeEventBody(t,p,r);return{headers:{":event-type":{type:"string",value:l},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:m??u},...e},body:a}})}async deserializeEventStream({response:i,responseSchema:n,initialResponseContainer:o}){const c=this.marshaller,d=n.getEventStreamMember(),y=n.getMemberSchema(d).getMemberSchemas(),u=Symbol("initialResponseMarker"),h=c.deserialize(i.body,async t=>{const e=Object.keys(t).find(l=>l!=="__type")??"",a=t[e].body;if(e==="initial-response"){const l=await this.deserializer.read(n,a);return delete l[d],{[u]:!0,...l}}else if(e in y){const l=y[e];if(l.isStructSchema()){const m={};let f=!1;for(const[s,g]of l.structIterator()){const{eventHeader:v,eventPayload:w}=g.getMergedTraits();if(f=f||!!(v||w),w)g.isBlobSchema()?m[s]=a:g.isStringSchema()?m[s]=(this.serdeContext?.utf8Encoder??z)(a):g.isStructSchema()&&(m[s]=await this.deserializer.read(g,a));else if(v){const b=t[e].headers[s]?.value;b!=null&&(g.isNumericSchema()?b&&typeof b=="object"&&"bytes"in b?m[s]=BigInt(b.toString()):m[s]=Number(b):m[s]=b)}}if(f)return{[e]:m};if(a.byteLength===0)return{[e]:{}}}return{[e]:await this.deserializer.read(l,a)}}else return{$unknown:t}}),S=h[Symbol.asyncIterator](),r=await S.next();if(r.done)return h;if(r.value?.[u]){if(!n)throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(const[t,e]of Object.entries(r.value))o[t]=e}return{async*[Symbol.asyncIterator](){for(r?.value?.[u]||(yield r.value);;){const{done:t,value:e}=await S.next();if(t)break;yield e}}}}writeEventBody(i,n,o){const c=this.serializer;let d=i,p=null,y;const u=n.getSchema()[4].includes(i),h={};if(u){const t=n.getMemberSchema(i);if(t.isStructSchema()){for(const[e,a]of t.structIterator()){const{eventHeader:l,eventPayload:m}=a.getMergedTraits();if(m)p=e;else if(l){const f=o[i][e];let s="binary";a.isNumericSchema()?(-2)**31<=f&&f<=2**31-1?s="integer":s="long":a.isTimestampSchema()?s="timestamp":a.isStringSchema()?s="string":a.isBooleanSchema()&&(s="boolean"),f!=null&&(h[e]={type:s,value:f},delete o[i][e])}}if(p!==null){const e=t.getMemberSchema(p);e.isBlobSchema()?y="application/octet-stream":e.isStringSchema()&&(y="text/plain"),c.write(e,o[i][p])}else c.write(t,o[i])}else if(t.isUnitSchema())c.write(t,{});else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}else{const[t,e]=o[i];d=t,c.write(15,e)}const S=c.flush();return{body:typeof S=="string"?(this.serdeContext?.utf8Decoder??x)(S):S,eventType:d,explicitPayloadContentType:y,additionalHeaders:h}}}export{T as EventStreamSerde};
|