@fmdzc/cli-ai 3.1.1 → 3.1.3
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/dist/anthropic-TJJHMK4P.js +47 -0
- package/dist/chunk-BAM5DR4L.js +2 -0
- package/dist/chunk-DYGVT5PG.js +27 -0
- package/dist/chunk-KWCGINWB.js +2 -0
- package/dist/chunk-QPVTJWSV.js +2 -0
- package/dist/cli.js +54 -0
- package/dist/clipboardy-2ZYXPDO4.js +7 -0
- package/dist/devtools-32J76P22.js +8 -0
- package/dist/execa-HQCA4V7K.js +44 -0
- package/dist/index.js +76 -75
- package/dist/openai-IPOZE2MF.js +30 -0
- package/dist/openrouter-2JMS534N.js +42 -0
- package/package.json +2 -3
- package/dist/index.d.ts +0 -2
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as Mt,b as Et,c as sr,d as nr,e as or}from"./chunk-DYGVT5PG.js";import{m as ze,n as Re}from"./chunk-BAM5DR4L.js";import"./chunk-QPVTJWSV.js";function l(s,e,t,r,n){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?s!==e||!n:!e.has(s))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?n.call(s,t):n?n.value=t:e.set(s,t),t}function i(s,e,t,r){if(t==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?s!==e||!r:!e.has(s))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?r:t==="a"?r.call(s):r?r.value:e.get(s)}var At=function(){let{crypto:s}=globalThis;if(s?.randomUUID)return At=s.randomUUID.bind(s),s.randomUUID();let e=new Uint8Array(1),t=s?()=>s.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,r=>(+r^t()&15>>+r/4).toString(16))};function C(s){return typeof s=="object"&&s!==null&&("name"in s&&s.name==="AbortError"||"message"in s&&String(s.message).includes("FetchRequestCanceledException"))}var Me=s=>{if(s instanceof Error)return s;if(typeof s=="object"&&s!==null){try{if(Object.prototype.toString.call(s)==="[object Error]"){let e=new Error(s.message,s.cause?{cause:s.cause}:{});return s.stack&&(e.stack=s.stack),s.cause&&!e.cause&&(e.cause=s.cause),s.name&&(e.name=s.name),e}}catch{}try{return new Error(JSON.stringify(s))}catch{}}return new Error(s)};var h=class extends Error{},x=class s extends h{constructor(e,t,r,n){super(`${s.makeMessage(e,t,r)}`),this.status=e,this.headers=n,this.requestID=n?.get("request-id"),this.error=t}static makeMessage(e,t,r){let n=t?.message?typeof t.message=="string"?t.message:JSON.stringify(t.message):t?JSON.stringify(t):r;return e&&n?`${e} ${n}`:e?`${e} status code (no body)`:n||"(no status code or body)"}static generate(e,t,r,n){if(!e||!n)return new D({message:r,cause:Me(t)});let o=t;return e===400?new oe(e,o,r,n):e===401?new ie(e,o,r,n):e===403?new ae(e,o,r,n):e===404?new ce(e,o,r,n):e===409?new le(e,o,r,n):e===422?new ue(e,o,r,n):e===429?new he(e,o,r,n):e>=500?new de(e,o,r,n):new s(e,o,r,n)}},k=class extends x{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},D=class extends x{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}},ne=class extends D{constructor({message:e}={}){super({message:e??"Request timed out."})}},oe=class extends x{},ie=class extends x{},ae=class extends x{},ce=class extends x{},le=class extends x{},ue=class extends x{},he=class extends x{},de=class extends x{};var Vr=/^[a-z][a-z0-9+.-]*:/i,ir=s=>Vr.test(s),Tt=s=>(Tt=Array.isArray,Tt(s)),It=Tt;function Qe(s){return typeof s!="object"?{}:s??{}}function ar(s){if(!s)return!0;for(let e in s)return!1;return!0}function cr(s,e){return Object.prototype.hasOwnProperty.call(s,e)}var lr=(s,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new h(`${s} must be an integer`);if(e<0)throw new h(`${s} must be a positive integer`);return e};var Ye=s=>{try{return JSON.parse(s)}catch{return}};var ur=s=>new Promise(e=>setTimeout(e,s));var H="0.71.2";var pr=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function Kr(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var Gr=()=>{let s=Kr();if(s==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":H,"X-Stainless-OS":dr(Deno.build.os),"X-Stainless-Arch":hr(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":H,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(s==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":H,"X-Stainless-OS":dr(globalThis.process.platform??"unknown"),"X-Stainless-Arch":hr(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=zr();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":H,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":H,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function zr(){if(typeof navigator>"u"||!navigator)return null;let s=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:t}of s){let r=t.exec(navigator.userAgent);if(r){let n=r[1]||0,o=r[2]||0,a=r[3]||0;return{browser:e,version:`${n}.${o}.${a}`}}}return null}var hr=s=>s==="x32"?"x32":s==="x86_64"||s==="x64"?"x64":s==="arm"?"arm":s==="aarch64"||s==="arm64"?"arm64":s?`other:${s}`:"unknown",dr=s=>(s=s.toLowerCase(),s.includes("ios")?"iOS":s==="android"?"Android":s==="darwin"?"MacOS":s==="win32"?"Windows":s==="freebsd"?"FreeBSD":s==="openbsd"?"OpenBSD":s==="linux"?"Linux":s?`Other:${s}`:"Unknown"),fr,mr=()=>fr??(fr=Gr());function gr(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Ot(...s){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...s)}function Ze(s){let e=Symbol.asyncIterator in s?s[Symbol.asyncIterator]():s[Symbol.iterator]();return Ot({start(){},async pull(t){let{done:r,value:n}=await e.next();r?t.close():t.enqueue(n)},async cancel(){await e.return?.()}})}function Ee(s){if(s[Symbol.asyncIterator])return s;let e=s.getReader();return{async next(){try{let t=await e.read();return t?.done&&e.releaseLock(),t}catch(t){throw e.releaseLock(),t}},async return(){let t=e.cancel();return e.releaseLock(),await t,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function _r(s){if(s===null||typeof s!="object")return;if(s[Symbol.asyncIterator]){await s[Symbol.asyncIterator]().return?.();return}let e=s.getReader(),t=e.cancel();e.releaseLock(),await t}var yr=({headers:s,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});function xr(s){let e=0;for(let n of s)e+=n.length;let t=new Uint8Array(e),r=0;for(let n of s)t.set(n,r),r+=n.length;return t}var br;function Ae(s){let e;return(br??(e=new globalThis.TextEncoder,br=e.encode.bind(e)))(s)}var wr;function Nt(s){let e;return(wr??(e=new globalThis.TextDecoder,wr=e.decode.bind(e)))(s)}var P,R,q=class{constructor(){P.set(this,void 0),R.set(this,void 0),l(this,P,new Uint8Array,"f"),l(this,R,null,"f")}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?Ae(e):e;l(this,P,xr([i(this,P,"f"),t]),"f");let r=[],n;for(;(n=Zr(i(this,P,"f"),i(this,R,"f")))!=null;){if(n.carriage&&i(this,R,"f")==null){l(this,R,n.index,"f");continue}if(i(this,R,"f")!=null&&(n.index!==i(this,R,"f")+1||n.carriage)){r.push(Nt(i(this,P,"f").subarray(0,i(this,R,"f")-1))),l(this,P,i(this,P,"f").subarray(i(this,R,"f")),"f"),l(this,R,null,"f");continue}let o=i(this,R,"f")!==null?n.preceding-1:n.preceding,a=Nt(i(this,P,"f").subarray(0,o));r.push(a),l(this,P,i(this,P,"f").subarray(n.index),"f"),l(this,R,null,"f")}return r}flush(){return i(this,P,"f").length?this.decode(`
|
|
3
|
+
`):[]}};P=new WeakMap,R=new WeakMap;q.NEWLINE_CHARS=new Set([`
|
|
4
|
+
`,"\r"]);q.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Zr(s,e){for(let n=e??0;n<s.length;n++){if(s[n]===10)return{preceding:n,index:n+1,carriage:!1};if(s[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Sr(s){for(let r=0;r<s.length-1;r++){if(s[r]===10&&s[r+1]===10||s[r]===13&&s[r+1]===13)return r+2;if(s[r]===13&&s[r+1]===10&&r+3<s.length&&s[r+2]===13&&s[r+3]===10)return r+4}return-1}var tt={off:0,error:200,warn:300,info:400,debug:500},vt=(s,e,t)=>{if(s){if(cr(tt,s))return s;S(t).warn(`${e} was set to ${JSON.stringify(s)}, expected one of ${JSON.stringify(Object.keys(tt))}`)}};function Te(){}function et(s,e,t){return!e||tt[s]>tt[t]?Te:e[s].bind(e)}var es={error:Te,warn:Te,info:Te,debug:Te},kr=new WeakMap;function S(s){let e=s.logger,t=s.logLevel??"off";if(!e)return es;let r=kr.get(e);if(r&&r[0]===t)return r[1];let n={error:et("error",e,t),warn:et("warn",e,t),info:et("info",e,t),debug:et("debug",e,t)};return kr.set(e,[t,n]),n}var L=s=>(s.options&&(s.options={...s.options},delete s.options.headers),s.headers&&(s.headers=Object.fromEntries((s.headers instanceof Headers?[...s.headers]:Object.entries(s.headers)).map(([e,t])=>[e,e.toLowerCase()==="x-api-key"||e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":t]))),"retryOfRequestLogID"in s&&(s.retryOfRequestLogID&&(s.retryOf=s.retryOfRequestLogID),delete s.retryOfRequestLogID),s);var Ie,B=class s{constructor(e,t,r){this.iterator=e,Ie.set(this,void 0),this.controller=t,l(this,Ie,r,"f")}static fromSSEResponse(e,t,r){let n=!1,o=r?S(r):console;async function*a(){if(n)throw new h("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let c=!1;try{for await(let u of ts(e,t)){if(u.event==="completion")try{yield JSON.parse(u.data)}catch(f){throw o.error("Could not parse message into JSON:",u.data),o.error("From chunk:",u.raw),f}if(u.event==="message_start"||u.event==="message_delta"||u.event==="message_stop"||u.event==="content_block_start"||u.event==="content_block_delta"||u.event==="content_block_stop")try{yield JSON.parse(u.data)}catch(f){throw o.error("Could not parse message into JSON:",u.data),o.error("From chunk:",u.raw),f}if(u.event!=="ping"&&u.event==="error")throw new x(void 0,Ye(u.data)??u.data,void 0,e.headers)}c=!0}catch(u){if(C(u))return;throw u}finally{c||t.abort()}}return new s(a,t,r)}static fromReadableStream(e,t,r){let n=!1;async function*o(){let c=new q,u=Ee(e);for await(let f of u)for(let _ of c.decode(f))yield _;for(let f of c.flush())yield f}async function*a(){if(n)throw new h("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let c=!1;try{for await(let u of o())c||u&&(yield JSON.parse(u));c=!0}catch(u){if(C(u))return;throw u}finally{c||t.abort()}}return new s(a,t,r)}[(Ie=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],t=[],r=this.iterator(),n=o=>({next:()=>{if(o.length===0){let a=r.next();e.push(a),t.push(a)}return o.shift()}});return[new s(()=>n(e),this.controller,i(this,Ie,"f")),new s(()=>n(t),this.controller,i(this,Ie,"f"))]}toReadableStream(){let e=this,t;return Ot({async start(){t=e[Symbol.asyncIterator]()},async pull(r){try{let{value:n,done:o}=await t.next();if(o)return r.close();let a=Ae(JSON.stringify(n)+`
|
|
5
|
+
`);r.enqueue(a)}catch(n){r.error(n)}},async cancel(){await t.return?.()}})}};async function*ts(s,e){if(!s.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new h("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new h("Attempted to iterate over a response with no body");let t=new Bt,r=new q,n=Ee(s.body);for await(let o of rs(n))for(let a of r.decode(o)){let c=t.decode(a);c&&(yield c)}for(let o of r.flush()){let a=t.decode(o);a&&(yield a)}}async function*rs(s){let e=new Uint8Array;for await(let t of s){if(t==null)continue;let r=t instanceof ArrayBuffer?new Uint8Array(t):typeof t=="string"?Ae(t):t,n=new Uint8Array(e.length+r.length);n.set(e),n.set(r,e.length),e=n;let o;for(;(o=Sr(e))!==-1;)yield e.slice(0,o),e=e.slice(o)}e.length>0&&(yield e)}var Bt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let o={event:this.event,data:this.data.join(`
|
|
6
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],o}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,r,n]=ss(e,":");return n.startsWith(" ")&&(n=n.substring(1)),t==="event"?this.event=n:t==="data"&&this.data.push(n),null}};function ss(s,e){let t=s.indexOf(e);return t!==-1?[s.substring(0,t),e,s.substring(t+e.length)]:[s,"",""]}async function rt(s,e){let{response:t,requestLogID:r,retryOfRequestLogID:n,startTime:o}=e,a=await(async()=>{if(e.options.stream)return S(s).debug("response",t.status,t.url,t.headers,t.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(t,e.controller):B.fromSSEResponse(t,e.controller);if(t.status===204)return null;if(e.options.__binaryResponse)return t;let u=t.headers.get("content-type")?.split(";")[0]?.trim();if(u?.includes("application/json")||u?.endsWith("+json")){let b=await t.json();return $t(b,t)}return await t.text()})();return S(s).debug(`[${r}] response parsed`,L({retryOfRequestLogID:n,url:t.url,status:t.status,body:a,durationMs:Date.now()-o})),a}function $t(s,e){return!s||typeof s!="object"||Array.isArray(s)?s:Object.defineProperty(s,"_request_id",{value:e.headers.get("request-id"),enumerable:!1})}var Oe,z=class s extends Promise{constructor(e,t,r=rt){super(n=>{n(null)}),this.responsePromise=t,this.parseResponse=r,Oe.set(this,void 0),l(this,Oe,e,"f")}_thenUnwrap(e){return new s(i(this,Oe,"f"),this.responsePromise,async(t,r)=>$t(e(await this.parseResponse(t,r),r),r.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(i(this,Oe,"f"),e))),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};Oe=new WeakMap;var st,nt=class{constructor(e,t,r,n){st.set(this,void 0),l(this,st,e,"f"),this.options=n,this.response=t,this.body=r}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new h("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await i(this,st,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(st=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}},Ne=class extends z{constructor(e,t,r){super(e,t,async(n,o)=>new r(n,o.response,await rt(n,o),o.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let t of e)yield t}},E=class extends nt{constructor(e,t,r,n){super(e,t,r,n),this.data=r.data||[],this.has_more=r.has_more||!1,this.first_id=r.first_id||null,this.last_id=r.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let t=this.first_id;return t?{...this.options,query:{...Qe(this.options.query),before_id:t}}:null}let e=this.last_id;return e?{...this.options,query:{...Qe(this.options.query),after_id:e}}:null}};var fe=class extends nt{constructor(e,t,r,n){super(e,t,r,n),this.data=r.data||[],this.has_more=r.has_more||!1,this.next_page=r.next_page||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.next_page;return e?{...this.options,query:{...Qe(this.options.query),page:e}}:null}};var Ct=()=>{if(typeof File>"u"){let{process:s}=globalThis,e=typeof s?.versions?.node=="string"&&parseInt(s.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Q(s,e,t){return Ct(),new File(s,e??"unknown_file",t)}function ve(s){return(typeof s=="object"&&s!==null&&("name"in s&&s.name&&String(s.name)||"url"in s&&s.url&&String(s.url)||"filename"in s&&s.filename&&String(s.filename)||"path"in s&&s.path&&String(s.path))||"").split(/[\\/]/).pop()||void 0}var qt=s=>s!=null&&typeof s=="object"&&typeof s[Symbol.asyncIterator]=="function";var pe=async(s,e)=>({...s,body:await is(s.body,e)}),Pr=new WeakMap;function os(s){let e=typeof s=="function"?s:s.fetch,t=Pr.get(e);if(t)return t;let r=(async()=>{try{let n="Response"in e?e.Response:(await e("data:,")).constructor,o=new FormData;return o.toString()!==await new n(o).text()}catch{return!0}})();return Pr.set(e,r),r}var is=async(s,e)=>{if(!await os(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let t=new FormData;return await Promise.all(Object.entries(s||{}).map(([r,n])=>Ft(t,r,n))),t},as=s=>s instanceof Blob&&"name"in s;var Ft=async(s,e,t)=>{if(t!==void 0){if(t==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof t=="string"||typeof t=="number"||typeof t=="boolean")s.append(e,String(t));else if(t instanceof Response){let r={},n=t.headers.get("Content-Type");n&&(r={type:n}),s.append(e,Q([await t.blob()],ve(t),r))}else if(qt(t))s.append(e,Q([await new Response(Ze(t)).blob()],ve(t)));else if(as(t))s.append(e,Q([t],ve(t),{type:t.type}));else if(Array.isArray(t))await Promise.all(t.map(r=>Ft(s,e+"[]",r)));else if(typeof t=="object")await Promise.all(Object.entries(t).map(([r,n])=>Ft(s,`${e}[${r}]`,n)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${t} instead`)}};var Rr=s=>s!=null&&typeof s=="object"&&typeof s.size=="number"&&typeof s.type=="string"&&typeof s.text=="function"&&typeof s.slice=="function"&&typeof s.arrayBuffer=="function",cs=s=>s!=null&&typeof s=="object"&&typeof s.name=="string"&&typeof s.lastModified=="number"&&Rr(s),ls=s=>s!=null&&typeof s=="object"&&typeof s.url=="string"&&typeof s.blob=="function";async function ot(s,e,t){if(Ct(),s=await s,e||(e=ve(s)),cs(s))return s instanceof File&&e==null&&t==null?s:Q([await s.arrayBuffer()],e??s.name,{type:s.type,lastModified:s.lastModified,...t});if(ls(s)){let n=await s.blob();return e||(e=new URL(s.url).pathname.split(/[\\/]/).pop()),Q(await Lt(n),e,t)}let r=await Lt(s);if(!t?.type){let n=r.find(o=>typeof o=="object"&&"type"in o&&o.type);typeof n=="string"&&(t={...t,type:n})}return Q(r,e,t)}async function Lt(s){let e=[];if(typeof s=="string"||ArrayBuffer.isView(s)||s instanceof ArrayBuffer)e.push(s);else if(Rr(s))e.push(s instanceof Blob?s:await s.arrayBuffer());else if(qt(s))for await(let t of s)e.push(...await Lt(t));else{let t=s?.constructor?.name;throw new Error(`Unexpected data type: ${typeof s}${t?`; constructor: ${t}`:""}${us(s)}`)}return e}function us(s){return typeof s!="object"||s===null?"":`; props: [${Object.getOwnPropertyNames(s).map(t=>`"${t}"`).join(", ")}]`}var m=class{constructor(e){this._client=e}};var Mr=Symbol.for("brand.privateNullableHeaders");function*ds(s){if(!s)return;if(Mr in s){let{values:r,nulls:n}=s;yield*r.entries();for(let o of n)yield[o,null];return}let e=!1,t;s instanceof Headers?t=s.entries():It(s)?t=s:(e=!0,t=Object.entries(s??{}));for(let r of t){let n=r[0];if(typeof n!="string")throw new TypeError("expected header name to be a string");let o=It(r[1])?r[1]:[r[1]],a=!1;for(let c of o)c!==void 0&&(e&&!a&&(a=!0,yield[n,null]),yield[n,c])}}var d=s=>{let e=new Headers,t=new Set;for(let r of s){let n=new Set;for(let[o,a]of ds(r)){let c=o.toLowerCase();n.has(c)||(e.delete(o),n.add(c)),a===null?(e.delete(o),t.add(c)):(e.append(o,a),t.delete(c))}}return{[Mr]:!0,values:e,nulls:t}};function Ar(s){return s.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Er=Object.freeze(Object.create(null)),fs=(s=Ar)=>function(t,...r){if(t.length===1)return t[0];let n=!1,o=[],a=t.reduce((_,b,I)=>{/[?#]/.test(b)&&(n=!0);let p=r[I],O=(n?encodeURIComponent:s)(""+p);return I!==r.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??Er)??Er)?.toString)&&(O=p+"",o.push({start:_.length+b.length,length:O.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),_+b+(I===r.length?"":O)},""),c=a.split(/[?#]/,1)[0],u=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,f;for(;(f=u.exec(c))!==null;)o.push({start:f.index,length:f[0].length,error:`Value "${f[0]}" can't be safely passed as a path parameter`});if(o.sort((_,b)=>_.start-b.start),o.length>0){let _=0,b=o.reduce((I,p)=>{let O=" ".repeat(p.start-_),Pt="^".repeat(p.length);return _=p.start+p.length,I+O+Pt},"");throw new h(`Path parameters result in path with invalid segments:
|
|
7
|
+
${o.map(I=>I.error).join(`
|
|
8
|
+
`)}
|
|
9
|
+
${a}
|
|
10
|
+
${b}`)}return a},g=fs(Ar);var me=class extends m{list(e={},t){let{betas:r,...n}=e??{};return this._client.getAPIList("/v1/files",E,{query:n,...t,headers:d([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},t?.headers])})}delete(e,t={},r){let{betas:n}=t??{};return this._client.delete(g`/v1/files/${e}`,{...r,headers:d([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},r?.headers])})}download(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/files/${e}/content`,{...r,headers:d([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}retrieveMetadata(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/files/${e}`,{...r,headers:d([{"anthropic-beta":[...n??[],"files-api-2025-04-14"].toString()},r?.headers])})}upload(e,t){let{betas:r,...n}=e;return this._client.post("/v1/files",pe({body:n,...t,headers:d([{"anthropic-beta":[...r??[],"files-api-2025-04-14"].toString()},t?.headers])},this._client))}};var ge=class extends m{retrieve(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/models/${e}?beta=true`,{...r,headers:d([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},r?.headers])})}list(e={},t){let{betas:r,...n}=e??{};return this._client.getAPIList("/v1/models?beta=true",E,{query:n,...t,headers:d([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},t?.headers])})}};var it={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function jt(s,e,t){return!e||!("parse"in(e.output_format??{}))?{...s,content:s.content.map(r=>{if(r.type==="text"){let n=Object.defineProperty({...r},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(n,"parsed",{get(){return t.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return r}),parsed_output:null}:Ut(s,e,t)}function Ut(s,e,t){let r=null,n=s.content.map(o=>{if(o.type==="text"){let a=gs(e,o.text);r===null&&(r=a);let c=Object.defineProperty({...o},"parsed_output",{value:a,enumerable:!1});return Object.defineProperty(c,"parsed",{get(){return t.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),a},enumerable:!1})}return o});return{...s,content:n,parsed_output:r}}function gs(s,e){if(s.output_format?.type!=="json_schema")return null;try{return"parse"in s.output_format?s.output_format.parse(e):JSON.parse(e)}catch(t){throw new h(`Failed to parse structured output: ${t}`)}}var _s=s=>{let e=0,t=[];for(;e<s.length;){let r=s[e];if(r==="\\"){e++;continue}if(r==="{"){t.push({type:"brace",value:"{"}),e++;continue}if(r==="}"){t.push({type:"brace",value:"}"}),e++;continue}if(r==="["){t.push({type:"paren",value:"["}),e++;continue}if(r==="]"){t.push({type:"paren",value:"]"}),e++;continue}if(r===":"){t.push({type:"separator",value:":"}),e++;continue}if(r===","){t.push({type:"delimiter",value:","}),e++;continue}if(r==='"'){let c="",u=!1;for(r=s[++e];r!=='"';){if(e===s.length){u=!0;break}if(r==="\\"){if(e++,e===s.length){u=!0;break}c+=r+s[e],r=s[++e]}else c+=r,r=s[++e]}r=s[++e],u||t.push({type:"string",value:c});continue}if(r&&/\s/.test(r)){e++;continue}let o=/[0-9]/;if(r&&o.test(r)||r==="-"||r==="."){let c="";for(r==="-"&&(c+=r,r=s[++e]);r&&o.test(r)||r===".";)c+=r,r=s[++e];t.push({type:"number",value:c});continue}let a=/[a-z]/i;if(r&&a.test(r)){let c="";for(;r&&a.test(r)&&e!==s.length;)c+=r,r=s[++e];if(c=="true"||c=="false"||c==="null")t.push({type:"name",value:c});else{e++;continue}continue}e++}return t},_e=s=>{if(s.length===0)return s;let e=s[s.length-1];switch(e.type){case"separator":return s=s.slice(0,s.length-1),_e(s);break;case"number":let t=e.value[e.value.length-1];if(t==="."||t==="-")return s=s.slice(0,s.length-1),_e(s);case"string":let r=s[s.length-2];if(r?.type==="delimiter")return s=s.slice(0,s.length-1),_e(s);if(r?.type==="brace"&&r.value==="{")return s=s.slice(0,s.length-1),_e(s);break;case"delimiter":return s=s.slice(0,s.length-1),_e(s);break}return s},ys=s=>{let e=[];return s.map(t=>{t.type==="brace"&&(t.value==="{"?e.push("}"):e.splice(e.lastIndexOf("}"),1)),t.type==="paren"&&(t.value==="["?e.push("]"):e.splice(e.lastIndexOf("]"),1))}),e.length>0&&e.reverse().map(t=>{t==="}"?s.push({type:"brace",value:"}"}):t==="]"&&s.push({type:"paren",value:"]"})}),s},bs=s=>{let e="";return s.map(t=>{t.type==="string"?e+='"'+t.value+'"':e+=t.value}),e},at=s=>JSON.parse(bs(ys(_e(_s(s)))));var A,J,ye,Be,ct,$e,Fe,lt,Ce,j,qe,ut,ht,Y,dt,ft,Le,Wt,Tr,pt,Dt,Ht,Jt,Ir,Or="__json_buf";function Nr(s){return s.type==="tool_use"||s.type==="server_tool_use"||s.type==="mcp_tool_use"}var mt=class s{constructor(e,t){A.add(this),this.messages=[],this.receivedMessages=[],J.set(this,void 0),ye.set(this,null),this.controller=new AbortController,Be.set(this,void 0),ct.set(this,()=>{}),$e.set(this,()=>{}),Fe.set(this,void 0),lt.set(this,()=>{}),Ce.set(this,()=>{}),j.set(this,{}),qe.set(this,!1),ut.set(this,!1),ht.set(this,!1),Y.set(this,!1),dt.set(this,void 0),ft.set(this,void 0),Le.set(this,void 0),pt.set(this,r=>{if(l(this,ut,!0,"f"),C(r)&&(r=new k),r instanceof k)return l(this,ht,!0,"f"),this._emit("abort",r);if(r instanceof h)return this._emit("error",r);if(r instanceof Error){let n=new h(r.message);return n.cause=r,this._emit("error",n)}return this._emit("error",new h(String(r)))}),l(this,Be,new Promise((r,n)=>{l(this,ct,r,"f"),l(this,$e,n,"f")}),"f"),l(this,Fe,new Promise((r,n)=>{l(this,lt,r,"f"),l(this,Ce,n,"f")}),"f"),i(this,Be,"f").catch(()=>{}),i(this,Fe,"f").catch(()=>{}),l(this,ye,e,"f"),l(this,Le,t?.logger??console,"f")}get response(){return i(this,dt,"f")}get request_id(){return i(this,ft,"f")}async withResponse(){l(this,Y,!0,"f");let e=await i(this,Be,"f");if(!e)throw new Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new s(null);return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,r,{logger:n}={}){let o=new s(t,{logger:n});for(let a of t.messages)o._addMessageParam(a);return l(o,ye,{...t,stream:!0},"f"),o._run(()=>o._createMessage(e,{...t,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),o}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},i(this,pt,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,r){let n=r?.signal,o;n&&(n.aborted&&this.controller.abort(),o=this.controller.abort.bind(this.controller),n.addEventListener("abort",o));try{i(this,A,"m",Dt).call(this);let{response:a,data:c}=await e.create({...t,stream:!0},{...r,signal:this.controller.signal}).withResponse();this._connected(a);for await(let u of c)i(this,A,"m",Ht).call(this,u);if(c.controller.signal?.aborted)throw new k;i(this,A,"m",Jt).call(this)}finally{n&&o&&n.removeEventListener("abort",o)}}_connected(e){this.ended||(l(this,dt,e,"f"),l(this,ft,e?.headers.get("request-id"),"f"),i(this,ct,"f").call(this,e),this._emit("connect"))}get ended(){return i(this,qe,"f")}get errored(){return i(this,ut,"f")}get aborted(){return i(this,ht,"f")}abort(){this.controller.abort()}on(e,t){return(i(this,j,"f")[e]||(i(this,j,"f")[e]=[])).push({listener:t}),this}off(e,t){let r=i(this,j,"f")[e];if(!r)return this;let n=r.findIndex(o=>o.listener===t);return n>=0&&r.splice(n,1),this}once(e,t){return(i(this,j,"f")[e]||(i(this,j,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,r)=>{l(this,Y,!0,"f"),e!=="error"&&this.once("error",r),this.once(e,t)})}async done(){l(this,Y,!0,"f"),await i(this,Fe,"f")}get currentMessage(){return i(this,J,"f")}async finalMessage(){return await this.done(),i(this,A,"m",Wt).call(this)}async finalText(){return await this.done(),i(this,A,"m",Tr).call(this)}_emit(e,...t){if(i(this,qe,"f"))return;e==="end"&&(l(this,qe,!0,"f"),i(this,lt,"f").call(this));let r=i(this,j,"f")[e];if(r&&(i(this,j,"f")[e]=r.filter(n=>!n.once),r.forEach(({listener:n})=>n(...t))),e==="abort"){let n=t[0];!i(this,Y,"f")&&!r?.length&&Promise.reject(n),i(this,$e,"f").call(this,n),i(this,Ce,"f").call(this,n),this._emit("end");return}if(e==="error"){let n=t[0];!i(this,Y,"f")&&!r?.length&&Promise.reject(n),i(this,$e,"f").call(this,n),i(this,Ce,"f").call(this,n),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",i(this,A,"m",Wt).call(this))}async _fromReadableStream(e,t){let r=t?.signal,n;r&&(r.aborted&&this.controller.abort(),n=this.controller.abort.bind(this.controller),r.addEventListener("abort",n));try{i(this,A,"m",Dt).call(this),this._connected(null);let o=B.fromReadableStream(e,this.controller);for await(let a of o)i(this,A,"m",Ht).call(this,a);if(o.controller.signal?.aborted)throw new k;i(this,A,"m",Jt).call(this)}finally{r&&n&&r.removeEventListener("abort",n)}}[(J=new WeakMap,ye=new WeakMap,Be=new WeakMap,ct=new WeakMap,$e=new WeakMap,Fe=new WeakMap,lt=new WeakMap,Ce=new WeakMap,j=new WeakMap,qe=new WeakMap,ut=new WeakMap,ht=new WeakMap,Y=new WeakMap,dt=new WeakMap,ft=new WeakMap,Le=new WeakMap,pt=new WeakMap,A=new WeakSet,Wt=function(){if(this.receivedMessages.length===0)throw new h("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},Tr=function(){if(this.receivedMessages.length===0)throw new h("stream ended without producing a Message with role=assistant");let t=this.receivedMessages.at(-1).content.filter(r=>r.type==="text").map(r=>r.text);if(t.length===0)throw new h("stream ended without producing a content block with type=text");return t.join(" ")},Dt=function(){this.ended||l(this,J,void 0,"f")},Ht=function(t){if(this.ended)return;let r=i(this,A,"m",Ir).call(this,t);switch(this._emit("streamEvent",t,r),t.type){case"content_block_delta":{let n=r.content.at(-1);switch(t.delta.type){case"text_delta":{n.type==="text"&&this._emit("text",t.delta.text,n.text||"");break}case"citations_delta":{n.type==="text"&&this._emit("citation",t.delta.citation,n.citations??[]);break}case"input_json_delta":{Nr(n)&&n.input&&this._emit("inputJson",t.delta.partial_json,n.input);break}case"thinking_delta":{n.type==="thinking"&&this._emit("thinking",t.delta.thinking,n.thinking);break}case"signature_delta":{n.type==="thinking"&&this._emit("signature",n.signature);break}default:t.delta}break}case"message_stop":{this._addMessageParam(r),this._addMessage(jt(r,i(this,ye,"f"),{logger:i(this,Le,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",r.content.at(-1));break}case"message_start":{l(this,J,r,"f");break}case"content_block_start":case"message_delta":break}},Jt=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");let t=i(this,J,"f");if(!t)throw new h("request ended without sending any chunks");return l(this,J,void 0,"f"),jt(t,i(this,ye,"f"),{logger:i(this,Le,"f")})},Ir=function(t){let r=i(this,J,"f");if(t.type==="message_start"){if(r)throw new h(`Unexpected event order, got ${t.type} before receiving "message_stop"`);return t.message}if(!r)throw new h(`Unexpected event order, got ${t.type} before "message_start"`);switch(t.type){case"message_stop":return r;case"message_delta":return r.container=t.delta.container,r.stop_reason=t.delta.stop_reason,r.stop_sequence=t.delta.stop_sequence,r.usage.output_tokens=t.usage.output_tokens,r.context_management=t.context_management,t.usage.input_tokens!=null&&(r.usage.input_tokens=t.usage.input_tokens),t.usage.cache_creation_input_tokens!=null&&(r.usage.cache_creation_input_tokens=t.usage.cache_creation_input_tokens),t.usage.cache_read_input_tokens!=null&&(r.usage.cache_read_input_tokens=t.usage.cache_read_input_tokens),t.usage.server_tool_use!=null&&(r.usage.server_tool_use=t.usage.server_tool_use),r;case"content_block_start":return r.content.push(t.content_block),r;case"content_block_delta":{let n=r.content.at(t.index);switch(t.delta.type){case"text_delta":{n?.type==="text"&&(r.content[t.index]={...n,text:(n.text||"")+t.delta.text});break}case"citations_delta":{n?.type==="text"&&(r.content[t.index]={...n,citations:[...n.citations??[],t.delta.citation]});break}case"input_json_delta":{if(n&&Nr(n)){let o=n[Or]||"";o+=t.delta.partial_json;let a={...n};if(Object.defineProperty(a,Or,{value:o,enumerable:!1,writable:!0}),o)try{a.input=at(o)}catch(c){let u=new h(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${c}. JSON: ${o}`);i(this,pt,"f").call(this,u)}r.content[t.index]=a}break}case"thinking_delta":{n?.type==="thinking"&&(r.content[t.index]={...n,thinking:n.thinking+t.delta.thinking});break}case"signature_delta":{n?.type==="thinking"&&(r.content[t.index]={...n,signature:t.delta.signature});break}default:t.delta}return r}case"content_block_stop":return r}},Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("streamEvent",n=>{let o=t.shift();o?o.resolve(n):e.push(n)}),this.on("end",()=>{r=!0;for(let n of t)n.resolve(void 0);t.length=0}),this.on("abort",n=>{r=!0;for(let o of t)o.reject(n);t.length=0}),this.on("error",n=>{r=!0;for(let o of t)o.reject(n);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((o,a)=>t.push({resolve:o,reject:a})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new B(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};var vr=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
|
|
11
|
+
1. Task Overview
|
|
12
|
+
The user's core request and success criteria
|
|
13
|
+
Any clarifications or constraints they specified
|
|
14
|
+
2. Current State
|
|
15
|
+
What has been completed so far
|
|
16
|
+
Files created, modified, or analyzed (with paths if relevant)
|
|
17
|
+
Key outputs or artifacts produced
|
|
18
|
+
3. Important Discoveries
|
|
19
|
+
Technical constraints or requirements uncovered
|
|
20
|
+
Decisions made and their rationale
|
|
21
|
+
Errors encountered and how they were resolved
|
|
22
|
+
What approaches were tried that didn't work (and why)
|
|
23
|
+
4. Next Steps
|
|
24
|
+
Specific actions needed to complete the task
|
|
25
|
+
Any blockers or open questions to resolve
|
|
26
|
+
Priority order if multiple steps remain
|
|
27
|
+
5. Context to Preserve
|
|
28
|
+
User preferences or style requirements
|
|
29
|
+
Domain-specific details that aren't obvious
|
|
30
|
+
Any promises made to the user
|
|
31
|
+
Be concise but complete\u2014err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
|
|
32
|
+
Wrap your summary in <summary></summary> tags.`;var je,be,Z,w,Ue,M,U,X,We,Br,Xt;function $r(){let s,e;return{promise:new Promise((r,n)=>{s=r,e=n}),resolve:s,reject:e}}var we=class{constructor(e,t,r){je.add(this),this.client=e,be.set(this,!1),Z.set(this,!1),w.set(this,void 0),Ue.set(this,void 0),M.set(this,void 0),U.set(this,void 0),X.set(this,void 0),We.set(this,0),l(this,w,{params:{...t,messages:structuredClone(t.messages)}},"f"),l(this,Ue,{...r,headers:d([{"x-stainless-helper":"BetaToolRunner"},r?.headers])},"f"),l(this,X,$r(),"f")}async*[(be=new WeakMap,Z=new WeakMap,w=new WeakMap,Ue=new WeakMap,M=new WeakMap,U=new WeakMap,X=new WeakMap,We=new WeakMap,je=new WeakSet,Br=async function(){let t=i(this,w,"f").params.compactionControl;if(!t||!t.enabled)return!1;let r=0;if(i(this,M,"f")!==void 0)try{let f=await i(this,M,"f");r=f.usage.input_tokens+(f.usage.cache_creation_input_tokens??0)+(f.usage.cache_read_input_tokens??0)+f.usage.output_tokens}catch{return!1}let n=t.contextTokenThreshold??1e5;if(r<n)return!1;let o=t.model??i(this,w,"f").params.model,a=t.summaryPrompt??vr,c=i(this,w,"f").params.messages;if(c[c.length-1].role==="assistant"){let f=c[c.length-1];if(Array.isArray(f.content)){let _=f.content.filter(b=>b.type!=="tool_use");_.length===0?c.pop():f.content=_}}let u=await this.client.beta.messages.create({model:o,messages:[...c,{role:"user",content:[{type:"text",text:a}]}],max_tokens:i(this,w,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(u.content[0]?.type!=="text")throw new h("Expected text response for compaction");return i(this,w,"f").params.messages=[{role:"user",content:u.content}],!0},Symbol.asyncIterator)](){var e;if(i(this,be,"f"))throw new h("Cannot iterate over a consumed stream");l(this,be,!0,"f"),l(this,Z,!0,"f"),l(this,U,void 0,"f");try{for(;;){let t;try{if(i(this,w,"f").params.max_iterations&&i(this,We,"f")>=i(this,w,"f").params.max_iterations)break;l(this,Z,!1,"f"),l(this,U,void 0,"f"),l(this,We,(e=i(this,We,"f"),e++,e),"f"),l(this,M,void 0,"f");let{max_iterations:r,compactionControl:n,...o}=i(this,w,"f").params;if(o.stream?(t=this.client.beta.messages.stream({...o},i(this,Ue,"f")),l(this,M,t.finalMessage(),"f"),i(this,M,"f").catch(()=>{}),yield t):(l(this,M,this.client.beta.messages.create({...o,stream:!1},i(this,Ue,"f")),"f"),yield i(this,M,"f")),!await i(this,je,"m",Br).call(this)){if(!i(this,Z,"f")){let{role:u,content:f}=await i(this,M,"f");i(this,w,"f").params.messages.push({role:u,content:f})}let c=await i(this,je,"m",Xt).call(this,i(this,w,"f").params.messages.at(-1));if(c)i(this,w,"f").params.messages.push(c);else if(!i(this,Z,"f"))break}}finally{t&&t.abort()}}if(!i(this,M,"f"))throw new h("ToolRunner concluded without a message from the server");i(this,X,"f").resolve(await i(this,M,"f"))}catch(t){throw l(this,be,!1,"f"),i(this,X,"f").promise.catch(()=>{}),i(this,X,"f").reject(t),l(this,X,$r(),"f"),t}}setMessagesParams(e){typeof e=="function"?i(this,w,"f").params=e(i(this,w,"f").params):i(this,w,"f").params=e,l(this,Z,!0,"f"),l(this,U,void 0,"f")}async generateToolResponse(){let e=await i(this,M,"f")??this.params.messages.at(-1);return e?i(this,je,"m",Xt).call(this,e):null}done(){return i(this,X,"f").promise}async runUntilDone(){if(!i(this,be,"f"))for await(let e of this);return this.done()}get params(){return i(this,w,"f").params}pushMessages(...e){this.setMessagesParams(t=>({...t,messages:[...t.messages,...e]}))}then(e,t){return this.runUntilDone().then(e,t)}};Xt=async function(e){return i(this,U,"f")!==void 0?i(this,U,"f"):(l(this,U,xs(i(this,w,"f").params,e),"f"),i(this,U,"f"))};async function xs(s,e=s.messages.at(-1)){if(!e||e.role!=="assistant"||!e.content||typeof e.content=="string")return null;let t=e.content.filter(n=>n.type==="tool_use");return t.length===0?null:{role:"user",content:await Promise.all(t.map(async n=>{let o=s.tools.find(a=>("name"in a?a.name:a.mcp_server_name)===n.name);if(!o||!("run"in o))return{type:"tool_result",tool_use_id:n.id,content:`Error: Tool '${n.name}' not found`,is_error:!0};try{let a=n.input;"parse"in o&&o.parse&&(a=o.parse(a));let c=await o.run(a);return{type:"tool_result",tool_use_id:n.id,content:c}}catch(a){return{type:"tool_result",tool_use_id:n.id,content:`Error: ${a instanceof Error?a.message:String(a)}`,is_error:!0}}}))}}var xe=class s{constructor(e,t){this.iterator=e,this.controller=t}async*decoder(){let e=new q;for await(let t of this.iterator)for(let r of e.decode(t))yield JSON.parse(r);for(let t of e.flush())yield JSON.parse(t)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse(e,t){if(!e.body)throw t.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new h("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new h("Attempted to iterate over a response with no body");return new s(Ee(e.body),t)}};var Se=class extends m{create(e,t){let{betas:r,...n}=e;return this._client.post("/v1/messages/batches?beta=true",{body:n,...t,headers:d([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},t?.headers])})}retrieve(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/messages/batches/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},r?.headers])})}list(e={},t){let{betas:r,...n}=e??{};return this._client.getAPIList("/v1/messages/batches?beta=true",E,{query:n,...t,headers:d([{"anthropic-beta":[...r??[],"message-batches-2024-09-24"].toString()},t?.headers])})}delete(e,t={},r){let{betas:n}=t??{};return this._client.delete(g`/v1/messages/batches/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},r?.headers])})}cancel(e,t={},r){let{betas:n}=t??{};return this._client.post(g`/v1/messages/batches/${e}/cancel?beta=true`,{...r,headers:d([{"anthropic-beta":[...n??[],"message-batches-2024-09-24"].toString()},r?.headers])})}async results(e,t={},r){let n=await this.retrieve(e);if(!n.results_url)throw new h(`No batch \`results_url\`; Has it finished processing? ${n.processing_status} - ${n.id}`);let{betas:o}=t??{};return this._client.get(n.results_url,{...r,headers:d([{"anthropic-beta":[...o??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},r?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((a,c)=>xe.fromResponse(c.response,c.controller))}};var Fr={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"},V=class extends m{constructor(){super(...arguments),this.batches=new Se(this._client)}create(e,t){let{betas:r,...n}=e;n.model in Fr&&console.warn(`The model '${n.model}' is deprecated and will reach end-of-life on ${Fr[n.model]}
|
|
33
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let o=this._client._options.timeout;if(!n.stream&&o==null){let a=it[n.model]??void 0;o=this._client.calculateNonstreamingTimeout(n.max_tokens,a)}return this._client.post("/v1/messages?beta=true",{body:n,timeout:o??6e5,...t,headers:d([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}parse(e,t){return t={...t,headers:d([{"anthropic-beta":[...e.betas??[],"structured-outputs-2025-11-13"].toString()},t?.headers])},this.create(e,t).then(r=>Ut(r,e,{logger:this._client.logger??console}))}stream(e,t){return mt.createMessage(this,e,t)}countTokens(e,t){let{betas:r,...n}=e;return this._client.post("/v1/messages/count_tokens?beta=true",{body:n,...t,headers:d([{"anthropic-beta":[...r??[],"token-counting-2024-11-01"].toString()},t?.headers])})}toolRunner(e,t){return new we(this._client,e,t)}};V.Batches=Se;V.BetaToolRunner=we;var ke=class extends m{create(e,t={},r){let{betas:n,...o}=t??{};return this._client.post(g`/v1/skills/${e}/versions?beta=true`,pe({body:o,...r,headers:d([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},r?.headers])},this._client))}retrieve(e,t,r){let{skill_id:n,betas:o}=t;return this._client.get(g`/v1/skills/${n}/versions/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...o??[],"skills-2025-10-02"].toString()},r?.headers])})}list(e,t={},r){let{betas:n,...o}=t??{};return this._client.getAPIList(g`/v1/skills/${e}/versions?beta=true`,fe,{query:o,...r,headers:d([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},r?.headers])})}delete(e,t,r){let{skill_id:n,betas:o}=t;return this._client.delete(g`/v1/skills/${n}/versions/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...o??[],"skills-2025-10-02"].toString()},r?.headers])})}};var ee=class extends m{constructor(){super(...arguments),this.versions=new ke(this._client)}create(e={},t){let{betas:r,...n}=e??{};return this._client.post("/v1/skills?beta=true",pe({body:n,...t,headers:d([{"anthropic-beta":[...r??[],"skills-2025-10-02"].toString()},t?.headers])},this._client))}retrieve(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/skills/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},r?.headers])})}list(e={},t){let{betas:r,...n}=e??{};return this._client.getAPIList("/v1/skills?beta=true",fe,{query:n,...t,headers:d([{"anthropic-beta":[...r??[],"skills-2025-10-02"].toString()},t?.headers])})}delete(e,t={},r){let{betas:n}=t??{};return this._client.delete(g`/v1/skills/${e}?beta=true`,{...r,headers:d([{"anthropic-beta":[...n??[],"skills-2025-10-02"].toString()},r?.headers])})}};ee.Versions=ke;var N=class extends m{constructor(){super(...arguments),this.models=new ge(this._client),this.messages=new V(this._client),this.files=new me(this._client),this.skills=new ee(this._client)}};N.Models=ge;N.Messages=V;N.Files=me;N.Skills=ee;var te=class extends m{create(e,t){let{betas:r,...n}=e;return this._client.post("/v1/complete",{body:n,timeout:this._client._options.timeout??6e5,...t,headers:d([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},t?.headers]),stream:e.stream??!1})}};var T,K,De,gt,He,Je,_t,Xe,W,Ve,yt,bt,re,wt,xt,Vt,Cr,Kt,Gt,zt,Qt,qr,Lr="__json_buf";function jr(s){return s.type==="tool_use"||s.type==="server_tool_use"}var St=class s{constructor(){T.add(this),this.messages=[],this.receivedMessages=[],K.set(this,void 0),this.controller=new AbortController,De.set(this,void 0),gt.set(this,()=>{}),He.set(this,()=>{}),Je.set(this,void 0),_t.set(this,()=>{}),Xe.set(this,()=>{}),W.set(this,{}),Ve.set(this,!1),yt.set(this,!1),bt.set(this,!1),re.set(this,!1),wt.set(this,void 0),xt.set(this,void 0),Kt.set(this,e=>{if(l(this,yt,!0,"f"),C(e)&&(e=new k),e instanceof k)return l(this,bt,!0,"f"),this._emit("abort",e);if(e instanceof h)return this._emit("error",e);if(e instanceof Error){let t=new h(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new h(String(e)))}),l(this,De,new Promise((e,t)=>{l(this,gt,e,"f"),l(this,He,t,"f")}),"f"),l(this,Je,new Promise((e,t)=>{l(this,_t,e,"f"),l(this,Xe,t,"f")}),"f"),i(this,De,"f").catch(()=>{}),i(this,Je,"f").catch(()=>{})}get response(){return i(this,wt,"f")}get request_id(){return i(this,xt,"f")}async withResponse(){l(this,re,!0,"f");let e=await i(this,De,"f");if(!e)throw new Error("Could not resolve a `Response` object");return{data:this,response:e,request_id:e.headers.get("request-id")}}static fromReadableStream(e){let t=new s;return t._run(()=>t._fromReadableStream(e)),t}static createMessage(e,t,r){let n=new s;for(let o of t.messages)n._addMessageParam(o);return n._run(()=>n._createMessage(e,{...t,stream:!0},{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}_run(e){e().then(()=>{this._emitFinal(),this._emit("end")},i(this,Kt,"f"))}_addMessageParam(e){this.messages.push(e)}_addMessage(e,t=!0){this.receivedMessages.push(e),t&&this._emit("message",e)}async _createMessage(e,t,r){let n=r?.signal,o;n&&(n.aborted&&this.controller.abort(),o=this.controller.abort.bind(this.controller),n.addEventListener("abort",o));try{i(this,T,"m",Gt).call(this);let{response:a,data:c}=await e.create({...t,stream:!0},{...r,signal:this.controller.signal}).withResponse();this._connected(a);for await(let u of c)i(this,T,"m",zt).call(this,u);if(c.controller.signal?.aborted)throw new k;i(this,T,"m",Qt).call(this)}finally{n&&o&&n.removeEventListener("abort",o)}}_connected(e){this.ended||(l(this,wt,e,"f"),l(this,xt,e?.headers.get("request-id"),"f"),i(this,gt,"f").call(this,e),this._emit("connect"))}get ended(){return i(this,Ve,"f")}get errored(){return i(this,yt,"f")}get aborted(){return i(this,bt,"f")}abort(){this.controller.abort()}on(e,t){return(i(this,W,"f")[e]||(i(this,W,"f")[e]=[])).push({listener:t}),this}off(e,t){let r=i(this,W,"f")[e];if(!r)return this;let n=r.findIndex(o=>o.listener===t);return n>=0&&r.splice(n,1),this}once(e,t){return(i(this,W,"f")[e]||(i(this,W,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,r)=>{l(this,re,!0,"f"),e!=="error"&&this.once("error",r),this.once(e,t)})}async done(){l(this,re,!0,"f"),await i(this,Je,"f")}get currentMessage(){return i(this,K,"f")}async finalMessage(){return await this.done(),i(this,T,"m",Vt).call(this)}async finalText(){return await this.done(),i(this,T,"m",Cr).call(this)}_emit(e,...t){if(i(this,Ve,"f"))return;e==="end"&&(l(this,Ve,!0,"f"),i(this,_t,"f").call(this));let r=i(this,W,"f")[e];if(r&&(i(this,W,"f")[e]=r.filter(n=>!n.once),r.forEach(({listener:n})=>n(...t))),e==="abort"){let n=t[0];!i(this,re,"f")&&!r?.length&&Promise.reject(n),i(this,He,"f").call(this,n),i(this,Xe,"f").call(this,n),this._emit("end");return}if(e==="error"){let n=t[0];!i(this,re,"f")&&!r?.length&&Promise.reject(n),i(this,He,"f").call(this,n),i(this,Xe,"f").call(this,n),this._emit("end")}}_emitFinal(){this.receivedMessages.at(-1)&&this._emit("finalMessage",i(this,T,"m",Vt).call(this))}async _fromReadableStream(e,t){let r=t?.signal,n;r&&(r.aborted&&this.controller.abort(),n=this.controller.abort.bind(this.controller),r.addEventListener("abort",n));try{i(this,T,"m",Gt).call(this),this._connected(null);let o=B.fromReadableStream(e,this.controller);for await(let a of o)i(this,T,"m",zt).call(this,a);if(o.controller.signal?.aborted)throw new k;i(this,T,"m",Qt).call(this)}finally{r&&n&&r.removeEventListener("abort",n)}}[(K=new WeakMap,De=new WeakMap,gt=new WeakMap,He=new WeakMap,Je=new WeakMap,_t=new WeakMap,Xe=new WeakMap,W=new WeakMap,Ve=new WeakMap,yt=new WeakMap,bt=new WeakMap,re=new WeakMap,wt=new WeakMap,xt=new WeakMap,Kt=new WeakMap,T=new WeakSet,Vt=function(){if(this.receivedMessages.length===0)throw new h("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},Cr=function(){if(this.receivedMessages.length===0)throw new h("stream ended without producing a Message with role=assistant");let t=this.receivedMessages.at(-1).content.filter(r=>r.type==="text").map(r=>r.text);if(t.length===0)throw new h("stream ended without producing a content block with type=text");return t.join(" ")},Gt=function(){this.ended||l(this,K,void 0,"f")},zt=function(t){if(this.ended)return;let r=i(this,T,"m",qr).call(this,t);switch(this._emit("streamEvent",t,r),t.type){case"content_block_delta":{let n=r.content.at(-1);switch(t.delta.type){case"text_delta":{n.type==="text"&&this._emit("text",t.delta.text,n.text||"");break}case"citations_delta":{n.type==="text"&&this._emit("citation",t.delta.citation,n.citations??[]);break}case"input_json_delta":{jr(n)&&n.input&&this._emit("inputJson",t.delta.partial_json,n.input);break}case"thinking_delta":{n.type==="thinking"&&this._emit("thinking",t.delta.thinking,n.thinking);break}case"signature_delta":{n.type==="thinking"&&this._emit("signature",n.signature);break}default:t.delta}break}case"message_stop":{this._addMessageParam(r),this._addMessage(r,!0);break}case"content_block_stop":{this._emit("contentBlock",r.content.at(-1));break}case"message_start":{l(this,K,r,"f");break}case"content_block_start":case"message_delta":break}},Qt=function(){if(this.ended)throw new h("stream has ended, this shouldn't happen");let t=i(this,K,"f");if(!t)throw new h("request ended without sending any chunks");return l(this,K,void 0,"f"),t},qr=function(t){let r=i(this,K,"f");if(t.type==="message_start"){if(r)throw new h(`Unexpected event order, got ${t.type} before receiving "message_stop"`);return t.message}if(!r)throw new h(`Unexpected event order, got ${t.type} before "message_start"`);switch(t.type){case"message_stop":return r;case"message_delta":return r.stop_reason=t.delta.stop_reason,r.stop_sequence=t.delta.stop_sequence,r.usage.output_tokens=t.usage.output_tokens,t.usage.input_tokens!=null&&(r.usage.input_tokens=t.usage.input_tokens),t.usage.cache_creation_input_tokens!=null&&(r.usage.cache_creation_input_tokens=t.usage.cache_creation_input_tokens),t.usage.cache_read_input_tokens!=null&&(r.usage.cache_read_input_tokens=t.usage.cache_read_input_tokens),t.usage.server_tool_use!=null&&(r.usage.server_tool_use=t.usage.server_tool_use),r;case"content_block_start":return r.content.push({...t.content_block}),r;case"content_block_delta":{let n=r.content.at(t.index);switch(t.delta.type){case"text_delta":{n?.type==="text"&&(r.content[t.index]={...n,text:(n.text||"")+t.delta.text});break}case"citations_delta":{n?.type==="text"&&(r.content[t.index]={...n,citations:[...n.citations??[],t.delta.citation]});break}case"input_json_delta":{if(n&&jr(n)){let o=n[Lr]||"";o+=t.delta.partial_json;let a={...n};Object.defineProperty(a,Lr,{value:o,enumerable:!1,writable:!0}),o&&(a.input=at(o)),r.content[t.index]=a}break}case"thinking_delta":{n?.type==="thinking"&&(r.content[t.index]={...n,thinking:n.thinking+t.delta.thinking});break}case"signature_delta":{n?.type==="thinking"&&(r.content[t.index]={...n,signature:t.delta.signature});break}default:t.delta}return r}case"content_block_stop":return r}},Symbol.asyncIterator)](){let e=[],t=[],r=!1;return this.on("streamEvent",n=>{let o=t.shift();o?o.resolve(n):e.push(n)}),this.on("end",()=>{r=!0;for(let n of t)n.resolve(void 0);t.length=0}),this.on("abort",n=>{r=!0;for(let o of t)o.reject(n);t.length=0}),this.on("error",n=>{r=!0;for(let o of t)o.reject(n);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:r?{value:void 0,done:!0}:new Promise((o,a)=>t.push({resolve:o,reject:a})).then(o=>o?{value:o,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new B(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};var Pe=class extends m{create(e,t){return this._client.post("/v1/messages/batches",{body:e,...t})}retrieve(e,t){return this._client.get(g`/v1/messages/batches/${e}`,t)}list(e={},t){return this._client.getAPIList("/v1/messages/batches",E,{query:e,...t})}delete(e,t){return this._client.delete(g`/v1/messages/batches/${e}`,t)}cancel(e,t){return this._client.post(g`/v1/messages/batches/${e}/cancel`,t)}async results(e,t){let r=await this.retrieve(e);if(!r.results_url)throw new h(`No batch \`results_url\`; Has it finished processing? ${r.processing_status} - ${r.id}`);return this._client.get(r.results_url,{...t,headers:d([{Accept:"application/binary"},t?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((n,o)=>xe.fromResponse(o.response,o.controller))}};var G=class extends m{constructor(){super(...arguments),this.batches=new Pe(this._client)}create(e,t){e.model in Ur&&console.warn(`The model '${e.model}' is deprecated and will reach end-of-life on ${Ur[e.model]}
|
|
34
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let r=this._client._options.timeout;if(!e.stream&&r==null){let n=it[e.model]??void 0;r=this._client.calculateNonstreamingTimeout(e.max_tokens,n)}return this._client.post("/v1/messages",{body:e,timeout:r??6e5,...t,stream:e.stream??!1})}stream(e,t){return St.createMessage(this,e,t)}countTokens(e,t){return this._client.post("/v1/messages/count_tokens",{body:e,...t})}},Ur={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"};G.Batches=Pe;var se=class extends m{retrieve(e,t={},r){let{betas:n}=t??{};return this._client.get(g`/v1/models/${e}`,{...r,headers:d([{...n?.toString()!=null?{"anthropic-beta":n?.toString()}:void 0},r?.headers])})}list(e={},t){let{betas:r,...n}=e??{};return this._client.getAPIList("/v1/models",E,{query:n,...t,headers:d([{...r?.toString()!=null?{"anthropic-beta":r?.toString()}:void 0},t?.headers])})}};var Ke=s=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[s]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(s)?.trim()};var Yt,Zt,kt,Wr,Dr="\\n\\nHuman:",Hr="\\n\\nAssistant:",y=class{constructor({baseURL:e=Ke("ANTHROPIC_BASE_URL"),apiKey:t=Ke("ANTHROPIC_API_KEY")??null,authToken:r=Ke("ANTHROPIC_AUTH_TOKEN")??null,...n}={}){Yt.add(this),kt.set(this,void 0);let o={apiKey:t,authToken:r,...n,baseURL:e||"https://api.anthropic.com"};if(!o.dangerouslyAllowBrowser&&pr())throw new h(`It looks like you're running in a browser-like environment.
|
|
35
|
+
|
|
36
|
+
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
37
|
+
If you understand the risks and have appropriate mitigations in place,
|
|
38
|
+
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
39
|
+
|
|
40
|
+
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
41
|
+
`);this.baseURL=o.baseURL,this.timeout=o.timeout??Zt.DEFAULT_TIMEOUT,this.logger=o.logger??console;let a="warn";this.logLevel=a,this.logLevel=vt(o.logLevel,"ClientOptions.logLevel",this)??vt(Ke("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??a,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??gr(),l(this,kt,yr,"f"),this._options=o,this.apiKey=typeof t=="string"?t:null,this.authToken=r}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:t}){if(!(e.get("x-api-key")||e.get("authorization"))&&!(this.apiKey&&e.get("x-api-key"))&&!t.has("x-api-key")&&!(this.authToken&&e.get("authorization"))&&!t.has("authorization"))throw new Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders(e){return d([await this.apiKeyAuth(e),await this.bearerAuth(e)])}async apiKeyAuth(e){if(this.apiKey!=null)return d([{"X-Api-Key":this.apiKey}])}async bearerAuth(e){if(this.authToken!=null)return d([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery(e){return Object.entries(e).filter(([t,r])=>typeof r<"u").map(([t,r])=>{if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")return`${encodeURIComponent(t)}=${encodeURIComponent(r)}`;if(r===null)return`${encodeURIComponent(t)}=`;throw new h(`Cannot stringify type ${typeof r}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${H}`}defaultIdempotencyKey(){return`stainless-node-retry-${At()}`}makeStatusError(e,t,r,n){return x.generate(e,t,r,n)}buildURL(e,t,r){let n=!i(this,Yt,"m",Wr).call(this)&&r||this.baseURL,o=ir(e)?new URL(e):new URL(n+(n.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery();return ar(a)||(t={...a,...t}),typeof t=="object"&&t&&!Array.isArray(t)&&(o.search=this.stringifyQuery(t)),o.toString()}_calculateNonstreamingTimeout(e){if(3600*e/128e3>600)throw new h("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600*1e3}async prepareOptions(e){}async prepareRequest(e,{url:t,options:r}){}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,r){return this.request(Promise.resolve(r).then(n=>({method:e,path:t,...n})))}request(e,t=null){return new z(this,this.makeRequest(e,t,void 0))}async makeRequest(e,t,r){let n=await e,o=n.maxRetries??this.maxRetries;t==null&&(t=o),await this.prepareOptions(n);let{req:a,url:c,timeout:u}=await this.buildRequest(n,{retryCount:o-t});await this.prepareRequest(a,{url:c,options:n});let f="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),_=r===void 0?"":`, retryOf: ${r}`,b=Date.now();if(S(this).debug(`[${f}] sending request`,L({retryOfRequestLogID:r,method:n.method,url:c,options:n,headers:a.headers})),n.signal?.aborted)throw new k;let I=new AbortController,p=await this.fetchWithTimeout(c,a,u,I).catch(Me),O=Date.now();if(p instanceof globalThis.Error){let F=`retrying, ${t} attempts remaining`;if(n.signal?.aborted)throw new k;let v=C(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(t)return S(this).info(`[${f}] connection ${v?"timed out":"failed"} - ${F}`),S(this).debug(`[${f}] connection ${v?"timed out":"failed"} (${F})`,L({retryOfRequestLogID:r,url:c,durationMs:O-b,message:p.message})),this.retryRequest(n,t,r??f);throw S(this).info(`[${f}] connection ${v?"timed out":"failed"} - error; no more retries left`),S(this).debug(`[${f}] connection ${v?"timed out":"failed"} (error; no more retries left)`,L({retryOfRequestLogID:r,url:c,durationMs:O-b,message:p.message})),v?new ne:new D({cause:p})}let Pt=[...p.headers.entries()].filter(([F])=>F==="request-id").map(([F,v])=>", "+F+": "+JSON.stringify(v)).join(""),Rt=`[${f}${_}${Pt}] ${a.method} ${c} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${O-b}ms`;if(!p.ok){let F=await this.shouldRetry(p);if(t&&F){let Ge=`retrying, ${t} attempts remaining`;return await _r(p.body),S(this).info(`${Rt} - ${Ge}`),S(this).debug(`[${f}] response error (${Ge})`,L({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,durationMs:O-b})),this.retryRequest(n,t,r??f,p.headers)}let v=F?"error; no more retries left":"error; not retryable";S(this).info(`${Rt} - ${v}`);let er=await p.text().catch(Ge=>Me(Ge).message),tr=Ye(er),rr=tr?void 0:er;throw S(this).debug(`[${f}] response error (${v})`,L({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,message:rr,durationMs:Date.now()-b})),this.makeStatusError(p.status,tr,rr,p.headers)}return S(this).info(Rt),S(this).debug(`[${f}] response start`,L({retryOfRequestLogID:r,url:p.url,status:p.status,headers:p.headers,durationMs:O-b})),{response:p,options:n,controller:I,requestLogID:f,retryOfRequestLogID:r,startTime:b}}getAPIList(e,t,r){return this.requestAPIList(t,{method:"get",path:e,...r})}requestAPIList(e,t){let r=this.makeRequest(t,null,void 0);return new Ne(this,r,e)}async fetchWithTimeout(e,t,r,n){let{signal:o,method:a,...c}=t||{};o&&o.addEventListener("abort",()=>n.abort());let u=setTimeout(()=>n.abort(),r),f=globalThis.ReadableStream&&c.body instanceof globalThis.ReadableStream||typeof c.body=="object"&&c.body!==null&&Symbol.asyncIterator in c.body,_={signal:n.signal,...f?{duplex:"half"}:{},method:"GET",...c};a&&(_.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,_)}finally{clearTimeout(u)}}async shouldRetry(e){let t=e.headers.get("x-should-retry");return t==="true"?!0:t==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,t,r,n){let o,a=n?.get("retry-after-ms");if(a){let u=parseFloat(a);Number.isNaN(u)||(o=u)}let c=n?.get("retry-after");if(c&&!o){let u=parseFloat(c);Number.isNaN(u)?o=Date.parse(c)-Date.now():o=u*1e3}if(!(o&&0<=o&&o<60*1e3)){let u=e.maxRetries??this.maxRetries;o=this.calculateDefaultRetryTimeoutMillis(t,u)}return await ur(o),this.makeRequest(e,t-1,r)}calculateDefaultRetryTimeoutMillis(e,t){let o=t-e,a=Math.min(.5*Math.pow(2,o),8),c=1-Math.random()*.25;return a*c*1e3}calculateNonstreamingTimeout(e,t){if(36e5*e/128e3>6e5||t!=null&&e>t)throw new h("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 6e5}async buildRequest(e,{retryCount:t=0}={}){let r={...e},{method:n,path:o,query:a,defaultBaseURL:c}=r,u=this.buildURL(o,a,c);"timeout"in r&&lr("timeout",r.timeout),r.timeout=r.timeout??this.timeout;let{bodyHeaders:f,body:_}=this.buildBody({options:r}),b=await this.buildHeaders({options:e,method:n,bodyHeaders:f,retryCount:t});return{req:{method:n,headers:b,...r.signal&&{signal:r.signal},...globalThis.ReadableStream&&_ instanceof globalThis.ReadableStream&&{duplex:"half"},..._&&{body:_},...this.fetchOptions??{},...r.fetchOptions??{}},url:u,timeout:r.timeout}}async buildHeaders({options:e,method:t,bodyHeaders:r,retryCount:n}){let o={};this.idempotencyHeader&&t!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),o[this.idempotencyHeader]=e.idempotencyKey);let a=d([o,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(n),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...mr(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders(e),this._options.defaultHeaders,r,e.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:e,headers:t}}){if(!e)return{bodyHeaders:void 0,body:void 0};let r=d([t]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&r.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:Ze(e)}:i(this,kt,"f").call(this,{body:e,headers:r})}};Zt=y,kt=new WeakMap,Yt=new WeakSet,Wr=function(){return this.baseURL!=="https://api.anthropic.com"};y.Anthropic=Zt;y.HUMAN_PROMPT=Dr;y.AI_PROMPT=Hr;y.DEFAULT_TIMEOUT=6e5;y.AnthropicError=h;y.APIError=x;y.APIConnectionError=D;y.APIConnectionTimeoutError=ne;y.APIUserAbortError=k;y.NotFoundError=ce;y.ConflictError=le;y.RateLimitError=he;y.BadRequestError=oe;y.AuthenticationError=ie;y.InternalServerError=de;y.PermissionDeniedError=ae;y.UnprocessableEntityError=ue;y.toFile=ot;var $=class extends y{constructor(){super(...arguments),this.completions=new te(this),this.messages=new G(this),this.models=new se(this),this.beta=new N(this)}};$.Completions=te;$.Messages=G;$.Models=se;$.Beta=N;var Jr=class{client;model;constructor(e,t){this.client=new $({apiKey:e}),this.model=t}async generateCommand(e,t){for(let r=0;r<Re.maxAttempts;r++)try{let o=(await this.client.messages.create({model:this.model,max_tokens:ze,system:Mt(t.shell),messages:[{role:"user",content:Et(e,t)}]})).content.find(a=>a.type==="text");if(!o||o.type!=="text")throw new Error("No text content in AI response");return{success:!0,data:sr(o.text)}}catch(n){if(r===Re.maxAttempts-1)return{success:!1,error:n instanceof Error?n:new Error(String(n))};let o=Math.min(Re.baseDelayMs*Math.pow(2,r),Re.maxDelayMs);await or(o)}return{success:!1,error:new Error("Unexpected error")}}async generateAlternatives(e,t,r,n){let o=`${Et(e,t)}
|
|
42
|
+
|
|
43
|
+
Generate ${n} ALTERNATIVE commands (different approaches).
|
|
44
|
+
Exclude: ${r}
|
|
45
|
+
|
|
46
|
+
Output JSON array: [{ "command": "...", "risk": "low|medium|high" }, ...]`;try{let c=(await this.client.messages.create({model:this.model,max_tokens:ze*2,system:Mt(t.shell),messages:[{role:"user",content:o}]})).content.find(u=>u.type==="text");if(!c||c.type!=="text")throw new Error("No text content in AI response");return{success:!0,data:nr(c.text)}}catch(a){return{success:!1,error:a instanceof Error?a:new Error(String(a))}}}async explainCommand(e){try{let r=(await this.client.messages.create({model:this.model,max_tokens:ze,messages:[{role:"user",content:`Explain this command briefly (2-3 sentences max):
|
|
47
|
+
${e}`}]})).content.find(n=>n.type==="text");if(!r||r.type!=="text")throw new Error("No text content in AI response");return{success:!0,data:r.text.trim()}}catch(t){return{success:!1,error:t instanceof Error?t:new Error(String(t))}}}};export{Jr as AnthropicProvider};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
var n="3.1.3",r="CLI AI",s="cli-ai";var a=".cli_ai_assistant",p=["anthropic","openrouter","openai"],t="anthropic",e={anthropic:{name:"Anthropic",envVar:"ANTHROPIC_API_KEY",keyringAccount:"anthropic",keyPrefix:"sk-ant-",defaultModel:"claude-sonnet-4-5"},openrouter:{name:"OpenRouter",envVar:"OPENROUTER_API_KEY",keyringAccount:"openrouter",keyPrefix:"sk-or-",defaultModel:"anthropic/claude-sonnet-4.5"},openai:{name:"OpenAI",envVar:"OPENAI_API_KEY",keyringAccount:"openai",keyPrefix:"sk-",defaultModel:"gpt-5.2"}},o=e[t].defaultModel,c={provider:t,model:o,maxHistoryEntries:5,maxOutputLines:10,maxAlternatives:3,contextEnabled:!0},i=500,d=10,l=["rm -rf","sudo rm","chmod 777","mkfs","dd if=","> /dev/","format","del /f","rmdir /s","DROP TABLE","DELETE FROM","--no-preserve-root",":(){:|:&};:","| sh","| bash","curl | bash","wget | bash","eval","sudo su","passwd","chown -R","> /etc/","fdisk","wipefs","shred"],A=["rm ","mv ","cp ","sudo ","npm install","pnpm install","yarn add","pip install","brew install","apt install","apt-get install","pacman -S","chmod ","chown ","git push","git reset","git rebase","docker ","kubectl ","systemctl ","service ","kill ","pkill "],E=["sudo","rm","git","npm","pnpm","yarn","docker","kubectl","pip","python","node","npx","cd","ls","cat","grep","find","mkdir","touch","mv","cp","echo","curl","wget","ssh","scp"],_=500,m={maxAttempts:3,baseDelayMs:1e3,maxDelayMs:5e3};export{n as a,r as b,s as c,a as d,p as e,e as f,c as g,i as h,d as i,l as j,A as k,E as l,_ as m,m as n};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{h as a,i as m,j as c,k as u}from"./chunk-BAM5DR4L.js";function d(n){let s=n.toLowerCase();for(let e of c)if(s.includes(e.toLowerCase()))return"high";for(let e of u)if(s.includes(e.toLowerCase()))return"medium";return"low"}function o(n,s){let e=d(s),t={low:0,medium:1,high:2};return t[n]>=t[e]?n:e}function y(n){return`You are a CLI command generator for ${n}.
|
|
3
|
+
You translate natural language requests into shell commands.
|
|
4
|
+
|
|
5
|
+
IMPORTANT: Output ONLY valid JSON, no markdown, no explanation text.
|
|
6
|
+
Format: { "command": "...", "risk": "low|medium|high" }
|
|
7
|
+
|
|
8
|
+
Risk levels:
|
|
9
|
+
- low: Safe reads, common commands (ls, cat, pwd, git status, etc.)
|
|
10
|
+
- medium: Writes files, installs packages, modifies state
|
|
11
|
+
- high: Destructive operations, sudo, system changes, recursive deletes
|
|
12
|
+
|
|
13
|
+
Rules:
|
|
14
|
+
1. Generate ONLY the command, no explanations in the command itself
|
|
15
|
+
2. Use appropriate flags for the target shell
|
|
16
|
+
3. Prefer safe alternatives when possible
|
|
17
|
+
4. For destructive operations, include safety flags (-i for interactive, etc.)
|
|
18
|
+
5. Never include placeholder values - ask for specifics if needed`}function l(n,s){if(!n||n.length<=s)return n;let e=n.slice(0,s),t=e.lastIndexOf(`
|
|
19
|
+
`);return t>s*.5?e.slice(0,t)+`
|
|
20
|
+
... (truncated)`:e+"... (truncated)"}function R(n,s){let e=[];if(e.push(`Current directory: ${s.cwd}`),e.push(`
|
|
21
|
+
Directory structure:
|
|
22
|
+
${s.directoryTree}`),s.history.length>0){e.push(`
|
|
23
|
+
Conversation context (recent queries and results):`);let t=s.history.slice(-m);for(let r of t)if(e.push(`
|
|
24
|
+
Query: "${r.query}"`),e.push(`Command: ${r.command}`),r.exitCode!==void 0&&e.push(`Exit code: ${r.exitCode}`),r.output){let i=l(r.output,a);e.push(`Output:
|
|
25
|
+
${i}`)}}return e.push(`
|
|
26
|
+
User request: ${n}`),e.join(`
|
|
27
|
+
`)}function k(n){let s=n.match(/\{[\s\S]*\}/);if(!s)throw new Error("No JSON found in AI response");let e=JSON.parse(s[0]);if(!e.command||typeof e.command!="string")throw new Error("Invalid response: missing command");let t=e.risk,r=t&&["low","medium","high"].includes(t)?t:"medium";return{command:e.command.trim(),risk:o(r,e.command)}}function w(n){let s=n.match(/\[[\s\S]*\]/);if(!s)throw new Error("No JSON array found in AI response");return JSON.parse(s[0]).filter(t=>t.command&&typeof t.command=="string").map(t=>{let r=t.risk,i=r&&["low","medium","high"].includes(r)?r:"medium";return{command:t.command.trim(),risk:o(i,t.command)}})}function C(n){return new Promise(s=>setTimeout(s,n))}export{y as a,R as b,k as c,w as d,C as e};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as p,b as l}from"./chunk-QPVTJWSV.js";var F=l((re,W)=>{"use strict";W.exports=M;M.sync=Ot;var H=p("fs");function It(t,e){var n=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&t.substr(-s.length).toLowerCase()===s)return!0}return!1}function U(t,e,n){return!t.isSymbolicLink()&&!t.isFile()?!1:It(e,n)}function M(t,e,n){H.stat(t,function(r,s){n(r,r?!1:U(s,t,e))})}function Ot(t,e){return U(H.statSync(t),t,e)}});var Y=l((se,K)=>{"use strict";K.exports=z;z.sync=_t;var X=p("fs");function z(t,e,n){X.stat(t,function(r,s){n(r,r?!1:D(s,e))})}function _t(t,e){return D(X.statSync(t),e)}function D(t,e){return t.isFile()&&Gt(t,e)}function Gt(t,e){var n=t.mode,r=t.uid,s=t.gid,i=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),u=parseInt("100",8),m=parseInt("010",8),c=parseInt("001",8),h=u|m,f=n&c||n&m&&s===o||n&u&&r===i||n&h&&i===0;return f}});var V=l((oe,B)=>{"use strict";var ie=p("fs"),S;process.platform==="win32"||global.TESTING_WINDOWS?S=F():S=Y();B.exports=C;C.sync=$t;function C(t,e,n){if(typeof e=="function"&&(n=e,e={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){C(t,e||{},function(i,o){i?s(i):r(o)})})}S(t,e||{},function(r,s){r&&(r.code==="EACCES"||e&&e.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function $t(t,e){try{return S.sync(t,e||{})}catch(n){if(e&&e.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var rt=l((ce,nt)=>{"use strict";var E=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Q=p("path"),Nt=E?";":":",Z=V(),J=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),tt=(t,e)=>{let n=e.colon||Nt,r=t.match(/\//)||E&&t.match(/\\/)?[""]:[...E?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(n)],s=E?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=E?s.split(n):[""];return E&&t.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:r,pathExt:i,pathExtExe:s}},et=(t,e,n)=>{typeof e=="function"&&(n=e,e={}),e||(e={});let{pathEnv:r,pathExt:s,pathExtExe:i}=tt(t,e),o=[],u=c=>new Promise((h,f)=>{if(c===r.length)return e.all&&o.length?h(o):f(J(t));let a=r[c],w=/^".*"$/.test(a)?a.slice(1,-1):a,x=Q.join(w,t),T=!w&&/^\.[\\\/]/.test(t)?t.slice(0,2)+x:x;h(m(T,c,0))}),m=(c,h,f)=>new Promise((a,w)=>{if(f===s.length)return a(u(h+1));let x=s[f];Z(c+x,{pathExt:i},(T,bt)=>{if(!T&&bt)if(e.all)o.push(c+x);else return a(c+x);return a(m(c,h,f+1))})});return n?u(0).then(c=>n(null,c),n):u(0)},qt=(t,e)=>{e=e||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=tt(t,e),i=[];for(let o=0;o<n.length;o++){let u=n[o],m=/^".*"$/.test(u)?u.slice(1,-1):u,c=Q.join(m,t),h=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let a=h+r[f];try{if(Z.sync(a,{pathExt:s}))if(e.all)i.push(a);else return a}catch{}}}if(e.all&&i.length)return i;if(e.nothrow)return null;throw J(t)};nt.exports=et;et.sync=qt});var it=l((ue,P)=>{"use strict";var st=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};P.exports=st;P.exports.default=st});var lt=l((le,ut)=>{"use strict";var ot=p("path"),At=rt(),Lt=it();function ct(t,e){let n=t.options.env||process.env,r=process.cwd(),s=t.options.cwd!=null,i=s&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(t.options.cwd)}catch{}let o;try{o=At.sync(t.command,{path:n[Lt({env:n})],pathExt:e?ot.delimiter:void 0})}catch{}finally{i&&process.chdir(r)}return o&&(o=ot.resolve(s?t.options.cwd:"",o)),o}function jt(t){return ct(t)||ct(t,!0)}ut.exports=jt});var ft=l((fe,I)=>{"use strict";var b=/([()\][%!^"`<>&|;, *?])/g;function Rt(t){return t=t.replace(b,"^$1"),t}function kt(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(b,"^$1"),e&&(t=t.replace(b,"^$1")),t}I.exports.command=Rt;I.exports.argument=kt});var ht=l((ae,at)=>{"use strict";at.exports=/^#!(.*)/});var pt=l((he,mt)=>{"use strict";var Ht=ht();mt.exports=(t="")=>{let e=t.match(Ht);if(!e)return null;let[n,r]=e[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var xt=l((me,dt)=>{"use strict";var O=p("fs"),Ut=pt();function Mt(t){let n=Buffer.alloc(150),r;try{r=O.openSync(t,"r"),O.readSync(r,n,0,150,0),O.closeSync(r)}catch{}return Ut(n.toString())}dt.exports=Mt});var St=l((pe,wt)=>{"use strict";var Wt=p("path"),Et=lt(),yt=ft(),Ft=xt(),Xt=process.platform==="win32",zt=/\.(?:com|exe)$/i,Dt=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Kt(t){t.file=Et(t);let e=t.file&&Ft(t.file);return e?(t.args.unshift(t.file),t.command=e,Et(t)):t.file}function Yt(t){if(!Xt)return t;let e=Kt(t),n=!zt.test(e);if(t.options.forceShell||n){let r=Dt.test(e);t.command=Wt.normalize(t.command),t.command=yt.command(t.command),t.args=t.args.map(i=>yt.argument(i,r));let s=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${s}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Bt(t,e,n){e&&!Array.isArray(e)&&(n=e,e=null),e=e?e.slice(0):[],n=Object.assign({},n);let r={command:t,args:e,options:n,file:void 0,original:{command:t,args:e}};return n.shell?r:Yt(r)}wt.exports=Bt});var Tt=l((de,vt)=>{"use strict";var _=process.platform==="win32";function G(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Vt(t,e){if(!_)return;let n=t.emit;t.emit=function(r,s){if(r==="exit"){let i=gt(s,e);if(i)return n.call(t,"error",i)}return n.apply(t,arguments)}}function gt(t,e){return _&&t===1&&!e.file?G(e.original,"spawn"):null}function Qt(t,e){return _&&t===1&&!e.file?G(e.original,"spawnSync"):null}vt.exports={hookChildProcess:Vt,verifyENOENT:gt,verifyENOENTSync:Qt,notFoundError:G}});var Jt=l((xe,y)=>{"use strict";var Ct=p("child_process"),$=St(),N=Tt();function Pt(t,e,n){let r=$(t,e,n),s=Ct.spawn(r.command,r.args,r.options);return N.hookChildProcess(s,r),s}function Zt(t,e,n){let r=$(t,e,n),s=Ct.spawnSync(r.command,r.args,r.options);return s.error=s.error||N.verifyENOENTSync(s.status,r),s}y.exports=Pt;y.exports.spawn=Pt;y.exports.sync=Zt;y.exports._parse=$;y.exports._enoent=N});function te(t={}){let{env:e=process.env,platform:n=process.platform}=t;return n!=="win32"?"PATH":Object.keys(e).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"}var d=[];d.push("SIGHUP","SIGINT","SIGTERM");process.platform!=="win32"&&d.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&d.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT");var g=t=>!!t&&typeof t=="object"&&typeof t.removeListener=="function"&&typeof t.emit=="function"&&typeof t.reallyExit=="function"&&typeof t.listeners=="function"&&typeof t.kill=="function"&&typeof t.pid=="number"&&typeof t.on=="function",q=Symbol.for("signal-exit emitter"),A=globalThis,ee=Object.defineProperty.bind(Object),L=class{emitted={afterExit:!1,exit:!1};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(A[q])return A[q];ee(A,q,{value:this,writable:!1,enumerable:!1,configurable:!1})}on(e,n){this.listeners[e].push(n)}removeListener(e,n){let r=this.listeners[e],s=r.indexOf(n);s!==-1&&(s===0&&r.length===1?r.length=0:r.splice(s,1))}emit(e,n,r){if(this.emitted[e])return!1;this.emitted[e]=!0;let s=!1;for(let i of this.listeners[e])s=i(n,r)===!0||s;return e==="exit"&&(s=this.emit("afterExit",n,r)||s),s}},v=class{},ne=t=>({onExit(e,n){return t.onExit(e,n)},load(){return t.load()},unload(){return t.unload()}}),j=class extends v{onExit(){return()=>{}}load(){}unload(){}},R=class extends v{#o=k.platform==="win32"?"SIGINT":"SIGHUP";#e=new L;#t;#s;#i;#r={};#n=!1;constructor(e){super(),this.#t=e,this.#r={};for(let n of d)this.#r[n]=()=>{let r=this.#t.listeners(n),{count:s}=this.#e,i=e;if(typeof i.__signal_exit_emitter__=="object"&&typeof i.__signal_exit_emitter__.count=="number"&&(s+=i.__signal_exit_emitter__.count),r.length===s){this.unload();let o=this.#e.emit("exit",null,n),u=n==="SIGHUP"?this.#o:n;o||e.kill(e.pid,u)}};this.#i=e.reallyExit,this.#s=e.emit}onExit(e,n){if(!g(this.#t))return()=>{};this.#n===!1&&this.load();let r=n?.alwaysLast?"afterExit":"exit";return this.#e.on(r,e),()=>{this.#e.removeListener(r,e),this.#e.listeners.exit.length===0&&this.#e.listeners.afterExit.length===0&&this.unload()}}load(){if(!this.#n){this.#n=!0,this.#e.count+=1;for(let e of d)try{let n=this.#r[e];n&&this.#t.on(e,n)}catch{}this.#t.emit=(e,...n)=>this.#u(e,...n),this.#t.reallyExit=e=>this.#c(e)}}unload(){this.#n&&(this.#n=!1,d.forEach(e=>{let n=this.#r[e];if(!n)throw new Error("Listener not defined for signal: "+e);try{this.#t.removeListener(e,n)}catch{}}),this.#t.emit=this.#s,this.#t.reallyExit=this.#i,this.#e.count-=1)}#c(e){return g(this.#t)?(this.#t.exitCode=e||0,this.#e.emit("exit",this.#t.exitCode,null),this.#i.call(this.#t,this.#t.exitCode)):0}#u(e,...n){let r=this.#s;if(e==="exit"&&g(this.#t)){typeof n[0]=="number"&&(this.#t.exitCode=n[0]);let s=r.call(this.#t,e,...n);return this.#e.emit("exit",this.#t.exitCode,null),s}else return r.call(this.#t,e,...n)}},k=globalThis.process,{onExit:Se,load:ge,unload:ve}=ne(g(k)?new R(k):new j);export{Jt as a,te as b,Se as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(a=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(a,{get:(b,c)=>(typeof require<"u"?require:b)[c]}):a)(function(a){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+a+'" is not supported')});var n=(a,b)=>()=>(b||a((b={exports:{}}).exports,b),b.exports),o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0})},l=(a,b,c,f)=>{if(b&&typeof b=="object"||typeof b=="function")for(let d of i(b))!k.call(a,d)&&d!==c&&e(a,d,{get:()=>b[d],enumerable:!(f=h(b,d))||f.enumerable});return a};var p=(a,b,c)=>(c=a!=null?g(j(a)):{},l(b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c,a));export{m as a,n as b,o as c,p as d};
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,59 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
// CRITICAL: Set production mode BEFORE any imports
|
|
4
|
+
// This switches react-reconciler from dev build (19,736 lines) to prod build (11,594 lines)
|
|
5
|
+
// Saves ~200-400ms startup time and reduces runtime overhead
|
|
6
|
+
process.env.NODE_ENV = 'production';
|
|
7
|
+
|
|
8
|
+
// Fast-path: handle --help and --version before loading ANY dependencies
|
|
9
|
+
// These flags should respond instantly, not after 60-120s of import resolution
|
|
10
|
+
const args = process.argv.slice(2);
|
|
11
|
+
|
|
12
|
+
if (args.includes('--help') || args.includes('-h')) {
|
|
13
|
+
console.log(`
|
|
14
|
+
CLI AI v3 - Natural language to shell commands
|
|
15
|
+
|
|
16
|
+
Usage:
|
|
17
|
+
s Start interactive session
|
|
18
|
+
cli-ai Start interactive session
|
|
19
|
+
|
|
20
|
+
Options:
|
|
21
|
+
--help, -h Show this help message
|
|
22
|
+
--version, -v Show version number
|
|
23
|
+
|
|
24
|
+
Session Controls:
|
|
25
|
+
[1] Execute Run the generated command
|
|
26
|
+
[2] Copy Copy command to clipboard
|
|
27
|
+
[3] Edit Edit the command
|
|
28
|
+
[4] Alternatives Show alternative commands
|
|
29
|
+
[5] Cancel Cancel and start new query
|
|
30
|
+
[?] Explain Get explanation of the command
|
|
31
|
+
[O] Toggle Toggle output expansion
|
|
32
|
+
Arrow keys Navigate menu options
|
|
33
|
+
Enter Select focused option
|
|
34
|
+
Escape Cancel current action
|
|
35
|
+
exit, quit Exit the session
|
|
36
|
+
Ctrl+D Exit (empty input)
|
|
37
|
+
`);
|
|
38
|
+
process.exit(0);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (args.includes('--version') || args.includes('-v')) {
|
|
42
|
+
// Read version from package.json to avoid hardcoding
|
|
43
|
+
// This is a single synchronous read -- acceptable for a flag that exits immediately
|
|
44
|
+
const { readFileSync } = await import('node:fs');
|
|
45
|
+
const { join, dirname } = await import('node:path');
|
|
46
|
+
const { fileURLToPath } = await import('node:url');
|
|
47
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
48
|
+
try {
|
|
49
|
+
const pkg = JSON.parse(readFileSync(join(__dirname, '..', 'package.json'), 'utf-8'));
|
|
50
|
+
console.log(`CLI AI v${pkg.version}`);
|
|
51
|
+
} catch {
|
|
52
|
+
console.log('CLI AI v3');
|
|
53
|
+
}
|
|
54
|
+
process.exit(0);
|
|
55
|
+
}
|
|
56
|
+
|
|
3
57
|
// Suppress experimental warnings for JSON imports from dependencies
|
|
4
58
|
const originalEmit = process.emit;
|
|
5
59
|
process.emit = function (name, data) {
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as Oe,b as z,c as St}from"./chunk-KWCGINWB.js";import{a as Ie,b as Pe,d as gt}from"./chunk-QPVTJWSV.js";var qt=Pe((xo,Xt)=>{"use strict";var{PassThrough:Rr}=Ie("stream");Xt.exports=function(){var t=[],e=new Rr({objectMode:!0});return e.setMaxListeners(0),e.add=r,e.isEmpty=n,e.on("unpipe",o),Array.prototype.slice.call(arguments).forEach(r),e;function r(i){return Array.isArray(i)?(i.forEach(r),this):(t.push(i),i.once("end",o.bind(null,i)),i.once("error",e.emit.bind(e,"error")),i.pipe(e,{end:!1}),this)}function n(){return t.length==0}function o(i){t=t.filter(function(s){return s!==i}),!t.length&&e.readable&&e.end()}}});import Ce from"process";import wt from"process";import Ge from"os";import Fe from"fs";import Be from"fs";import bt from"fs";var W;function ke(){try{return bt.statSync("/.dockerenv"),!0}catch{return!1}}function Re(){try{return bt.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function H(){return W===void 0&&(W=ke()||Re()),W}var K,ve=()=>{try{return Be.statSync("/run/.containerenv"),!0}catch{return!1}};function P(){return K===void 0&&(K=ve()||H()),K}var xt=()=>{if(wt.platform!=="linux")return!1;if(Ge.release().toLowerCase().includes("microsoft"))return!P();try{return Fe.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!P():!1}catch{return!1}},Et=wt.env.__IS_WSL_TEST__?xt:xt();var ce=gt(Oe(),1);import{Buffer as Xr}from"buffer";import qr from"path";import dt from"child_process";import $ from"process";function V(t){let e=typeof t=="string"?`
|
|
3
|
+
`:10,r=typeof t=="string"?"\r":13;return t[t.length-1]===e&&(t=t.slice(0,-1)),t[t.length-1]===r&&(t=t.slice(0,-1)),t}import O from"process";import g from"path";import{fileURLToPath as Tt}from"url";var Le=({cwd:t=O.cwd(),path:e=O.env[z()],preferLocal:r=!0,execPath:n=O.execPath,addExecPath:o=!0}={})=>{let i=t instanceof URL?Tt(t):t,s=g.resolve(i),a=[];return r&&je(a,s),o&&Ne(a,n,s),[...a,e].join(g.delimiter)},je=(t,e)=>{let r;for(;r!==e;)t.push(g.join(e,"node_modules/.bin")),r=e,e=g.resolve(e,"..")},Ne=(t,e,r)=>{let n=e instanceof URL?Tt(e):e;t.push(g.resolve(r,n,".."))},At=({env:t=O.env,...e}={})=>{t={...t};let r=z({env:t});return e.path=t[r],t[r]=Le(e),t};var $e=(t,e,r,n)=>{if(r==="length"||r==="prototype"||r==="arguments"||r==="caller")return;let o=Object.getOwnPropertyDescriptor(t,r),i=Object.getOwnPropertyDescriptor(e,r);!Ue(o,i)&&n||Object.defineProperty(t,r,i)},Ue=function(t,e){return t===void 0||t.configurable||t.writable===e.writable&&t.enumerable===e.enumerable&&t.configurable===e.configurable&&(t.writable||t.value===e.value)},De=(t,e)=>{let r=Object.getPrototypeOf(e);r!==Object.getPrototypeOf(t)&&Object.setPrototypeOf(t,r)},Me=(t,e)=>`/* Wrapped ${t}*/
|
|
4
|
+
${e}`,_e=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),ze=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),We=(t,e,r)=>{let n=r===""?"":`with ${r.trim()}() `,o=Me.bind(null,n,e.toString());Object.defineProperty(o,"name",ze),Object.defineProperty(t,"toString",{..._e,value:o})};function X(t,e,{ignoreNonConfigurable:r=!1}={}){let{name:n}=t;for(let o of Reflect.ownKeys(e))$e(t,e,o,r);return De(t,e),We(t,e,n),t}var k=new WeakMap,Ct=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,n=0,o=t.displayName||t.name||"<anonymous>",i=function(...s){if(k.set(i,++n),n===1)r=t.apply(this,s),t=null;else if(e.throw===!0)throw new Error(`Function \`${o}\` can only be called once`);return r};return X(i,t),k.set(i,n),i};Ct.callCount=t=>{if(!k.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return k.get(t)};var It=Ct;import tr from"process";import{constants as Xe}from"os";var Pt=()=>{let t=kt-Ot+1;return Array.from({length:t},He)},He=(t,e)=>({name:`SIGRT${e+1}`,number:Ot+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),Ot=34,kt=64;import{constants as Ke}from"os";var Rt=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];var q=()=>{let t=Pt();return[...Rt,...t].map(Ve)},Ve=({name:t,number:e,description:r,action:n,forced:o=!1,standard:i})=>{let{signals:{[t]:s}}=Ke,a=s!==void 0;return{name:t,number:a?s:e,description:r,supported:a,action:n,forced:o,standard:i}};var qe=()=>{let t=q();return Object.fromEntries(t.map(Ye))},Ye=({name:t,number:e,description:r,supported:n,action:o,forced:i,standard:s})=>[t,{name:t,number:e,description:r,supported:n,action:o,forced:i,standard:s}],Bt=qe(),Ze=()=>{let t=q(),e=65,r=Array.from({length:e},(n,o)=>Qe(o,t));return Object.assign({},...r)},Qe=(t,e)=>{let r=Je(t,e);if(r===void 0)return{};let{name:n,description:o,supported:i,action:s,forced:a,standard:c}=r;return{[t]:{name:n,number:t,description:o,supported:i,action:s,forced:a,standard:c}}},Je=(t,e)=>{let r=e.find(({name:n})=>Xe.signals[n]===t);return r!==void 0?r:e.find(n=>n.number===t)},Un=Ze();var er=({timedOut:t,timeout:e,errorCode:r,signal:n,signalDescription:o,exitCode:i,isCanceled:s})=>t?`timed out after ${e} milliseconds`:s?"was canceled":r!==void 0?`failed with ${r}`:n!==void 0?`was killed with ${n} (${o})`:i!==void 0?`failed with exit code ${i}`:"failed",S=({stdout:t,stderr:e,all:r,error:n,signal:o,exitCode:i,command:s,escapedCommand:a,timedOut:c,isCanceled:d,killed:u,parsed:{options:{timeout:E,cwd:y=tr.cwd()}}})=>{i=i===null?void 0:i,o=o===null?void 0:o;let l=o===void 0?void 0:Bt[o].description,m=n&&n.code,T=`Command ${er({timedOut:c,timeout:E,errorCode:m,signal:o,signalDescription:l,exitCode:i,isCanceled:d})}: ${s}`,A=Object.prototype.toString.call(n)==="[object Error]",C=A?`${T}
|
|
5
|
+
${n.message}`:T,I=[C,e,t].filter(Boolean).join(`
|
|
6
|
+
`);return A?(n.originalMessage=n.message,n.message=I):n=new Error(I),n.shortMessage=C,n.command=s,n.escapedCommand=a,n.exitCode=i,n.signal=o,n.signalDescription=l,n.stdout=t,n.stderr=e,n.cwd=y,r!==void 0&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!c,n.isCanceled=d,n.killed=u&&!c,n};var R=["stdin","stdout","stderr"],rr=t=>R.some(e=>t[e]!==void 0),vt=t=>{if(!t)return;let{stdio:e}=t;if(e===void 0)return R.map(n=>t[n]);if(rr(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${R.map(n=>`\`${n}\``).join(", ")}`);if(typeof e=="string")return e;if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,R.length);return Array.from({length:r},(n,o)=>e[o])};import nr from"os";var or=1e3*5,Gt=(t,e="SIGTERM",r={})=>{let n=t(e);return ir(t,e,r,n),n},ir=(t,e,r,n)=>{if(!sr(e,r,n))return;let o=cr(r),i=setTimeout(()=>{t("SIGKILL")},o);i.unref&&i.unref()},sr=(t,{forceKillAfterTimeout:e},r)=>ar(t)&&e!==!1&&r,ar=t=>t===nr.constants.signals.SIGTERM||typeof t=="string"&&t.toUpperCase()==="SIGTERM",cr=({forceKillAfterTimeout:t=!0})=>{if(t===!0)return or;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},Ft=(t,e)=>{t.kill()&&(e.isCanceled=!0)},ur=(t,e,r)=>{t.kill(e),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:e}))},Lt=(t,{timeout:e,killSignal:r="SIGTERM"},n)=>{if(e===0||e===void 0)return n;let o,i=new Promise((a,c)=>{o=setTimeout(()=>{ur(t,r,c)},e)}),s=n.finally(()=>{clearTimeout(o)});return Promise.race([i,s])},jt=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},Nt=async(t,{cleanup:e,detached:r},n)=>{if(!e||r)return n;let o=St(()=>{t.kill()});return n.finally(()=>{o()})};import{createWriteStream as dr}from"fs";import{ChildProcess as fr}from"child_process";function B(t){return t!==null&&typeof t=="object"&&typeof t.pipe=="function"}function Y(t){return B(t)&&t.writable!==!1&&typeof t._write=="function"&&typeof t._writableState=="object"}var pr=t=>t instanceof fr&&typeof t.then=="function",Z=(t,e,r)=>{if(typeof r=="string")return t[e].pipe(dr(r)),t;if(Y(r))return t[e].pipe(r),t;if(!pr(r))throw new TypeError("The second argument must be a string, a stream or an Execa child process.");if(!Y(r.stdin))throw new TypeError("The target child process's stdin must be available.");return t[e].pipe(r.stdin),r},$t=t=>{t.stdout!==null&&(t.pipeStdout=Z.bind(void 0,t,"stdout")),t.stderr!==null&&(t.pipeStderr=Z.bind(void 0,t,"stderr")),t.all!==void 0&&(t.pipeAll=Z.bind(void 0,t,"all"))};import{createReadStream as Br,readFileSync as vr}from"fs";import{setTimeout as Gr}from"timers/promises";var b=async(t,{init:e,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,getFinalChunk:s,finalize:a},{maxBuffer:c=Number.POSITIVE_INFINITY}={})=>{if(!mr(t))throw new Error("The first argument must be a Readable, a ReadableStream, or an async iterable.");let d=e();d.length=0;try{for await(let u of t){let E=yr(u),y=r[E](u,d);Mt({convertedChunk:y,state:d,getSize:n,truncateChunk:o,addChunk:i,maxBuffer:c})}return lr({state:d,convertChunk:r,getSize:n,truncateChunk:o,addChunk:i,getFinalChunk:s,maxBuffer:c}),a(d)}catch(u){throw u.bufferedData=a(d),u}},lr=({state:t,getSize:e,truncateChunk:r,addChunk:n,getFinalChunk:o,maxBuffer:i})=>{let s=o(t);s!==void 0&&Mt({convertedChunk:s,state:t,getSize:e,truncateChunk:r,addChunk:n,maxBuffer:i})},Mt=({convertedChunk:t,state:e,getSize:r,truncateChunk:n,addChunk:o,maxBuffer:i})=>{let s=r(t),a=e.length+s;if(a<=i){Ut(t,e,o,a);return}let c=n(t,i-e.length);throw c!==void 0&&Ut(c,e,o,i),new v},Ut=(t,e,r,n)=>{e.contents=r(t,e,n),e.length=n},mr=t=>typeof t=="object"&&t!==null&&typeof t[Symbol.asyncIterator]=="function",yr=t=>{let e=typeof t;if(e==="string")return"string";if(e!=="object"||t===null)return"others";if(globalThis.Buffer?.isBuffer(t))return"buffer";let r=Dt.call(t);return r==="[object ArrayBuffer]"?"arrayBuffer":r==="[object DataView]"?"dataView":Number.isInteger(t.byteLength)&&Number.isInteger(t.byteOffset)&&Dt.call(t.buffer)==="[object ArrayBuffer]"?"typedArray":"others"},{toString:Dt}=Object.prototype,v=class extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}};var Q=t=>t,J=()=>{},tt=({contents:t})=>t,G=t=>{throw new Error(`Streams in object mode are not supported: ${String(t)}`)},F=t=>t.length;async function et(t,e){return b(t,Ar,e)}var hr=()=>({contents:new ArrayBuffer(0)}),gr=t=>Sr.encode(t),Sr=new TextEncoder,_t=t=>new Uint8Array(t),zt=t=>new Uint8Array(t.buffer,t.byteOffset,t.byteLength),br=(t,e)=>t.slice(0,e),xr=(t,{contents:e,length:r},n)=>{let o=Kt()?Er(e,n):wr(e,n);return new Uint8Array(o).set(t,r),o},wr=(t,e)=>{if(e<=t.byteLength)return t;let r=new ArrayBuffer(Ht(e));return new Uint8Array(r).set(new Uint8Array(t),0),r},Er=(t,e)=>{if(e<=t.maxByteLength)return t.resize(e),t;let r=new ArrayBuffer(e,{maxByteLength:Ht(e)});return new Uint8Array(r).set(new Uint8Array(t),0),r},Ht=t=>Wt**Math.ceil(Math.log(t)/Math.log(Wt)),Wt=2,Tr=({contents:t,length:e})=>Kt()?t:t.slice(0,e),Kt=()=>"resize"in ArrayBuffer.prototype,Ar={init:hr,convertChunk:{string:gr,buffer:_t,arrayBuffer:_t,dataView:zt,typedArray:zt,others:G},getSize:F,truncateChunk:br,addChunk:xr,getFinalChunk:J,finalize:Tr};async function L(t,e){if(!("Buffer"in globalThis))throw new Error("getStreamAsBuffer() is only supported in Node.js");try{return Vt(await et(t,e))}catch(r){throw r.bufferedData!==void 0&&(r.bufferedData=Vt(r.bufferedData)),r}}var Vt=t=>globalThis.Buffer.from(t);async function rt(t,e){return b(t,kr,e)}var Cr=()=>({contents:"",textDecoder:new TextDecoder}),j=(t,{textDecoder:e})=>e.decode(t,{stream:!0}),Ir=(t,{contents:e})=>e+t,Pr=(t,e)=>t.slice(0,e),Or=({textDecoder:t})=>{let e=t.decode();return e===""?void 0:e},kr={init:Cr,convertChunk:{string:Q,buffer:j,arrayBuffer:j,dataView:j,typedArray:j,others:G},getSize:F,truncateChunk:Pr,addChunk:Ir,getFinalChunk:Or,finalize:tt};var Yt=gt(qt(),1),Zt=t=>{if(t!==void 0)throw new TypeError("The `input` and `inputFile` options cannot be both set.")},Fr=({input:t,inputFile:e})=>typeof e!="string"?t:(Zt(t),vr(e)),Qt=t=>{let e=Fr(t);if(B(e))throw new TypeError("The `input` option cannot be a stream in sync mode");return e},Lr=({input:t,inputFile:e})=>typeof e!="string"?t:(Zt(t),Br(e)),Jt=(t,e)=>{let r=Lr(e);r!==void 0&&(B(r)?r.pipe(t.stdin):t.stdin.end(r))},te=(t,{all:e})=>{if(!e||!t.stdout&&!t.stderr)return;let r=(0,Yt.default)();return t.stdout&&r.add(t.stdout),t.stderr&&r.add(t.stderr),r},nt=async(t,e)=>{if(!(!t||e===void 0)){await Gr(0),t.destroy();try{return await e}catch(r){return r.bufferedData}}},ot=(t,{encoding:e,buffer:r,maxBuffer:n})=>{if(!(!t||!r))return e==="utf8"||e==="utf-8"?rt(t,{maxBuffer:n}):e===null||e==="buffer"?L(t,{maxBuffer:n}):jr(t,n,e)},jr=async(t,e,r)=>(await L(t,{maxBuffer:e})).toString(r),ee=async({stdout:t,stderr:e,all:r},{encoding:n,buffer:o,maxBuffer:i},s)=>{let a=ot(t,{encoding:n,buffer:o,maxBuffer:i}),c=ot(e,{encoding:n,buffer:o,maxBuffer:i}),d=ot(r,{encoding:n,buffer:o,maxBuffer:i*2});try{return await Promise.all([s,a,c,d])}catch(u){return Promise.all([{error:u,signal:u.signal,timedOut:u.timedOut},nt(t,a),nt(e,c),nt(r,d)])}};var Nr=(async()=>{})().constructor.prototype,$r=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(Nr,t)]),it=(t,e)=>{for(let[r,n]of $r){let o=typeof e=="function"?(...i)=>Reflect.apply(n.value,e(),i):n.value.bind(e);Reflect.defineProperty(t,r,{...n,value:o})}},re=t=>new Promise((e,r)=>{t.on("exit",(n,o)=>{e({exitCode:n,signal:o})}),t.on("error",n=>{r(n)}),t.stdin&&t.stdin.on("error",n=>{r(n)})});import{Buffer as Ur}from"buffer";import{ChildProcess as Dr}from"child_process";var ie=(t,e=[])=>Array.isArray(e)?[t,...e]:[t],Mr=/^[\w.-]+$/,_r=t=>typeof t!="string"||Mr.test(t)?t:`"${t.replaceAll('"','\\"')}"`,st=(t,e)=>ie(t,e).join(" "),at=(t,e)=>ie(t,e).map(r=>_r(r)).join(" "),zr=/ +/g;var ne=t=>{let e=typeof t;if(e==="string")return t;if(e==="number")return String(t);if(e==="object"&&t!==null&&!(t instanceof Dr)&&"stdout"in t){let r=typeof t.stdout;if(r==="string")return t.stdout;if(Ur.isBuffer(t.stdout))return t.stdout.toString();throw new TypeError(`Unexpected "${r}" stdout in template expression`)}throw new TypeError(`Unexpected "${e}" in template expression`)},oe=(t,e,r)=>r||t.length===0||e.length===0?[...t,...e]:[...t.slice(0,-1),`${t.at(-1)}${e[0]}`,...e.slice(1)],Wr=({templates:t,expressions:e,tokens:r,index:n,template:o})=>{let i=o??t.raw[n],s=i.split(zr).filter(Boolean),a=oe(r,s,i.startsWith(" "));if(n===e.length)return a;let c=e[n],d=Array.isArray(c)?c.map(u=>ne(u)):[ne(c)];return oe(a,d,i.endsWith(" "))},ct=(t,e)=>{let r=[];for(let[n,o]of t.entries())r=Wr({templates:t,expressions:e,tokens:r,index:n,template:o});return r};import{debuglog as Hr}from"util";import Kr from"process";var se=Hr("execa").enabled,N=(t,e)=>String(t).padStart(e,"0"),Vr=()=>{let t=new Date;return`${N(t.getHours(),2)}:${N(t.getMinutes(),2)}:${N(t.getSeconds(),2)}.${N(t.getMilliseconds(),3)}`},ut=(t,{verbose:e})=>{e&&Kr.stderr.write(`[${Vr()}] ${t}
|
|
7
|
+
`)};var Yr=1e3*1e3*100,Zr=({env:t,extendEnv:e,preferLocal:r,localDir:n,execPath:o})=>{let i=e?{...$.env,...t}:t;return r?At({env:i,cwd:n,execPath:o}):i},ue=(t,e,r={})=>{let n=ce.default._parse(t,e,r);return t=n.command,e=n.args,r=n.options,r={maxBuffer:Yr,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||$.cwd(),execPath:$.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:se,...r},r.env=Zr(r),r.stdio=vt(r),$.platform==="win32"&&qr.basename(t,".exe")==="cmd"&&e.unshift("/q"),{file:t,args:e,options:r,parsed:n}},x=(t,e,r)=>typeof e!="string"&&!Xr.isBuffer(e)?r===void 0?void 0:"":t.stripFinalNewline?V(e):e;function f(t,e,r){let n=ue(t,e,r),o=st(t,e),i=at(t,e);ut(i,n.options),jt(n.options);let s;try{s=dt.spawn(n.file,n.args,n.options)}catch(l){let m=new dt.ChildProcess,h=Promise.reject(S({error:l,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1}));return it(m,h),m}let a=re(s),c=Lt(s,n.options,a),d=Nt(s,n.options,c),u={isCanceled:!1};s.kill=Gt.bind(null,s.kill.bind(s)),s.cancel=Ft.bind(null,s,u);let y=It(async()=>{let[{error:l,exitCode:m,signal:h,timedOut:T},A,C,I]=await ee(s,n.options,d),lt=x(n.options,A),mt=x(n.options,C),yt=x(n.options,I);if(l||m!==0||h!==null){let ht=S({error:l,exitCode:m,signal:h,stdout:lt,stderr:mt,all:yt,command:o,escapedCommand:i,parsed:n,timedOut:T,isCanceled:u.isCanceled||(n.options.signal?n.options.signal.aborted:!1),killed:s.killed});if(!n.options.reject)return ht;throw ht}return{command:o,escapedCommand:i,exitCode:0,stdout:lt,stderr:mt,all:yt,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Jt(s,n.options),s.all=te(s,n.options),$t(s),it(s,y),s}function p(t,e,r){let n=ue(t,e,r),o=st(t,e),i=at(t,e);ut(i,n.options);let s=Qt(n.options),a;try{a=dt.spawnSync(n.file,n.args,{...n.options,input:s})}catch(u){throw S({error:u,stdout:"",stderr:"",all:"",command:o,escapedCommand:i,parsed:n,timedOut:!1,isCanceled:!1,killed:!1})}let c=x(n.options,a.stdout,a.error),d=x(n.options,a.stderr,a.error);if(a.error||a.status!==0||a.signal!==null){let u=S({stdout:c,stderr:d,error:a.error,signal:a.signal,exitCode:a.status,command:o,escapedCommand:i,parsed:n,timedOut:a.error&&a.error.code==="ETIMEDOUT",isCanceled:!1,killed:a.signal!==null});if(!n.options.reject)return u;throw u}return{command:o,escapedCommand:i,exitCode:0,stdout:c,stderr:d,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}}var Qr=({input:t,inputFile:e,stdio:r})=>t===void 0&&e===void 0&&r===void 0?{stdin:"inherit"}:{},ae=(t={})=>({preferLocal:!0,...Qr(t),...t});function de(t){function e(r,...n){if(!Array.isArray(r))return de({...t,...r});let[o,...i]=ct(r,n);return f(o,i,ae(t))}return e.sync=(r,...n)=>{if(!Array.isArray(r))throw new TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[o,...i]=ct(r,n);return p(o,i,ae(t))},e}var Yo=de();var U=t=>{throw t.code==="ENOENT"?new Error("Couldn't find the termux-api scripts. You can install them with: apt install termux-api"):t},Jr={async copy(t){try{await f("termux-clipboard-set",t)}catch(e){U(e)}},async paste(t){try{let{stdout:e}=await f("termux-clipboard-get",t);return e}catch(e){U(e)}},copySync(t){try{p("termux-clipboard-set",t)}catch(e){U(e)}},pasteSync(t){try{return p("termux-clipboard-get",t).stdout}catch(e){U(e)}}},fe=Jr;import he from"path";import{fileURLToPath as tn}from"url";var en=he.dirname(tn(import.meta.url)),ge="xsel",Se=he.join(en,"../fallbacks/linux/xsel"),pe=["--clipboard","--input"],le=["--clipboard","--output"],be=(t,e)=>{let r;return t.code==="ENOENT"?r=new Error("Couldn't find the `xsel` binary and fallback didn't work. On Debian/Ubuntu you can install xsel with: sudo apt install xsel"):(r=new Error("Both xsel and fallback failed"),r.xselError=t),r.fallbackError=e,r},me=async(t,e)=>{try{let{stdout:r}=await f(ge,t,e);return r}catch(r){try{let{stdout:n}=await f(Se,t,e);return n}catch(n){throw be(r,n)}}},ye=(t,e)=>{try{return p(ge,t,e).stdout}catch(r){try{return p(Se,t,e).stdout}catch(n){throw be(r,n)}}},rn={async copy(t){await me(pe,t)},copySync(t){ye(pe,t)},paste:t=>me(le,t),pasteSync:t=>ye(le,t)},xe=rn;var D={LC_CTYPE:"UTF-8"},nn={copy:async t=>f("pbcopy",{...t,env:D}),async paste(t){let{stdout:e}=await f("pbpaste",{...t,env:D});return e},copySync:t=>p("pbcopy",{...t,env:D}),pasteSync:t=>p("pbpaste",{...t,env:D}).stdout},we=nn;import Ae from"path";import{fileURLToPath as cn}from"url";import{promisify as on}from"util";import sn from"process";import ft from"child_process";var ui=on(ft.execFile);function Ee(){let{arch:t,platform:e,env:r}=sn;return e==="darwin"&&t==="x64"?ft.execFileSync("sysctl",["-inq","sysctl.proc_translated"],{encoding:"utf8"}).trim()==="1"?"arm64":"x64":t==="arm64"||t==="x64"?t:e==="win32"&&Object.hasOwn(r,"PROCESSOR_ARCHITEW6432")||e==="linux"&&ft.execFileSync("getconf",["LONG_BIT"],{encoding:"utf8"}).trim()==="64"?"x64":t}var an=new Set(["arm64","x64","ppc64","riscv64"]);function Te(){return an.has(Ee())}var un=Ae.dirname(cn(import.meta.url)),dn=Te()?"x86_64":"i686",M=Ae.join(un,`../fallbacks/windows/clipboard_${dn}.exe`),fn={copy:async t=>f(M,["--copy"],t),async paste(t){let{stdout:e}=await f(M,["--paste"],t);return e},copySync:t=>p(M,["--copy"],t),pasteSync:t=>p(M,["--paste"],t).stdout},pt=fn;var _=(()=>{switch(Ce.platform){case"darwin":return we;case"win32":return pt;case"android":{if(Ce.env.PREFIX!=="/data/data/com.termux/files/usr")throw new Error("You need to install Termux for this module to work on Android: https://termux.com");return fe}default:return Et?pt:xe}})(),w={};w.write=async t=>{if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);await _.copy({input:t})};w.read=async()=>_.paste({stripFinalNewline:!1});w.writeSync=t=>{if(typeof t!="string")throw new TypeError(`Expected a string, got ${typeof t}`);_.copySync({input:t})};w.readSync=()=>_.pasteSync({stripFinalNewline:!1});var Ci=w;export{Ci as default};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url);
|
|
2
|
+
import{a as m,b as x,d as Y}from"./chunk-QPVTJWSV.js";var T=x((xr,je)=>{"use strict";var Ve=["nodebuffer","arraybuffer","fragments"],$e=typeof Blob<"u";$e&&Ve.push("blob");je.exports={BINARY_TYPES:Ve,CLOSE_TIMEOUT:3e4,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:$e,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var K=x((Er,re)=>{"use strict";var{EMPTY_BUFFER:Zt}=T(),Se=Buffer[Symbol.species];function Qt(t,e){if(t.length===0)return Zt;if(t.length===1)return t[0];let s=Buffer.allocUnsafe(e),r=0;for(let i=0;i<t.length;i++){let n=t[i];s.set(n,r),r+=n.length}return r<e?new Se(s.buffer,s.byteOffset,r):s}function ze(t,e,s,r,i){for(let n=0;n<i;n++)s[r+n]=t[n]^e[n&3]}function He(t,e){for(let s=0;s<t.length;s++)t[s]^=e[s&3]}function Jt(t){return t.length===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.length)}function xe(t){if(xe.readOnly=!0,Buffer.isBuffer(t))return t;let e;return t instanceof ArrayBuffer?e=new Se(t):ArrayBuffer.isView(t)?e=new Se(t.buffer,t.byteOffset,t.byteLength):(e=Buffer.from(t),xe.readOnly=!1),e}re.exports={concat:Qt,mask:ze,toArrayBuffer:Jt,toBuffer:xe,unmask:He};if(!process.env.WS_NO_BUFFER_UTIL)try{let t=m("bufferutil");re.exports.mask=function(e,s,r,i,n){n<48?ze(e,s,r,i,n):t.mask(e,s,r,i,n)},re.exports.unmask=function(e,s){e.length<32?He(e,s):t.unmask(e,s)}}catch{}});var Xe=x((vr,Ke)=>{"use strict";var Ye=Symbol("kDone"),Ee=Symbol("kRun"),ve=class{constructor(e){this[Ye]=()=>{this.pending--,this[Ee]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Ee]()}[Ee](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Ye])}}};Ke.exports=ve});var Z=x((br,et)=>{"use strict";var X=m("zlib"),Ze=K(),es=Xe(),{kStatusCode:Qe}=T(),ts=Buffer[Symbol.species],ss=Buffer.from([0,0,255,255]),ne=Symbol("permessage-deflate"),k=Symbol("total-length"),W=Symbol("callback"),N=Symbol("buffers"),F=Symbol("error"),ie,be=class{constructor(e,s,r){if(this._maxPayload=r|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!s,this._deflate=null,this._inflate=null,this.params=null,!ie){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ie=new es(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[W];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let s=this._options,r=e.find(i=>!(s.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(s.serverMaxWindowBits===!1||typeof s.serverMaxWindowBits=="number"&&s.serverMaxWindowBits>i.server_max_window_bits)||typeof s.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!r)throw new Error("None of the extension offers can be accepted");return s.serverNoContextTakeover&&(r.server_no_context_takeover=!0),s.clientNoContextTakeover&&(r.client_no_context_takeover=!0),typeof s.serverMaxWindowBits=="number"&&(r.server_max_window_bits=s.serverMaxWindowBits),typeof s.clientMaxWindowBits=="number"?r.client_max_window_bits=s.clientMaxWindowBits:(r.client_max_window_bits===!0||s.clientMaxWindowBits===!1)&&delete r.client_max_window_bits,r}acceptAsClient(e){let s=e[0];if(this._options.clientNoContextTakeover===!1&&s.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!s.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(s.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&s.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return s}normalizeParams(e){return e.forEach(s=>{Object.keys(s).forEach(r=>{let i=s[r];if(i.length>1)throw new Error(`Parameter "${r}" must have only a single value`);if(i=i[0],r==="client_max_window_bits"){if(i!==!0){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=n}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else if(r==="server_max_window_bits"){let n=+i;if(!Number.isInteger(n)||n<8||n>15)throw new TypeError(`Invalid value for parameter "${r}": ${i}`);i=n}else if(r==="client_no_context_takeover"||r==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${r}": ${i}`)}else throw new Error(`Unknown parameter "${r}"`);s[r]=i})}),e}decompress(e,s,r){ie.add(i=>{this._decompress(e,s,(n,o)=>{i(),r(n,o)})})}compress(e,s,r){ie.add(i=>{this._compress(e,s,(n,o)=>{i(),r(n,o)})})}_decompress(e,s,r){let i=this._isServer?"client":"server";if(!this._inflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?X.Z_DEFAULT_WINDOWBITS:this.params[n];this._inflate=X.createInflateRaw({...this._options.zlibInflateOptions,windowBits:o}),this._inflate[ne]=this,this._inflate[k]=0,this._inflate[N]=[],this._inflate.on("error",is),this._inflate.on("data",Je)}this._inflate[W]=r,this._inflate.write(e),s&&this._inflate.write(ss),this._inflate.flush(()=>{let n=this._inflate[F];if(n){this._inflate.close(),this._inflate=null,r(n);return}let o=Ze.concat(this._inflate[N],this._inflate[k]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[k]=0,this._inflate[N]=[],s&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),r(null,o)})}_compress(e,s,r){let i=this._isServer?"server":"client";if(!this._deflate){let n=`${i}_max_window_bits`,o=typeof this.params[n]!="number"?X.Z_DEFAULT_WINDOWBITS:this.params[n];this._deflate=X.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:o}),this._deflate[k]=0,this._deflate[N]=[],this._deflate.on("data",rs)}this._deflate[W]=r,this._deflate.write(e),this._deflate.flush(X.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let n=Ze.concat(this._deflate[N],this._deflate[k]);s&&(n=new ts(n.buffer,n.byteOffset,n.length-4)),this._deflate[W]=null,this._deflate[k]=0,this._deflate[N]=[],s&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),r(null,n)})}};et.exports=be;function rs(t){this[N].push(t),this[k]+=t.length}function Je(t){if(this[k]+=t.length,this[ne]._maxPayload<1||this[k]<=this[ne]._maxPayload){this[N].push(t);return}this[F]=new RangeError("Max payload size exceeded"),this[F].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[F][Qe]=1009,this.removeListener("data",Je),this.reset()}function is(t){if(this[ne]._inflate=null,this[F]){this[W](this[F]);return}t[Qe]=1007,this[W](t)}});var q=x((wr,oe)=>{"use strict";var{isUtf8:tt}=m("buffer"),{hasBlob:ns}=T(),os=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function as(t){return t>=1e3&&t<=1014&&t!==1004&&t!==1005&&t!==1006||t>=3e3&&t<=4999}function we(t){let e=t.length,s=0;for(;s<e;)if((t[s]&128)===0)s++;else if((t[s]&224)===192){if(s+1===e||(t[s+1]&192)!==128||(t[s]&254)===192)return!1;s+=2}else if((t[s]&240)===224){if(s+2>=e||(t[s+1]&192)!==128||(t[s+2]&192)!==128||t[s]===224&&(t[s+1]&224)===128||t[s]===237&&(t[s+1]&224)===160)return!1;s+=3}else if((t[s]&248)===240){if(s+3>=e||(t[s+1]&192)!==128||(t[s+2]&192)!==128||(t[s+3]&192)!==128||t[s]===240&&(t[s+1]&240)===128||t[s]===244&&t[s+1]>143||t[s]>244)return!1;s+=4}else return!1;return!0}function ls(t){return ns&&typeof t=="object"&&typeof t.arrayBuffer=="function"&&typeof t.type=="string"&&typeof t.stream=="function"&&(t[Symbol.toStringTag]==="Blob"||t[Symbol.toStringTag]==="File")}oe.exports={isBlob:ls,isValidStatusCode:as,isValidUTF8:we,tokenChars:os};if(tt)oe.exports.isValidUTF8=function(t){return t.length<24?we(t):tt(t)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let t=m("utf-8-validate");oe.exports.isValidUTF8=function(e){return e.length<32?we(e):t(e)}}catch{}});var Le=x((Or,lt)=>{"use strict";var{Writable:fs}=m("stream"),st=Z(),{BINARY_TYPES:hs,EMPTY_BUFFER:rt,kStatusCode:cs,kWebSocket:us}=T(),{concat:Oe,toArrayBuffer:ds,unmask:_s}=K(),{isValidStatusCode:ps,isValidUTF8:it}=q(),ae=Buffer[Symbol.species],v=0,nt=1,ot=2,at=3,Te=4,ke=5,le=6,Ce=class extends fs{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||hs[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[us]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=v}_write(e,s,r){if(this._opcode===8&&this._state==v)return r();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(r)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let r=this._buffers[0];return this._buffers[0]=new ae(r.buffer,r.byteOffset+e,r.length-e),new ae(r.buffer,r.byteOffset,e)}let s=Buffer.allocUnsafe(e);do{let r=this._buffers[0],i=s.length-e;e>=r.length?s.set(this._buffers.shift(),i):(s.set(new Uint8Array(r.buffer,r.byteOffset,e),i),this._buffers[0]=new ae(r.buffer,r.byteOffset+e,r.length-e)),e-=r.length}while(e>0);return s}startLoop(e){this._loop=!0;do switch(this._state){case v:this.getInfo(e);break;case nt:this.getPayloadLength16(e);break;case ot:this.getPayloadLength64(e);break;case at:this.getMask();break;case Te:this.getData(e);break;case ke:case le:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let s=this.consume(2);if((s[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let r=(s[0]&64)===64;if(r&&!this._extensions[st.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(s[0]&128)===128,this._opcode=s[0]&15,this._payloadLength=s[1]&127,this._opcode===0){if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=r}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(r){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(s[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=nt:this._payloadLength===127?this._state=ot:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let s=this.consume(8),r=s.readUInt32BE(0);if(r>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=r*Math.pow(2,32)+s.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let s=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(s);return}this._masked?this._state=at:this._state=Te}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Te}getData(e){let s=rt;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}s=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&_s(s,this._mask)}if(this._opcode>7){this.controlMessage(s,e);return}if(this._compressed){this._state=ke,this.decompress(s,e);return}s.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(s)),this.dataMessage(e)}decompress(e,s){this._extensions[st.extensionName].decompress(e,this._fin,(i,n)=>{if(i)return s(i);if(n.length){if(this._messageLength+=n.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let o=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");s(o);return}this._fragments.push(n)}this.dataMessage(s),this._state===v&&this.startLoop(s)})}dataMessage(e){if(!this._fin){this._state=v;return}let s=this._messageLength,r=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Oe(r,s):this._binaryType==="arraybuffer"?i=ds(Oe(r,s)):this._binaryType==="blob"?i=new Blob(r):i=r,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=v):(this._state=le,setImmediate(()=>{this.emit("message",i,!0),this._state=v,this.startLoop(e)}))}else{let i=Oe(r,s);if(!this._skipUTF8Validation&&!it(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(n);return}this._state===ke||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=v):(this._state=le,setImmediate(()=>{this.emit("message",i,!1),this._state=v,this.startLoop(e)}))}}controlMessage(e,s){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,rt),this.end();else{let r=e.readUInt16BE(0);if(!ps(r)){let n=this.createError(RangeError,`invalid status code ${r}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");s(n);return}let i=new ae(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!it(i)){let n=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");s(n);return}this._loop=!1,this.emit("conclude",r,i),this.end()}this._state=v;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=v):(this._state=le,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=v,this.startLoop(s)}))}createError(e,s,r,i,n){this._loop=!1,this._errored=!0;let o=new e(r?`Invalid WebSocket frame: ${s}`:s);return Error.captureStackTrace(o,this.createError),o.code=n,o[cs]=i,o}};lt.exports=Ce});var Be=x((kr,ct)=>{"use strict";var{Duplex:Tr}=m("stream"),{randomFillSync:ms}=m("crypto"),ft=Z(),{EMPTY_BUFFER:gs,kWebSocket:ys,NOOP:Ss}=T(),{isBlob:G,isValidStatusCode:xs}=q(),{mask:ht,toBuffer:B}=K(),b=Symbol("kByteLength"),Es=Buffer.alloc(4),fe=8*1024,I,V=fe,w=0,vs=1,bs=2,Ne=class t{constructor(e,s,r){this._extensions=s||{},r&&(this._generateMask=r,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=w,this.onerror=Ss,this[ys]=void 0}static frame(e,s){let r,i=!1,n=2,o=!1;s.mask&&(r=s.maskBuffer||Es,s.generateMask?s.generateMask(r):(V===fe&&(I===void 0&&(I=Buffer.alloc(fe)),ms(I,0,fe),V=0),r[0]=I[V++],r[1]=I[V++],r[2]=I[V++],r[3]=I[V++]),o=(r[0]|r[1]|r[2]|r[3])===0,n=6);let l;typeof e=="string"?(!s.mask||o)&&s[b]!==void 0?l=s[b]:(e=Buffer.from(e),l=e.length):(l=e.length,i=s.mask&&s.readOnly&&!o);let f=l;l>=65536?(n+=8,f=127):l>125&&(n+=2,f=126);let a=Buffer.allocUnsafe(i?l+n:n);return a[0]=s.fin?s.opcode|128:s.opcode,s.rsv1&&(a[0]|=64),a[1]=f,f===126?a.writeUInt16BE(l,2):f===127&&(a[2]=a[3]=0,a.writeUIntBE(l,4,6)),s.mask?(a[1]|=128,a[n-4]=r[0],a[n-3]=r[1],a[n-2]=r[2],a[n-1]=r[3],o?[a,e]:i?(ht(e,r,a,n,l),[a]):(ht(e,r,e,0,l),[a,e])):[a,e]}close(e,s,r,i){let n;if(e===void 0)n=gs;else{if(typeof e!="number"||!xs(e))throw new TypeError("First argument must be a valid error code number");if(s===void 0||!s.length)n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0);else{let l=Buffer.byteLength(s);if(l>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+l),n.writeUInt16BE(e,0),typeof s=="string"?n.write(s,2):n.set(s,2)}}let o={[b]:n.length,fin:!0,generateMask:this._generateMask,mask:r,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==w?this.enqueue([this.dispatch,n,!1,o,i]):this.sendFrame(t.frame(n,o),i)}ping(e,s,r){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):G(e)?(i=e.size,n=!1):(e=B(e),i=e.length,n=B.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};G(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this._state!==w?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(t.frame(e,o),r)}pong(e,s,r){let i,n;if(typeof e=="string"?(i=Buffer.byteLength(e),n=!1):G(e)?(i=e.size,n=!1):(e=B(e),i=e.length,n=B.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let o={[b]:i,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};G(e)?this._state!==w?this.enqueue([this.getBlobData,e,!1,o,r]):this.getBlobData(e,!1,o,r):this._state!==w?this.enqueue([this.dispatch,e,!1,o,r]):this.sendFrame(t.frame(e,o),r)}send(e,s,r){let i=this._extensions[ft.extensionName],n=s.binary?2:1,o=s.compress,l,f;typeof e=="string"?(l=Buffer.byteLength(e),f=!1):G(e)?(l=e.size,f=!1):(e=B(e),l=e.length,f=B.readOnly),this._firstFragment?(this._firstFragment=!1,o&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(o=l>=i._threshold),this._compress=o):(o=!1,n=0),s.fin&&(this._firstFragment=!0);let a={[b]:l,fin:s.fin,generateMask:this._generateMask,mask:s.mask,maskBuffer:this._maskBuffer,opcode:n,readOnly:f,rsv1:o};G(e)?this._state!==w?this.enqueue([this.getBlobData,e,this._compress,a,r]):this.getBlobData(e,this._compress,a,r):this._state!==w?this.enqueue([this.dispatch,e,this._compress,a,r]):this.dispatch(e,this._compress,a,r)}getBlobData(e,s,r,i){this._bufferedBytes+=r[b],this._state=bs,e.arrayBuffer().then(n=>{if(this._socket.destroyed){let l=new Error("The socket was closed while the blob was being read");process.nextTick(Pe,this,l,i);return}this._bufferedBytes-=r[b];let o=B(n);s?this.dispatch(o,s,r,i):(this._state=w,this.sendFrame(t.frame(o,r),i),this.dequeue())}).catch(n=>{process.nextTick(ws,this,n,i)})}dispatch(e,s,r,i){if(!s){this.sendFrame(t.frame(e,r),i);return}let n=this._extensions[ft.extensionName];this._bufferedBytes+=r[b],this._state=vs,n.compress(e,r.fin,(o,l)=>{if(this._socket.destroyed){let f=new Error("The socket was closed while data was being compressed");Pe(this,f,i);return}this._bufferedBytes-=r[b],this._state=w,r.readOnly=!1,this.sendFrame(t.frame(l,r),i),this.dequeue()})}dequeue(){for(;this._state===w&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][b],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][b],this._queue.push(e)}sendFrame(e,s){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],s),this._socket.uncork()):this._socket.write(e[0],s)}};ct.exports=Ne;function Pe(t,e,s){typeof s=="function"&&s(e);for(let r=0;r<t._queue.length;r++){let i=t._queue[r],n=i[i.length-1];typeof n=="function"&&n(e)}}function ws(t,e,s){Pe(t,e,s),t.onerror(e)}});var xt=x((Cr,St)=>{"use strict";var{kForOnEventAttribute:Q,kListener:Ie}=T(),ut=Symbol("kCode"),dt=Symbol("kData"),_t=Symbol("kError"),pt=Symbol("kMessage"),mt=Symbol("kReason"),$=Symbol("kTarget"),gt=Symbol("kType"),yt=Symbol("kWasClean"),C=class{constructor(e){this[$]=null,this[gt]=e}get target(){return this[$]}get type(){return this[gt]}};Object.defineProperty(C.prototype,"target",{enumerable:!0});Object.defineProperty(C.prototype,"type",{enumerable:!0});var R=class extends C{constructor(e,s={}){super(e),this[ut]=s.code===void 0?0:s.code,this[mt]=s.reason===void 0?"":s.reason,this[yt]=s.wasClean===void 0?!1:s.wasClean}get code(){return this[ut]}get reason(){return this[mt]}get wasClean(){return this[yt]}};Object.defineProperty(R.prototype,"code",{enumerable:!0});Object.defineProperty(R.prototype,"reason",{enumerable:!0});Object.defineProperty(R.prototype,"wasClean",{enumerable:!0});var j=class extends C{constructor(e,s={}){super(e),this[_t]=s.error===void 0?null:s.error,this[pt]=s.message===void 0?"":s.message}get error(){return this[_t]}get message(){return this[pt]}};Object.defineProperty(j.prototype,"error",{enumerable:!0});Object.defineProperty(j.prototype,"message",{enumerable:!0});var J=class extends C{constructor(e,s={}){super(e),this[dt]=s.data===void 0?null:s.data}get data(){return this[dt]}};Object.defineProperty(J.prototype,"data",{enumerable:!0});var Os={addEventListener(t,e,s={}){for(let i of this.listeners(t))if(!s[Q]&&i[Ie]===e&&!i[Q])return;let r;if(t==="message")r=function(n,o){let l=new J("message",{data:o?n:n.toString()});l[$]=this,he(e,this,l)};else if(t==="close")r=function(n,o){let l=new R("close",{code:n,reason:o.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});l[$]=this,he(e,this,l)};else if(t==="error")r=function(n){let o=new j("error",{error:n,message:n.message});o[$]=this,he(e,this,o)};else if(t==="open")r=function(){let n=new C("open");n[$]=this,he(e,this,n)};else return;r[Q]=!!s[Q],r[Ie]=e,s.once?this.once(t,r):this.on(t,r)},removeEventListener(t,e){for(let s of this.listeners(t))if(s[Ie]===e&&!s[Q]){this.removeListener(t,s);break}}};St.exports={CloseEvent:R,ErrorEvent:j,Event:C,EventTarget:Os,MessageEvent:J};function he(t,e,s){typeof t=="object"&&t.handleEvent?t.handleEvent.call(t,s):t.call(e,s)}});var Re=x((Lr,Et)=>{"use strict";var{tokenChars:ee}=q();function O(t,e,s){t[e]===void 0?t[e]=[s]:t[e].push(s)}function Ts(t){let e=Object.create(null),s=Object.create(null),r=!1,i=!1,n=!1,o,l,f=-1,a=-1,h=-1,c=0;for(;c<t.length;c++)if(a=t.charCodeAt(c),o===void 0)if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(c!==0&&(a===32||a===9))h===-1&&f!==-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(f,h);a===44?(O(e,g,s),s=Object.create(null)):o=g,f=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);else if(l===void 0)if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(a===32||a===9)h===-1&&f!==-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c),O(s,t.slice(f,h),!0),a===44&&(O(e,o,s),s=Object.create(null),o=void 0),f=h=-1}else if(a===61&&f!==-1&&h===-1)l=t.slice(f,c),f=h=-1;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(i){if(ee[a]!==1)throw new SyntaxError(`Unexpected character at index ${c}`);f===-1?f=c:r||(r=!0),i=!1}else if(n)if(ee[a]===1)f===-1&&(f=c);else if(a===34&&f!==-1)n=!1,h=c;else if(a===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${c}`);else if(a===34&&t.charCodeAt(c-1)===61)n=!0;else if(h===-1&&ee[a]===1)f===-1&&(f=c);else if(f!==-1&&(a===32||a===9))h===-1&&(h=c);else if(a===59||a===44){if(f===-1)throw new SyntaxError(`Unexpected character at index ${c}`);h===-1&&(h=c);let g=t.slice(f,h);r&&(g=g.replace(/\\/g,""),r=!1),O(s,l,g),a===44&&(O(e,o,s),s=Object.create(null),o=void 0),l=void 0,f=h=-1}else throw new SyntaxError(`Unexpected character at index ${c}`);if(f===-1||n||a===32||a===9)throw new SyntaxError("Unexpected end of input");h===-1&&(h=c);let _=t.slice(f,h);return o===void 0?O(e,_,s):(l===void 0?O(s,_,!0):r?O(s,l,_.replace(/\\/g,"")):O(s,l,_),O(e,o,s)),e}function ks(t){return Object.keys(t).map(e=>{let s=t[e];return Array.isArray(s)||(s=[s]),s.map(r=>[e].concat(Object.keys(r).map(i=>{let n=r[i];return Array.isArray(n)||(n=[n]),n.map(o=>o===!0?i:`${i}=${o}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Et.exports={format:ks,parse:Ts}});var _e=x((Br,It)=>{"use strict";var Cs=m("events"),Ls=m("https"),Ns=m("http"),wt=m("net"),Ps=m("tls"),{randomBytes:Bs,createHash:Is}=m("crypto"),{Duplex:Nr,Readable:Pr}=m("stream"),{URL:Ue}=m("url"),P=Z(),Rs=Le(),Us=Be(),{isBlob:Ds}=q(),{BINARY_TYPES:vt,CLOSE_TIMEOUT:Ms,EMPTY_BUFFER:ce,GUID:As,kForOnEventAttribute:De,kListener:Ws,kStatusCode:Fs,kWebSocket:y,NOOP:Ot}=T(),{EventTarget:{addEventListener:qs,removeEventListener:Gs}}=xt(),{format:Vs,parse:$s}=Re(),{toBuffer:js}=K(),Tt=Symbol("kAborted"),Me=[8,13],L=["CONNECTING","OPEN","CLOSING","CLOSED"],zs=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,d=class t extends Cs{constructor(e,s,r){super(),this._binaryType=vt[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=ce,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=t.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,s===void 0?s=[]:Array.isArray(s)||(typeof s=="object"&&s!==null?(r=s,s=[]):s=[s]),kt(this,e,s,r)):(this._autoPong=r.autoPong,this._closeTimeout=r.closeTimeout,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){vt.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,s,r){let i=new Rs({allowSynchronousEvents:r.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:r.maxPayload,skipUTF8Validation:r.skipUTF8Validation}),n=new Us(e,this._extensions,r.generateMask);this._receiver=i,this._sender=n,this._socket=e,i[y]=this,n[y]=this,e[y]=this,i.on("conclude",Ks),i.on("drain",Xs),i.on("error",Zs),i.on("message",Qs),i.on("ping",Js),i.on("pong",er),n.onerror=tr,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),s.length>0&&e.unshift(s),e.on("close",Nt),e.on("data",de),e.on("end",Pt),e.on("error",Bt),this._readyState=t.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[P.extensionName]&&this._extensions[P.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=t.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,s){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===t.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=t.CLOSING,this._sender.close(e,s,!this._isServer,r=>{r||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Lt(this)}}pause(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=s=void 0):typeof s=="function"&&(r=s,s=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}s===void 0&&(s=!this._isServer),this._sender.ping(e||ce,s,r)}pong(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(r=e,e=s=void 0):typeof s=="function"&&(r=s,s=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}s===void 0&&(s=!this._isServer),this._sender.pong(e||ce,s,r)}resume(){this.readyState===t.CONNECTING||this.readyState===t.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,s,r){if(this.readyState===t.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof s=="function"&&(r=s,s={}),typeof e=="number"&&(e=e.toString()),this.readyState!==t.OPEN){Ae(this,e,r);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...s};this._extensions[P.extensionName]||(i.compress=!1),this._sender.send(e||ce,i,r)}terminate(){if(this.readyState!==t.CLOSED){if(this.readyState===t.CONNECTING){E(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=t.CLOSING,this._socket.destroy())}}};Object.defineProperty(d,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d.prototype,"CONNECTING",{enumerable:!0,value:L.indexOf("CONNECTING")});Object.defineProperty(d,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d.prototype,"OPEN",{enumerable:!0,value:L.indexOf("OPEN")});Object.defineProperty(d,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d.prototype,"CLOSING",{enumerable:!0,value:L.indexOf("CLOSING")});Object.defineProperty(d,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});Object.defineProperty(d.prototype,"CLOSED",{enumerable:!0,value:L.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(t=>{Object.defineProperty(d.prototype,t,{enumerable:!0})});["open","error","close","message"].forEach(t=>{Object.defineProperty(d.prototype,`on${t}`,{enumerable:!0,get(){for(let e of this.listeners(t))if(e[De])return e[Ws];return null},set(e){for(let s of this.listeners(t))if(s[De]){this.removeListener(t,s);break}typeof e=="function"&&this.addEventListener(t,e,{[De]:!0})}})});d.prototype.addEventListener=qs;d.prototype.removeEventListener=Gs;It.exports=d;function kt(t,e,s,r){let i={allowSynchronousEvents:!0,autoPong:!0,closeTimeout:Ms,protocolVersion:Me[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...r,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(t._autoPong=i.autoPong,t._closeTimeout=i.closeTimeout,!Me.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${Me.join(", ")})`);let n;if(e instanceof Ue)n=e;else try{n=new Ue(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}n.protocol==="http:"?n.protocol="ws:":n.protocol==="https:"&&(n.protocol="wss:"),t._url=n.href;let o=n.protocol==="wss:",l=n.protocol==="ws+unix:",f;if(n.protocol!=="ws:"&&!o&&!l?f=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:l&&!n.pathname?f="The URL's pathname is empty":n.hash&&(f="The URL contains a fragment identifier"),f){let u=new SyntaxError(f);if(t._redirects===0)throw u;ue(t,u);return}let a=o?443:80,h=Bs(16).toString("base64"),c=o?Ls.request:Ns.request,_=new Set,g;if(i.createConnection=i.createConnection||(o?Ys:Hs),i.defaultPort=i.defaultPort||a,i.port=n.port||a,i.host=n.hostname.startsWith("[")?n.hostname.slice(1,-1):n.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":h,Connection:"Upgrade",Upgrade:"websocket"},i.path=n.pathname+n.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(g=new P(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=Vs({[P.extensionName]:g.offer()})),s.length){for(let u of s){if(typeof u!="string"||!zs.test(u)||_.has(u))throw new SyntaxError("An invalid or duplicated subprotocol was specified");_.add(u)}i.headers["Sec-WebSocket-Protocol"]=s.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(n.username||n.password)&&(i.auth=`${n.username}:${n.password}`),l){let u=i.path.split(":");i.socketPath=u[0],i.path=u[1]}let p;if(i.followRedirects){if(t._redirects===0){t._originalIpc=l,t._originalSecure=o,t._originalHostOrSocketPath=l?i.socketPath:n.host;let u=r&&r.headers;if(r={...r,headers:{}},u)for(let[S,M]of Object.entries(u))r.headers[S.toLowerCase()]=M}else if(t.listenerCount("redirect")===0){let u=l?t._originalIpc?i.socketPath===t._originalHostOrSocketPath:!1:t._originalIpc?!1:n.host===t._originalHostOrSocketPath;(!u||t._originalSecure&&!o)&&(delete i.headers.authorization,delete i.headers.cookie,u||delete i.headers.host,i.auth=void 0)}i.auth&&!r.headers.authorization&&(r.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),p=t._req=c(i),t._redirects&&t.emit("redirect",t.url,p)}else p=t._req=c(i);i.timeout&&p.on("timeout",()=>{E(t,p,"Opening handshake has timed out")}),p.on("error",u=>{p===null||p[Tt]||(p=t._req=null,ue(t,u))}),p.on("response",u=>{let S=u.headers.location,M=u.statusCode;if(S&&i.followRedirects&&M>=300&&M<400){if(++t._redirects>i.maxRedirects){E(t,p,"Maximum redirects exceeded");return}p.abort();let z;try{z=new Ue(S,e)}catch{let A=new SyntaxError(`Invalid URL: ${S}`);ue(t,A);return}kt(t,z,s,r)}else t.emit("unexpected-response",p,u)||E(t,p,`Unexpected server response: ${u.statusCode}`)}),p.on("upgrade",(u,S,M)=>{if(t.emit("upgrade",u),t.readyState!==d.CONNECTING)return;p=t._req=null;let z=u.headers.upgrade;if(z===void 0||z.toLowerCase()!=="websocket"){E(t,S,"Invalid Upgrade header");return}let Fe=Is("sha1").update(h+As).digest("base64");if(u.headers["sec-websocket-accept"]!==Fe){E(t,S,"Invalid Sec-WebSocket-Accept header");return}let A=u.headers["sec-websocket-protocol"],H;if(A!==void 0?_.size?_.has(A)||(H="Server sent an invalid subprotocol"):H="Server sent a subprotocol but none was requested":_.size&&(H="Server sent no subprotocol"),H){E(t,S,H);return}A&&(t._protocol=A);let qe=u.headers["sec-websocket-extensions"];if(qe!==void 0){if(!g){E(t,S,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ge;try{ge=$s(qe)}catch{E(t,S,"Invalid Sec-WebSocket-Extensions header");return}let Ge=Object.keys(ge);if(Ge.length!==1||Ge[0]!==P.extensionName){E(t,S,"Server indicated an extension that was not requested");return}try{g.accept(ge[P.extensionName])}catch{E(t,S,"Invalid Sec-WebSocket-Extensions header");return}t._extensions[P.extensionName]=g}t.setSocket(S,M,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(p,t):p.end()}function ue(t,e){t._readyState=d.CLOSING,t._errorEmitted=!0,t.emit("error",e),t.emitClose()}function Hs(t){return t.path=t.socketPath,wt.connect(t)}function Ys(t){return t.path=void 0,!t.servername&&t.servername!==""&&(t.servername=wt.isIP(t.host)?"":t.host),Ps.connect(t)}function E(t,e,s){t._readyState=d.CLOSING;let r=new Error(s);Error.captureStackTrace(r,E),e.setHeader?(e[Tt]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(ue,t,r)):(e.destroy(r),e.once("error",t.emit.bind(t,"error")),e.once("close",t.emitClose.bind(t)))}function Ae(t,e,s){if(e){let r=Ds(e)?e.size:js(e).length;t._socket?t._sender._bufferedBytes+=r:t._bufferedAmount+=r}if(s){let r=new Error(`WebSocket is not open: readyState ${t.readyState} (${L[t.readyState]})`);process.nextTick(s,r)}}function Ks(t,e){let s=this[y];s._closeFrameReceived=!0,s._closeMessage=e,s._closeCode=t,s._socket[y]!==void 0&&(s._socket.removeListener("data",de),process.nextTick(Ct,s._socket),t===1005?s.close():s.close(t,e))}function Xs(){let t=this[y];t.isPaused||t._socket.resume()}function Zs(t){let e=this[y];e._socket[y]!==void 0&&(e._socket.removeListener("data",de),process.nextTick(Ct,e._socket),e.close(t[Fs])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t))}function bt(){this[y].emitClose()}function Qs(t,e){this[y].emit("message",t,e)}function Js(t){let e=this[y];e._autoPong&&e.pong(t,!this._isServer,Ot),e.emit("ping",t)}function er(t){this[y].emit("pong",t)}function Ct(t){t.resume()}function tr(t){let e=this[y];e.readyState!==d.CLOSED&&(e.readyState===d.OPEN&&(e._readyState=d.CLOSING,Lt(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",t)))}function Lt(t){t._closeTimer=setTimeout(t._socket.destroy.bind(t._socket),t._closeTimeout)}function Nt(){let t=this[y];if(this.removeListener("close",Nt),this.removeListener("data",de),this.removeListener("end",Pt),t._readyState=d.CLOSING,!this._readableState.endEmitted&&!t._closeFrameReceived&&!t._receiver._writableState.errorEmitted&&this._readableState.length!==0){let e=this.read(this._readableState.length);t._receiver.write(e)}t._receiver.end(),this[y]=void 0,clearTimeout(t._closeTimer),t._receiver._writableState.finished||t._receiver._writableState.errorEmitted?t.emitClose():(t._receiver.on("error",bt),t._receiver.on("finish",bt))}function de(t){this[y]._receiver.write(t)||this.pause()}function Pt(){let t=this[y];t._readyState=d.CLOSING,t._receiver.end(),this.end()}function Bt(){let t=this[y];this.removeListener("error",Bt),this.on("error",Ot),t&&(t._readyState=d.CLOSING,this.destroy())}});var Mt=x((Rr,Dt)=>{"use strict";var Ir=_e(),{Duplex:sr}=m("stream");function Rt(t){t.emit("close")}function rr(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Ut(t){this.removeListener("error",Ut),this.destroy(),this.listenerCount("error")===0&&this.emit("error",t)}function ir(t,e){let s=!0,r=new sr({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return t.on("message",function(n,o){let l=!o&&r._readableState.objectMode?n.toString():n;r.push(l)||t.pause()}),t.once("error",function(n){r.destroyed||(s=!1,r.destroy(n))}),t.once("close",function(){r.destroyed||r.push(null)}),r._destroy=function(i,n){if(t.readyState===t.CLOSED){n(i),process.nextTick(Rt,r);return}let o=!1;t.once("error",function(f){o=!0,n(f)}),t.once("close",function(){o||n(i),process.nextTick(Rt,r)}),s&&t.terminate()},r._final=function(i){if(t.readyState===t.CONNECTING){t.once("open",function(){r._final(i)});return}t._socket!==null&&(t._socket._writableState.finished?(i(),r._readableState.endEmitted&&r.destroy()):(t._socket.once("finish",function(){i()}),t.close()))},r._read=function(){t.isPaused&&t.resume()},r._write=function(i,n,o){if(t.readyState===t.CONNECTING){t.once("open",function(){r._write(i,n,o)});return}t.send(i,o)},r.on("end",rr),r.on("error",Ut),r}Dt.exports=ir});var Wt=x((Ur,At)=>{"use strict";var{tokenChars:nr}=q();function or(t){let e=new Set,s=-1,r=-1,i=0;for(i;i<t.length;i++){let o=t.charCodeAt(i);if(r===-1&&nr[o]===1)s===-1&&(s=i);else if(i!==0&&(o===32||o===9))r===-1&&s!==-1&&(r=i);else if(o===44){if(s===-1)throw new SyntaxError(`Unexpected character at index ${i}`);r===-1&&(r=i);let l=t.slice(s,r);if(e.has(l))throw new SyntaxError(`The "${l}" subprotocol is duplicated`);e.add(l),s=r=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(s===-1||r!==-1)throw new SyntaxError("Unexpected end of input");let n=t.slice(s,i);if(e.has(n))throw new SyntaxError(`The "${n}" subprotocol is duplicated`);return e.add(n),e}At.exports={parse:or}});var zt=x((Mr,jt)=>{"use strict";var ar=m("events"),pe=m("http"),{Duplex:Dr}=m("stream"),{createHash:lr}=m("crypto"),Ft=Re(),U=Z(),fr=Wt(),hr=_e(),{CLOSE_TIMEOUT:cr,GUID:ur,kWebSocket:dr}=T(),_r=/^[+/0-9A-Za-z]{22}==$/,qt=0,Gt=1,$t=2,We=class extends ar{constructor(e,s){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,closeTimeout:cr,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:hr,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=pe.createServer((r,i)=>{let n=pe.STATUS_CODES[426];i.writeHead(426,{"Content-Length":n.length,"Content-Type":"text/plain"}),i.end(n)}),this._server.listen(e.port,e.host,e.backlog,s)):e.server&&(this._server=e.server),this._server){let r=this.emit.bind(this,"connection");this._removeListeners=pr(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,n,o)=>{this.handleUpgrade(i,n,o,r)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=qt}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===$t){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(te,this);return}if(e&&this.once("close",e),this._state!==Gt)if(this._state=Gt,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(te,this):process.nextTick(te,this);else{let s=this._server;this._removeListeners(),this._removeListeners=this._server=null,s.close(()=>{te(this)})}}shouldHandle(e){if(this.options.path){let s=e.url.indexOf("?");if((s!==-1?e.url.slice(0,s):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,s,r,i){s.on("error",Vt);let n=e.headers["sec-websocket-key"],o=e.headers.upgrade,l=+e.headers["sec-websocket-version"];if(e.method!=="GET"){D(this,e,s,405,"Invalid HTTP method");return}if(o===void 0||o.toLowerCase()!=="websocket"){D(this,e,s,400,"Invalid Upgrade header");return}if(n===void 0||!_r.test(n)){D(this,e,s,400,"Missing or invalid Sec-WebSocket-Key header");return}if(l!==13&&l!==8){D(this,e,s,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){se(s,400);return}let f=e.headers["sec-websocket-protocol"],a=new Set;if(f!==void 0)try{a=fr.parse(f)}catch{D(this,e,s,400,"Invalid Sec-WebSocket-Protocol header");return}let h=e.headers["sec-websocket-extensions"],c={};if(this.options.perMessageDeflate&&h!==void 0){let _=new U(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let g=Ft.parse(h);g[U.extensionName]&&(_.accept(g[U.extensionName]),c[U.extensionName]=_)}catch{D(this,e,s,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let _={origin:e.headers[`${l===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(_,(g,p,u,S)=>{if(!g)return se(s,p||401,u,S);this.completeUpgrade(c,n,a,e,s,r,i)});return}if(!this.options.verifyClient(_))return se(s,401)}this.completeUpgrade(c,n,a,e,s,r,i)}completeUpgrade(e,s,r,i,n,o,l){if(!n.readable||!n.writable)return n.destroy();if(n[dr])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>qt)return se(n,503);let a=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${lr("sha1").update(s+ur).digest("base64")}`],h=new this.options.WebSocket(null,void 0,this.options);if(r.size){let c=this.options.handleProtocols?this.options.handleProtocols(r,i):r.values().next().value;c&&(a.push(`Sec-WebSocket-Protocol: ${c}`),h._protocol=c)}if(e[U.extensionName]){let c=e[U.extensionName].params,_=Ft.format({[U.extensionName]:[c]});a.push(`Sec-WebSocket-Extensions: ${_}`),h._extensions=e}this.emit("headers",a,i),n.write(a.concat(`\r
|
|
3
|
+
`).join(`\r
|
|
4
|
+
`)),n.removeListener("error",Vt),h.setSocket(n,o,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(h),h.on("close",()=>{this.clients.delete(h),this._shouldEmitClose&&!this.clients.size&&process.nextTick(te,this)})),l(h,i)}};jt.exports=We;function pr(t,e){for(let s of Object.keys(e))t.on(s,e[s]);return function(){for(let r of Object.keys(e))t.removeListener(r,e[r])}}function te(t){t._state=$t,t.emit("close")}function Vt(){this.destroy()}function se(t,e,s,r){s=s||pe.STATUS_CODES[e],r={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...r},t.once("finish",t.destroy),t.end(`HTTP/1.1 ${e} ${pe.STATUS_CODES[e]}\r
|
|
5
|
+
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
|
|
6
|
+
`)+`\r
|
|
7
|
+
\r
|
|
8
|
+
`+s)}function D(t,e,s,r,i,n){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,D),t.emit("wsClientError",o,s,e)}else se(s,r,i,n)}});var mr=Y(Mt(),1),gr=Y(Le(),1),yr=Y(Be(),1),Ht=Y(_e(),1),Sr=Y(zt(),1);var Yt=Ht.default;var me=global;me.WebSocket||=Yt;me.window||=global;me.self||=global;me.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}];import Kt from"react-devtools-core";Kt.initialize();Kt.connectToDevTools();
|