@runware/sdk-js 1.2.2-beta.1 → 1.2.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/index.d.cts CHANGED
@@ -738,6 +738,11 @@ type MediaUUID = {
738
738
  videoUUID?: string;
739
739
  };
740
740
 
741
+ declare enum LISTEN_TO_MEDIA_KEY {
742
+ REQUEST_IMAGES = "REQUEST_IMAGES",
743
+ REQUEST_AUDIO = "REQUEST_AUDIO"
744
+ }
745
+
741
746
  declare class RunwareBase {
742
747
  _ws: ReconnectingWebsocketProps | any;
743
748
  _listeners: ListenerType[];
@@ -824,12 +829,13 @@ declare class RunwareBase {
824
829
  debugKey: string;
825
830
  isMultiple?: boolean | undefined;
826
831
  }) => Promise<T>;
827
- protected baseSyncRequest: <T>({ payload, debugKey, }: {
832
+ protected baseSyncRequest: <T>({ payload, groupKey, skipResponse }: {
828
833
  payload: Record<string, any>;
829
- debugKey: string;
834
+ groupKey: LISTEN_TO_MEDIA_KEY;
835
+ skipResponse?: boolean | undefined;
830
836
  }) => Promise<T>;
831
837
  ensureConnection(): Promise<unknown>;
832
- private getSimilarImages;
838
+ private getResponseWithSimilarTaskUUID;
833
839
  private getSingleMessage;
834
840
  private getMultipleMessages;
835
841
  private insertAdditionalResponse;
package/dist/index.d.ts CHANGED
@@ -738,6 +738,11 @@ type MediaUUID = {
738
738
  videoUUID?: string;
739
739
  };
740
740
 
741
+ declare enum LISTEN_TO_MEDIA_KEY {
742
+ REQUEST_IMAGES = "REQUEST_IMAGES",
743
+ REQUEST_AUDIO = "REQUEST_AUDIO"
744
+ }
745
+
741
746
  declare class RunwareBase {
742
747
  _ws: ReconnectingWebsocketProps | any;
743
748
  _listeners: ListenerType[];
@@ -824,12 +829,13 @@ declare class RunwareBase {
824
829
  debugKey: string;
825
830
  isMultiple?: boolean | undefined;
826
831
  }) => Promise<T>;
827
- protected baseSyncRequest: <T>({ payload, debugKey, }: {
832
+ protected baseSyncRequest: <T>({ payload, groupKey, skipResponse }: {
828
833
  payload: Record<string, any>;
829
- debugKey: string;
834
+ groupKey: LISTEN_TO_MEDIA_KEY;
835
+ skipResponse?: boolean | undefined;
830
836
  }) => Promise<T>;
831
837
  ensureConnection(): Promise<unknown>;
832
- private getSimilarImages;
838
+ private getResponseWithSimilarTaskUUID;
833
839
  private getSingleMessage;
834
840
  private getMultipleMessages;
835
841
  private insertAdditionalResponse;
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var qe=Object.create;var ce=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var ze=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports);var Qe=(l,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Be(e))!He.call(l,s)&&s!==t&&ce(l,s,{get:()=>e[s],enumerable:!(n=Ve(e,s))||n.enumerable});return l};var je=(l,e,t)=>(t=l!=null?qe(Ge(l)):{},Qe(e||!l||!l.__esModule?ce(t,"default",{value:l,enumerable:!0}):t,l));var Se=ze((yn,ve)=>{"use strict";var De=l=>l&&l.CLOSING===2,rt=()=>typeof WebSocket<"u"&&De(WebSocket),at=()=>({constructor:rt()?WebSocket:null,maxReconnectionDelay:1e4,minReconnectionDelay:1500,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,debug:!1}),ot=(l,e,t)=>{Object.defineProperty(e,t,{get:()=>l[t],set:n=>{l[t]=n},enumerable:!0,configurable:!0})},_e=l=>l.minReconnectionDelay+Math.random()*l.minReconnectionDelay,it=(l,e)=>{let t=e*l.reconnectionDelayGrowFactor;return t>l.maxReconnectionDelay?l.maxReconnectionDelay:t},lt=["onopen","onclose","onmessage","onerror"],ut=(l,e,t)=>{Object.keys(t).forEach(n=>{t[n].forEach(([s,r])=>{l.addEventListener(n,s,r)})}),e&&lt.forEach(n=>{l[n]=e[n]})},xe=function(l,e,t={}){let n,s,r=0,a=0,i=!0,o={};if(!(this instanceof xe))throw new TypeError("Failed to construct 'ReconnectingWebSocket': Please use the 'new' operator");let d=at();if(Object.keys(d).filter(c=>t.hasOwnProperty(c)).forEach(c=>d[c]=t[c]),!De(d.constructor))throw new TypeError("Invalid WebSocket constructor. Set `options.constructor`");let m=d.debug?(...c)=>console.log("RWS:",...c):()=>{},p=(c,y)=>setTimeout(()=>{let h=new Error(y);h.code=c,Array.isArray(o.error)&&o.error.forEach(([I])=>I(h)),n.onerror&&n.onerror(h)},0),g=()=>{if(m("close"),a++,m("retries count:",a),a>d.maxRetries){p("EHOSTDOWN","Too many failed connection attempts");return}r?r=it(d,r):r=_e(d),m("reconnectDelay:",r),i&&setTimeout(u,r)},u=()=>{m("connect");let c=n;n=new d.constructor(l,e),s=setTimeout(()=>{m("timeout"),n.close(),p("ETIMEDOUT","Connection timeout")},d.connectionTimeout),m("bypass properties");for(let y in n)["addEventListener","removeEventListener","close","send"].indexOf(y)<0&&ot(n,this,y);n.addEventListener("open",()=>{clearTimeout(s),m("open"),r=_e(d),m("reconnectDelay:",r),a=0}),n.addEventListener("close",g),ut(n,c,o)};m("init"),u(),this.close=(c=1e3,y="",{keepClosed:h=!1,fastClose:I=!0,delay:f=0}={})=>{if(f&&(r=f),i=!h,n.close(c,y),I){let k={code:c,reason:y,wasClean:!0};g(),Array.isArray(o.close)&&o.close.forEach(([R,U])=>{R(k),n.removeEventListener("close",R,U)}),n.onclose&&(n.onclose(k),n.onclose=null)}},this.send=c=>{n.send(c)},this.addEventListener=(c,y,h)=>{Array.isArray(o[c])?o[c].some(([I])=>I===y)||o[c].push([y,h]):o[c]=[[y,h]],n.addEventListener(c,y,h)},this.removeEventListener=(c,y,h)=>{Array.isArray(o[c])&&(o[c]=o[c].filter(([I])=>I!==y)),n.removeEventListener(c,y,h)}};ve.exports=xe});var de=(n=>(n.PRODUCTION="PRODUCTION",n.DEVELOPMENT="DEVELOPMENT",n.TEST="TEST",n))(de||{}),J=(t=>(t.CLIENT="CLIENT",t.SERVER="SERVER",t))(J||{}),Z=(I=>(I.IMAGE_INFERENCE="imageInference",I.IMAGE_UPLOAD="imageUpload",I.UPSCALE="upscale",I.REMOVE_BACKGROUND="removeBackground",I.VIDEO_INFERENCE="videoInference",I.CAPTION="caption",I.AUDIO_INFERENCE="audioInference",I.GET_RESPONSE="getResponse",I.PHOTO_MAKER="photoMaker",I.IMAGE_CONTROL_NET_PRE_PROCESS="imageControlNetPreProcess",I.IMAGE_MASKING="imageMasking",I.PROMPT_ENHANCE="promptEnhance",I.AUTHENTICATION="authentication",I.MODEL_UPLOAD="modelUpload",I.MODEL_SEARCH="modelSearch",I.MEDIA_STORAGE="mediaStorage",I.VECTORIZE="vectorize",I))(Z||{}),pe=(n=>(n.BALANCED="balanced",n.PROMPT="prompt",n.CONTROL_NET="controlnet",n))(pe||{}),ge=(g=>(g.canny="canny",g.depth="depth",g.mlsd="mlsd",g.normalbae="normalbae",g.openpose="openpose",g.tile="tile",g.seg="seg",g.lineart="lineart",g.lineart_anime="lineart_anime",g.shuffle="shuffle",g.scribble="scribble",g.softedge="softedge",g))(ge||{}),me=(b=>(b.canny="canny",b.depth_leres="depth_leres",b.depth_midas="depth_midas",b.depth_zoe="depth_zoe",b.inpaint_global_harmonious="inpaint_global_harmonious",b.lineart_anime="lineart_anime",b.lineart_coarse="lineart_coarse",b.lineart_realistic="lineart_realistic",b.lineart_standard="lineart_standard",b.mlsd="mlsd",b.normal_bae="normal_bae",b.scribble_hed="scribble_hed",b.scribble_pidinet="scribble_pidinet",b.seg_ofade20k="seg_ofade20k",b.seg_ofcoco="seg_ofcoco",b.seg_ufade20k="seg_ufade20k",b.shuffle="shuffle",b.softedge_hed="softedge_hed",b.softedge_hedsafe="softedge_hedsafe",b.softedge_pidinet="softedge_pidinet",b.softedge_pidisafe="softedge_pidisafe",b.tile_gaussian="tile_gaussian",b.openpose="openpose",b.openpose_face="openpose_face",b.openpose_faceonly="openpose_faceonly",b.openpose_full="openpose_full",b.openpose_hand="openpose_hand",b))(me||{}),Je=(r=>(r.openpose="openpose",r.openpose_face="openpose_face",r.openpose_faceonly="openpose_faceonly",r.openpose_full="openpose_full",r.openpose_hand="openpose_hand",r))(Je||{}),Ze=(t=>(t.safetensors="safetensors",t.pickletensor="pickletensor",t))(Ze||{}),$e=(u=>(u.flux1d="flux1d",u.flux1s="flux1s",u.pony="pony",u.sdhyper="sdhyper",u.sd1x="sd1x",u.sd1xlcm="sd1xlcm",u.sd3="sd3",u.sdxl="sdxl",u.sdxllcm="sdxllcm",u.sdxldistilled="sdxldistilled",u.sdxlhyper="sdxlhyper",u.sdxllightning="sdxllightning",u.sdxlturbo="sdxlturbo",u))($e||{}),Ye=(n=>(n.base="base",n.inpainting="inpainting",n.pix2pix="pix2pix",n))(Ye||{}),Xe=(U=>(U.canny="canny",U.depth="depth",U.qrcode="qrcode",U.hed="hed",U.scrible="scrible",U.openpose="openpose",U.seg="segmentation",U.openmlsd="openmlsd",U.softedge="softedge",U.normal="normal bae",U.shuffle="shuffle",U.pix2pix="pix2pix",U.inpaint="inpaint",U.lineart="line art",U.sketch="sketch",U.inpaintdepth="inpaint depth",U.tile="tile",U.outfit="outfit",U.blur="blur",U.gray="gray",U.lowquality="low quality",U))(Xe||{}),et=(p=>(p.NoStyle="No style",p.Cinematic="Cinematic",p.DisneyCharacter="Disney Character",p.DigitalArt="Digital Art",p.Photographic="Photographic",p.FantasyArt="Fantasy art",p.Neonpunk="Neonpunk",p.Enhance="Enhance",p.ComicBook="Comic book",p.Lowpoly="Lowpoly",p.LineArt="Line art",p))(et||{});import{v4 as tt,validate as nt}from"uuid";var F=6e4,K=1e3,Ie=100,$={PRODUCTION:"wss://ws-api.runware.ai/v1",TEST:"ws://localhost:8080"},ye=(l,e)=>{if(l==null)return;let t=l.indexOf(e);t!==-1&&l.splice(t,1)},A=(l,{debugKey:e="debugKey",timeoutDuration:t=F,shouldThrowError:n=!0,pollingInterval:s=Ie})=>(t=t<K?K:t,new Promise((r,a)=>{let i=setTimeout(()=>{o&&(clearInterval(o),n&&a(`Response could not be received from server for ${e}`)),clearTimeout(i)},t),o=setInterval(async()=>{l({resolve:r,reject:a,intervalId:o})&&(clearInterval(o),clearTimeout(i))},s)})),he=l=>new Promise(e=>{let t=new FileReader;t.readAsDataURL(l),t.onload=function(){e(t.result)}}),_=()=>tt(),Ue=l=>nt(l);var be=({key:l,data:e,useZero:t=!0,shouldReturnString:n=!1})=>l.split(/\.|\[/).map(a=>a.replace(/\]$/,"")).reduce((a,i)=>{let o=t?0:void 0,d=a?.[i];if(!d)return o;if(Array.isArray(d)&&/^\d+$/.test(i)){let m=parseInt(i,10);return m>=0&&m<d.length?a[i]=d[m]:a[i]??o}else return a[i]??o},e||{})??{},fe=(l,e=1e3)=>new Promise(t=>setTimeout(t,l*e));var Te=(l,e)=>l.filter(t=>t.key!==e.key);var T=({key:l,value:e})=>e||e===0||e===!1?{[l]:e}:{},st=(l,e)=>Math.floor(Math.random()*(e-l+1))+l,Re=()=>st(1,Number.MAX_SAFE_INTEGER),ke=(l,{debugKey:e="debugKey",timeoutDuration:t=F,shouldThrowError:n=!0,pollingInterval:s=Ie})=>(t=t<K?K:t,new Promise((r,a)=>{let i=setTimeout(()=>{o&&(clearInterval(o),n&&a(`Response could not be received from server for ${e}`)),clearTimeout(i)},t),o=setInterval(async()=>{try{await l({resolve:r,reject:a,intervalId:o})&&(clearInterval(o),clearTimeout(i))}catch(d){clearInterval(o),clearTimeout(i),a(d)}},s)}));var x=async(l,e={})=>{let{delayInSeconds:t=1,callback:n}=e,s=e.maxRetries??1;for(;s;)try{return await l()}catch(r){if(n?.(),r?.error)throw r;if(s--,s>0)await fe(t),await x(l,{...e,maxRetries:s});else throw r}};var w=class{constructor({apiKey:e,url:t=$.PRODUCTION,shouldReconnect:n=!0,globalMaxRetries:s=2,timeoutDuration:r=F}){this._listeners=[];this._globalMessages={};this._globalImages=[];this.ensureConnectionUUID=null;this.isWebsocketReadyState=()=>this._ws?.readyState===1;this.isInvalidAPIKey=()=>this._connectionError?.error?.code==="invalidApiKey";this.send=e=>{this._ws.send(JSON.stringify([e]))};this.uploadImage=async e=>{try{return await x(async()=>{let t=_();if(typeof e=="string"&&Ue(e))return{imageURL:e,imageUUID:e,taskUUID:t,taskType:"imageUpload"};let n=typeof e=="string"?e:await he(e);return{imageURL:n,imageUUID:n,taskUUID:t,taskType:"imageUpload"}})}catch(t){throw t}};this.controlNetPreProcess=async({inputImage:e,preProcessorType:t,height:n,width:s,outputType:r,outputFormat:a,highThresholdCanny:i,lowThresholdCanny:o,includeHandsAndFaceOpenPose:d,includeCost:m,outputQuality:p,customTaskUUID:g,taskUUID:u,retry:c,includeGenerationTime:y,includePayload:h})=>{let I=c||this._globalMaxRetries,f,k=Date.now();try{return await x(async()=>{await this.ensureConnection();let R=await this.uploadImage(e);if(!R?.imageUUID)return null;let U=u||g||_(),O={inputImage:R.imageUUID,taskType:"imageControlNetPreProcess",taskUUID:U,preProcessorType:t,...T({key:"height",value:n}),...T({key:"width",value:s}),...T({key:"outputType",value:r}),...T({key:"outputFormat",value:a}),...T({key:"includeCost",value:m}),...T({key:"highThresholdCanny",value:i}),...T({key:"lowThresholdCanny",value:o}),...T({key:"includeHandsAndFaceOpenPose",value:d}),...p?{outputQuality:p}:{}};this.send({...O}),f=this.globalListener({taskUUID:U});let M=await A(({resolve:V,reject:B})=>{let v=this.getSingleMessage({taskUUID:U});if(v){if(v?.error)return B(v),!0;if(v)return V(v),!0}},{debugKey:"unprocessed-image",timeoutDuration:this._timeoutDuration});return f.destroy(),this.insertAdditionalResponse({response:M,payload:h?O:void 0,startTime:y?k:void 0}),M},{maxRetries:I,callback:()=>{f?.destroy()}})}catch(R){throw R}};this.controlNetPreprocess=async e=>this.controlNetPreProcess(e);this.requestImageToText=async({inputImage:e,inputs:t,includeCost:n,customTaskUUID:s,taskUUID:r,retry:a,includePayload:i,includeGenerationTime:o,deliveryMethod:d,skipResponse:m,model:p})=>{try{let g;e&&(g=await this.uploadImage(e));let c={taskUUID:r||s||_(),taskType:"caption",model:p,inputImage:g?.imageUUID,inputs:t,...T({key:"includeCost",value:n}),retry:a,includePayload:i,includeGenerationTime:o},y=await this.baseSingleRequest({payload:{...c,taskType:"caption"},debugKey:"caption"});if(m)return y;if(d==="async"){let h=y?.taskUUID;return(await this.pollForAsyncResults({taskUUID:h}))[0]}return y}catch(g){throw g}};this.caption=async e=>this.requestImageToText(e);this.removeImageBackground=async e=>{let{skipResponse:t,...n}=e;try{let s=n.deliveryMethod,r=await this.baseSingleRequest({payload:{...n,taskType:"removeBackground"},debugKey:"remove-background"});if(t)return r;if(s==="async"){let a=r?.taskUUID;return(await this.pollForAsyncResults({taskUUID:a}))[0]}return r}catch(s){throw s}};this.removeBackground=async e=>this.removeImageBackground(e);this.vectorize=async e=>this.baseSingleRequest({payload:{...e,taskType:"vectorize"},debugKey:"vectorize"});this.videoInference=async e=>{let{skipResponse:t,inputAudios:n,referenceVideos:s,...r}=e;try{let a=await this.baseSingleRequest({payload:{...r,...n?.length&&{inputAudios:n},...s?.length&&{referenceVideos:s},deliveryMethod:"async",taskType:"videoInference"},debugKey:"video-inference"});if(t)return a;let i=a?.taskUUID;return this.pollForAsyncResults({taskUUID:i,numberResults:e?.numberResults})}catch(a){throw a}};this.audioInference=async e=>{let{skipResponse:t,deliveryMethod:n="sync",...s}=e;try{let a=await(n==="sync"?this.baseSyncRequest:this.baseSingleRequest)({payload:{...s,numberResults:s.numberResults||1,taskType:"audioInference",deliveryMethod:n},debugKey:"audio-inference"});if(t)return a;let i=a?.taskUUID;return n==="async"?this.pollForAsyncResults({taskUUID:i,numberResults:e?.numberResults}):a}catch(r){throw r}};this.getResponse=async e=>{let t=e.taskUUID;return this.baseSingleRequest({payload:{...e,customTaskUUID:t,taskType:"getResponse"},isMultiple:!0,debugKey:"async-results"})};this.upscaleGan=async({inputImage:e,inputs:t,model:n,upscaleFactor:s,outputType:r,outputFormat:a,includeCost:i,outputQuality:o,customTaskUUID:d,taskUUID:m,retry:p,includeGenerationTime:g,includePayload:u,skipResponse:c,deliveryMethod:y})=>{try{let h;e&&(h=await this.uploadImage(e));let f={taskUUID:m||d||_(),inputImage:h?.imageUUID,taskType:"upscale",inputs:t,model:n,upscaleFactor:s,...T({key:"includeCost",value:i}),...r?{outputType:r}:{},...o?{outputQuality:o}:{},...a?{outputFormat:a}:{},includePayload:u,includeGenerationTime:g,retry:p,deliveryMethod:y},k=await this.baseSingleRequest({payload:{...f,taskType:"upscale"},debugKey:"upscale"});if(c)return k;if(y==="async"){let R=k?.taskUUID;return(await this.pollForAsyncResults({taskUUID:R}))[0]}return k}catch(h){throw h}};this.upscale=async e=>this.upscaleGan(e);this.enhancePrompt=async({prompt:e,promptMaxLength:t=380,promptVersions:n=1,includeCost:s,customTaskUUID:r,taskUUID:a,retry:i,includeGenerationTime:o,includePayload:d})=>{let m=i||this._globalMaxRetries,p,g=Date.now();try{return await x(async()=>{await this.ensureConnection();let u=a||r||_(),c={prompt:e,taskUUID:u,promptMaxLength:t,promptVersions:n,...T({key:"includeCost",value:s}),taskType:"promptEnhance"};this.send(c),p=this.globalListener({taskUUID:u});let y=await A(({resolve:h,reject:I})=>{let f=this._globalMessages[u];if(f?.error)return I(f),!0;if(f?.length>=n)return delete this._globalMessages[u],h(f),!0},{debugKey:"enhance-prompt",timeoutDuration:this._timeoutDuration});return p.destroy(),this.insertAdditionalResponse({response:y,payload:d?c:void 0,startTime:o?g:void 0}),y},{maxRetries:m,callback:()=>{p?.destroy()}})}catch(u){throw u}};this.promptEnhance=async e=>this.enhancePrompt(e);this.modelUpload=async e=>{let{onUploadStream:t,retry:n,customTaskUUID:s,taskUUID:r,...a}=e,i=n||this._globalMaxRetries,o;try{return await x(async()=>{await this.ensureConnection();let d=r||s||_();this.send({...a,taskUUID:d,taskType:"modelUpload"});let m,p;return o=this.listenToUpload({taskUUID:d,onUploadStream:(u,c)=>{t?.(u,c),u?.status==="ready"?m=u:c&&(p=c)}}),await A(({resolve:u,reject:c})=>{if(m)return u(m),!0;if(p)return c(p),!1},{shouldThrowError:!1,timeoutDuration:60*60*1e3})},{maxRetries:i,callback:()=>{o?.destroy()}})}catch(d){throw d}};this.photoMaker=async(e,t)=>{let{onPartialImages:n,retry:s,customTaskUUID:r,taskUUID:a,numberResults:i,includeGenerationTime:o,includePayload:d,...m}=e,p=s||this._globalMaxRetries,g,u=[],c=0,y=Date.now();try{return await x(async()=>{await this.ensureConnection(),c++;let h=this._globalImages.filter(U=>u.includes(U.taskUUID)),I=a||r||_();u.push(I);let f=i-h.length,k={...m,...m.seed?{seed:m.seed}:{seed:Re()},...t??{},taskUUID:I,taskType:"photoMaker",numberResults:i};this.send({...k,numberResults:f}),g=this.listenToResponse({onPartialImages:n,taskUUID:I,groupKey:"REQUEST_IMAGES",requestPayload:d?k:void 0,startTime:o?y:void 0});let R=await this.getSimilarImages({taskUUID:u,numberResults:i,lis:g});return g.destroy(),R},{maxRetries:p,callback:()=>{g?.destroy()}})}catch(h){if(h.taskUUID)throw h;if(c>=p)return this.handleIncompleteImages({taskUUIDs:u,error:h})}};this.modelSearch=async e=>this.baseSingleRequest({payload:{...e,taskType:"modelSearch"},debugKey:"model-search"});this.imageMasking=async e=>this.baseSingleRequest({payload:{...e,taskType:"imageMasking"},debugKey:"image-masking"});this.imageUpload=async e=>this.baseSingleRequest({payload:{...e,taskType:"imageUpload"},debugKey:"image-upload"});this.mediaStorage=async e=>this.baseSingleRequest({payload:{...e,operation:e.operation||"upload",taskType:"mediaStorage"},debugKey:"media-storage"});this.baseSingleRequest=async({payload:e,debugKey:t,isMultiple:n})=>{let{retry:s,customTaskUUID:r,taskUUID:a,includePayload:i,includeGenerationTime:o,...d}=e,m=s||this._globalMaxRetries,p,g=Date.now();try{return await x(async()=>{await this.ensureConnection();let u=a||r||_(),c={...d,taskUUID:u};this.send(c),p=this.globalListener({taskUUID:u});let y=await A(({resolve:h,reject:I})=>{let f=n?this.getMultipleMessages({taskUUID:u}):this.getSingleMessage({taskUUID:u});if(f){if(f?.error)return I(f),!0;if(f)return delete this._globalMessages[u],h(f),!0}},{debugKey:t,timeoutDuration:this._timeoutDuration});return this.insertAdditionalResponse({response:y,payload:i?c:void 0,startTime:o?g:void 0}),p.destroy(),y},{maxRetries:m,callback:()=>{p?.destroy()}})}catch(u){throw u}};this.baseSyncRequest=async({payload:e,debugKey:t})=>{let{retry:n,customTaskUUID:s,includePayload:r,numberResults:a=1,onPartialResponse:i,includeGenerationTime:o,...d}=e,m=n||this._globalMaxRetries,p,g=[],u=0,c=Date.now();try{return await x(async()=>{await this.ensureConnection(),u++;let y=this._globalImages.filter(R=>g.includes(R.taskUUID)),h=s||_();g.push(h);let I=a-y.length,f={...d,taskUUID:h,numberResults:I};this.send(f),p=this.listenToResponse({onPartialImages:i,taskUUID:h,groupKey:"REQUEST_AUDIO",requestPayload:r?f:void 0,startTime:o?c:void 0});let k=await this.getSimilarImages({taskUUID:g,numberResults:a,lis:p});return p.destroy(),k},{maxRetries:m,callback:()=>{p?.destroy()}})}catch(y){throw y}};this.getSingleMessage=({taskUUID:e})=>{let t=this._globalMessages[e]?.[0],n=this._globalMessages[e];return!t&&!n?null:n?.error?n:t};this.getMultipleMessages=({taskUUID:e})=>{let t=this._globalMessages[e]?.[0],n=this._globalMessages[e];return!t&&!n?null:n};this.insertAdditionalResponse=({response:e,payload:t,startTime:n})=>{if(!t&&!n)return;let s=e;s.additionalResponse={},t&&(e.additionalResponse.payload=t),n&&(e.additionalResponse.generationTime=Date.now()-n)};this.disconnect=async()=>{this._shouldReconnect=!1,this._ws?.terminate?.(),this._ws?.close?.()};this.connected=()=>this.isWebsocketReadyState()&&!!this._connectionSessionUUID;this._apiKey=e,this._url=t,this._sdkType="CLIENT",this._shouldReconnect=n,this._globalMaxRetries=s,this._timeoutDuration=r}getUniqueUUID(e){return e.mediaUUID||e.audioUUID||e.imageUUID||e.videoUUID}async pollForAsyncResults({taskUUID:e,numberResults:t=1}){let n=new Map;return await ke(async({resolve:s,reject:r})=>{try{let a=await this.getResponse({taskUUID:e});for(let o of a||[])if(o.status==="success"){let d=this.getUniqueUUID(o);d&&n.set(d,o)}return n.size===t?(s(Array.from(n.values())),!0):!1}catch(a){return r(a),!0}},{debugKey:"async-response",pollingInterval:2*1e3,timeoutDuration:10*60*1e3}),Array.from(n.values())}static async initialize(e){try{let t=new this(e);return await t.ensureConnection(),t}catch(t){throw t}}addListener({lis:e,groupKey:t,taskUUID:n}){let s=i=>{let o=Array.isArray(i?.data)?i.data:[i.data],d=i?.[0]?.errors?i?.[0]?.errors:Array.isArray(i?.errors)?i.errors:[i.errors],m=o.filter(g=>(g?.taskUUID||g?.taskType)===n);if(d.filter(g=>(g?.taskUUID||g?.taskType)===n).length){e({error:{...d[0]??{}}});return}if(m.length){e({[n]:o});return}},r={key:n||_(),listener:s,groupKey:t};return this._listeners.push(r),{destroy:()=>{this._listeners=Te(this._listeners,r)}}}connect(){this._ws.onopen=e=>{this._connectionSessionUUID?this.send({taskType:"authentication",apiKey:this._apiKey,connectionSessionUUID:this._connectionSessionUUID}):this.send({apiKey:this._apiKey,taskType:"authentication"}),this.addListener({taskUUID:"authentication",lis:t=>{if(t?.error){this._connectionError=t;return}this._connectionSessionUUID=t?.authentication?.[0]?.connectionSessionUUID,this._connectionError=void 0}})},this._ws.onmessage=e=>{let t=JSON.parse(e.data);for(let n of this._listeners)if(n?.listener?.(t))return},this._ws.onclose=e=>{this.isInvalidAPIKey()}}destroy(e){ye(this._listeners,e)}listenToResponse({onPartialImages:e,taskUUID:t,groupKey:n,requestPayload:s,startTime:r}){return this.addListener({taskUUID:t,lis:a=>{let i=a?.[t]?.filter(o=>o.taskUUID===t);a.error?(e?.(i,a?.error&&a),this._globalError=a):(i=i.map(o=>(this.insertAdditionalResponse({response:o,payload:s||void 0,startTime:r||void 0}),{...o})),e?.(i,a?.error&&a),this._sdkType==="CLIENT"?this._globalImages=[...this._globalImages,...(a?.[t]??[]).map(o=>(this.insertAdditionalResponse({response:o,payload:s||void 0,startTime:r||void 0}),{...o}))]:this._globalImages=[...this._globalImages,...i])},groupKey:n})}listenToUpload({onUploadStream:e,taskUUID:t}){return this.addListener({taskUUID:t,lis:n=>{let s=n?.error,r=n?.[t]?.[0],a=r?.taskUUID===t?r:null;(a||s)&&e?.(a||void 0,s)}})}globalListener({taskUUID:e}){return this.addListener({taskUUID:e,lis:t=>{if(t.error){this._globalMessages[e]=t;return}let n=be({key:e,data:t,useZero:!1});Array.isArray(n)?n.forEach(s=>{this._globalMessages[s.taskUUID]=[...this._globalMessages[s.taskUUID]??[],s]}):this._globalMessages[n.taskUUID]=n}})}async requestImages({outputType:e,outputFormat:t,uploadEndpoint:n,checkNSFW:s,positivePrompt:r,negativePrompt:a,seedImage:i,maskImage:o,strength:d,height:m,width:p,model:g,steps:u,scheduler:c,seed:y,CFGScale:h,clipSkip:I,usePromptWeighting:f,promptWeighting:k,numberResults:R=1,onPartialImages:U,includeCost:O,customTaskUUID:M,taskUUID:V,retry:B,refiner:v,maskMargin:b,outputQuality:Y,controlNet:G,lora:X,embeddings:ee,ipAdapters:te,providerSettings:ne,outpaint:se,acceleratorOptions:re,advancedFeatures:ae,referenceImages:oe,includeGenerationTime:Ee,includePayload:Ce,...Oe},Me){let E,ie,N=[],le=0,ue=B||this._globalMaxRetries;try{await this.ensureConnection();let S=null,H=null,z=[];if(i){let D=await this.uploadImage(i);if(!D)return[];S=D.imageUUID}if(o){let D=await this.uploadImage(o);if(!D)return[];H=D.imageUUID}if(G?.length)for(let D=0;D<G.length;D++){let C=G[D],{endStep:Q,startStep:P,weight:j,guideImage:L,controlMode:Pe,startStepPercentage:Le,endStepPercentage:Ke,model:Fe}=C,We=L?await this.uploadImage(L):null;z.push({guideImage:We?.imageUUID,model:Fe,endStep:Q,startStep:P,weight:j,...T({key:"startStepPercentage",value:Le}),...T({key:"endStepPercentage",value:Ke}),controlMode:Pe||"controlnet"})}ie={taskType:"imageInference",model:g,positivePrompt:r,...a?{negativePrompt:a}:{},...m?{height:m}:{},...p?{width:p}:{},numberResults:R,...e?{outputType:e}:{},...t?{outputFormat:t}:{},...n?{uploadEndpoint:n}:{},...T({key:"checkNSFW",value:s}),...T({key:"strength",value:d}),...T({key:"CFGScale",value:h}),...T({key:"clipSkip",value:I}),...T({key:"maskMargin",value:b}),...T({key:"usePromptWeighting",value:f}),...T({key:"steps",value:u}),...k?{promptWeighting:k}:{},...y?{seed:y}:{},...c?{scheduler:c}:{},...v?{refiner:v}:{},...se?{outpaint:se}:{},...T({key:"includeCost",value:O}),...S?{seedImage:S}:{},...H?{maskImage:H}:{},...Y?{outputQuality:Y}:{},...z.length?{controlNet:z}:{},...X?.length?{lora:X}:{},...ee?.length?{embeddings:ee}:{},...te?.length?{ipAdapters:te}:{},...ne?{providerSettings:ne}:{},...re?{acceleratorOptions:re}:{},...ae?{advancedFeatures:ae}:{},...oe?.length?{referenceImages:oe}:{},...Oe,...Me??{}};let Ne=Date.now();return await x(async()=>{le++,E?.destroy();let D=this._globalImages.filter(L=>N.includes(L.taskUUID)),C=V||M||_();N.push(C);let Q=R-D.length,P={...ie,taskUUID:C,numberResults:Q};this.send(P),E=this.listenToResponse({onPartialImages:U,taskUUID:C,groupKey:"REQUEST_IMAGES",requestPayload:Ce?P:void 0,startTime:Ee?Ne:void 0});let j=await this.getSimilarImages({taskUUID:N,numberResults:R,lis:E});return E.destroy(),j},{maxRetries:ue,callback:()=>{E?.destroy()}})}catch(S){if(le>=ue)return this.handleIncompleteImages({taskUUIDs:N,error:S});throw S}}async imageInference(e,t){return this.requestImages(e,t)}async ensureConnection(){if(this.connected()||this._url===$.TEST)return;let t=2e3,n=200;try{if(this.isInvalidAPIKey())throw this._connectionError;return new Promise((s,r)=>{let a=0,i=30,o=_(),d,m,p=()=>{this.ensureConnectionUUID=null,clearInterval(d),clearInterval(m)};this._sdkType==="SERVER"&&(d=setInterval(async()=>{try{let g=this.connected(),u=!1;(!this.ensureConnectionUUID||o===this.ensureConnectionUUID)&&(this.ensureConnectionUUID||(this.ensureConnectionUUID=o),u=!0);let c=a%10===0&&u;g?(p(),s(!0)):a>=i?(p(),r(new Error("Retry timed out"))):(c&&this.connect(),a++)}catch(g){p(),r(g)}},t)),m=setInterval(async()=>{if(this.connected()){p(),s(!0);return}if(this.isInvalidAPIKey()){p(),r(this._connectionError);return}},n)})}catch{throw this.ensureConnectionUUID=null,this._connectionError=void 0,this._connectionError??"Could not connect to server. Ensure your API key is correct"}}async getSimilarImages({taskUUID:e,numberResults:t,shouldThrowError:n,lis:s}){return await A(({resolve:r,reject:a,intervalId:i})=>{let o=Array.isArray(e)?e:[e],d=this._globalImages.filter(m=>o.includes(m.taskUUID));if(this._globalError){let m=this._globalError;return this._globalError=void 0,clearInterval(i),a?.(m),!0}else if(d.length>=t)return clearInterval(i),this._globalImages=this._globalImages.filter(m=>!o.includes(m.taskUUID)),r([...d].slice(0,t)),!0},{debugKey:"getting images",shouldThrowError:n,timeoutDuration:this._timeoutDuration})}handleIncompleteImages({taskUUIDs:e,error:t}){let n=this._globalImages.filter(s=>e.includes(s.taskUUID));if(n.length>1)return this._globalImages=this._globalImages.filter(s=>!e.includes(s.taskUUID)),n;throw t}};var Ae=je(Se(),1),W=class extends w{constructor(e){let{shouldReconnect:t,...n}=e;super(n),this._ws=new Ae.default(this._url),this.connect()}};import ct from"ws";var q=class extends w{constructor(t){super(t);this._instantiated=!1;this._listeners=[];this._reconnectingIntervalId=null;this.send=t=>{this._ws.send(JSON.stringify([t]))};this.resetConnection=()=>{this._ws&&(this._listeners.forEach(t=>{t?.destroy?.()}),this._ws.removeAllListeners(),this._ws.readyState===1&&(this._ws.terminate(),this._ws.close()),this._ws=null,this._listeners=[])};this._sdkType="SERVER",this.connect()}async connect(){this._url&&(this.resetConnection(),this._ws=new ct(this._url,{perMessageDeflate:!1}),this._ws.on("error",()=>{}),this._ws.on("close",()=>{this.handleClose()}),this._ws.on("open",()=>{this._reconnectingIntervalId&&clearInterval(this._reconnectingIntervalId),this._connectionSessionUUID&&this.isWebsocketReadyState()?this.send({taskType:"authentication",apiKey:this._apiKey,connectionSessionUUID:this._connectionSessionUUID}):this.isWebsocketReadyState()&&this.send({apiKey:this._apiKey,taskType:"authentication"}),this.addListener({taskUUID:"authentication",lis:t=>{if(t?.error){this._connectionError=t;return}this._connectionSessionUUID=t?.authentication?.[0]?.connectionSessionUUID,this._connectionError=void 0}})}),this._ws.on("message",(t,n)=>{let s=n?t:t?.toString();if(!s)return;let r=JSON.parse(s);this._listeners.forEach(a=>{a.listener(r)})}))}handleClose(){this.isInvalidAPIKey()||(this._reconnectingIntervalId&&clearInterval(this._reconnectingIntervalId),this._shouldReconnect&&setTimeout(()=>this.connect(),1e3))}heartBeat(){clearTimeout(this._pingTimeout),this._pingTimeout=setTimeout(()=>{this.isWebsocketReadyState()&&this.send({ping:!0})},5e3)}};var we;typeof window>"u"?we=q:we=W;export{pe as EControlMode,$e as EModelArchitecture,Xe as EModelConditioning,Ze as EModelFormat,Ye as EModelType,Je as EOpenPosePreProcessor,et as EPhotoMakerEnum,me as EPreProcessor,ge as EPreProcessorGroup,Z as ETaskType,de as Environment,we as Runware,W as RunwareClient,q as RunwareServer,J as SdkType};
1
+ var qe=Object.create;var de=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ge=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var ze=(l,e)=>()=>(e||l((e={exports:{}}).exports,e),e.exports);var Qe=(l,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Be(e))!He.call(l,s)&&s!==t&&de(l,s,{get:()=>e[s],enumerable:!(n=Ve(e,s))||n.enumerable});return l};var je=(l,e,t)=>(t=l!=null?qe(Ge(l)):{},Qe(e||!l||!l.__esModule?de(t,"default",{value:l,enumerable:!0}):t,l));var Ae=ze((yn,Se)=>{"use strict";var ve=l=>l&&l.CLOSING===2,rt=()=>typeof WebSocket<"u"&&ve(WebSocket),at=()=>({constructor:rt()?WebSocket:null,maxReconnectionDelay:1e4,minReconnectionDelay:1500,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,debug:!1}),ot=(l,e,t)=>{Object.defineProperty(e,t,{get:()=>l[t],set:n=>{l[t]=n},enumerable:!0,configurable:!0})},De=l=>l.minReconnectionDelay+Math.random()*l.minReconnectionDelay,it=(l,e)=>{let t=e*l.reconnectionDelayGrowFactor;return t>l.maxReconnectionDelay?l.maxReconnectionDelay:t},lt=["onopen","onclose","onmessage","onerror"],ut=(l,e,t)=>{Object.keys(t).forEach(n=>{t[n].forEach(([s,r])=>{l.addEventListener(n,s,r)})}),e&&lt.forEach(n=>{l[n]=e[n]})},xe=function(l,e,t={}){let n,s,r=0,a=0,i=!0,o={};if(!(this instanceof xe))throw new TypeError("Failed to construct 'ReconnectingWebSocket': Please use the 'new' operator");let p=at();if(Object.keys(p).filter(d=>t.hasOwnProperty(d)).forEach(d=>p[d]=t[d]),!ve(p.constructor))throw new TypeError("Invalid WebSocket constructor. Set `options.constructor`");let m=p.debug?(...d)=>console.log("RWS:",...d):()=>{},g=(d,y)=>setTimeout(()=>{let h=new Error(y);h.code=d,Array.isArray(o.error)&&o.error.forEach(([I])=>I(h)),n.onerror&&n.onerror(h)},0),u=()=>{if(m("close"),a++,m("retries count:",a),a>p.maxRetries){g("EHOSTDOWN","Too many failed connection attempts");return}r?r=it(p,r):r=De(p),m("reconnectDelay:",r),i&&setTimeout(c,r)},c=()=>{m("connect");let d=n;n=new p.constructor(l,e),s=setTimeout(()=>{m("timeout"),n.close(),g("ETIMEDOUT","Connection timeout")},p.connectionTimeout),m("bypass properties");for(let y in n)["addEventListener","removeEventListener","close","send"].indexOf(y)<0&&ot(n,this,y);n.addEventListener("open",()=>{clearTimeout(s),m("open"),r=De(p),m("reconnectDelay:",r),a=0}),n.addEventListener("close",u),ut(n,d,o)};m("init"),c(),this.close=(d=1e3,y="",{keepClosed:h=!1,fastClose:I=!0,delay:T=0}={})=>{if(T&&(r=T),i=!h,n.close(d,y),I){let R={code:d,reason:y,wasClean:!0};u(),Array.isArray(o.close)&&o.close.forEach(([k,U])=>{k(R),n.removeEventListener("close",k,U)}),n.onclose&&(n.onclose(R),n.onclose=null)}},this.send=d=>{n.send(d)},this.addEventListener=(d,y,h)=>{Array.isArray(o[d])?o[d].some(([I])=>I===y)||o[d].push([y,h]):o[d]=[[y,h]],n.addEventListener(d,y,h)},this.removeEventListener=(d,y,h)=>{Array.isArray(o[d])&&(o[d]=o[d].filter(([I])=>I!==y)),n.removeEventListener(d,y,h)}};Se.exports=xe});var pe=(n=>(n.PRODUCTION="PRODUCTION",n.DEVELOPMENT="DEVELOPMENT",n.TEST="TEST",n))(pe||{}),J=(t=>(t.CLIENT="CLIENT",t.SERVER="SERVER",t))(J||{}),Z=(I=>(I.IMAGE_INFERENCE="imageInference",I.IMAGE_UPLOAD="imageUpload",I.UPSCALE="upscale",I.REMOVE_BACKGROUND="removeBackground",I.VIDEO_INFERENCE="videoInference",I.CAPTION="caption",I.AUDIO_INFERENCE="audioInference",I.GET_RESPONSE="getResponse",I.PHOTO_MAKER="photoMaker",I.IMAGE_CONTROL_NET_PRE_PROCESS="imageControlNetPreProcess",I.IMAGE_MASKING="imageMasking",I.PROMPT_ENHANCE="promptEnhance",I.AUTHENTICATION="authentication",I.MODEL_UPLOAD="modelUpload",I.MODEL_SEARCH="modelSearch",I.MEDIA_STORAGE="mediaStorage",I.VECTORIZE="vectorize",I))(Z||{}),ge=(n=>(n.BALANCED="balanced",n.PROMPT="prompt",n.CONTROL_NET="controlnet",n))(ge||{}),me=(u=>(u.canny="canny",u.depth="depth",u.mlsd="mlsd",u.normalbae="normalbae",u.openpose="openpose",u.tile="tile",u.seg="seg",u.lineart="lineart",u.lineart_anime="lineart_anime",u.shuffle="shuffle",u.scribble="scribble",u.softedge="softedge",u))(me||{}),Ie=(b=>(b.canny="canny",b.depth_leres="depth_leres",b.depth_midas="depth_midas",b.depth_zoe="depth_zoe",b.inpaint_global_harmonious="inpaint_global_harmonious",b.lineart_anime="lineart_anime",b.lineart_coarse="lineart_coarse",b.lineart_realistic="lineart_realistic",b.lineart_standard="lineart_standard",b.mlsd="mlsd",b.normal_bae="normal_bae",b.scribble_hed="scribble_hed",b.scribble_pidinet="scribble_pidinet",b.seg_ofade20k="seg_ofade20k",b.seg_ofcoco="seg_ofcoco",b.seg_ufade20k="seg_ufade20k",b.shuffle="shuffle",b.softedge_hed="softedge_hed",b.softedge_hedsafe="softedge_hedsafe",b.softedge_pidinet="softedge_pidinet",b.softedge_pidisafe="softedge_pidisafe",b.tile_gaussian="tile_gaussian",b.openpose="openpose",b.openpose_face="openpose_face",b.openpose_faceonly="openpose_faceonly",b.openpose_full="openpose_full",b.openpose_hand="openpose_hand",b))(Ie||{}),Je=(r=>(r.openpose="openpose",r.openpose_face="openpose_face",r.openpose_faceonly="openpose_faceonly",r.openpose_full="openpose_full",r.openpose_hand="openpose_hand",r))(Je||{}),Ze=(t=>(t.safetensors="safetensors",t.pickletensor="pickletensor",t))(Ze||{}),Ye=(c=>(c.flux1d="flux1d",c.flux1s="flux1s",c.pony="pony",c.sdhyper="sdhyper",c.sd1x="sd1x",c.sd1xlcm="sd1xlcm",c.sd3="sd3",c.sdxl="sdxl",c.sdxllcm="sdxllcm",c.sdxldistilled="sdxldistilled",c.sdxlhyper="sdxlhyper",c.sdxllightning="sdxllightning",c.sdxlturbo="sdxlturbo",c))(Ye||{}),$e=(n=>(n.base="base",n.inpainting="inpainting",n.pix2pix="pix2pix",n))($e||{}),Xe=(U=>(U.canny="canny",U.depth="depth",U.qrcode="qrcode",U.hed="hed",U.scrible="scrible",U.openpose="openpose",U.seg="segmentation",U.openmlsd="openmlsd",U.softedge="softedge",U.normal="normal bae",U.shuffle="shuffle",U.pix2pix="pix2pix",U.inpaint="inpaint",U.lineart="line art",U.sketch="sketch",U.inpaintdepth="inpaint depth",U.tile="tile",U.outfit="outfit",U.blur="blur",U.gray="gray",U.lowquality="low quality",U))(Xe||{}),et=(g=>(g.NoStyle="No style",g.Cinematic="Cinematic",g.DisneyCharacter="Disney Character",g.DigitalArt="Digital Art",g.Photographic="Photographic",g.FantasyArt="Fantasy art",g.Neonpunk="Neonpunk",g.Enhance="Enhance",g.ComicBook="Comic book",g.Lowpoly="Lowpoly",g.LineArt="Line art",g))(et||{});import{v4 as tt,validate as nt}from"uuid";var F=6e4,W=1e3,ye=100,Y={PRODUCTION:"wss://ws-api.runware.ai/v1",TEST:"ws://localhost:8080"},he=(l,e)=>{if(l==null)return;let t=l.indexOf(e);t!==-1&&l.splice(t,1)},C=(l,{debugKey:e="debugKey",timeoutDuration:t=F,shouldThrowError:n=!0,pollingInterval:s=ye})=>(t=t<W?W:t,new Promise((r,a)=>{let i=setTimeout(()=>{o&&(clearInterval(o),n&&a(`Response could not be received from server for ${e}`)),clearTimeout(i)},t),o=setInterval(async()=>{l({resolve:r,reject:a,intervalId:o})&&(clearInterval(o),clearTimeout(i))},s)})),Ue=l=>new Promise(e=>{let t=new FileReader;t.readAsDataURL(l),t.onload=function(){e(t.result)}}),_=()=>tt(),be=l=>nt(l);var Te=({key:l,data:e,useZero:t=!0,shouldReturnString:n=!1})=>l.split(/\.|\[/).map(a=>a.replace(/\]$/,"")).reduce((a,i)=>{let o=t?0:void 0,p=a?.[i];if(!p)return o;if(Array.isArray(p)&&/^\d+$/.test(i)){let m=parseInt(i,10);return m>=0&&m<p.length?a[i]=p[m]:a[i]??o}else return a[i]??o},e||{})??{},fe=(l,e=1e3)=>new Promise(t=>setTimeout(t,l*e));var Re=(l,e)=>l.filter(t=>t.key!==e.key);var f=({key:l,value:e})=>e||e===0||e===!1?{[l]:e}:{},st=(l,e)=>Math.floor(Math.random()*(e-l+1))+l,ke=()=>st(1,Number.MAX_SAFE_INTEGER),_e=(l,{debugKey:e="debugKey",timeoutDuration:t=F,shouldThrowError:n=!0,pollingInterval:s=ye})=>(t=t<W?W:t,new Promise((r,a)=>{let i=setTimeout(()=>{o&&(clearInterval(o),n&&a(`Response could not be received from server for ${e}`)),clearTimeout(i)},t),o=setInterval(async()=>{try{await l({resolve:r,reject:a,intervalId:o})&&(clearInterval(o),clearTimeout(i))}catch(p){clearInterval(o),clearTimeout(i),a(p)}},s)}));var v=async(l,e={})=>{let{delayInSeconds:t=1,callback:n}=e,s=e.maxRetries??1;for(;s;)try{return await l()}catch(r){if(n?.(),r?.error)throw r;if(s--,s>0)await fe(t),await v(l,{...e,maxRetries:s});else throw r}};var M=class{constructor({apiKey:e,url:t=Y.PRODUCTION,shouldReconnect:n=!0,globalMaxRetries:s=2,timeoutDuration:r=F}){this._listeners=[];this._globalMessages={};this._globalImages=[];this.ensureConnectionUUID=null;this.isWebsocketReadyState=()=>this._ws?.readyState===1;this.isInvalidAPIKey=()=>this._connectionError?.error?.code==="invalidApiKey";this.send=e=>{this._ws.send(JSON.stringify([e]))};this.uploadImage=async e=>{try{return await v(async()=>{let t=_();if(typeof e=="string"&&be(e))return{imageURL:e,imageUUID:e,taskUUID:t,taskType:"imageUpload"};let n=typeof e=="string"?e:await Ue(e);return{imageURL:n,imageUUID:n,taskUUID:t,taskType:"imageUpload"}})}catch(t){throw t}};this.controlNetPreProcess=async({inputImage:e,preProcessorType:t,height:n,width:s,outputType:r,outputFormat:a,highThresholdCanny:i,lowThresholdCanny:o,includeHandsAndFaceOpenPose:p,includeCost:m,outputQuality:g,customTaskUUID:u,taskUUID:c,retry:d,includeGenerationTime:y,includePayload:h})=>{let I=d||this._globalMaxRetries,T,R=Date.now();try{return await v(async()=>{await this.ensureConnection();let k=await this.uploadImage(e);if(!k?.imageUUID)return null;let U=c||u||_(),A={inputImage:k.imageUUID,taskType:"imageControlNetPreProcess",taskUUID:U,preProcessorType:t,...f({key:"height",value:n}),...f({key:"width",value:s}),...f({key:"outputType",value:r}),...f({key:"outputFormat",value:a}),...f({key:"includeCost",value:m}),...f({key:"highThresholdCanny",value:i}),...f({key:"lowThresholdCanny",value:o}),...f({key:"includeHandsAndFaceOpenPose",value:p}),...g?{outputQuality:g}:{}};this.send({...A}),T=this.globalListener({taskUUID:U});let w=await C(({resolve:S,reject:B})=>{let x=this.getSingleMessage({taskUUID:U});if(x){if(x?.error)return B(x),!0;if(x)return S(x),!0}},{debugKey:"unprocessed-image",timeoutDuration:this._timeoutDuration});return T.destroy(),this.insertAdditionalResponse({response:w,payload:h?A:void 0,startTime:y?R:void 0}),w},{maxRetries:I,callback:()=>{T?.destroy()}})}catch(k){throw k}};this.controlNetPreprocess=async e=>this.controlNetPreProcess(e);this.requestImageToText=async({inputImage:e,inputs:t,includeCost:n,customTaskUUID:s,taskUUID:r,retry:a,includePayload:i,includeGenerationTime:o,deliveryMethod:p,skipResponse:m,model:g})=>{try{let u;e&&(u=await this.uploadImage(e));let d={taskUUID:r||s||_(),taskType:"caption",model:g,inputImage:u?.imageUUID,inputs:t,...f({key:"includeCost",value:n}),retry:a,includePayload:i,includeGenerationTime:o},y=await this.baseSingleRequest({payload:{...d,taskType:"caption"},debugKey:"caption"});if(m)return y;if(p==="async"){let h=y?.taskUUID;return(await this.pollForAsyncResults({taskUUID:h}))[0]}return y}catch(u){throw u}};this.caption=async e=>this.requestImageToText(e);this.removeImageBackground=async e=>{let{skipResponse:t,...n}=e;try{let s=n.deliveryMethod,r=await this.baseSingleRequest({payload:{...n,taskType:"removeBackground"},debugKey:"remove-background"});if(t)return r;if(s==="async"){let a=r?.taskUUID;return(await this.pollForAsyncResults({taskUUID:a}))[0]}return r}catch(s){throw s}};this.removeBackground=async e=>this.removeImageBackground(e);this.vectorize=async e=>this.baseSingleRequest({payload:{...e,taskType:"vectorize"},debugKey:"vectorize"});this.videoInference=async e=>{let{skipResponse:t,inputAudios:n,referenceVideos:s,...r}=e;try{let a=await this.baseSingleRequest({payload:{...r,...n?.length&&{inputAudios:n},...s?.length&&{referenceVideos:s},deliveryMethod:"async",taskType:"videoInference"},debugKey:"video-inference"});if(t)return a;let i=a?.taskUUID;return this.pollForAsyncResults({taskUUID:i,numberResults:e?.numberResults})}catch(a){throw a}};this.audioInference=async e=>{let{skipResponse:t,deliveryMethod:n="sync",...s}=e;try{let a=await(n==="sync"?this.baseSyncRequest:this.baseSingleRequest)({payload:{...s,numberResults:s.numberResults||1,taskType:"audioInference",deliveryMethod:n},groupKey:"REQUEST_AUDIO",debugKey:"audio-inference",skipResponse:t});if(t)return a;let i=a?.taskUUID;return n==="async"?this.pollForAsyncResults({taskUUID:i,numberResults:e?.numberResults}):a}catch(r){throw r}};this.getResponse=async e=>{let t=e.taskUUID;return this.baseSingleRequest({payload:{...e,customTaskUUID:t,taskType:"getResponse"},isMultiple:!0,debugKey:"async-results"})};this.upscaleGan=async({inputImage:e,inputs:t,model:n,upscaleFactor:s,outputType:r,outputFormat:a,includeCost:i,outputQuality:o,customTaskUUID:p,taskUUID:m,retry:g,includeGenerationTime:u,includePayload:c,skipResponse:d,deliveryMethod:y})=>{try{let h;e&&(h=await this.uploadImage(e));let T={taskUUID:m||p||_(),inputImage:h?.imageUUID,taskType:"upscale",inputs:t,model:n,upscaleFactor:s,...f({key:"includeCost",value:i}),...r?{outputType:r}:{},...o?{outputQuality:o}:{},...a?{outputFormat:a}:{},includePayload:c,includeGenerationTime:u,retry:g,deliveryMethod:y},R=await this.baseSingleRequest({payload:{...T,taskType:"upscale"},debugKey:"upscale"});if(d)return R;if(y==="async"){let k=R?.taskUUID;return(await this.pollForAsyncResults({taskUUID:k}))[0]}return R}catch(h){throw h}};this.upscale=async e=>this.upscaleGan(e);this.enhancePrompt=async({prompt:e,promptMaxLength:t=380,promptVersions:n=1,includeCost:s,customTaskUUID:r,taskUUID:a,retry:i,includeGenerationTime:o,includePayload:p})=>{let m=i||this._globalMaxRetries,g,u=Date.now();try{return await v(async()=>{await this.ensureConnection();let c=a||r||_(),d={prompt:e,taskUUID:c,promptMaxLength:t,promptVersions:n,...f({key:"includeCost",value:s}),taskType:"promptEnhance"};this.send(d),g=this.globalListener({taskUUID:c});let y=await C(({resolve:h,reject:I})=>{let T=this._globalMessages[c];if(T?.error)return I(T),!0;if(T?.length>=n)return delete this._globalMessages[c],h(T),!0},{debugKey:"enhance-prompt",timeoutDuration:this._timeoutDuration});return g.destroy(),this.insertAdditionalResponse({response:y,payload:p?d:void 0,startTime:o?u:void 0}),y},{maxRetries:m,callback:()=>{g?.destroy()}})}catch(c){throw c}};this.promptEnhance=async e=>this.enhancePrompt(e);this.modelUpload=async e=>{let{onUploadStream:t,retry:n,customTaskUUID:s,taskUUID:r,...a}=e,i=n||this._globalMaxRetries,o;try{return await v(async()=>{await this.ensureConnection();let p=r||s||_();this.send({...a,taskUUID:p,taskType:"modelUpload"});let m,g;return o=this.listenToUpload({taskUUID:p,onUploadStream:(c,d)=>{t?.(c,d),c?.status==="ready"?m=c:d&&(g=d)}}),await C(({resolve:c,reject:d})=>{if(m)return c(m),!0;if(g)return d(g),!1},{shouldThrowError:!1,timeoutDuration:60*60*1e3})},{maxRetries:i,callback:()=>{o?.destroy()}})}catch(p){throw p}};this.photoMaker=async(e,t)=>{let{onPartialImages:n,retry:s,customTaskUUID:r,taskUUID:a,numberResults:i,includeGenerationTime:o,includePayload:p,...m}=e,g=s||this._globalMaxRetries,u,c=[],d=0,y=Date.now();try{return await v(async()=>{await this.ensureConnection(),d++;let h=this._globalImages.filter(U=>c.includes(U.taskUUID)),I=a||r||_();c.push(I);let T=i-h.length,R={...m,...m.seed?{seed:m.seed}:{seed:ke()},...t??{},taskUUID:I,taskType:"photoMaker",numberResults:i};this.send({...R,numberResults:T}),u=this.listenToResponse({onPartialImages:n,taskUUID:I,groupKey:"REQUEST_IMAGES",requestPayload:p?R:void 0,startTime:o?y:void 0});let k=await this.getResponseWithSimilarTaskUUID({taskUUID:c,numberResults:i,lis:u});return u.destroy(),k},{maxRetries:g,callback:()=>{u?.destroy()}})}catch(h){if(h.taskUUID)throw h;if(d>=g)return this.handleIncompleteImages({taskUUIDs:c,error:h})}};this.modelSearch=async e=>this.baseSingleRequest({payload:{...e,taskType:"modelSearch"},debugKey:"model-search"});this.imageMasking=async e=>this.baseSingleRequest({payload:{...e,taskType:"imageMasking"},debugKey:"image-masking"});this.imageUpload=async e=>this.baseSingleRequest({payload:{...e,taskType:"imageUpload"},debugKey:"image-upload"});this.mediaStorage=async e=>this.baseSingleRequest({payload:{...e,operation:e.operation||"upload",taskType:"mediaStorage"},debugKey:"media-storage"});this.baseSingleRequest=async({payload:e,debugKey:t,isMultiple:n})=>{let{retry:s,customTaskUUID:r,taskUUID:a,includePayload:i,includeGenerationTime:o,...p}=e,m=s||this._globalMaxRetries,g,u=Date.now();try{return await v(async()=>{await this.ensureConnection();let c=a||r||_(),d={...p,taskUUID:c};this.send(d),g=this.globalListener({taskUUID:c});let y=await C(({resolve:h,reject:I})=>{let T=n?this.getMultipleMessages({taskUUID:c}):this.getSingleMessage({taskUUID:c});if(T){if(T?.error)return I(T),!0;if(T)return delete this._globalMessages[c],h(T),!0}},{debugKey:t,timeoutDuration:this._timeoutDuration});return this.insertAdditionalResponse({response:y,payload:i?d:void 0,startTime:o?u:void 0}),g.destroy(),y},{maxRetries:m,callback:()=>{g?.destroy()}})}catch(c){throw c}};this.baseSyncRequest=async({payload:e,groupKey:t,skipResponse:n=!1})=>{let{retry:s,customTaskUUID:r,includePayload:a,numberResults:i=1,onPartialResponse:o,includeGenerationTime:p,...m}=e,g=s||this._globalMaxRetries,u,c=[],d=0,y=Date.now();try{return await v(async()=>{await this.ensureConnection(),d++;let h=this._globalImages.filter(U=>c.includes(U.taskUUID)),I=r||_();c.push(I);let T=i-h.length,R={...m,taskUUID:I,numberResults:T};if(this.send(R),n)return new Promise((U,A)=>{let w=this.addListener({taskUUID:I,groupKey:t,lis:S=>{w.destroy(),S.error?A(S.error):U(S[I])}})});u=this.listenToResponse({onPartialImages:o,taskUUID:I,groupKey:t,requestPayload:a?R:void 0,startTime:p?y:void 0});let k=await this.getResponseWithSimilarTaskUUID({taskUUID:c,numberResults:i,lis:u});return u.destroy(),k},{maxRetries:g,callback:()=>{u?.destroy()}})}catch(h){throw h}};this.getSingleMessage=({taskUUID:e})=>{let t=this._globalMessages[e]?.[0],n=this._globalMessages[e];return!t&&!n?null:n?.error?n:t};this.getMultipleMessages=({taskUUID:e})=>{let t=this._globalMessages[e]?.[0],n=this._globalMessages[e];return!t&&!n?null:n};this.insertAdditionalResponse=({response:e,payload:t,startTime:n})=>{if(!t&&!n)return;let s=e;s.additionalResponse={},t&&(e.additionalResponse.payload=t),n&&(e.additionalResponse.generationTime=Date.now()-n)};this.disconnect=async()=>{this._shouldReconnect=!1,this._ws?.terminate?.(),this._ws?.close?.()};this.connected=()=>this.isWebsocketReadyState()&&!!this._connectionSessionUUID;this._apiKey=e,this._url=t,this._sdkType="CLIENT",this._shouldReconnect=n,this._globalMaxRetries=s,this._timeoutDuration=r}getUniqueUUID(e){return e.mediaUUID||e.audioUUID||e.imageUUID||e.videoUUID}async pollForAsyncResults({taskUUID:e,numberResults:t=1}){let n=new Map;return await _e(async({resolve:s,reject:r})=>{try{let a=await this.getResponse({taskUUID:e});for(let o of a||[])if(o.status==="success"){let p=this.getUniqueUUID(o);p&&n.set(p,o)}return n.size===t?(s(Array.from(n.values())),!0):!1}catch(a){return r(a),!0}},{debugKey:"async-response",pollingInterval:2*1e3,timeoutDuration:10*60*1e3}),Array.from(n.values())}static async initialize(e){try{let t=new this(e);return await t.ensureConnection(),t}catch(t){throw t}}addListener({lis:e,groupKey:t,taskUUID:n}){let s=i=>{let o=Array.isArray(i?.data)?i.data:[i.data],p=i?.[0]?.errors?i?.[0]?.errors:Array.isArray(i?.errors)?i.errors:[i.errors],m=o.filter(u=>(u?.taskUUID||u?.taskType)===n);if(p.filter(u=>(u?.taskUUID||u?.taskType)===n).length){e({error:{...p[0]??{}}});return}if(m.length){e({[n]:o});return}},r={key:n||_(),listener:s,groupKey:t};return this._listeners.push(r),{destroy:()=>{this._listeners=Re(this._listeners,r)}}}connect(){this._ws.onopen=e=>{this._connectionSessionUUID?this.send({taskType:"authentication",apiKey:this._apiKey,connectionSessionUUID:this._connectionSessionUUID}):this.send({apiKey:this._apiKey,taskType:"authentication"}),this.addListener({taskUUID:"authentication",lis:t=>{if(t?.error){this._connectionError=t;return}this._connectionSessionUUID=t?.authentication?.[0]?.connectionSessionUUID,this._connectionError=void 0}})},this._ws.onmessage=e=>{let t=JSON.parse(e.data);for(let n of this._listeners)if(n?.listener?.(t))return},this._ws.onclose=e=>{this.isInvalidAPIKey()}}destroy(e){he(this._listeners,e)}listenToResponse({onPartialImages:e,taskUUID:t,groupKey:n,requestPayload:s,startTime:r}){return this.addListener({taskUUID:t,lis:a=>{let i=a?.[t]?.filter(o=>o.taskUUID===t);a.error?(e?.(i,a?.error&&a),this._globalError=a):(i=i.map(o=>(this.insertAdditionalResponse({response:o,payload:s||void 0,startTime:r||void 0}),{...o})),e?.(i,a?.error&&a),this._sdkType==="CLIENT"?this._globalImages=[...this._globalImages,...(a?.[t]??[]).map(o=>(this.insertAdditionalResponse({response:o,payload:s||void 0,startTime:r||void 0}),{...o}))]:this._globalImages=[...this._globalImages,...i])},groupKey:n})}listenToUpload({onUploadStream:e,taskUUID:t}){return this.addListener({taskUUID:t,lis:n=>{let s=n?.error,r=n?.[t]?.[0],a=r?.taskUUID===t?r:null;(a||s)&&e?.(a||void 0,s)}})}globalListener({taskUUID:e}){return this.addListener({taskUUID:e,lis:t=>{if(t.error){this._globalMessages[e]=t;return}let n=Te({key:e,data:t,useZero:!1});Array.isArray(n)?n.forEach(s=>{this._globalMessages[s.taskUUID]=[...this._globalMessages[s.taskUUID]??[],s]}):this._globalMessages[n.taskUUID]=n}})}async requestImages({outputType:e,outputFormat:t,uploadEndpoint:n,checkNSFW:s,positivePrompt:r,negativePrompt:a,seedImage:i,maskImage:o,strength:p,height:m,width:g,model:u,steps:c,scheduler:d,seed:y,CFGScale:h,clipSkip:I,usePromptWeighting:T,promptWeighting:R,numberResults:k=1,onPartialImages:U,includeCost:A,customTaskUUID:w,taskUUID:S,retry:B,refiner:x,maskMargin:b,outputQuality:$,controlNet:G,lora:X,embeddings:ee,ipAdapters:te,providerSettings:ne,outpaint:se,acceleratorOptions:re,advancedFeatures:ae,referenceImages:oe,includeGenerationTime:Ce,includePayload:Me,...ie},Oe){let O,le,P=[],ue=0,ce=B||this._globalMaxRetries;try{await this.ensureConnection();let E=null,H=null,z=[];if(i){let D=await this.uploadImage(i);if(!D)return[];E=D.imageUUID}if(o){let D=await this.uploadImage(o);if(!D)return[];H=D.imageUUID}if(G?.length)for(let D=0;D<G.length;D++){let N=G[D],{endStep:Q,startStep:L,weight:j,guideImage:K,controlMode:Pe,startStepPercentage:Le,endStepPercentage:Ke,model:We}=N,Fe=K?await this.uploadImage(K):null;z.push({guideImage:Fe?.imageUUID,model:We,endStep:Q,startStep:L,weight:j,...f({key:"startStepPercentage",value:Le}),...f({key:"endStepPercentage",value:Ke}),controlMode:Pe||"controlnet"})}le={taskType:"imageInference",model:u,positivePrompt:r,...a?{negativePrompt:a}:{},...m?{height:m}:{},...g?{width:g}:{},numberResults:k,...e?{outputType:e}:{},...t?{outputFormat:t}:{},...n?{uploadEndpoint:n}:{},...f({key:"checkNSFW",value:s}),...f({key:"strength",value:p}),...f({key:"CFGScale",value:h}),...f({key:"clipSkip",value:I}),...f({key:"maskMargin",value:b}),...f({key:"usePromptWeighting",value:T}),...f({key:"steps",value:c}),...R?{promptWeighting:R}:{},...y?{seed:y}:{},...d?{scheduler:d}:{},...x?{refiner:x}:{},...se?{outpaint:se}:{},...f({key:"includeCost",value:A}),...E?{seedImage:E}:{},...H?{maskImage:H}:{},...$?{outputQuality:$}:{},...z.length?{controlNet:z}:{},...X?.length?{lora:X}:{},...ee?.length?{embeddings:ee}:{},...te?.length?{ipAdapters:te}:{},...ne?{providerSettings:ne}:{},...re?{acceleratorOptions:re}:{},...ae?{advancedFeatures:ae}:{},...oe?.length?{referenceImages:oe}:{},...ie,...Oe??{}};let Ne=Date.now();return await v(async()=>{ue++,O?.destroy();let D=this._globalImages.filter(K=>P.includes(K.taskUUID)),N=S||w||_();P.push(N);let Q=k-D.length,L={...le,taskUUID:N,numberResults:Q};this.send(L),O=this.listenToResponse({onPartialImages:U,taskUUID:N,groupKey:"REQUEST_IMAGES",requestPayload:Me?L:void 0,startTime:Ce?Ne:void 0});let j=await this.getResponseWithSimilarTaskUUID({taskUUID:P,numberResults:k,lis:O,deliveryMethod:ie.deliveryMethod});return O.destroy(),j},{maxRetries:ce,callback:()=>{O?.destroy()}})}catch(E){if(ue>=ce)return this.handleIncompleteImages({taskUUIDs:P,error:E});throw E}}async imageInference(e,t){return this.requestImages(e,t)}async ensureConnection(){if(this.connected()||this._url===Y.TEST)return;let t=2e3,n=200;try{if(this.isInvalidAPIKey())throw this._connectionError;return new Promise((s,r)=>{let a=0,i=30,o=_(),p,m,g=()=>{this.ensureConnectionUUID=null,clearInterval(p),clearInterval(m)};this._sdkType==="SERVER"&&(p=setInterval(async()=>{try{let u=this.connected(),c=!1;(!this.ensureConnectionUUID||o===this.ensureConnectionUUID)&&(this.ensureConnectionUUID||(this.ensureConnectionUUID=o),c=!0);let d=a%10===0&&c;u?(g(),s(!0)):a>=i?(g(),r(new Error("Retry timed out"))):(d&&this.connect(),a++)}catch(u){g(),r(u)}},t)),m=setInterval(async()=>{if(this.connected()){g(),s(!0);return}if(this.isInvalidAPIKey()){g(),r(this._connectionError);return}},n)})}catch{throw this.ensureConnectionUUID=null,this._connectionError=void 0,this._connectionError??"Could not connect to server. Ensure your API key is correct"}}async getResponseWithSimilarTaskUUID({taskUUID:e,numberResults:t,shouldThrowError:n,lis:s,deliveryMethod:r}){return await C(({resolve:a,reject:i,intervalId:o})=>{let p=Array.isArray(e)?e:[e],m=this._globalImages.filter(u=>p.includes(u.taskUUID)),g=r==="async"&&m.length>0;if(this._globalError){let u=this._globalError;return this._globalError=void 0,clearInterval(o),i?.(u),!0}else if(m.length>=t||g)return clearInterval(o),this._globalImages=this._globalImages.filter(u=>!p.includes(u.taskUUID)),a([...m].slice(0,t)),!0},{debugKey:"getting images",shouldThrowError:n,timeoutDuration:this._timeoutDuration})}handleIncompleteImages({taskUUIDs:e,error:t}){let n=this._globalImages.filter(s=>e.includes(s.taskUUID));if(n.length>1)return this._globalImages=this._globalImages.filter(s=>!e.includes(s.taskUUID)),n;throw t}};var we=je(Ae(),1),q=class extends M{constructor(e){let{shouldReconnect:t,...n}=e;super(n),this._ws=new we.default(this._url),this.connect()}};import ct from"ws";var V=class extends M{constructor(t){super(t);this._instantiated=!1;this._listeners=[];this._reconnectingIntervalId=null;this.send=t=>{this._ws.send(JSON.stringify([t]))};this.resetConnection=()=>{this._ws&&(this._listeners.forEach(t=>{t?.destroy?.()}),this._ws.removeAllListeners(),this._ws.readyState===1&&(this._ws.terminate(),this._ws.close()),this._ws=null,this._listeners=[])};this._sdkType="SERVER",this.connect()}async connect(){this._url&&(this.resetConnection(),this._ws=new ct(this._url,{perMessageDeflate:!1}),this._ws.on("error",()=>{}),this._ws.on("close",()=>{this.handleClose()}),this._ws.on("open",()=>{this._reconnectingIntervalId&&clearInterval(this._reconnectingIntervalId),this._connectionSessionUUID&&this.isWebsocketReadyState()?this.send({taskType:"authentication",apiKey:this._apiKey,connectionSessionUUID:this._connectionSessionUUID}):this.isWebsocketReadyState()&&this.send({apiKey:this._apiKey,taskType:"authentication"}),this.addListener({taskUUID:"authentication",lis:t=>{if(t?.error){this._connectionError=t;return}this._connectionSessionUUID=t?.authentication?.[0]?.connectionSessionUUID,this._connectionError=void 0}})}),this._ws.on("message",(t,n)=>{let s=n?t:t?.toString();if(!s)return;let r=JSON.parse(s);this._listeners.forEach(a=>{a.listener(r)})}))}handleClose(){this.isInvalidAPIKey()||(this._reconnectingIntervalId&&clearInterval(this._reconnectingIntervalId),this._shouldReconnect&&setTimeout(()=>this.connect(),1e3))}heartBeat(){clearTimeout(this._pingTimeout),this._pingTimeout=setTimeout(()=>{this.isWebsocketReadyState()&&this.send({ping:!0})},5e3)}};var Ee;typeof window>"u"?Ee=V:Ee=q;export{ge as EControlMode,Ye as EModelArchitecture,Xe as EModelConditioning,Ze as EModelFormat,$e as EModelType,Je as EOpenPosePreProcessor,et as EPhotoMakerEnum,Ie as EPreProcessor,me as EPreProcessorGroup,Z as ETaskType,pe as Environment,Ee as Runware,q as RunwareClient,V as RunwareServer,J as SdkType};
2
2
  //# sourceMappingURL=index.js.map